/*------------------------------------------------------------------
[Master Stylesheet]

-------------------------------------------------------------------*/


/*------------------------------------------------------------------
[Color codes]

Background:	#ffffff (white)
Content:	#000000 (black)
Header:		#000000 (black grey)
Footer:		#ffffff (white)

a (standard):	#000000 (dark grey)
a (hover):		#0055FF (black)
a (active):		#0055FF (black)

/*------------------------------------------------------------------
[Typography]

Body copy:		16px/1.7em 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif
Header:			32px/1.6em 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif
Input, textarea:	18px 'Roboto','Helvetica Neue', Arial, Verdana, sans-serif
Sidebar heading:	13px 'Roboto','Helvetica Neue', Arial, Verdana, sans-serif
-------------------------------------------------------------------*/


/*------------------------------------------------------------------
[Table of contents]

1. Body
2. Navigation
3. Footer
4. Content
5. Social Sharing
6. Sidebar
7. Form & Input
8. Pagination
9. Widgets
10. Portfolio, Gallery and Template Elements
11. Contact Form Captcha
12. Woocommerce Elements
13. Login Plugin Elements
14. LearnPress Plugin Elements
-------------------------------------------------------------------*/

button.mobx-prev,
button.mobx-next {
	background-color: transparent !important;
}

body.loaded #loftloader-wrapper .loader-section.section-fade {
	transition: all 0s 0s ease;
}

.slider-up2 {
	animation-name: slider-up2;
	-webkit-animation-name: slider-up2;
	animation-duration: 0.2s;
	-webkit-animation-duration: 0.2s;
	animation-timing-function: ease;
	-webkit-animation-timing-function: ease;
	-webkit-animation-fill-mode: forwards;
	-moz-animation-fill-mode: forwards;
	-ms-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

@keyframes slider-up2 {
	0% {
		opacity: 0;
		transform: translateY(5%);
	}
	100% {
		opacity: 1;
		transform: translateY(0%);
	}
}

@-webkit-keyframes slider-up2 {
	0% {
		opacity: 0;
		transform: translateY(5%);
	}
	100% {
		opacity: 1;
		transform: translateY(0%);
	}
}

@keyframes sub-nav-in {
	from {
		transform: translateX(200px);
		-webkit-transform: translateX(200px);
		opacity: 0;
	}
	to {
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
}

@-webkit-keyframes sub-nav-in {
	from {
		transform: translateX(200px);
		-webkit-transform: translateX(200px);
		opacity: 0;
	}
	to {
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
}

@keyframes sub-nav-out {
	from {
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
	to {
		transform: translateX(200px);
		-webkit-transform: translateX(200px);
		opacity: 0;
	}
}

@-webkit-keyframes sub-nav-out {
	from {
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
	to {
		transform: translateX(200px);
		-webkit-transform: translateX(200px);
		opacity: 0;
	}
}

@keyframes main-nav-out {
	from {
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
	to {
		transform: translateX(-200px);
		-webkit-transform: translateX(-200px);
		opacity: 0;
	}
}

@-webkit-keyframes main-nav-out {
	from {
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
	to {
		transform: translateX(-200px);
		-webkit-transform: translateX(-200px);
		opacity: 0;
	}
}

@keyframes main-nav-in {
	from {
		transform: translateX(-200px);
		-webkit-transform: translateX(-200px);
		opacity: 0;
	}
	to {
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
}

@-webkit-keyframes main-nav-in {
	from {
		transform: translateX(-200px);
		-webkit-transform: translateX(-200px);
		opacity: 0;
	}
	to {
		transform: translateX(0px);
		-webkit-transform: translateX(0px);
		opacity: 1;
	}
}

html,
body {
	min-height: 100%;
}

body {
	background: #ffffff;
	font-family: 'Libre Baskerville', 'Helvetica Neue', Arial, Verdana, sans-serif;
	padding: 0;
	margin: 0;
	color: #444;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	font-size: 14px;
	line-height: 1.7;
	word-wrap: break-word;
	-webkit-overflow-scrolling: touch;
}

body.js-nav {
	width: 100%;
	height: 100%;
}

#perspective {
	width: 100%;
	min-height: 100%;
	position: relative;
}

@-moz-document url-prefix() {
	#perspective {
		overflow-x: hidden;
	}
}

body.modalview #perspective {
	position: fixed;
	perspective: 1500px;
	top: 0;
	z-index: 2;
}

body.modalview #footer-wrapper {
	display: none;
}

#wrapper {
	float: left;
	width: 100%;
	background: #fff;
	transform-origin: 50% 50% 50%;
	transition: transform 0.4s;
	position: relative;
	left: 0;
	min-height: 100%;
}

body.footer-reveal #wrapper {
	z-index: 1;
}

body.right-clicked #wrapper {
	filter: blur(7px);
}

body.leftmenu #wrapper {
	padding-top: 0 !important;
	width: calc(100% - 300px);
	left: 300px;
}

body.leftmenu #wrapper #page-content-wrapper {
	padding: 0 40px 0 40px;
}

body.leftmenu #wrapper #page-content-wrapper.blog-wrapper {
	padding-top: 50px;
}

body.leftmenu .elementor-section.elementor-section-stretched {
	max-width: 100% !important;
	left: 0 !important;
}

body.leftmenu .mobile-menu-wrapper {
	left: 0;
	-webkit-transform: translate(0px, 0px);
	-ms-transform: translate(0px, 0px);
	transform: translate(0px, 0px);
	-o-transform: translate(0px, 0px);
	overflow-y: scroll;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	width: 300px;
	padding: 50px;
}

body.modalview #wrapper {
	position: absolute;
	overflow: hidden;
	cursor: pointer;
	height: 100%;
	width: 100%;
	backface-visibility: hidden;
}

body.js-nav #wrapper {
	transform: translateZ(0px) translateX(10%) rotateY(-50deg);
}

body.full-burger-menu.js-nav #wrapper {
	transform: none;
	transform: scale(1);
	opacity: 0;
}

body.password-protected {
	height: 100%;
}

body.password-protected #page-header,
body.password-protected #footer-wrapper {
	display: none;
}

body.password-protected #perspective {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

body.password-protected #wrapper {
	background: transparent;
	height: 100%;
}

body.password-protected #page-content-wrapper {
	display: table;
	width: 100%;
	height: 100vh;
}

body.password-protected.leftmenu #page-content-wrapper {
	width: calc(100% - 300px);
}

body.password-protected #page-content-wrapper .inner {
	display: table-cell;
	vertical-align: middle;
	float: none;
}

body.page.comment-close #page-content-wrapper:not(.elementor-page) .inner {
	margin-bottom: 40px;
}

body.password-protected #page-content-wrapper .inner .inner-wrapper {
	float: none;
	text-align: center;
	width: 50%;
	margin: auto;
}

body.error404 #page-content-wrapper .inner .inner-wrapper,
body.search-no-results #page-content-wrapper .inner .inner-wrapper {
	text-align: center;
	width: 60%;
	margin: auto;
	float: none;
}

body.error404 #footer-wrapper {
	display: none;
}

body.error404 #page-content-wrapper .inner .inner-wrapper .searchform input[type="text"],
body.search-no-results #page-content-wrapper .inner .inner-wrapper .searchform input[type="text"] {
	width: 60%;
}

body.error404 #page-content-wrapper .inner .inner-wrapper .searchform input[type="submit"],
body.search-no-results #page-content-wrapper .inner .inner-wrapper .searchform input[type="submit"] {
	margin-left: -5px;
    position: relative;
    top: 2px;
    padding: .7em 2.5em .65em 2.5em;
}

body.error404 #page-content-wrapper .inner .inner-wrapper .searchform input[type="text"] {
	padding: 1em 1em  1.05em 1em;
	border: 1px solid #000;
}

body.error404 #page-content-wrapper .inner .inner-wrapper .searchform {
	margin: 30px 0 30px 0;
}

body.error404 #page-content-wrapper .inner .inner-wrapper h1,
body.search-no-results #page-content-wrapper .inner .inner-wrapper h1 {
	margin: 80px 0 40px 0;
	font-size: 90px;
	line-height: 1;
}

body.error404 #page-content-wrapper,
body.search-no-results #page-content-wrapper {
	padding-bottom: 20px;
}

body.password-protected.leftmenu #page-content-wrapper .inner .inner-wrapper {
	width: 70%;
}

body.password-protected #page-content-wrapper .inner .inner-wrapper .sidebar-content {
	padding: 70px 60px 60px 60px;
	box-sizing: border-box;
	opacity: 0;
	animation-name: slider-up2;
	-webkit-animation-name: slider-up2;
	animation-duration: 0.5s;
	-webkit-animation-duration: 0.5s;
	animation-timing-function: ease-in-out;
	-webkit-animation-timing-function: ease-in-out;
	-webkit-animation-fill-mode: forwards;
	-moz-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
}

body.password-protected #page-content-wrapper .inner .inner-wrapper .sidebar-content .protected-post-header {
	margin-bottom: 30px;
}

body.password-protected #page-content-wrapper .inner .inner-wrapper .sidebar-content input[type="password"] {
	text-align: center;
}

#wrapper.hasbg.transparent {
	padding-top: 0 !important;
}

hr {
	height: 1px;
	border: 0;
	border-top: 2px solid #ebebeb;
	background: transparent;
	margin: auto;
	margin-top: 20px;
	margin-bottom: 20px;
	width: 100%;
	clear: both;
}

.theme-border {
	border-color: #dce0e0;
}

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

a:hover {
	color: #222;
	text-decoration: none;
}

a:active {
	color: #222;
	text-decoration: none;
}

h1 {
	font-size: 34px;
}

h2 {
	font-size: 30px;
}

h2.number {
	font-size: 50px;
	line-height: 50px;
}

h3 {
	font-size: 26px;
}

h3#reply-title,
h3.comment-title {
	text-align: center;
	margin-top: 40px;
}

h3#reply-title {
	margin-top: 0px;
}

body.logged-in h3#reply-title {
	margin-bottom: 0;
}

h4 {
	font-size: 22px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

h5.widgettitle {
	font-size: 11px;
	display: inline-block;
	text-align: left;
	font-family: 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif;
	color: #222;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
	position: relative;
	border-bottom: 1px solid #222;
}

h7 {
	font-size: 18px;
}

h1,
h2,
h3,
h4,
h5,
h6,
h7 {
	color: #222;
	font-family: 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif;
	font-weight: 400;
	line-height: 1.5em;
}

pre,
code,
tt {
	font: 12px 'andale mono', 'lucida console', monospace;
	line-height: 1.5;
	padding: 10px;
	display: block;
	overflow: auto;
	width: 100%;
	border: 0;
	color: #000;
	box-sizing: border-box;
}

code {
	display: inline;
}

.wp-block-code {
	border: 1px solid #d8d8d8;
}

.clear {
	clear: both;
}

.fullwidth-comment-wrapper {
	width: 100%;
	float: left;
	margin-top: 30px;
	padding-top: 10px;
}

.fullwidth-comment-wrapper:empty {
	display: none;
}

#commentform {
	margin-top: 0;
}

body.single.single-post .protected-post-header {
	display: none;
}

#commentform label,
.wpcf7-form label {
	margin-bottom: 10px;
	font-weight: 600;
}

.elementor-transparent .wpcf7-form label {
	color: #fff;
}

.elementor-transparent .wpcf7-form input.wpcf7-submit {
	color: #000;
	background: #fff;
	border: 1px solid #fff;
}

#commentform .comment-form-cookies-consent {
	margin-top: 10px;
	clear: both;
}

#commentform .comment-form-cookies-consent label {
	margin-left: 5px;
	font-size: inherit;
	letter-spacing: 0;
	font-weight: 400;
	text-transform: none;
}

.logged-in-as {
	text-align: center;
	padding-top: 0 !important;
	margin-bottom: 10px;
}

#commentform>p,
body.single-product .comment-form-rating {
	box-sizing: border-box;
}

#commentform>p.input-wrapper {
	margin: 24px 24px 24px 0;
}

#commentform>p.input-wrapper.comment-form-url,
#commentform>p.input-wrapper.comment-form-comment {
	margin-right: 0;
}

#commentform>p.input-wrapper.comment-form-comment {
	margin-top: 0px;
	padding: 0;
	line-height: 0;
	margin-bottom: 0;
}

#commentform>p.input-wrapper.comment-form-comment textarea {
	margin-top: 20px;
}

#commentform>p.form-submit {
	padding-top: 10px !important;
}

body.logged-in #commentform>p.form-submit {
	padding-top: 30px !important;
}

#commentform>p.comment-form-rating {
	width: 50%;
	float: left;
	display: block;
	clear: none;
	padding-top: 10px;
	padding-bottom: 10px;
}

#commentform>p.comment-form-rating label {
	width: 50%;
	float: left;
	font-size: 13px;
	font-weight: 500;
}

#commentform>p.comment-form-rating .br-widget {
	width: 50%;
	float: left;
}

#commentform>p.comment-form-comment {
	padding-bottom: 0;
	clear: both;
}

#commentform>p.comment-notes {
	text-align: center;
	padding: 0 !important;
	display: none;
}

#commentform p.comment-form-author,
#commentform p.comment-form-email,
#commentform p.comment-form-url {
	float: left;
	width: calc(33.33% - 16px);
}

#page-content-wrapper .inner .sidebar-content #commentform p.comment-form-author,
#page-content-wrapper .inner .sidebar-content #commentform p.comment-form-email,
#page-content-wrapper .inner .sidebar-content #commentform p.comment-form-url {
	width: calc(33.33% - 16px);
}

body.single-product #page-content-wrapper .inner .sidebar-content #commentform p.comment-form-author,
body.single-product #page-content-wrapper .inner .sidebar-content #commentform p.comment-form-email {
	width: 50%;
}

#commentform input[type="text"],
#commentform input[type="email"],
#commentform input[type="url"],
#commentform textarea {
	width: 100%;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	transition: all .6s cubic-bezier(.23, 1, .32, 1);
}

#commentform input[type="text"]:focus,
#commentform input[type="email"]:focus,
#commentform input[type="url"]:focus,
#commentform textarea:focus {
	
}

#commentform>p.form-submit {
	padding-top: 15px;
	clear: both;
}

blockquote {
	font-size: 24px;
	font-weight: 900;
	color: #222;
	margin: auto;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-bottom: 0;
	text-align: center;
	position: relative;
	line-height: 1.5em;
	letter-spacing: 0;
	clear: both;
}

blockquote strong {
	font-weight: 900;
}

blockquote cite {
	font-size: 14px;
	font-weight: 600;
	font-style: normal;
}

.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
	margin: 20px 0 20px 0;
}

.textwidget blockquote {
	margin: 0;
}

blockquote p {
	padding: 0 !important;
}

blockquote h2 {
	font-weight: normal;
	font-size: 22px;
}

blockquote h3 {
	font-weight: normal;
	font-size: 20px;
}

#respond {
	width: 100%;
	float: left;
}

#respond.comment-respond {
	padding-top: 40px;
}

.aligncenter {
	text-align: center;
}

.mc4wp-form-fields input[type="email"] {
	width: 300px;
}

.mc4wp-form-fields {
	text-align: right;
}

.mc4wp-form-style3 .mc4wp-form-fields,
.mc4wp-form-style5 .mc4wp-form-fields,
.mc4wp-form-style6 .mc4wp-form-fields {
	text-align: left;
}

.mc4wp-form-white .mc4wp-form-fields input[type="email"],
.mc4wp-form-style2 .mc4wp-form-fields input[type="email"] {
	width: calc(95% - 250px);
}

.mc4wp-form-white .mc4wp-form-fields input[type="email"] {
	background: transparent !important;
	color: #fff;
	border: 1px solid #fff;
	width: calc(95% - 250px);
}

.mc4wp-form-white .mc4wp-form-fields input[type="email"]::placeholder {
	opacity: 0.7;
	color: #fff;
}

.mc4wp-form-style2 .mc4wp-form-fields input[type="email"]::placeholder {
	opacity: 0.7;
}

.mc4wp-form-white .mc4wp-form-fields input[type="submit"],
.mc4wp-form-style2 .mc4wp-form-fields input[type="submit"],
.mc4wp-form-style3 .mc4wp-form-fields input[type="submit"],
.mc4wp-form-style4 .mc4wp-form-fields input[type="submit"],
.mc4wp-form-style5 .mc4wp-form-fields input[type="submit"] {
	margin-left: 10px;
	padding: .6em 2.5em .6em 2.5em;
}

.mc4wp-form-white .mc4wp-form-fields input[type="submit"]:hover {
	background: transparent !important;
}

.mc4wp-form-style2 .mc4wp-form-fields input[type="submit"],
.mc4wp-form-style2 .mc4wp-form-fields input[type="submit"]:hover {
	background: #0067DA;
	border-color: #0067DA;
	color: #fff;
}

.mc4wp-form-style3 .mc4wp-form-fields input[type="submit"],
.mc4wp-form-style3 .mc4wp-form-fields input[type="submit"]:hover {
	background: #ff4a52;
	border-color: #ff4a52;
	color: #fff;
}

.mc4wp-form-style4 .mc4wp-form-fields input[type="submit"],
.mc4wp-form-style4 .mc4wp-form-fields input[type="submit"]:hover {
	background: #344D6C;
	border-color: #344D6C;
	color: #fff;
}

.mc4wp-form-style5 .mc4wp-form-fields input[type="submit"],
.mc4wp-form-style5 .mc4wp-form-fields input[type="submit"]:hover {
	background: #02B3E4;
	border-color: #02B3E4;
	color: #fff;
}

.mc4wp-form-style8 .mc4wp-form-fields input[type="submit"],
.mc4wp-form-style8 .mc4wp-form-fields input[type="submit"]:hover {
	background: #A51C30;
	border-color: #A51C30;
	color: #fff;
}

.mc4wp-form-white.new-line .mc4wp-form-fields input[type="email"] {
	width: calc(100% - 70px);
}

.mc4wp-form-white.new-line .mc4wp-form-fields input[type="submit"] {
	clear: both;
	margin-top: 20px;
	margin-left: 0;
}


/*------------------------------------------------------------------
[2. Navigation]
*/

#logo-wrapper {
	text-align: center;
	padding: 30px 0 30px 0;
}

#logo-wrapper .custom-logo-size {
	width: 50%;
	height: auto;
}

.top-menu-bar.scroll #logo-wrapper {
	display: none;
}

.top-menu-bar.hasbg {
	border-bottom: 0;
}

.top-menu-bar.hasbg #nav-wrapper {
	border-color: rgba(256, 256, 256, .3);
}

body.centeralign .logo-container .logo-wrapper:not(.hidden) {
	margin-top: 60px;
}

body.centeralign .top-menu-bar {
	border-bottom: 0;
}

.logo-container {
	display: table;
	width: 100%;
	height: 100%;
}

.logo-alignment {
	display: table-cell;
	vertical-align: middle;
	line-height: 0;
}

body.leftmenu .logo-container {
	display: block;
	width: 100%;
	height: auto;
}

body.leftmenu.admin-bar .logo-container {
	margin-top: 40px;
}

.logo-wrapper {
	margin: 0;
	display: inline-block;
	line-height: 0;
}

.logo-wrapper img.custom-logo-auto-resize {
	width: 50%;
	height: auto;
}

.logo-wrapper.hidden {
	display: none;
}

.logo-wrapper img.zoom {
	transform: scale(0.8) !important;
}

.above-top-menu-bar {
	height: 40px;
	background: #222;
	position: relative;
	z-index: 3;
}

.main-menu-wrapper {
	width: 100%;
	float: left;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9;
	display: block;
}

#elementor-header.main-menu-wrapper {
	opacity: 0;
	min-height: 60px;
}

#elementor-header.main-menu-wrapper.visible {
	opacity: 1;
}

#elementor-header.main-menu-wrapper.visible section.elementor-invisible {
	visibility: visible;
}

#elementor-sticky-header.main-menu-wrapper {
	opacity: 0;
	z-index: -1;
	-webkit-transform: translate(0px, -140px);
	-moz-transform: translate(0px, -140px);
	transform: translate(0px, -140px);
	transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
}

#elementor-sticky-header.main-menu-wrapper.visible {
	opacity: 1;
	z-index: 9;
	-webkit-transform: translate(0px, );
	-moz-transform: translate(0px, 0px);
	transform: translate(0px, 0px);
}

#searchform input[type="text"] {
	width: 60%;
}

body.admin-bar .main-menu-wrapper {
	padding-top: 32px;
}

body.leftmenu .main-menu-wrapper {
	display: none;
}

.main-menu-wrapper.nofixed {
	display: none;
}

.top-menu-bar {
	padding: 0;
	box-sizing: border-box;
	width: 100%;
	background: #fff;
	background: rgb(256, 256, 256, 0.95);
	background: rgba(256, 256, 256, 0.95);
	border-bottom: 1px solid #dce0e0;
	float: left;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
}

.top-menu-bar.scroll {
	
}

.top-menu-bar.hasbg {
	background: transparent;
	-webkit-box-shadow: 0 1px 30px rgba(0, 0, 0, 0);
	-moz-box-shadow: 0 1px 30px rgba(0, 0, 0, 0);
	box-shadow: 0 1px 30px rgba(0, 0, 0, 0);
	border: 0;
}

html[data-menu=centeralign] body .top-menu-bar.scroll #nav-wrapper {
	border: 0;
}

#menu-wrapper {
	margin: auto;
	width: 960px;
	height: 100%;
}

body.centeralign #menu-wrapper {
	margin-top: 20px;
}

body.centeralign .top-menu-bar.scroll #menu-wrapper {
	margin-top: 0;
}

#nav-wrapper {
	float: left;
	display: table;
	width: 100%;
	height: 100%;
	text-align: center;
	border-top: 1px solid #ccc;
}

body.centeralign #nav-wrapper {
	float: none;
	width: auto;
	margin: auto;
}

.nav-wrapper-inner {
	display: table-cell;
	vertical-align: middle;
}

#menu-border-wrapper > div {
	width: 100%;
	float: left;
}

#mobile-nav-icon {
	display: none;
	font-size: 13px;
	position: relative;
	box-sizing: border-box;
}

body.sidemenu-desktop-disabled #mobile-nav-icon {
	display: inline-block;
}

#logo-right-wrapper {
	position: absolute;
	text-align: right;
	right: 30px;
}

.top-menu-bar.hasbg #mobile-nav-icon {
	border-color: #fff;
}

.menu-client-wrapper {
	display: inline-block;
	margin-right: 10px;
	position: relative;
}

body.leftmenu .mobile-menu-wrapper .menu-client-wrapper {
	position: absolute;
	bottom: 50px;
	margin: 0;
}

.menu-client-wrapper span {
	font-size: 16px;
	font-weight: 500;
	margin-right: 7px;
	vertical-align: baseline;
}

.menu-client-wrapper .user-logout-link {
	margin-left: 5px;
	margin-right: 5px;
}

.menu-cart-wrapper {
	display: inline-block;
	margin-right: 10px;
	position: relative;
}

.menu-cart-wrapper .cart-counter {
	position: absolute;
	top: -10px;
	right: -10px;
	font-size: 10px;
	border-radius: 50px;
	background: #3d64ff;
	color: #fff;
	z-index: 2;
	width: 16px;
	height: 16px;
	line-height: 18px;
	text-align: center;
}

.menu-cart-wrapper span {
	font-size: 16px;
	font-weight: 500;
}

body.admin-bar .mobile-menu-wrapper #mobile-menu-close.button {
	top: 62px;
}

.mobile-menu-wrapper #mobile-menu-close.button {
	position: fixed;
	top: 30px;
	right: 30px;
	border-radius: 250px;
	width: 40px;
	height: 40px;
	padding: 0;
	line-height: 42px !important;
	font-size: 16px;
	-ms-transform: scale(0);
	-moz-transform: scale(0);
	-o-transform: scale(0);
	-webkit-transform: scale(0);
	transform: scale(0);
	box-shadow: 0 8px 8px -6px rgba(0, 0, 0, .15);
	transition: all 0.1s ease;
	-webkit-transition: all 0.1s ease;
	-moz-transition: all 0.1s ease;
}

body.js-nav .mobile-menu-wrapper #mobile-menu-close.button {
	-webkit-animation-delay: 1.5s;
	animation-delay: 1.5s;
	-ms-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
}

.mobile-menu-wrapper #mobile-menu-close.button:hover {
	margin-top: -4px;
}

.mobile-menu-wrapper {
	left: -10px;
	-webkit-transition: -webkit-transform 200ms ease;
	-moz-transition: transform 200ms ease;
	-o-transition: -o-transform 200ms ease;
	transition: transform 200ms ease;
	-webkit-transform: translate(-400px, 0px);
	-moz-transform: translate(-400px, 0px);
	transform: translate(-400px, 0px);
	-webkit-backface-visibility: hidden;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-overflow-scrolling: touch;
	width: 400px;
	padding: 90px;
	box-sizing: border-box;
	background: #111111;
	position: fixed;
	top: 0px;
	height: 100%;
	color: #999;
}

body.leftmenu .mobile-menu-wrapper {
	z-index: 1;
}

.mobile-menu-content {
	display: table;
	width: 100%;
	height: 100%;
}

.mobile-menu-wrapper .mobile-menu-content > div {
	width: 100%;
	max-height: 100%;
	overflow: auto;
	display: table-cell;
	vertical-align: middle;
}

body.leftmenu .mobile-menu-wrapper .mobile-menu-content>div {
	display: block;
	position: absolute;
	bottom: 100px;
	width: calc(100% - 100px);
	box-sizing: border-box;
}

.mobile-menu-wrapper .mobile-menu-content .social-profile-wrapper {
	margin-top: 20px;
}

.mobile-menu-wrapper .mobile-menu-content .social-profile-wrapper ul li a i {
	font-size: 24px;
	line-height: 24px;
}

body.admin-bar .mobile-menu-wrapper {
	padding-top: 32px;
}

body.admin-bar #btn-close-mobile-menu {
	top: 32px;
}

body.js-nav .mobile-menu-wrapper,
html[data-menu=leftmenu] body.js-nav .mobile-menu-wrapper {
	-webkit-transform: translate(0px, 0px);
	-ms-transform: translate(0px, 0px);
	transform: translate(0px, 0px);
	-o-transform: translate(0px, 0px);
	overflow-y: scroll;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	left: 0;
	z-index: 99;
	-webkit-box-shadow: -22px 0 40px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: -22px 0 40px rgba(0, 0, 0, 0.1);
	box-shadow: -22px 0 40px rgba(0, 0, 0, 0.1);
}

#btn-close-mobile-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#btn-close-mobile-menu.open {
	z-index: 99;
}

.mobile-main-nav,
#side-sub-menu {
	margin-top: 40px;
	margin-bottom: 40px;
	list-style: none;
	overflow: hidden;
	width: 100%;
}

body.leftmenu .mobile-main-nav #side-sub-menu {
	margin-top: 250px;
}

#side-sub-menu .sub-menu {
	margin-left: 15px;
	margin-top: 5px;
	margin-bottom: 5px;
	list-style: none;
}

#side-sub-menu li {
	width: 100%;
}

.mobile-main-nav li a,
#side-sub-menu li a {
	color: #777;
	width: 100%;
	display: block;
	font-size: 14px;
	font-weight: 600;
	line-height: 2em;
	text-transform: uppercase;
	font-family: 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif;
}

.mobile-main-nav li a:hover,
.mobile-main-nav li a:active,
#side-sub-menu li a:active {
	color: #fff;
}

.mobile-main-nav li ul.sub-menu {
	display: none;
}

.mobile-main-nav.mobile-nav-in {
	-webkit-animation: main-nav-in 0.4s;
	animation: main-nav-in 0.4s;
}

.mobile-main-nav.mobile-nav-out {
	-webkit-animation: main-nav-out 0.4s;
	animation: main-nav-out 0.4s;
}

#side-sub-menu.mobile-sub-nav-out {
	-webkit-animation: sub-nav-out 0.4s;
	animation: sub-nav-out 0.4s;
}

#side-sub-menu.mobile-sub-nav-in {
	-webkit-animation: sub-nav-in 0.4s;
	animation: sub-nav-in 0.4s;
}

#side-sub-menu li ul a:after {
	display: none;
}

#mobile-back-btn {
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	font-size: 14px !important;
	margin-bottom: 5px;
	font-weight: 600 !important;
}

#mobile-back-btn:before {
	font-size: 12px;
	margin-right: 0.7em;
	position: relative;
	display: inline;
	font-family: 'Font Awesome 5 Free';
	content: "\f104";
	font-weight: 900;
}

.overlay-background {
	opacity: 0;
	visibility: hidden;
	background-color: rgba(256, 256, 256, 1);
	position: fixed;
	z-index: -2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-ms-transform: scale(0.9);
	-moz-transform: scale(0.9);
	-o-transform: scale(0.9);
	-webkit-transform: scale(0.9);
	transform: scale(0.9);
	transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
}

#page-header-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);
	z-index: 1;
}

.overlay-background.visible {
	opacity: 1;
	visibility: visible;
}

.mobile-menu-wrapper #btn-close-mobile-menu {
	position: absolute;
	top: 42px;
	right: 40px;
	left: auto;
	z-index: -1;
	width: 20px;
	height: 40px;
	line-height: 42px;
	border-radius: 25px;
	background: #eee;
	color: #fff;
	text-align: center;
	padding: 0 10px 0 10px;
	cursor: pointer;
	z-index: 10;
	display: block;
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	-o-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.mobile-menu-wrapper #btn-close-mobile-menu:hover {
	-webkit-transform: translate(0px, -5px);
	-moz-transform: translate(0px, -5px);
	transform: translate(0px, -5px);
	box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
	-webkit-transition: all 0.1s;
	-moz-transition: all 0.1s;
	transition: all 0.1s;
}

.mobile-menu-wrapper #btn-close-mobile-menu.open {
	z-index: 99;
}

.nav,
.subnav {
	list-style: none;
	padding: 10px 0 10px 0;
}

.subnav {
	background: none;
}

.nav > li {
	display: inline-block;
}

#menu-wrapper .nav ul,
#menu-wrapper div .nav {
	list-style: none;
	display: block;
	padding: 0;
	margin: 0;
	margin-bottom: 0;
}

#menu-wrapper .nav ul li,
#menu-wrapper div .nav li {
	display: inline-block;
	margin: 0;
	padding: 10px 8px 10px 8px;
}

body.centeralign #menu-wrapper div .nav>li {
	padding: 10px 15px 10px 15px;
}

#menu-wrapper .nav ul li ul li,
#menu-wrapper div .nav li ul li {
	clear: both;
	width: 100%;
	margin: 0;
	text-align: left !important;
	padding: 5px 20px 5px 20px;
	box-sizing: border-box;
}

#menu-wrapper .nav ul li:last-child,
#menu-wrapper div .nav li:last-child {
	margin-right: 0;
}

#menu-wrapper .nav ul li a,
#menu-wrapper div .nav li>a {
	display: inline-block;
	padding: 0;
	margin: 0;
	color: #666;
	font-size: 12px;
	padding: 0;
	font-weight: 400;
	margin-right: 10px;
	font-family: "Roboto", 'Helvetica Neue', Arial, Verdana, sans-serif;
	text-transform: uppercase;
	position: relative;
	padding: 0;
	-webkit-transition: padding 0.3s;
	-moz-transition: padding 0.3s;
	transition: padding 0.3s;
}

#menu-wrapper .nav ul li a:before,
#menu-wrapper div .nav li>a:before,
.post-attribute a:before {
	content: '';
	display: block;
	position: absolute;
	bottom: 2px;
	left: 0;
	height: 1px;
	width: 100%;
	background-color: #666;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: color .1s, transform .2s ease-out;
}

#menu-wrapper .nav ul li a:active:before,
#menu-wrapper div .nav li>a:active:before {
	background-color: #666;
}

#page-content-wrapper .inner .sidebar-wrapper a:not(.button) {
	position: relative;
}

#menu-wrapper .nav ul li a:hover:before,
#menu-wrapper div .nav li>a:hover:before,
.post-attribute a:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}

#menu-wrapper .nav ul li a,
#menu-wrapper div .nav li>a:first-child {
	padding-left: 0;
}

#wrapper.transparent .top-menu-bar:not(.scroll) #menu-wrapper div .nav>li>a,
#wrapper.transparent .top-menu-bar:not(.scroll) #logo-right-wrapper a#mobile-nav-icon,
#wrapper.transparent #logo-wrapper .social-profile-wrapper ul li a,
#wrapper.transparent .top-menu-bar:not(.scroll) .menu-cart-wrapper a,
#wrapper.transparent .top-menu-bar:not(.scroll) .menu-client-wrapper a,
#wrapper.transparent .top-menu-bar:not(.scroll) .menu-client-wrapper {
	color: #fff !important;
}

#wrapper.transparent #menu-wrapper .nav ul li a:before,
#wrapper.transparent #menu-wrapper div .nav li>a:before {
	background: #fff !important;
}

#menu-wrapper .nav li.arrow>a:after,
#menu-wrapper div .nav li.arrow>a:after {
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	display: inline;
	width: auto;
	height: auto;
	line-height: normal;
	vertical-align: 10%;
	background-image: none;
	background-position: 0% 0%;
	background-repeat: repeat;
	font-family: 'themify';
	content: "\e64b";
	float: right;
	margin-left: 8px;
	line-height: 4.5em;
}

#menu-wrapper .nav li.arrow>a:after,
#menu-wrapper div .nav li.arrow>a:after {}

#menu-wrapper .nav ul li.arrow>a:after,
#menu-wrapper div .nav li.arrow>a:after {
	font-size: 7px;
}

#menu-wrapper .nav ul li a.hover,
#menu-wrapper .nav ul li a:hover,
#menu-wrapper div .nav li a.hover,
#menu-wrapper div .nav li a:hover {
	color: #444;
	z-index: 2;
	position: relative;
}

#menu-wrapper div .nav>li.current-menu-item>a,
#menu-wrapper div .nav>li.current-menu-parent>a,
#menu-wrapper div .nav>li.current-menu-ancestor>a {
	color: #444;
	z-index: 2;
	position: relative;
}

#menu-wrapper .nav ul li ul,
#menu-wrapper div .nav li ul {
	list-style: none;
	background: transparent;
	position: absolute;
	width: 220px;
	height: 0;
	padding: 0;
	z-index: -1;
	margin: 0;
	margin-left: 0;
	margin-top: 10px;
	border: 0;
	-webkit-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
	box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
	opacity: 0;
	overflow: hidden;
	-webkit-transform: translate(0px, -15px);
	-moz-transform: translate(0px, -15px);
	transform: translate(0px, -15px);
	transition: all 0.2s ease-out;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
}

#menu-wrapper .nav ul li ul.viewport-flip,
#menu-wrapper div .nav li ul.viewport-flip {
	left: -221px;
}

#menu-wrapper .nav ul li ul li ul,
#menu-wrapper div .nav li ul li ul {
	position: absolute;
	left: 221px;
	margin-top: -49px;
	margin-left: 0;
	opacity: 0;
}

#menu-wrapper .nav ul li ul li ul:before,
#menu-wrapper div .nav li ul li ul:before {
	display: none;
}

#menu-wrapper .nav>li:hover>ul,
#menu-wrapper .nav>li>ul>li:hover>ul {
	z-index: 9;
	opacity: 1;
	height: auto;
	-ms-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transform: translate(0px, 0px);
	-moz-transform: translate(0px, 0px);
	transform: translate(0px, 0px);
	overflow: visible;
}

#menu-wrapper div .nav li ul li a,
#1menu-wrapper div .nav li.current-menu-item ul li a,
#menu-wrapper div .nav li ul li.current-menu-item a,
#menu-wrapper .nav ul li ul li a,
#menu-wrapper .nav ul li.current-menu-item ul li a,
#menu-wrapper .nav ul li ul li.current-menu-item a,
#menu-wrapper div .nav li.current-menu-parent ul li a,
#menu-wrapper div .nav li ul li.current-menu-parent a {
	display: block;
	background: transparent;
	height: auto;
}

#menu-wrapper .nav ul li ul li a,
#menu-wrapper div .nav li ul li a,
#menu-wrapper div .nav li.current-menu-parent ul li a {
	border-top: 0;
	margin: 0;
	font-size: 11px;
	padding: 0;
	letter-spacing: 0;
	font-weight: 400;
	text-transform: none;
	box-sizing: border-box;
	-webkit-transition: color .2s linear, background .2s linear;
	-moz-transition: color .2s linear, background .2s linear;
	-ms-transition: color .2s linear, background .2s linear;
	-o-transition: color .2s linear, background .2s linear;
	transition: color .2s linear, background .2s linear;
}

#menu-wrapper .nav ul li:first-child>a,
#menu-wrapper .nav ul li ul li:first-child>a,
#menu-wrapper div .nav li.current-menu-parent ul li:first-child>a {
	margin-top: 10px;
}

#menu-wrapper .nav ul li:last-child>a,
#menu-wrapper .nav ul li ul li:last-child>a,
#menu-wrapper div .nav li.current-menu-parent ul li:last-child>a {
	margin-bottom: 10px;
}

#menu-wrapper .nav ul li.megamenu>ul,
#menu-wrapper div .nav li.megamenu>ul {
	position: absolute;
	width: 960px;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
	box-sizing: border-box;
}

#menu-wrapper .nav ul li:not(.megamenu)>ul.sub-menu>li.arrow>a:after,
#menu-wrapper div .nav li:not(.megamenu)>ul.sub-menu>li.arrow>a:after {
	font-size: 7px;
	margin-left: 8px;
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	display: inline;
	width: auto;
	height: auto;
	line-height: normal;
	vertical-align: 10%;
	background-image: none;
	background-position: 0% 0%;
	background-repeat: repeat;
	margin-top: 0;
	font-family: 'themify';
	content: "\e649";
	float: right;
	margin-right: 0px;
	line-height: 4.5em;
}

#menu-wrapper div .nav li.megamenu ul li {
	display: block;
	box-sizing: border-box;
	clear: none;
	float: left;
	border-left: 1px solid #eeeeee;
}

#menu-wrapper div .nav li.megamenu ul li>a {
	display: none;
}

#menu-wrapper div .nav li.megamenu ul li:first-child {
	border: 0;
}

#menu-wrapper div .nav li.megamenu.col2 ul>li.menu-item-has-children {
	width: 50%;
	padding: 5px 15px 0 0;
}

#menu-wrapper div .nav li.megamenu.col3 ul>li.menu-item-has-children {
	width: 33.3%;
	padding: 5px 15px 0 0;
}

#menu-wrapper div .nav li.megamenu.col4 ul>li.menu-item-has-children {
	width: 25%;
	padding: 5px 15px 0 0;
}

#menu-wrapper .nav ul li.megamenu ul li ul,
#menu-wrapper div .nav li.megamenu ul li ul {
	position: relative;
	width: 100%;
	margin: 0;
	border: 0;
	box-shadow: 0 0 0;
	display: block !important;
	opacity: 1 !important;
	left: 0;
	height: auto;
	-ms-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	overflow: visible;
	border-radius: 5px;
	overflow: hidden;
	-webkit-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
	box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
}

#menu-wrapper .nav ul li.megamenu ul li ul li,
#menu-wrapper div .nav li.megamenu ul li ul li {
	width: 100% !important;
	border: 0 !important;
}

#menu-wrapper div .nav li.megamenu ul li>a,
#menu-wrapper div .nav li.megamenu ul li>a:hover,
#menu-wrapper div .nav li.megamenu ul li>a:active {
	color: #444;
	box-sizing: border-box;
	background: transparent;
}

#menu-wrapper .nav ul li.megamenu ul li ul li a,
#menu-wrapper div .nav li.megamenu ul li ul li a {
	color: #888;
	border-bottom: 0;
}

#menu-wrapper .nav ul li.megamenu ul li ul li,
#menu-wrapper div .nav li.megamenu ul li ul li a {
	width: auto;
	display: inline-block;
	margin-left: 5px;
	padding: 0;
}

@media only screen and (min-width: 1200px) {
	#menu-wrapper .nav ul li.megamenu>ul,
	#menu-wrapper div .nav li.megamenu>ul {
		max-width: 1350px;
		width: 100%;
		width: calc(100% - 180px);
		box-sizing: border-box;
	}
}

.top-contact-info {
	font-size: 12px;
	color: #222;
	float: right;
	line-height: 40px;
}

.top-contact-info i {
	margin-right: 10px;
	color: #222;
	font-size: 12px;
	vertical-align: middle;
}

.top-contact-info span {
	display: inline-block;
	margin-right: 10px;
}

.top-contact-info a {
	color: #444;
}

#top-menu {
	float: left;
	display: block;
	list-style: none;
}

#top-menu li {
	float: left;
	margin-right: 20px;
}

#top-menu li a {
	font-size: 13px;
	font-weight: 400;
	color: #222;
	line-height: 40px;
}

#footer-menu li ul {
	display: none;
}

.elementor-megamenu-wrapper {
	text-align: left;
}


/*------------------------------------------------------------------
[3. Footer]
*/

.footer-main-container {
	clear: both;
	width: 100%;
	margin: auto;
	padding: 0 0 10px 0;
	float: left;
	background: #fff;
	-webkit-transition: -webkit-transform 500ms ease;
	-o-transition: -o-transform 500ms ease;
	transition: -webkit-transform 500ms ease;
}

#footer-wrapper {
	width: 100%;
	float: left;
}

body.footer-reveal #footer-wrapper {
	position: fixed;
	bottom: 0;
	z-index: -1;
}

body.leftmenu #footer-wrapper {
	width: calc(100% - 300px);
	margin-left: 300px;
}

#footer {
	width: 100%;
	margin: auto;
	word-wrap: break-word;
	margin-bottom: 0;
	float: left;
	clear: both;
}

#footer.empty {
	padding: 0;
}

#footer a {
	color: #000;
}

#footer a:hover,
#footer a:active {
	color: #000;
}

#footer .sidebar-widget li h2.widgettitle {
	margin-top: 10px;
	margin-bottom: 25px;
}

#footer .sidebar-widget li.widget_archive #archives-dropdown--1 {
	margin-top: 5px;
}

#footer .sidebar-widget li.widget_calendar .calendar_wrap {
	margin-top: 30px;
}

#footer ul.sidebar-widget {
	width: 960px;
	list-style: none;
	margin: 0;
	margin: auto;
	padding-top: 50px;
	padding-bottom: 50px;
}

#footer ul.sidebar-widget:after {
	content: '';
	display: block;
	clear: both;
}

#footer ul.sidebar-widget li ul {
	list-style: none;
	margin-left: 0;
}

#footer ul.sidebar-widget li ul li ul.children {
	margin-left: 10px;
	margin-bottom: 0;
}

#footer ul.sidebar-widget li ul li ul.children li:last-child {
	border: 0;
	margin-bottom: 0;
}

#footer .sidebar-widget.four>li {
	width: 20%;
	float: left;
	margin-right: 5%;
	margin-bottom: 5%;
}

#footer .sidebar-widget.four>li:nth-child(4) {
	margin-right: 0;
	width: 25%;
}

#footer .sidebar-widget.four>li:nth-child(4n) {
	margin-right: 0;
	float: right;
}

#footer .sidebar-widget.four>li:nth-child(4n+1) {
	clear: both;
}

#footer .sidebar-widget.three>li {
	width: 31.33%;
	margin-right: 3%;
	margin-bottom: 3%;
	float: left;
}

#footer .sidebar-widget.three>li:nth-child(3n) {
	margin-right: 0;
	float: right;
}

#footer .sidebar-widget.three>li:nth-child(3n+1) {
	clear: both;
}

#footer .sidebar-widget.two>li {
	width: 48%;
	float: left;
	margin-right: 2%;
}

#footer .sidebar-widget.two>li:nth-child(2) {
	margin-right: 0;
	width: 50%;
}

#footer .sidebar-widget.two>li:nth-child(2n) {
	margin-right: 0;
	float: right;
}

#footer .sidebar-widget.two>li:nth-child(2n+1) {
	clear: both;
}

#footer .sidebar-widget.one {
	float: none;
}

#footer .sidebar-widget.one>li {
	width: 100%;
	clear: both;
	float: left;
	margin-bottom: 30px;
	text-align: center;
}

#footer .sidebar-widget.one>li .social-profile-wrapper.shortcode ul {
	text-align: center;
}

#footer .sidebar-widget.one>li:last-child {
	margin-bottom: 0;
}

#footer ul.sidebar-widget li ul.posts.blog li img {
	width: 60px;
	float: left;
	margin: 0 15px 15px 0;
}

#footer ul.sidebar-widget li ul.posts.blog li {
	clear: both !important;
	float: left;
	border: 0;
	width: 100%;
}

#footer ul.sidebar-widget li ul li ul.sub-menu {
	margin-left: 15px;
}

#footer ul.sidebar-widget li ul.flickr li {
	margin: 0 2% 0 0;
	border-bottom: 0;
	width: 31%
}

#footer ul.sidebar-widget.one li ul.flickr li {
	width: 8%;
	margin: 0 2% 1.2% 0;
}

#footer ul.sidebar-widget.two li ul.flickr li {
	width: 15%;
	margin: 0 2% 1% 0;
}

#footer ul.sidebar-widget.three li ul.flickr li {
	width: 20%;
	margin: 0 2% 0 0;
}

#footer ul.sidebar-widget li ul.flickr li img {
	width: 100%;
	height: auto;
}

#copyright {
	float: left;
	width: 50%;
	font-weight: normal;
	text-align: left;
}

.footer-main-container.fullscreen #copyright {
	color: #fff;
}

.footer-main-container.fullscreen .footer-main-container-wrapper,
.footer-main-container.wall .footer-main-container-wrapper,
.footer-main-container.static .footer-main-container-wrapper {
	margin: auto;
	float: none;
}

.footer-main-container-wrapper {
	width: 960px;
	margin: auto;
	-webkit-transition: -webkit-transform 500ms ease;
	transition: -webkit-transform 500ms ease;
	-webkit-font-smoothing: antialiased;
	clear: both;
	color: #fff;
	border-top: 1px solid #444;
	padding-top: 20px;
}

#go-to-top {
	width: 45px;
	height: 45px;
	box-sizing: border-box;
	opacity: 0;
	text-align: center;
	padding: 10px 10px 10px 10px;
	position: fixed;
	/* this is the magic */
	bottom: 24px;
	right: 10px;
	cursor: pointer;
	transition: color 300ms, background-color 300ms, opacity 300ms;
	-moz-transition: color 300ms, background-color 300ms, opacity 300ms;
	-o-transition: color 300ms, background-color 300ms, opacity 300ms;
	-webkit-transition: color 300ms, background-color 300ms, opacity 300ms;
	z-index: 9;
	background: rgba(0, 0, 0, 0.1);
	color: #fff;
	display: block;
}

#go-to-top span {
	font-size: 1em;
	line-height: 24px;
}


/*------------------------------------------------------------------
[4. Content]
*/

#content-wrapper {
	width: 72%;
	float: left;
	margin: 0;
}

#page-content-wrapper:not(.wide),
.page-content-wrapper:not(.wide) {
	width: 960px;
	width: calc(100% - 180px);
	margin: auto;
	padding-bottom: 0;
	margin-top: 0;
}

body.home.blog #page-content-wrapper {
	margin-top: 60px;
}

#page-content-wrapper.wide.nomargin,
.page-content-wrapper.wide.nomargin {
	margin-top: 0;
}

.page-content-wrapper,
.page-content-wrapper .inner,
.page-content-wrapper .inner .inner-wrapper {
	width: 100%;
	float: left;
}

body:not(.elementor-page) #page-content-wrapper img {
	max-width: 100%;
	height: auto;
}

.standard-wrapper {
	width: 960px;
	width: calc(100% - 180px);
	margin: auto;
	position: relative;
	float: none;
}

.standard-wrapper.withpadding {
	padding-top: 30px;
	padding-bottom: 30px;
}

.page-content-wrapper.fullwidth,
#page-content-wrapper.fullwidth {
	width: 100%;
	padding: 0;
}

#page-content-wrapper .inner {
	width: 100%;
	margin: auto;
	float: left;
}

#page-content-wrapper .inner .inner-wrapper {
	padding-top: 0;
	width: 100%;
	float: left;
}

.type-post.classic.classic:first-child {
	margin-top: 0;
}

.type-post.type-post.classic {
	margin-bottom: 20px;
	margin-top: 20px;
}

.type-post.classic {
	float: left;
}

.post.type-post.sticky .post-wrapper,
body:not(.single) .post:first-child.type-post.sticky .post-wrapper {
	padding: 40px 30px 30px 30px;
	box-sizing: border-box;
}

body.page-template-blog-fg .post.type-post {
	margin-bottom: 4%;
}

body.page-template-blog-fg .post.type-post .post-wrapper {
	border: 0;
	padding: 0;
}

body.search-results .hentry {
	float: left;
	width: 100%;
	margin-bottom: 35px;
	border: 0;
}

#page-content-wrapper .inner #blog-grid-wrapper.sidebar-content {
	margin-right: 0;
	padding-right: 0;
	box-sizing: border-box;
	margin-bottom: 0;
}

#page-content-wrapper .inner #blog-grid-wrapper.sidebar-content.left-sidebar {
	padding-right: 0;
}

#blog-grid-wrapper.sidebar-content:not(.fullwidth) .post.type-post,
.post.type-post.grid-layout {
	width: 48%;
	margin-top: 0;
	margin-bottom: 5%;
	float: left;
	border: 0;
}

#blog-grid-wrapper.sidebar-content:not(.fullwidth) .post.type-post:nth-child(even),
.post.type-post.grid-layout.last {
	float: right;
}

body.single .post.type-post {
	border: 0;
	margin-bottom: 0;
}

.post.type-post.last-child {
	border: 0;
	margin: 0;
	padding: 0;
}

#blog-grid-wrapper {
	padding-top: 30px;
}

#blog-grid-wrapper .post.type-post,
.blog-grid-wrapper .post.type-post {
	margin-bottom: 20px;
	box-sizing: border-box;
	padding: 0;
	padding: 0;
	box-sizing: border-box;
	border: 0;
}

body.page-template-blog-g-php #blog-grid-wrapper .post.type-post,
body.error404 #blog-grid-wrapper .post.type-post,
body.archive #blog-grid-wrapper .post.type-post {
	float: left;
	width: 31.66%;
	float: left;
	margin-right: 2.5%;
	margin-bottom: 3.5%;
	margin-top: 0;
}

body.page-template-blog-g-php #blog-grid-wrapper .post.type-post:nth-child(3n),
body.error404 #blog-grid-wrapper .post.type-post:nth-child(3n),
body.archive #blog-grid-wrapper .post.type-post:nth-child(3n) {
	margin-right: 0;
}

body.page-template-blog-g-php #blog-grid-wrapper .post.type-post:nth-child(3n+1),
body.error404 #blog-grid-wrapper .post.type-post:nth-child(3n+1),
body.archive #blog-grid-wrapper .post.type-post:nth-child(3n+1) {
	clear: both;
}

body.page-template-blog-g-php #blog-grid-wrapper .post.type-post.last {
	margin-right: 0;
	float: right;
}

.post.type-post:last-child {
	margin-bottom: 0;
}

.post-wrapper.grid-layout {
	float: left;
}

body.single .post-wrapper {
	padding-bottom: 0;
	word-break: break-word;
}

body.single .post-wrapper p:first-child {
	padding-top: 0 !important;
}

body.single .post-related .post-wrapper {
	width: 100%;
	position: relative;
}

body.single .post-related .post-wrapper .post-related-link {
	position: absolute;
    width: 100%;
    height: 100%;
    z-index: 3;
    top: 0;
    left: 0;
}

body.single .post-related .post-wrapper.has-featured-img .post-related-link:before {
	content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    background-image: -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(50%,transparent),color-stop(56%,rgba(0,0,0,0.1)),color-stop(93%,rgba(0,0,0,0.6)),to(rgba(0,0,0,0.69)));
    background-image: -webkit-linear-gradient(transparent 0%,transparent 50%,rgba(0,0,0,0.1) 56%,rgba(0,0,0,0.6) 93%,rgba(0,0,0,0.69) 100%);
    background-image: linear-gradient(transparent 0%,transparent 50%,rgba(0,0,0,0.1) 56%,rgba(0,0,0,0.6) 93%,rgba(0,0,0,0.69) 100%);
}

.post-related .post-wrapper .post-related-featured-img {
	width: 100%;
    height: 400px !important;
    object-fit: cover;
    line-height: 0;
}

.post-related .post-header-wrapper {
	clear: both;
	float: left;
	width: 100%;
	box-sizing: border-box;
	text-align: left;
	padding: 25px 0 25px 0;
	text-align: center;
}

.post-related .has-featured-img {
	position: relative;
	height: 400px;
    overflow: hidden;
}

.post-related .has-featured-img img {
	transition: all 2s cubic-bezier(.2, 1, .22, 1);
}

.post-related .has-featured-img:hover img {
	transform: scale(1.1);
}

.post-related .has-featured-img .post-header-wrapper {
	position: absolute;
    bottom: 0;
    z-index: 3;
    width: 100%;
    padding: 60px 15px 0px;
    text-align: center;
    background: transparent;
    background-image: linear-gradient(-180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 100%);
}

.post-related .post-info-date {
	width: 30%;
}

.post-related .post-info-cat {
	width: 65%;
}

.post-info-cat.post-info-nodate,
.post-related .post-info-cat.post-info-nodate
{
	border-left: 0;
}

.post-related .post-detail.single-post {
	margin-top: 10px;
    margin-bottom: 15px;
}

.post-related .has-featured-img .post-info-cat a,
.post-related .has-featured-img .post-header.grid a,
.post-related .has-featured-img .post-button-wrapper a,
.post-related .has-featured-img .post-info-date {
	color: #fff;
}

.post-related .has-featured-img .post-detail.single-post,
.post-related .has-featured-img .post-info-cat, 
.post-related .has-featured-img .post-info-cat a {
	border-color: #fff;
}

.post-related .has-featured-img .post-header.grid, 
.post-related .post-header.grid {
	margin-bottom: 0;
}

.post-related .post-button-wrapper {
	margin-bottom: 0;
}

.post-related .post-button-wrapper {
	opacity: 0.5;
}

body:not(.single) .post:first-child .post-wrapper,
body.page-template-blog-gs-php .post:first-child .post-wrapper,
body.page-template-blog-gs-php .post:nth-child(2) .post-wrapper,
body.page-template-blog-gls-php .post:first-child .post-wrapper,
body.page-template-blog-gls-php .post:nth-child(2) .post-wrapper,
body.page-template-blog-g-php .post:first-child .post-wrapper,
body.page-template-blog-g-php .post:nth-child(2) .post-wrapper,
body.page-template-blog-g-php .post:nth-child(3) .post-wrapper,
body.error404 .post:first-child .post-wrapper,
body.error404 .post:nth-child(2) .post-wrapper,
body.error404 .post:nth-child(3) .post-wrapper {
	border-top: 0;
	padding-top: 0;
}

body.search .post-wrapper:first-child {
	padding: 0 0 25px 0;
	border: 0;
}

.post-wrapper.single {
	width: 100%;
	margin: 0;
}

body.single .post-views {
	display: none;
}

.post-header {
	width: 100%;
	margin-bottom: 0;
}

.post-header p {
	text-align: left;
}

.post-header.search {
	width: calc(100% - 50px);
	margin-bottom: 0;
	margin-left: 10px;
	text-align: left;
}

body.search-results .post-header.search {
	width: calc(100% - 90px);
}

.post-header.quote {
	margin-bottom: 0;
}

.readmore {
	font-weight: 700;
	display: inline-block;
}

.readmore span {
	display: none;
}

.readmore:hover {
	opacity: 1;
}

.wp-link-pages {
	margin: 20px 0 20px 0;
	letter-spacing: 1px;
	font-size: 13px;
	text-transform: uppercase;
}

.wp-link-pages .post-page-numbers.current {
	font-weight: 600;
}

.wp-link-pages .wp-link-pages-label {
	margin-right: 5px;
}

body:not(.elementor-page) .comment_disable_clearer {
	min-height: 40px;
}

.wp-link-pages .post-page-numbers {
	margin-right: 10px;
}

.post-header.grid {
	margin-bottom: 15px;
	width: 100%;
	box-sizing: border-box;
}

.post-header.full {
	width: 100%;
}

.post-header.grid h6 {
	font-size: 30px;
    line-height: 1.3;
}

.post-header h3 a,
.post-header.grid h6 a {
	color: #222222;
}

.post-header h5 {
	font-size: 36px;
	margin: 10px 0 10px 0;
}

body.home.blog .post-header h5 {
	line-height: 1.2;
}

.post-header h6 {
	font-size: 26px;
}

.post-header h5 a,
.post-header h6 a {
	color: #222222;
}

.post-attribute a {
	position: relative;
	padding: 3px 0 3px 0;
}

.post-attribute a:before {
	opacity: 0.5;
}

.post-excerpt {
	width: 100%;
	margin: auto;
}

.post-excerpt br:first:child {
	display: none;
}

.post-excerpt.post-tag {
	width: auto;
	margin: initial;
	text-align: center;
	margin-top: 20px;
}

.post-excerpt.post-tag a {
	color: #000;
	border: 1px solid #000;
	display: inline-block;
	background: #FFFBF2;
	padding: 12px 20px 12px 20px;
	margin-right: 20px;
	margin-bottom: 20px;
	position: relative;
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	box-shadow: 0 0 0 rgba(0, 0, 0, .25);
	transition: all .6s cubic-bezier(.23, 1, .32, 1);
}

.post-excerpt.post-tag a i {
	margin-right: 10px;
	vertical-align: middle;
}

.post-excerpt.post-tag a:hover {
	background: transparent;
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
}

#about-the-author {
	margin: 60px 0 0 0;
	border-top: 1px solid #dce0e0;
	border-bottom: 1px solid #dce0e0;
	padding: 40px 0 40px 0;
	box-sizing: border-box;
}

#about-the-author:after {
	content: " ";
	display: block;
	height: 0;
	clear: both;
}

#about-the-author .gravatar {
	float: left;
	margin-right: 20px;
}

#about-the-author .author-detail {
	float: left;
	width: calc(100% - 120px);
}

.author-content h4 {
	font-size: 20px;
	font-weight: 400;
	margin-bottom: 10px;
}

.post-related {
	margin-top: 40px;
}

.post-related h5 {
	margin-bottom: 30px;
}

.post-content-wrapper {
	margin: 0;
	clear: both;
	width: 100%;
	box-sizing: border-box;
}

.post-content-wrapper.fullwidth {
	width: 100%;
}

.post-detail {
	width: 100%;
	padding: 0;
	float: left;
	margin: 5px 0 0 0;
	font-weight: 400;
}

.search-form-wrapper {
	margin-bottom: 60px;
}

body.search .search-form-wrapper {
	margin-top: 0;
}

.search-form-wrapper .content {
	font-size: 16px;
	text-align: center;
	width: 60%;
	margin: auto;
	margin-bottom: 40px;
}

.post-header .post-detail.grid {
	margin-top: 5px;
}

.post-header .post-detail.full {
	width: 100%;
	margin-top: 7px;
	margin-bottom: 7px;
}

.post-header .post-detail.grid {
	margin-bottom: 0;
}

.post-attribute,
.comment-date,
.post-date {
	padding: 0;
	margin-top: 0;
	margin-top: 0;
	font-size: 13px;
	text-transform: uppercase !important;
}

.post-button-wrapper .post-attribute {
	float: none;
	margin-top: 60px;
	clear: both;
}

.post-related .post-button-wrapper .post-attribute {
	margin-top: 0;
}

.post-button-wrapper .post-author {
	float: left;
	margin-right: 10px;
	font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.post-button-wrapper .post-author .gravatar
{
	width: 35px;
	height: 35px;
	margin-right: 10px;
}

.post-button-wrapper .post-author .gravatar img {
	width: 35px !important;
	height: auto;
}

.post-button-wrapper .post-author .post-author-detail {
	float: left;
	line-height: 3;
}

.post-detail.single-post {
	overflow: hidden;
}

.post-info-cat {
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	display: inline-block;
	transition: transform 1200ms cubic-bezier(0.19, 1, 0.22, 1) 0s;
	width: calc(49% - 20px);
	border-left: 1px solid #000;
	padding: 15px 0 15px 20px;
}

.post-info-date {
	font-size: 13px;
	letter-spacing: 2px;
	text-transform: uppercase;
	display: inline-block;
	width: 49%;
	padding: 15px 0 15px 0;
	transition: transform 1200ms cubic-bezier(0.19, 1, 0.22, 1) 0s;
}

body.single-post #page-header h1,
body.single-post .post-author-name-before,
body.single-post .post-published-date-before {
	overflow: hidden;
	display: block;
}

body.single-post #page-header h1 span.smoove {
	display: inline-block;
	transition: transform 1000ms cubic-bezier(.23,1.000,.32,1.000) 120ms;
}

body.single-post #page-header .gravatar.smoove {
	display: inline-block;
	transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1) 240ms;
}

body.single-post #page-header .post-author-name-before span.smoove {
	display: inline-block;
	transition: transform 1200ms cubic-bezier(0.19, 1, 0.22, 1) 240ms;
}

body.single-post #page-header .post-published-date-before span.smoove {
	display: inline-block;
	transition: transform 1200ms cubic-bezier(0.19, 1, 0.22, 1) 360ms;
}

.post-author-name h6 {
	font-size: 28px;
	margin-top: -6px;
}

a.continue-reading {
	position: relative;
	color: #181B31;
	text-decoration: none;
	float: left;
	transform: translateX(45px);
	transition: all 0.3s;
	display: block;
	font-size: 22px;
	letter-spacing: 2px;
}

.post-wrapper:hover a.continue-reading {
	color: #181B31;
	transform: translateX(0px);
}

a.continue-reading:before,
a.continue-reading:after {
	content: '';
	display: block;
	position: absolute;
	height: 2px;
	top: 48.8%;
	background: #181B31;
	border-radius: 4px;
	transition: all 0.3s;
}

a.continue-reading:before {
	width: 30px;
	right: 110%;
}

a.continue-reading:after {
	width: 0%;
	left: 110%;
}

.post-wrapper:hover a.continue-reading:before {
	width: 0%;
}

.post-wrapper:hover a.continue-reading:after {
	width: 30px;
}

a.continue-reading span {
	position: absolute;
	display: block;
	width: 30px;
	height: 100%;
	right: -30%;
	top: 1px;
}

a.continue-reading span:before,
a.continue-reading span:after {
	content: '';
	display: block;
	position: absolute;
	width: 0;
	height: 2px;
	top: 0;
	right: 0;
	background: #181B31;
	border-radius: 4px;
	transform: rotate(45deg);
	transition: all 0.15s;
	transition-delay: 0.25s;
	opacity: 0;
}

a.continue-reading span:before {
	top: 30px;
	right: 0;
	transform: rotate(45deg);
}

a.continue-reading span:after {
	top: 14px;
	right: 0;
	transform: rotate(-45deg);
}

.post-wrapper:hover a.continue-reading span:before {
	width: 11px;
	top: 8px;
    right: -8px;
	opacity: 1;
}

.post-wrapper:hover a.continue-reading span:after {
	width: 11px;
	top: 15px;
    right: -8px;
	opacity: 1;
}

.sticky .post-wrapper:hover a.continue-reading span:before,
body:not(.elementor-page) .post-wrapper:hover a.continue-reading span:before {
	top: 14px;
	right: -8px;
}

.sticky .post-wrapper:hover a.continue-reading span:after,
body:not(.elementor-page) .post-wrapper:hover a.continue-reading span:after {
	top: 22px;
	right: -8px;
}

.post-button-wrapper {
	margin-bottom: 20px;
	margin-top: 10px;
	float: left;
	width: 100%;
}

.sticky .post-button-wrapper {
	margin-bottom: 10px;
}

.post-detail.single-post a,
.post-detail.single-post a:hover,
.post-detail.single-post a:active {}

.post-detail.single-post {
	margin-top: 5px;
	margin-bottom: 25px;
	padding: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}

body.single .post-detail.single-post.related {
	margin-bottom: 5px;
}

#page-header.hasbg .post-detail,
#page-header.hasbg .post-detail a,
#page-header.hasbg .post-detail a:hover,
#page-header.hasbg .post-detail a:active,
.page-tagline {
	padding: 0;
	color: #fff;
	margin-top: 10px;
}

#page-header.hasbg .post-attribute {
	color: #fff;
}

#page-header .post-attribute {
	margin-top: 25px;
}

#page-header .post-detail {
	float: none;
}

.gravatar {
	position: relative;
	overflow: hidden;
	float: left;
	width: 60px;
	height: 60px;
	border-radius: 200px;
}

.comment .gravatar {
	width: 60px;
	height: 60px;
}

.gravatar img {
	max-width: 60px !important;
}

#about-the-author .header span {
	display: block;
	padding: 10px 0 10px 20px;
	font-size: 14px;
}

#about-the-author .thumb {
	width: 80px;
	float: left;
	margin: 20px 0 0 20px;
}

#about-the-author .thumb img {
	padding: 3px;
	width: 50px;
}

#about-the-author .description {
	width: 550px;
	float: left;
	padding: 0 0 0 20px;
}

.comment .left img.avatar {
	width: 50px;
	height: 50px;
}

.comment {
	width: 100%;
	padding: 30px 0 25px 0;
	float: left;
	border-bottom: 1px solid #dce0e0;
}

.fullwidth-comment-wrapper .comment {
	width: 100%;
}

.comment .left {
	float: left;
	margin-right: 15px;
}

.comment .right {
	width: calc(100% - 85px);
	float: left;
	margin-left: 25px;
	padding: 0;
}

.fullwidth-comment-wrapper .comment .right {
	width: calc(100% - 85px);
}

.fullwidth-comment-wrapper.sidebar .comment .right {
	width: calc(100% - 85px);
}

.comment .right h7 {
	font-size: 24px;
}

.fullwidth-comment-wrapper.sidebar .comment .right.fullwidth {
	width: 100%;
	margin-left: 0;
}

.comment .right p {
	margin: 0;
	padding: 0;
}

.comment .right strong {
	font-weight: #fff;
}

#page-content-wrapper .inner .sidebar-content ul.children {
	width: 100%;
	float: left;
	margin-left: 0;
	padding-left: 30px;
	box-sizing: border-box;
}

.comment-date {
	margin: 0px;
}

ul.children .comment {
	width: 100%;
	margin: 0;
	padding: 30px 0 25px 0;
	float: left;
}

ul.children .comment:first-child {
	margin-top: 0px;
}

.social-profile-wrapper {
	width: 100%;
	margin: 20px 0 5px 0;
}

#logo-wrapper .social-profile-wrapper {
	width: auto;
	margin: 0;
	left: 30px;
	text-align: left;
	position: absolute;
}

.footer-main-container-wrapper .social-profile-wrapper {
	width: 50%;
	float: right;
	text-align: right;
	margin: 0;
	margin-top: -2px;
}

.above-top-menu-bar .social-profile-wrapper {
	margin: 0;
	float: right;
	width: auto;
}

.social-profile-wrapper.shortcode,
.social-profile-wrapper.shortcode ul {
	margin: 0;
}

#page-content-wrapper .sidebar .content .textwidget .social-profile-wrapper.shortcode,
.page-content-wrapper .sidebar .content .textwidget .social-profile-wrapper.shortcode,
#page-content-wrapper .sidebar .content .textwidget .social-profile-wrapper.shortcode ul,
.page-content-wrapper .sidebar .content .textwidget .social-profile-wrapper.shortcode ul {
	text-align: center;
}

.social-profile-wrapper ul {
	list-style: none;
	margin-left: 0 !important;
}

.above-top-menu-bar .social-profile-wrapper ul {
	text-align: right;
}

.footer-main-container-wrapper .social-profile-wrapper ul {
	text-align: right;
}

#page-content-wrapper .social-profile-wrapper ul {
	list-style: none;
	margin-top: 12px;
}

#page-content-wrapper .social-profile-wrapper.shortcode ul {
	margin-top: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li .social-profile-wrapper.shortcode ul,
.page-content-wrapper .sidebar .content .sidebar-widget li .social-profile-wrapper.shortcode ul {
	margin-bottom: 0;
}

.social-profile-wrapper ul li,
.social-profile-wrapper.small ul li {
	display: inline-block;
	margin-right: 15px;
}

#logo-wrapper .social-profile-wrapper ul li {
	margin-right: 10px;
}

.social-profile-wrapper.shortcode ul li,
.social-profile-wrapper.small.shortcode ul li {
	margin: 0 5px 10px 5px !important;
}

.footer-main-container-wrapper .social-profile-wrapper ul li {
	background: transparent !important;
	border: 0 !important;
	width: 16px;
	height: 16px;
	margin-left: 20px;
	margin-right: 0;
	float: right;
}

.social-profile-wrapper.light ul li {
	border: 0 !important;
}

.social-profile-wrapper.large ul li {
	width: 50px;
	height: 50px;
}

.above-top-menu-bar .social-profile-wrapper ul li {
	background: transparent;
	border: 0;
	width: auto;
	height: auto;
	margin-right: 0px;
}

.above-top-menu-bar .social-profile-wrapper ul li {
	background: transparent;
	border: 0;
	width: auto;
	height: auto;
	margin-right: 0px;
}

.social-profile-wrapper.shortcode ul li {
	clear: none !important;
	float: none !important;
	width: auto !important;
	display: inline-block !important;
}

.social-profile-wrapper.shortcode ul li a {
	display: block;
	width: 40px;
	height: 40px;
	color: #fff !important;
	background: #000;
	border-radius: 250px;
	line-height: 42px;
	text-align: center;
}

.social-profile-wrapper.shortcode ul li a i {
	position: relative;
	top: 1px;
}

.social-profile-wrapper.shortcode ul li.facebook a {
	background: #2D5F9A;
}

.social-profile-wrapper.shortcode ul li.twitter a {
	background: #00C3F3;
}

.social-profile-wrapper.shortcode ul li.pinterest a {
	background: #bd081c;
}

.social-profile-wrapper.shortcode ul li.google a {
	background: #db4437;
}

.social-profile-wrapper.shortcode ul li.youtube a {
	background: #cc181e;
}

.social-profile-wrapper.shortcode ul li.flickr a {
	background: #FF0084;
}

.social-profile-wrapper.shortcode ul li.vimeo a {
	background: #00ADEF;
}

.social-profile-wrapper.shortcode ul li.tumblr a {
	background: #36465d;
}

.social-profile-wrapper.shortcode ul li.dribbble a {
	background: #EA4C89;
}

.social-profile-wrapper.shortcode ul li.linkedin a {
	background: #0077B5;
}

.social-profile-wrapper.shortcode ul li.instagram a {
	background: #405de6;
}

.social-profile-wrapper.shortcode ul li.behance a {
	background: #1769ff;
}

.sidebar-content ul li .social-profile-wrapper.shortcode,
.sidebar-content ul li .social-profile-wrapper.shortcode ul {
	text-align: center !important;
}

.mobile-menu-wrapper .sidebar-wrapper h2.widgettitle:before {
	border: 0;
}

.mobile-menu-wrapper .sidebar-wrapper h2.widgettitle span {
	background: transparent;
	padding-left: 0;
	padding-right: 0;
}

.above-top-menu-bar .social-profile-wrapper ul li:last-child a {
	margin-right: 0;
}

.above-top-menu-bar .social-profile-wrapper ul li a {
	display: inline-block;
	color: #fff;
	padding: 0;
	margin-left: 5px;
	margin-right: 5px;
	line-height: 30px;
}

.above-top-menu-bar .page-content-wrapper {
	margin: auto;
	width: 960px;
	float: none;
}

.footer-main-container-wrapper .social-profile-wrapper ul li a {
	color: #fff;
}

.social-profile-wrapper ul li a i,
.social-profile-wrapper.small ul li a i {
	line-height: 18px;
	font-size: 18px;
}

.above-top-menu-bar .social-profile-wrapper ul li a i {
	font-size: 14px;
	line-height: 18px;
}

.footer-main-container-wrapper .social-profile-wrapper ul li a i {
	line-height: 20px;
	font-size: 18px;
}

.social-profile-wrapper.large ul li a i {
	line-height: 32px;
	font-size: 24px;
}

.above-top-menu-bar .social-profile-wrapper ul li:hover {
	background: transparent !important;
	opacity: 1;
}

#page-header {
	padding: 25px 0 30px 0;
	width: 100%;
	margin-bottom: 65px;
	background: #ffffff;
}

body.single-product #page-header h1 {
	display: none;
	float: left;
}

body.single-product #page-header {
	padding: 0;
	margin-bottom: 0;
	display: none;
}

#page-header.hasbg {
	height: 60%;
	max-height: 750px;
	position: relative;
	top: 0;
	right: 0;
	width: 100%;
	border: 0;
	padding: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.post-caption {
	text-align: center;
	margin: 50px 0 30px 0;
}

#page-content-wrapper.hasbg .post-caption {
	margin-top: 30px;
}

.post-caption .post-detail {
	font-size: 14px;
	display: inline-block;
	width: auto;
	float: none;
}

#page-header.nomargin {
	margin-bottom: 0;
}

#page-header .page-title-wrapper {
	width: 100%;
	text-align: center;
}

body.single-post #page-header .page-title-wrapper {
	width: 100%;
}

#page-header .page-title-wrapper .page-title-inner .page-title-content.title_align_center {
	width: 80%;
	margin: auto;
}

body.single-post #page-header .post-detail,
body.single-post #page-header h1,
body.single-post .post-author {
	opacity: 0;
}

body.single-post #page-header .post-detail.smooved,
body.single-post #page-header h1.smooved,
body.single-post .post-author.smooved {
	opacity: 1;
}

body.single-post #page-header .post-detail {
	margin-top: 30px;
	margin-bottom: 10px;
}

body.single-post .post-author {
	margin: auto;
	text-align: center;
	display: inline-block;
	margin-top: 30px;
}

body.single-post .post-author .gravatar {
	display: inline-block;
	margin-right: 15px;
	width: 50px;
	height: 50px;
}

body.single-post .post-author .gravatar img {
	max-width: 100%;
	height: auto;
	max-width: 60px !important;
}

body.single-post .post-author .post-author-detail {
	display: inline-block;
	text-align: left;
}

body.single-post .post-author .post-author-detail .post-author-name {
	font-weight: 700;
	display: block;
	margin-top: 5px;
}

body.single-post .post-author .post-author-detail .post-published-date-before {
	font-weight: 400;
	display: block;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-top: -2px;
}

#page-header.hasbg {
	width: 100%;
	height: 600px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	position: relative;
}

#page-header.hasbg .page-title-wrapper {
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

#page-header.hasbg .page-title-wrapper .standard-wrapper {
	display: table;
	width: 100%;
	height: 100%;
}

#page-header.hasbg .page-title-wrapper .page-title-inner {
	position: relative;
	display: table-cell;
	vertical-align: middle;
}

#page-header.hasbg .page-title-wrapper .page-title-inner .page-title-content {
	width: 100%;
	margin: auto;
}

#wrapper.transparent #page-header.hasbg .page-title-wrapper .page-title-inner .page-title-content {
	margin-top: 50px;
}

#page-header.hasbg h1,
#page-header.hasbg .page-tagline {
	color: #fff;
}

.page-tagline {
	width: auto;
	margin: auto;
	float: none;
	margin-top: 10px;
}

#page-header.hasbg .page-tagline {
	border: 0;
}

.one-half {
	float: left;
	width: 48%;
	margin-right: 3.5%;
	box-sizing: border-box;
}

.one-half.last {
	float: right;
	width: 48%;
	margin-right: 0;
	clear: right;
}

.one-third {
	width: 30.66%;
	float: left;
	margin-right: 4%;
	margin-bottom: 2%;
	position: relative;
	box-sizing: border-box;
}

.one-third.last {
	margin-right: 0 !important;
	float: right;
}

body.single-post .video-wrapper {
	margin-bottom: 20px;
}

.video-wrapper {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 25px;
	height: 0;
}

.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.post-navigation {
	position: fixed;
	top: calc(50% + 60px);
	z-index: 4;
}

.post-navigation h7 {
	font-size: 18px;
}

.post-navigation.previous {
	left: 0;
}

.post-navigation.next {
	right: 0;
}

.post-navigation.previous .navigation-anchor,
.post-navigation.next .navigation-anchor {
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
	margin-left: -30px;
	font-size: 22px;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-weight: 600;
}

.post-navigation.previous:hover .navigation-anchor:hover,
.post-navigation.next:hover .navigation-anchor:hover {
	opacity: 1;
}

.post-navigation.next .navigation-anchor {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	margin-left: 0;
	margin-right: -20px;
}

.post-navigation .navigation-post-content {
	position: absolute;
	background: #fff;
	width: 350px;
	min-height: 300px;
	box-sizing: border-box;
	-webkit-transition: ease -webkit-transform 500ms, opacity cubic-bezier(.23, 1, .32, 1) 500ms;
	transition: ease transform 500ms, opacity cubic-bezier(.23, 1, .32, 1) 500ms;
	opacity: 0;
	top: -170px;
	padding: 30px 30px 30px 100px;
	-webkit-transform: translateX(-300px);
	-ms-transform: translateX(-300px);
	transform: translateX(-300px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
}

.post-navigation .navigation-post-content h7 {
	font-size: 28px;
	line-height: 1.3;
}

.post-navigation.next .navigation-post-content {
	padding: 30px 100px 30px 30px;
	-webkit-transform: translateX(300px);
	-ms-transform: translateX(300px);
	transform: translateX(300px);
}

.post-navigation.next:hover .navigation-post-content {
	-webkit-transform: translateX(-250px);
	-ms-transform: translateX(-250px);
	transform: translateX(-250px);
	opacity: 1;
}

.post-navigation.previous:hover .navigation-post-content {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
	opacity: 1;
}

.post-navigation .navigation-post-content .post-featured-image {
	margin: 0;
	margin-bottom: 20px;
	width: 220px;
	float: none;
}

.post-navigation .navigation-post-content .post-featured-image img {
	width: auto;
	max-height: 220px;
}

#right-click-content {
	position: fixed;
	opacity: 0;
	visibility: hidden;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-size: 22px;
	text-align: center;
	transition: all 0.5s linear;
}

#right-click-content.visible {
	opacity: 1;
	z-index: 999;
	visibility: visible;
	transition: all 0.5s linear;
}

#right-click-content .right-click-content-table {
	display: table;
	width: 100%;
	height: 100%;
}

#right-click-content .right-click-content-table .right-click-content-cell {
	display: table-cell;
	vertical-align: middle;
}

#right-click-content .right-click-content-table .right-click-content-cell>div {
	width: 40%;
	margin: auto;
}

.ba-slider .handle:after {
	box-shadow: none !important;
	background: transparent !important;
	border: 2px solid #fff !important;
	font-family: 'themify' !important;
	font-size: 24px !important;
	line-height: 61px !important;
	content: '\e658' !important;
}

.ba-slider .handle.draggable:after {
	font-size: 18px !important;
	line-height: 45px !important;
}

.ba-slider .handle {
	width: 1px !important;
	font-family: 'themify' !important;
	background: rgba(256, 256, 256, 0.2) !important;
}

.post-related .one-half,
.post-related .one-third {
	text-align: center;
}

body.error404 .searchform input[type="text"],
body.search .searchform input[type="text"] {
	width: 100%;
}


/*------------------------------------------------------------------
[5. Social Sharing]
*/

body.home.blog .type-post,
body.category .type-post,
body.archive .type-post,
body.tag .type-post {
	margin-bottom: 50px;
}

body.blog .post-header_title,
body.archive .post-header_title {
	clear: both;
}

body.blog .post-header-wrapper,
body.archive .post-header-wrapper {
	margin-top: -10px;
}

.post-header-wrapper .elementor {
	clear: both;
}

.post-featured-image {
	position: relative;
	height: auto;
	line-height: 0;
	width: 100%;
	margin-bottom: 20px;
}

.post-featured-image img {
	max-width: 100%;
	height: auto !important;
}

.post-featured-image.team {
	width: 100%;
	margin: auto;
	float: none;
	margin-bottom: 0;
	overflow: hidden;
}

.post-featured-image.team img {
	max-width: 100%;
}


/*------------------------------------------------------------------
[6. Sidebar]
*/

#page-content-wrapper .inner .sidebar-content,
.page-content-wrapper .inner .sidebar-content {
	width: 68%;
	padding: 0;
	float: left;
	padding-right: 0px;
	padding-top: 0;
	margin-right: 10px;
}

#page-content-wrapper .inner .sidebar-content.page-content,
.page-content-wrapper .inner .sidebar-content.page-content {
	box-sizing: border-box;
}

.page-content-wrapper .inner .sidebar-content.page-content {
	background: transparent;
	padding: 0;
}

#page-content-wrapper .inner .sidebar-content.nopadding,
.page-content-wrapper .inner .sidebar-content.nopadding {
	padding-top: 0 !important;
}

#page-content-wrapper .inner .sidebar-content.left-sidebar,
.page-content-wrapper .inner .sidebar-content.left-sidebar {
	border-right: 0;
	float: right;
	margin-right: 0;
}

#page-content-wrapper .inner .sidebar-content.fullwidth,
.page-content-wrapper .inner .sidebar-content.fullwidth {
	width: 100%;
	margin-top: 0;
	margin-right: 0;
	border: 0;
}

#page-content-wrapper.blog-wrapper .inner.fullwidth-blog-wrapper {
	width: 80%;
	margin: auto;
	float: none;
}

#page-content-wrapper.hasbg.nomargintop {
	margin-top: 0 !important;
}

#page-content-wrapper .inner .sidebar-content.fullwidth.nopadding,
.page-content-wrapper .inner .sidebar-content.fullwidth.nopadding {
	padding: 0 !important;
}

body:not(.elementor-page) #page-content-wrapper .inner .sidebar-content img,
body:not(.elementor-page) .page-content-wrapper .inner .sidebar-content img {
	max-width: 100%;
	height: auto;
}

#page-content-wrapper .inner .sidebar-content div.wp-caption,
.page-content-wrapper .inner .sidebar-content div.wp-caption {
	max-width: 100%;
}

#page-content-wrapper .inner .sidebar-content.fullwidth#blog-grid-wrapper,
.page-content-wrapper .inner .sidebar-content.fullwidth.blog-grid-wrapper {
	width: 100%;
	padding: 0;
}

#page-content-wrapper .inner .sidebar-wrapper,
.page-content-wrapper .inner .sidebar-wrapper {
	width: 27.99%;
	float: right;
	margin-top: 0;
	margin-left: 0;
	padding-top: 0;
}

#page-content-wrapper .inner .sidebar-wrapper.adjust,
#page-content-wrapper .inner .sidebar-wrapper.left-sidebar.adjust {
	padding-top: 50px;
}

#page-content-wrapper .inner .sidebar-wrapper.left-sidebar,
.page-content-wrapper .inner .sidebar-wrapper.left-sidebar {
	margin-right: 0;
	margin-left: 0;
	float: left;
}

body.woocommerce #page-content-wrapper .inner .sidebar-wrapper.left-sidebar,
body.woocommerce .page-content-wrapper .inner .sidebar-wrapper.left-sidebar {
	margin-top: 15px;
}

#page-content-wrapper .inner .sidebar-wrapper a:not(.button),
.page-content-wrapper .inner .sidebar-wrapper a:not(.button) {
	color: #222;
}

#page-content-wrapper .inner .sidebar-wrapper .sidebar,
.page-content-wrapper .inner .sidebar-wrapper .sidebar {
	width: 100%;
	float: left;
	margin-bottom: 40px;
}

#page-content-wrapper .inner .sidebar-wrapper .sidebar .content,
.page-content-wrapper .inner .sidebar-wrapper .sidebar .content {
	width: 100%;
	margin: 0 0 0 0;
}

.mobile-menu-wrapper .sidebar-wrapper h2.widgettitle {
	color: #fff;
}

.mobile-menu-wrapper .sidebar-wrapper a {
	color: #777;
}

.mobile-menu-wrapper .page-content-wrapper {
	width: 100%;
}

.mobile-menu-wrapper .sidebar-wrapper {
	width: 100%;
	float: left;
}

.mobile-menu-wrapper .sidebar-wrapper .sidebar .content .sidebar-widget li {
	margin-bottom: 20px;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss ul li,
#footer-wrapper ul.sidebar-widget li.widget_rss ul li {
	margin-bottom: 40px;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss ul li:last-child,
#footer-wrapper ul.sidebar-widget li.widget_rss ul li:last-child {
	margin-bottom: 0px;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss ul li a.rsswidget,
#footer-wrapper ul.sidebar-widget li.widget_rss ul li a.rsswidget {
	font-weight: 600;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss ul li .rss-date,
#footer-wrapper ul.sidebar-widget li.widget_rss ul li .rss-date {
	clear: both;
	display: block;
	font-size: 12px;
	margin-top: 5px;
	margin-bottom: 20px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss ul li a.rsswidget,
#footer-wrapper ul.sidebar-widget li.widget_rss ul li a.rsswidget {
	font-size: 24px;
    line-height: 1.3;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss ul li .rssSummary,
#footer-wrapper ul.sidebar-widget li.widget_rss ul li .rssSummary {
	font-size: 14px;
	margin: 5px 0 0 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss ul li cite,
#footer-wrapper ul.sidebar-widget li.widget_rss ul li cite {
	font-weight: 300;
	font-size: 13px;
	margin-top: 20px;
}


/*------------------------------------------------------------------
[7. Form & Input]
*/

input[type="text"],
input[type="password"],
input[type="email"],
input[type=url],
input[type=date],
input[type=tel],
input.wpcf7-text,
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce-page table.cart td.actions .coupon .input-text,
.woocommerce #content table.cart td.actions .coupon .input-text,
.woocommerce-page #content table.cart td.actions .coupon .input-text {
	padding: 8px 0 8px 0;
	font-size: 100%;
	font-family: 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif;
	margin: 0;
	background: #fff;
	border: 0;
	border-bottom: 1px solid #222222;
	outline: none;
	-webkit-transition: border-color linear .3s;
	-moz-transition: border-color linear .3s;
	-o-transition: border-color linear .3s;
	transition: border-color linear .3s;
	box-sizing: border-box;
	-webkit-appearance: none;
}

p.input-wrapper {
	position: relative;
	padding: 0 !important;
}

.input-effect~.focus-border {
	display: none;
}

select {
	padding: 8px 10px 8px 10px;
	background: #fff;
	outline: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image:
    linear-gradient(45deg, transparent 50%, #000 50%),
    linear-gradient(135deg, #000 50%, transparent 50%),
    linear-gradient(to right, #000, #000);
  background-position:
    calc(100% - 20px) calc(1em + 2px),
    calc(100% - 15px) calc(1em + 2px),
    calc(100% - 2.5em) 0.5em;
  background-size:
    5px 5px,
    5px 5px,
    1px 2em;
  background-repeat: no-repeat;
}

.woocommerce select.orderby {
	height: auto;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type=url]:focus,
input[type=tel]:focus,
input[type=date]:focus,
input.wpcf7-text:focus,
.woocommerce table.cart td.actions .coupon .input-text:focus,
.woocommerce-page table.cart td.actions .coupon .input-text:focus,
.woocommerce #content table.cart td.actions .coupon .input-text:focus,
.woocommerce-page #content table.cart td.actions .coupon .input-text:focus {
	outline: 0;
}

div.wpcf7-response-output {
	padding: 20px;
}

.wpcf7-form input.wpcf7-text,
.wpcf7-form textarea,
.wpcf7-form input.wpcf7-date,
.wpcf7-form input.wpcf7-dynamictext,
.wpcf7-form select {
	width: 100%;
	box-sizing: border-box;
}

.elementor-transparent .wpcf7-form input.wpcf7-text,
.elementor-transparent .wpcf7-form textarea {
	background: transparent !important;
	color: #fff !important;
	border-color: #fff !important;
}

.wpcf7-form textarea {
	height: 80px;
}

.fullwidth-comment-wrapper #commentform textarea {
	width: 100%;
}

.fullwidth-comment-wrapper .post-content-wrapper {
	background: transparent !important;
	padding: 30px 0 30px 0 !important;
	width: 100% !important;
}

.input-wrapper {
	position: relative;
}

form.post-password-form label {
	width: auto;
	float: left;
	margin-right: 5px;
}

form.post-password-form input[type="password"] {
	margin-left: 5px;
}

form.post-password-form input[type="submit"] {
	padding: .5em 1.5em .45em 1.5em;
}

.form-allowed-tags {
	display: none !important;
}

p.comment-notes {
	margin-bottom: 40px;
}

textarea {
	font-size: 100%;
	border: 0;
	border-bottom: 1px solid #222222;
	margin: 0;
	overflow: auto;
	padding: 10px 0 10px 0;
	font-family: 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif;
	outline: none;
	-webkit-transition: border-color linear .2s;
	-moz-transition: border-color linear .2s;
	-o-transition: border-color linear .2s;
	transition: border-color linear .2s;
	box-sizing: border-box;
	-webkit-appearance: none;
}

input[type="submit"],
input[type=button],
a.button,
.button,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="submit"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="submit"],
button {
	display: inline-block;
	outline: none;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	padding: .6em 2.5em .5em 2.5em;
	color: #fff;
	background: #222;
	border: 2px solid #222;
	font-size: 15px;
	font-family: 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif;
	text-shadow: none;
	-webkit-appearance: none;
	box-shadow: 0 0 0 0;
	font-style: normal;
	font-weight: normal;
	text-transform: none;
	-webkit-transition: color .2s linear, background .3s linear, opacity .2s linear;
	-moz-transition: color .2s linear, background .3s linear, opacity .2s linear;
	-ms-transition: color .2s linear, background .3s linear, opacity .2s linear;
	-o-transition: color .2s linear, background .3s linear, opacity .2s linear;
	transition: color .2s linear, background .3s linear, opacity .2s linear;
}

.comment-form .form-submit input[type="submit"] {
	padding: .7em 2.5em .7em 2.5em;
}

a.comment-reply-link {
	margin: 0;
	float: right;
	font-size: 13px;
	text-align: center;
	border-radius: 25px;
	margin-top: -40px;
	display: block;
	text-transform: uppercase;
    letter-spacing: 2px;
}

.comment:hover a.comment-reply-link {
	display: block;
}

input[type="submit"].medium,
input[type=button].medium,
a.button.medium {
	font-size: 16px;
}

input[type="submit"].large,
input[type=button].large,
a.button.large {
	font-size: 18px;
}

#cancel-comment-reply-link {
	margin: 0 20px 0 10px;
	font-size: 13px;
}


/*------------------------------------------------------------------
[8. Pagination]
*/

.pagination {
	margin: 40px 0 40px 0;
	float: left;
	clear: both;
}

.pagination p a:first-child {
	float: left;
}

.pagination p a:last-child {
	float: right;
}

.pagination a,
.pagination span {
	display: inline-block;
	text-align: center;
	background: transparent;
	margin-right: 5px;
	overflow: hidden;
	font-size: 18px;
	padding: 5px 15px 5px 15px;
	border: 1px solid transparent;
}

.pagination span {
	border: 1px solid #000;
}

body.single-post .fullwidth-comment-wrapper .pagination a,
body.single-post .fullwidth-comment-wrapper .pagination a:hover,
body.page .fullwidth-comment-wrapper .pagination a,
body.page .fullwidth-comment-wrapper .pagination a:hover {
	width: auto;
	background: transparent !important;
	font-weight: bold;
	font-size: 16px;
}

body.single-post .fullwidth-comment-wrapper .pagination,
body.single-post .fullwidth-comment-wrapper .pagination p,
body.page .fullwidth-comment-wrapper .pagination,
body.page .fullwidth-comment-wrapper .pagination p {
	display: block;
	width: 100%;
}

body.single-post .fullwidth-comment-wrapper .pagination p a:first-child,
body.page .fullwidth-comment-wrapper .pagination p a:first-child {
	float: left;
}

body.single-post .fullwidth-comment-wrapper .pagination p a:first-child:before,
body.page .fullwidth-comment-wrapper .pagination p a:first-child:before {
	font-family: 'Font Awesome 5 Free';
	content: "\f100";
	margin-right: 5px;
}

body.single-post .fullwidth-comment-wrapper .pagination p a:nth-child(2),
body.page .fullwidth-comment-wrapper .pagination p a:nth-child(2) {
	float: right;
}

body.single-post .fullwidth-comment-wrapper .pagination p a:nth-child(2):after,
body.page .fullwidth-comment-wrapper .pagination p a:nth-child(2):after {
	font-family: 'Font Awesome 5 Free';
	content: "\f101";
	margin-left: 5px;
}

body.page .fullwidth-comment-wrapper #respond,
body.comment-close #page-content-wrapper {
	margin-bottom: 60px;
}

.pagination a {
	transition: all 0.15s;
}

.pagination span,
.pagination a:hover {
	font-weight: bold;
}

.pagination-detail {
	margin-top: 40px;
	float: right;
	font-size: 18px;
	text-transform: uppercase !important;
	letter-spacing: 2px;
}

#page-content-wrapper ul {
	margin: 0;
}

#page-content-wrapper ol {
	margin-left: 20px;
}

@-webkit-keyframes lazy-color-change {
	from {
		background-color: #cccccc;
	}
	to {
		background-color: #f0f0f0;
	}
}

@-moz-keyframes lazy-color-change {
	from {
		background-color: #cccccc;
	}
	to {
		background-color: #f0f0f0;
	}
}

@-o-keyframes lazy-color-change {
	from {
		background-color: #cccccc;
	}
	to {
		background-color: #f0f0f0;
	}
}

@keyframes lazy-color-change {
	from {
		background-color: #cccccc;
	}
	to {
		background-color: #f0f0f0;
	}
}

.post-featured-image-hover.lazy {
	-webkit-animation: lazy-color-change 1s infinite alternate;
	-moz-animation: lazy-color-change 1s infinite alternate;
	-ms-animation: lazy-color-change 1s infinite alternate;
	-o-animation: lazy-color-change 1s infinite alternate;
	animation: lazy-color-change 1s infinite alternate;
}

.post-featured-image-hover {
	position: relative;
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	transition: transform all .3s cubic-bezier(.3, .58, .55, 1);
	background: #000000;
}

.post-featured-image-hover.classic {
	min-height: 350px;
}

.post-related .post-featured-image-hover.classic {
	min-height: 130px;
}

.post-featured-image-hover:before,
.post-featured-image-hover:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all 0.8s cubic-bezier(.2, 1, .22, 1);
	transition: all 0.8s cubic-bezier(.2, 1, .22, 1);
}

.post-featured-image-hover img {
	max-width: 100%;
	backface-visibility: hidden;
	vertical-align: top;
}

.post-featured-image-hover img.smooved {
	transition: all 2s cubic-bezier(.2, 1, .22, 1);
}

.post-featured-image-hover:before,
.post-featured-image-hover:after {
	content: '';
	background-color: #fff;
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	opacity: 0;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.post-featured-image-hover:before {
	width: 60px;
	height: 2px;
	left: 100%;
}

.post-featured-image-hover:after {
	height: 60px;
	width: 2px;
	top: 0%;
}

.post-featured-image-hover a {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}

.post-featured-image-hover:hover img,
.post-featured-image-hover.hover img {
	zoom: 1;
	opacity: 0.9 !important;
	transform: scale(1.07) !important;
}

.post-featured-image-hover:hover:before,
.post-featured-image-hover.hover:before,
.post-featured-image-hover:hover:after,
.post-featured-image-hover.hover:after {
	opacity: 1;
	top: 50%;
	left: 50%;
}

.post-featured-image-hover .post-type-icon {
	position: absolute;
	bottom: 30px;
	right: 30px;
	z-index: 2;
	display: inline-block;
	line-height: 52px;
	width: 50px;
	height: 50px;
	background: transparent;
	border: 1px solid #fff;
	text-align: center;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
	-ms-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	transition: all .21s cubic-bezier(.5, .5, .4, .9);
}

.post-related h3 {
	text-align: center;
	margin-bottom: 20px;
}

.post-related .post-featured-image-hover .post-type-icon {
	width: 50px;
	height: 50px;
	right: 20px;
	bottom: -20px;
	line-height: 50px;
}

.post-featured-image-hover:hover .post-type-icon {
	-ms-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-o-transform: scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}

.post-featured-image-hover .post-type-icon span {
	color: #fff;
	font-size: 22px;
	line-height: 50px;
}

.post-related .post-featured-image-hover .post-type-icon span {
	font-size: 20px;
	line-height: 50px;
}

body .post-featured-date-wrapper {
	position: absolute;
	top: 30px;
	left: 30px;
	line-height: 1;
	text-align: center;
	font-size: 14px;
	z-index: 3;
	background: transparent;
	padding: 10px;
	text-transform: uppercase;
	color: #fff;
	border: 1px solid #fff;
}

body .post-featured-date-wrapper .post-featured-date {
	color: #fff;
	font-size: 50px;
	line-height: 0.9;
}

body .post-featured-date-wrapper .post-featured-month {
	margin-top: 5px;
	font-size: 18px;
    letter-spacing: 3px;
}

/*------------------------------------------------------------------
[9. Widgets]
*/

#page-content-wrapper ul.flickr {
	margin: 0 0 10px 0;
}

#page-content-wrapper ul.posts.blog {
	list-style: none;
	margin-left: 0 !important;
	float: left;
	padding: 0;
	width: 100%;
	box-sizing: border-box;
}

#page-content-wrapper ul.flickr li img {
	width: 65px;
	height: auto;
}

#page-content-wrapper .sidebar .content .posts.blog li img,
.page-content-wrapper .sidebar .content .posts.blog li img,
#footer ul.sidebar-widget li ul.posts.blog li img {
	float: left;
	margin: 0 10px 2px 0;
	width: 80px;
}

.post-circle-thumb {
	position: relative;
	overflow: hidden;
	float: left;
	width: 95px;
	height: 95px;
	float: left;
	margin-right: 0;
}

.post-circle-thumb img {
	width: 60px;
	height: auto;
}

.post-circle-thumb.flickr {
	margin-right: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget,
#page-content-wrapper .sidebar .content .posts.blog,
.page-content-wrapper .sidebar .content .sidebar-widget,
.page-content-wrapper .sidebar .content .posts.blog {
	list-style: none;
	margin-left: 0;
	margin-top: 0;
	padding: 0;
}

#page-content-wrapper .sidebar .content .posts.blog li,
.page-content-wrapper .sidebar .content .posts.blog li {
	padding: 0 0 10px 0;
}

#page-content-wrapper .sidebar .content .posts.blog li:last-child,
.page-content-wrapper .sidebar .content .posts.blog li:last-child {
	padding-bottom: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget,
.page-content-wrapper .sidebar .content .sidebar-widget li.widget {
	margin: 60px 0 0px 0;
	padding: 0;
	float: left;
	clear: both;
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	border: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget:first-child {
	margin-top: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget #useronline-count,
.page-content-wrapper .sidebar .content .sidebar-widget li.widget #useronline-count {
	margin-top: 10px;
}

#page-content-wrapper .sidebar .content .sidebar-widget li select,
.textwidget select,
.page-content-wrapper .sidebar .content .sidebar-widget li select {
	margin: 10px 0 10px 0;
	max-width: 100%;
}

#page-content-wrapper .sidebar .content .sidebar-widget li h2.widgettitle,
h2.widgettitle {
	font-size: 11px;
	font-family: 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif;
	color: #222;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
	position: relative;
	border-bottom: 0;
	display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_archive #archives-dropdown--1,
.widget_archive #archives-dropdown--1,
#page-content-wrapper .sidebar .content .sidebar-widget li.widget_categories .postform,
.widget_categories  .postform {
	margin-top: 5px;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_categories .postform,
.widget_categories .postform {
	width: 100%;
}

#page-content-wrapper .posts.blog li a
{
	font-size: 22px;
	line-height: 1.5 !important;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_categories .cat-count,
.widget_categories .cat-count,
#page-content-wrapper .sidebar .content .sidebar-widget li.widget_archive .archive-count,
.widget_archive .archive-count {
	float: right;
    background: #f78a74;
    color: #fff;
    font-size: 11px;
    font-weight: 400;
    text-align: center;
    min-width: 24px;
    height: 24px;
    line-height: 24px;
    border-radius: 50px;
}

.widget_archive .archive-count,
.widget_categories .cat-count
{
	border: 1px solid #000;	
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_calendar h2.widgettitle,
.widget_calendar h2.widgettitle {
	margin-bottom: 30px;
}

#page-content-wrapper .sidebar .content .sidebar-widget li h2.widgettitle:before,
h2.widgettitle:before,
#page-content-wrapper .sidebar .content .sidebar-widget li h2.widgettitle:after,
h2.widgettitle:after {
	content: "";
    border-top: 1px solid;
    border-color: #d5d5d5;
    margin: 0 15px 0 0;
    flex: 1 0 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss h2.widgettitle .rss-widget-icon,
.widget_rss h2.widgettitle .rss-widget-icon {
	margin-right: 5px;
	vertical-align: baseline;
}

#page-content-wrapper .sidebar .content .sidebar-widget li h2.widgettitle:after,
h2.widgettitle:after {
	margin: 0 0 0 15px;
}

h2.widgettitle.photostream {
	display: inline-block;
	margin-top: 30px;
	margin-bottom: 30px;
}

#page-content-wrapper.blog-wrapper .sidebar .content .sidebar-widget li:first-child {
	margin-top: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul,
.page-content-wrapper .sidebar .content .sidebar-widget li ul {
	list-style: none;
	padding: 20px 0 0 0;
	margin: 0 0 15px 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul li ul.children,
.page-content-wrapper .sidebar .content .sidebar-widget li ul li ul.children {
	padding-top: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul li ul.children,
.page-content-wrapper .sidebar .content .sidebar-widget li ul li ul.children {
	margin-left: 10px;
	margin-bottom: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul li ul.children li:last-child,
.page-content-wrapper .sidebar .content .sidebar-widget li ul li ul.children li:last-child {
	border: 0;
	margin-bottom: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_pages ul li ul.children,
.page-content-wrapper .sidebar .content .sidebar-widget li.widget_pages ul li ul.children {
	margin-left: 20px;
	padding-top: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul li,
#footer .sidebar-widget li ul li,
.page-content-wrapper .sidebar .content .sidebar-widget li ul li,
#footer .sidebar-widget li ul li {
	padding: 0;
	margin-top: 0;
	margin-bottom: 5px;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul li:first-child,
.page-content-wrapper .sidebar .content .sidebar-widget li ul li:first-child,
#footer ul.sidebar-widget li ul li:first-child,
#footer ul.sidebar-widget li .textwidget {
	padding-top: 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul.flickr li:first-child,
.page-content-wrapper .sidebar .content .sidebar-widget li ul.flickr li:first-child,
#footer ul.sidebar-widget li ul.flickr li:first-child {
	border: 0;
	padding-top: 0;
}

#page-content-wrapper .inner .sidebar-wrapper ul.sidebar-widget li.widget_nav_menu ul.menu li a,
.page-content-wrapper .inner .sidebar-wrapper ul.sidebar-widget li.widget_nav_menu ul.menu li a,
#footer-wrapper ul.sidebar-widget li.widget_nav_menu ul.menu li a {
	width: 100%;
	box-sizing: border-box;
	display: block;
	position: relative;
}

#page-content-wrapper .inner .sidebar-wrapper ul.sidebar-widget li.widget_nav_menu ul li ul.sub-menu,
.page-content-wrapper .inner .sidebar-wrapper ul.sidebar-widget li.widget_nav_menu ul li ul.sub-menu {
	padding: 0;
}

#page-content-wrapper .inner .sidebar-wrapper ul.sidebar-widget li.widget_nav_menu ul li:last-child,
.page-content-wrapper .inner .sidebar-wrapper ul.sidebar-widget li.widget_nav_menu ul li:last-child,
#page-content-wrapper .inner .sidebar-wrapper ul.sidebar-widget li.widget_nav_menu ul,
.page-content-wrapper .inner .sidebar-wrapper ul.sidebar-widget li.widget_nav_menu ul {
	margin-bottom: 0;
}

.mobile-menu-wrapper .widget_calendar table tr th,
.mobile-menu-wrapper .widget_calendar table tr td {
	border-color: #555;
}

table {
	margin: 10px 0 30px 0;
	border-width: 1px;
	border-style: solid;
}

table tr td {
	border-width: 1px;
	border-style: solid;
}

table tr th {
	font-weight: 900;
	border-width: 1px;
	border-style: solid;
}

table tr th,
table tr td {
	padding: 10px;
	text-align: left;
	border-width: 1px;
	border-style: solid;
}

#footer-menu {
	float: right;
	display: block;
	list-style: none;
}

#footer-menu li {
	float: left;
	margin-left: 20px;
}

#footer-menu li ul {
	display: none;
}

table thead tr th {
	background: transparent;
}

table#wp-calendar thead tr th {
	text-align: center;
	border: 0;
}

table tfoot tr,
table tfoot tr td {
	background: transparent;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul.flickr,
.page-content-wrapper .sidebar .content .sidebar-widget li ul.flickr {
	list-style: none;
	margin: 5px 0 30px 0;
	float: left;
	display: block;
	padding: 15px 0 3px 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul.flickr li,
.page-content-wrapper .sidebar .content .sidebar-widget li ul.flickr li {
	display: block;
	float: left;
	margin: 0 10px 10px 0;
	padding: 0;
	border: 0;
	clear: none;
	width: calc(33% - 10px);
	padding-right: 10px;
	box-sizing: border-box;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul.flickr li img,
.page-content-wrapper .sidebar .content .sidebar-widget li ul.flickr li img {
	width: 100%;
	height: auto;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul.twitter,
.page-content-wrapper .sidebar .content .sidebar-widget li ul.twitter {
	margin: 0;
	margin-top: 20px;
	list-style: none;
	padding: 0 0 0 0;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul.twitter li,
.page-content-wrapper .sidebar .content .sidebar-widget li ul.twitter li {
	padding-left: 32px;
	padding-bottom: 15px;
	border: 0;
	position: relative;
	box-sizing: border-box;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul.twitter li:before,
.page-content-wrapper .sidebar .content .sidebar-widget li ul.twitter li:before {
	position: absolute;
	left: 0;
	top: -5px;
	font-family: 'Font Awesome 5 Free';
	content: "\f099";
	font-size: 22px;
	font-weight: 900;
}

#page-content-wrapper .sidebar .content .sidebar-widget li ul.flickr,
ul.flickr,
.page-content-wrapper .sidebar .content .sidebar-widget li ul.flickr,
ul.flickr {
	list-style: none;
	margin: 10px 0 -10px 0;
	float: left;
	display: block;
	clear: both;
	width: 104%;
}

ul.flickr li {
	float: left;
	margin: 0 5px 0 0;
}

#page-content-wrapper .sidebar .content .posts.blog,
.page-content-wrapper .sidebar .content .posts.blog {
	list-style: none;
	margin-top: 30px;
}

#page-content-wrapper .sidebar .content .posts.blog.withthumb,
.page-content-wrapper .sidebar .content .posts.blog.withthumb {
	margin-top: 30px;
	margin-bottom: 0;
}

#footer ul.sidebar-widget li ul.posts.blog.withthumb {
	margin-top: 20px;
}

#page-content-wrapper .sidebar .content .posts.blog li,
.page-content-wrapper .sidebar .content .posts.blog li {
	line-height: 1em;
	clear: both;
	border: 0;
	background: none;
	width: 100%;
	float: left;
	margin: 0;
}

#page-content-wrapper .posts.blog li,
.page-content-wrapper .posts.blog li {
	float: left;
	width: 49.4%;
	margin-right: 1.2%;
	margin-bottom: 1.2%;
	padding: 20px;
	box-sizing: border-box;
	border: 1px solid #dce0e0;
	display: table;
	text-align: left;
	-webkit-transition: background .2s linear;
	-moz-transition: background .2s linear;
	-ms-transition: background .2s linear;
	-o-transition: background .2s linear;
	transition: background .2s linear;
}

#page-content-wrapper .posts.blog li:nth-child(2n),
.page-content-wrapper .posts.blog li:nth-child(2n) {
	margin-right: 0;
	float: right;
}

#page-content-wrapper .posts.blog li a,
.page-content-wrapper .posts.blog li a,
#footer ul.sidebar-widget li ul.posts.blog li a {
	width: 100%;
	line-height: 1.2em;
}

#page-content-wrapper .sidebar .content .posts.blog.withthumb li,
#page-content-wrapper .posts.blog.withthumb li,
.page-content-wrapper .sidebar .content .posts.blog.withthumb li,
.page-content-wrapper .posts.blog.withthumb li {
	line-height: 1.5em;
	border: 0;
	display: block;
}

#page-content-wrapper .sidebar .content .posts.blog li,
.page-content-wrapper .sidebar .content .posts.blog li {
	padding-top: 10px;
}

#page-content-wrapper .sidebar .content .posts.blog li strong.header,
#page-content-wrapper .posts.blog li strong.header,
.page-content-wrapper .sidebar .content .posts.blog li strong.header,
.page-content-wrapper .posts.blog li strong.header {
	font-weight: normal;
}

#page-content-wrapper .sidebar .content .textwidget,
.page-content-wrapper .sidebar .content .textwidget {
	margin-top: 0;
	padding: 10px 0 0 0;
	text-align: left;
}

.textwidget img {
	max-width: 95%;
	height: auto;
}

#searchsubmit {
	margin: -7px;
	line-height: 19px;
	-webkit-border-top-left-radius: 0px !important;
	-webkit-border-bottom-left-radius: 0px !important;
	-moz-border-radius-topleft: 0px !important;
	-moz-border-radius-bottomleft: 0px !important;
	border-top-left-radius: 0px !important;
	border-bottom-left-radius: 0px !important;
	padding: .6em 1.5em 0.5em 1.5em !important;
}

.widget_search h2.widgettitle {
	margin-bottom: 30px;
}

.widget_search input.search-submit {
	display: none;
}

.widget_search input.search-field {
	border: 0 !important;
	outline: none;
	margin-left: 30px;
	font-size: 16px;
	font-weight: 600;
	width: calc(100% - 30px);
	position: relative;
	top: 2px;
}

.widget_search form:before {
	font-family: 'themify';
	content: "\e610";
	display: inline;
	position: absolute;
	color: #000;
	margin-top: 2px;
}

.widget_search form {
	border: 1px solid #d8d8d8;
    height: 48px;
    display: table-cell;
    width: 100%;
    vertical-align: middle;
    padding: 0 20px 0 20px;
    transition: all .6s cubic-bezier(.23, 1, .32, 1);
}

.widget_search form.focus {
	transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
}

.widget_tag_cloud div,
.tag_cloud {
	margin: 20px 0 0 0;
}

.widget_tag_cloud div a,
.meta-tags a,
.tag_cloud a,
.widget_product_tag_cloud a {
	display: inline-block;
	-webkit-transition: background .2s linear, border .1s linear;
	-moz-transition: background .2s linear, border .1s linear;
	-ms-transition: background .2s linear, border .1s linear;
	-o-transition: background .2s linear, border .1s linear;
	transition: background .2s linear, border .1s linear;
	color: #444;
	display: inline-block;
	border: 1px solid #e0e0e0;
	padding: 3px 15px 3px 15px;
	margin-right: 8px;
	margin-bottom: 12px;
}

.widget_product_tag_cloud a {
	font-size: 12px !important;
}

.widget_tag_cloud div a:hover,
.widget_product_tag_cloud a:hover {
	background: #EFA697;
	border-color: #EFA697;
	color: #fff !important;
}

.widget_mc4wp_widget input {
	text-align: center;
}

.widget_mc4wp_widget input[type="submit"] {
	width: 100%;
	margin-top: 10px;
}

.widget_mc4wp_form_widget input[type="email"] {
	width: 100%;
}

.widget_mc4wp_form_widget input[type="submit"] {
	margin-top: 20px;
}

#page-content-wrapper .widget_mc4wp_form_widget p {
	padding-bottom: 0.7em;
}

#page-content-wrapper.blog-wrapper {
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}

body.single-post #post-featured-header {
	width: 100%;
	min-height: 650px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

#page-content-wrapper.blog-wrapper .pagination {
	margin-bottom: 20px;
}

form.protected-post-form {
	text-align: left;
	margin-top: 10px;
}

body.single-post form.protected-post-form {
	text-align: center;
}

form.protected-post-form p {
	padding: 0 !important;
}

form.protected-post-form .protected-post-text {
	margin-bottom: 20px;
}

form.protected-post-form input[type="submit"].button {
	border-radius: 0;
	margin-left: -5px;
	position: relative;
	top: 2px;
	padding: .7em 2.5em .65em 2.5em;
}

form.protected-post-form input[type=password] {
	padding: 1em 1em  1.05em 1em;
	border: 1px solid #000;
}

body.search #page-content-wrapper .post-content-wrapper .post-header-wrapper p {
	padding-top: 0;
}

.wp-caption-text.gallery-caption {
	font-size: 14px;
}


/*------------------------------------------------------------------
[10. Contact Form Captcha]
*/

div.wpcf7-validation-errors,
div.wpcf7-mail-sent-ok {
	border: 0;
	background: #FFCC00;
	font-size: 13px;
}

div.wpcf7-mail-sent-ok {
	background: #4CD964;
	color: #fff;
}


/*------------------------------------------------------------------
[12. Woocommerce Elements]
*/

h1.page-title {
	display: none;
}

.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	margin-bottom: 40px;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page form.woocommerce-ordering {
	background: transparent;
	overflow: hidden;
	padding: 0px 40px 0px 5px;
	position: relative;
	border-bottom: 1px solid #000;
}

.woocommerce-page form.woocommerce-ordering:after {
	font-family: 'themify';
	content: "\e64b";
	display: inline;
	position: absolute;
	top: 15px;
	right: 20px;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page form.woocommerce-ordering select {
	border: 0;
	-webkit-appearance: none;
	font-size: 16px;
	font-weight: 600;
	padding: 15px 10px 8px 10px;
	background: transparent;
}

.woocommerce ul.products li.product .ajax_add_to_cart,
.woocommerce-page ul.products li.product .ajax_add_to_cart {
	display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products.columns-3 li.product,
.woocommerce-page ul.products.columns-3 li.product {
	width: 31%;
	margin-right: 3.5%;
	margin-bottom: 3.5%;
	padding: 0;
	box-sizing: border-box;
	clear: none;
	border: 0;
	text-align: center;
}

.woocommerce-page ul.products.columns-4 li.product {
	width: 23.5%;
    margin-right: 2%;
    margin-bottom: 2%;
}

.woocommerce ul.products li.product:nth-child(3n+1),
.woocommerce-page ul.products li.product:nth-child(3n+1),
.woocommerce ul.products.columns-3 li.product:nth-child(3n+1),
.woocommerce-page ul.products.columns-3 li.product:nth-child(3n+1) {
	clear: both;
}

.woocommerce-page ul.products.columns-4 li.product:nth-child(3n+1) {
	clear: none;
}

.woocommerce ul.products li.last,
.woocommerce-page ul.products li.last {
	margin-right: 0;
}

.woocommerce ul.products li.product .price {
	font-family: 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif;
	color: #444;
	font-size: 1.1em;
}

.woocommerce div.product form.cart .variations {
	margin: 0;
}

.woocommerce #content .quantity input.qty,
.woocommerce .quantity input.qty,
.woocommerce-page #content .quantity input.qty,
.woocommerce-page .quantity input.qty {
	outline: 0;
	border: 0;
	height: 55px;
	width: 80px;
	border-radius: 0;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
}

.woocommerce-page div.product form.cart .button {
	margin-left: 5px;
	padding: .65em 1.5em .65em 1.5em !important;
	border: 1px solid #000;
	border-radius: 0;
	width: calc(100% - 93px);
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	box-shadow: 0px 0px 0px black !important;
	width: 100% !important;
	text-align: center !important;
	margin: auto !important;
	border-radius: 5px;
}

.woocommerce ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce-page ul.products li.product h2.woocommerce-loop-product__title {
	font-size: 30px;
	padding: 0;
	box-sizing: border-box;
	margin-top: 10px;
	display: inline-block;
    float: left;
    width: 100%;
}

.woocommerce #page-content-wrapper .inner .sidebar-content.left-sidebar ul.products li.product h2.woocommerce-loop-product__title,
.woocommerce-page #page-content-wrapper .inner .sidebar-content.left-sidebar ul.products li.product h2.woocommerce-loop-product__title {
	margin-top: 20px !important;
	font-size: 20px;
}

.woocommerce #page-content-wrapper .inner .sidebar-content.left-sidebar ul.products li.product .price {
	font-size: 1em;
}

.woocommerce-page ul.product_list_widget li .amount {
	font-size: 15px;
}

.woocommerce div.product div.images figure,
.woocommerce div.product div.summary figure {
	margin: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child {
	margin: 0 3px 0 3px;	
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
	padding: 3px;
	box-sizing: border-box;
	width: 16.66%;
	margin-top: 3px;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del {
	font-size: 0.9em !important;
}

.woocommerce ul.cart_list li ins,
.woocommerce ul.product_list_widget li ins,
.woocommerce-page ul.cart_list li,
.woocommerce-page ul.product_list_widget li ins {
	text-decoration: none;
	font-weight: bold;
}

.woocommerce a.added_to_cart,
.woocommerce-page a.added_to_cart {
	display: none !important;
}

.woocommerce ul.cart_list li img,
.woocommerce-page ul.cart_list li img,
.woocommerce ul.product_list_widget li img,
.woocommerce-page ul.product_list_widget li img {
	box-shadow: 0px 0px 0px black !important;
	-webkit-box-shadow: 0px 0px 0px black !important;
	-moz-box-shadow: 0px 0px 0px black !important;
	width: 45px;
	height: auto;
}

.woocommerce div.product div.images img,
.woocommerce-page div.product div.images img,
.woocommerce #content div.product div.images img,
.woocommerce-page #content div.product div.images img {
	box-shadow: 0px 0px 0px black !important;
	-webkit-box-shadow: 0px 0px 0px black !important;
	-moz-box-shadow: 0px 0px 0px black !important;
	border-radius: 5px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-page div.product .woocommerce-tabs ul.tabs,
.woocommerce #content div.product .woocommerce-tabs ul.tabs,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs {
	margin-left: 0 !important;
}

.woocommerce #content-wrapper .inner .inner-wrapper .sidebar-content h1 {
	font-size: 30px !important;
}

.woocommerce #content-wrapper .inner .inner-wrapper .sidebar-content h2 {
	font-size: 18px !important;
}

.woocommerce #content-wrapper .inner .inner-wrapper .sidebar-content h3 {
	font-size: 16px !important;
	padding-bottom: 0;
}

.woocommerce #content-wrapper .inner .inner-wrapper .sidebar-content h4 {
	font-size: 14px !important;
}

.woocommerce #content-wrapper .inner .inner-wrapper .sidebar-content h5 {
	font-size: 13px !important;
}

.woocommerce #content-wrapper .inner .inner-wrapper .sidebar-content h6 {
	font-size: 12px !important;
}

.woocommerce div.product div.images div.thumbnails a,
.woocommerce-page div.product div.images div.thumbnails a,
.woocommerce #content div.product div.images div.thumbnails a,
.woocommerce-page #content div.product div.images div.thumbnails a {
	margin-bottom: 3.8%;
}

.entry-summary div[itemprop="description"] {
	margin: 10px 0 0 0;
	padding-left: 0 !important;
	font-size: 18px;
}

.review-summary {
	display: none !important;
}

.woocommerce .widget_shopping_cart .total,
.woocommerce-page .widget_shopping_cart .total {
	font-size: 14px !important;
	color: #222;
	padding-top: 10px !important;
}

.woocommerce .widget_shopping_cart .total,
.woocommerce-page .widget_shopping_cart .total {
	border: 0;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce-page .widget_price_filter .ui-slider .ui-slider-range {
	background: #444;
	box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.5);
	-webkit-box-shadow: inset 0 0 0 0 rgba(204, 204, 204, 0.5);
	-moz-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.5);
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce-page .widget_price_filter .ui-slider .ui-slider-handle {
	border: 1px solid #444;
	box-shadow: inset 0 0 0 4px #fff;
}

.woocommerce #page-content-wrapper a.button:hover,
.woocommerce-page #page-content-wrapper a.button:hover,
.woocommerce.columns-4 ul.products li.product a.add_to_cart_button:hover,
.woocommerce.columns-4 ul.products li.product a.add_to_cart_button:hover {
	opacity: 1;
}

.woocommerce.columns-4 ul.products li.product a.add_to_cart_button {
	color: #222 !important;
	font-size: 100% !important;
}

.woocommerce div.product form.cart .button,
.woocommerce-page div.product form.cart .button,
.woocommerce #content div.product form.cart .button,
.woocommerce-page #content div.product form.cart .button {
	opacity: 1 !important;
}

.woocommerce ul.cart_list li a,
.woocommerce ul.product_list_widget li a,
.woocommerce-page ul.cart_list li a,
.woocommerce-page ul.product_list_widget li a {
	font-weight: normal !important;
}

.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 {
	width: 70px !important;
	float: left !important;
	margin-right: 15px !important;
	margin-left: 0 !important;
}

.woocommerce #reviews #comments ol.commentlist,
.woocommerce-page #reviews #comments ol.commentlist {
	margin-top: 10px;
}

.cart-collaterals .cart_totals table {
	width: 100% !important;
}

.woocommerce .related ul.products li.product,
.woocommerce .related ul li.product,
.woocommerce .upsells.products ul.products li.product,
.woocommerce .upsells.products ul li.product,
.woocommerce-page .related ul.products li.product,
.woocommerce-page .related ul li.product,
.woocommerce-page .upsells.products ul.products li.product,
.woocommerce-page .upsells.products ul li.product {
	border: 0;
	-webkit-transition-duration: 0.2s;
	-moz-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	transition-duration: 0.2s;
}

.woocommerce table.cart a.remove,
.woocommerce #content table.cart a.remove,
.woocommerce-page table.cart a.remove,
.woocommerce-page #content table.cart a.remove {
	color: inherit !important;
	font-weight: 400;
}

.woocommerce table.cart a.remove:hover,
.woocommerce #content table.cart a.remove:hover,
.woocommerce-page table.cart a.remove:hover,
.woocommerce-page #content table.cart a.remove:hover {
	color: #fff !important;
}

body[data-shop="three_cols"].woocommerce ul.products li.product,
body[data-shop="three_cols"].woocommerce-page ul.products li.product {
	width: 31.2% !important;
}

.woocommerce ul.products li.last,
.woocommerce-page ul.products li.last {
	margin-right: 0 !important;
}

p.price {
	padding-top: 0 !important;
}

p.price ins span.amount,
p.price span.amount,
.woocommerce #content div.product p.price,
.woocommerce #content div.product span.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-page #content div.product p.price,
.woocommerce-page #content div.product span.price,
.woocommerce-page div.product p.price,
.woocommerce-page div.product span.price {

}

.woocommerce #page-content-wrapper div.product p.price,
.woocommerce-page #page-content-wrapper div.product p.price {
	padding-bottom: 0;
}

p.price del span.amount {
	font-weight: 400;
}

#tab-description h2,
.woocommerce #reviews #comments h2,
.woocommerce-page #reviews #comments h2 {
	display: none;
}

.checkout h3 {
	font-size: 28px;
	margin: 15px 0 15px 0;
}

#order_review_heading {
	display: none;
}

.related.products h2:not(.woocommerce-loop-product__title),
.cart_totals h2:not(.woocommerce-loop-product__title),
.shipping_calcuLator h2:not(.woocommerce-loop-product__title),
.upsells.products h2:not(.woocommerce-loop-product__title),
.cross-sells h2:not(.woocommerce-loop-product__title) {
	margin-bottom: 40px;
    margin-top: 20px;
    font-size: 28px;
    text-align: center;
    letter-spacing: 0.5px;
}

.cart_totals h2:not(.woocommerce-loop-product__title)
{
	margin-bottom: 30px;
}

.shipping_calcuLator h2 {
	text-align: left;
}

.related.products {
	padding-top: 20px;
	clear: both;
	float: left;
	width: 100%;
	margin-top: 10px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs:before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs:before,
.woocommerce #content div.product .woocommerce-tabs ul.tabs:before,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs:before {
	border: 0;
	box-shadow: 0 0 0;
	border-radius: 0px !important;
}

.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active:after,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:after,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active:after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active:after,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active:before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active:before {
	border: 0;
	box-shadow: 0 0 0;
	border-radius: 0px !important;
}

.woocommerce ul#shipping_method {
	margin: 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals .woocommerce-shipping-destination {
	padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce-page div.product .woocommerce-tabs .panel {
	border: 0;
	padding: 0;
	box-sizing: border-box;
}

.woocommerce #reviews #comments ol.commentlist li,
.woocommerce-page #reviews #comments ol.commentlist li {
	width: 100%;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	box-shadow: none !important;
	visibility: visible !important;
	border: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs lid,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li {
	border-radius: 0;
	background: transparent !important;
	margin: 0 15px 0 15px;
}

.woocommerce div.product .woocommerce-tabs .panel {
	padding-top: 40px;
}

.woocommerce #page-content-wrapper div.product .woocommerce-tabs .panel p {
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li a {
	font-weight: 700;
	margin: 0;
	font-size: 26px !important;
	padding: 0;
	letter-spacing: 0.5px !important;
}

.woocommerce-page div.product .woocommerce-tabs {
	padding-top: 60px;
	padding-bottom: 30px;
	margin-bottom: 0;
	border-top: 1px solid #e1e1e1;
	border-bottom: 1px solid #e1e1e1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom: 2px solid #000;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active a {
	color: #fff;
	font-weight: bold !important;
	border-radius: 0px !important;
}

.woocommerce div.product .product_title {
	font-size: 50px;
	line-height: 1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-page div.product .woocommerce-tabs ul.tabs {
	padding-left: 0 !important;
	text-align: center;
}

.widget_shopping_cart_content a.button {
	margin-right: 5px !important;
}

.woocommerce #page-content-wrapper div.product p.price,
.woocommerce-page #page-content-wrapper div.product p.price {
	font-size: 24px !important;
	padding: 0 !important;
}

.woocommerce-page div.product p.price ins {
	text-decoration: none !important;
}

body.single-product #page-header .page-title-wrapper .page-title-inner {
	text-align: right;
}

body.single-product #page-header .page-title-wrapper .page-title-inner .page-tagline {
	margin-top: 0;
	position: relative;
	top: 0;
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
}

body.single-product #page-header.hasbg .page-title-wrapper .page-title-inner .page-tagline {
	top: 30px;
}

body.single-product #page-header.hasbg .page-title-wrapper .page-title-inner .page-tagline a {
	color: #fff;
}

.woocommerce .star-rating::before, .woocommerce .star-rating span::before {
	right: 0;
}

.product_meta>span {
	clear: both;
	display: block;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li:after {
	border: 0 !important;
	box-shadow: 0 0 0;
}

.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	box-shadow: 0 0 0 #222 !important;
	border-radius: 0;
}

.woocommerce-message a:not(.button),
.woocommerce-error a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-message a:not(.button):hover,
.woocommerce-error a:not(.button):hover,
.woocommerce-info a:not(.button):hover {
	color: #fff !important;
	text-decoration: underline;
}

.woocommerce-page #page-content-wrapper.no-title {
	margin-top: 60px;
}

.variation-Grind p {
	padding: 0 !important;
}

#add_payment_method .cart-collaterals .cart_totals table, .woocommerce-cart .cart-collaterals .cart_totals table, .woocommerce-checkout .cart-collaterals .cart_totals table
{
	border: 0;
}

.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register
{
	border-radius: 0;
	border: 1px solid #000;
}

.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last
{
	width: 49%;
}

.woocommerce .checkout_coupon .form-row input.input-text
{
	height: 42px;
}

.woocommerce-message {
	background: #8fae1b !important;
	border: 1px solid #8fae1b !important;
	color: #fff !important;
	text-shadow: none !important;
}

.woocommerce-message::before {
	color: #fff !important;
}

.woocommerce-info {
	background: #1e85be !important;
	border: 1px solid #1e85be !important;
	color: #fff !important;
	text-shadow: none !important;
}

.woocommerce-info::before {
	color: #fff !important;
}

.woocommerce-error {
	background: #D22226 !important;
	border: 1px solid #D22226 !important;
	color: #fff !important;
	text-shadow: none !important;
}

.woocommerce-error::before {
	color: #fff !important;
}

.woocommerce-message:before,
.woocommerce-error:before,
.woocommerce-info:before {
	box-shadow: none !important;
	top: 0.8em !important;
}

.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals,
#order_review {
	margin-bottom: 0;
}

.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
	text-align: left;
}

.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
	border-bottom: 0;
}

.post_carousel.flexslider .slides>li {
	margin-right: 20px;
}

.woocommerce-page .products .star-rating {
	float: right;
	margin-top: 28px;
}

.woocommerce-page #page-content-wrapper .inner .sidebar-content .products .star-rating {
	float: right;
	text-align: right;
    width: 5.4em;
    display: inline-block;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce #page-content-wrapper div.product p.price,
.woocommerce-page #page-content-wrapper div.product p.price {
	border: 0;
	clear: both;
	font-size: 18px;
	display: inline-block;
}

.woocommerce #page-content-wrapper div.product p.price,
.woocommerce-page #page-content-wrapper div.product p.price {
	margin-top: 0;
}

.woocommerce #content nav.woocommerce-pagination,
.woocommerce nav.woocommerce-pagination,
.woocommerce-page #content nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination {
	text-align: left;
	margin-top: 30px;
	margin-bottom: 30px;
	color: #FF4A52;
}

.woocommerce-notices-wrapper {
	position: fixed;
	bottom: 0px;
	right: 90px;
	z-index: 9;
}

.woocommerce-notices-wrapper .woocommerce-message a.button {
	margin-left: 20px !important;
	top: -6px !important;
    font-weight: 700;
}

.woocommerce #content nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page #content nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul,
.woocommerce #content nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-page #content nav.woocommerce-pagination ul li,
.woocommerce-page nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce #content nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-page #content nav.woocommerce-pagination ul li,
.woocommerce-page nav.woocommerce-pagination ul li {
	display: inline-block;
	text-align: center;
	color: #888;
	background: #fff;
	border: 1px solid #dce0e0;
	margin-right: 10px;
	overflow: hidden;
}

.woocommerce-page nav.woocommerce-pagination ul li span.current,
.woocommerce-page nav.woocommerce-pagination ul li a:hover,
.woocommerce-page nav.woocommerce-pagination ul li a:active {
	font-weight: bold;
	padding: .5em .4em .2em .4em;
}

.woocommerce table.shop_table
{
	border-radius: 0;
}

.woocommerce nav.woocommerce-pagination ul li a {
	padding: .5em .4em .2em .4em;
}

.woocommerce nav.woocommerce-pagination ul li {
	border-radius: 50px;
}

.woocommerce .woocommerce-pagination ul.page-numbers,
.woocommerce-page .woocommerce-pagination ul.page-numbers {
	margin-left: 0 !important;
}

.woocommerce-page nav.woocommerce-pagination ul li span.current,
.woocommerce-page nav.woocommerce-pagination ul li a {
	text-align: center;
}

.price_slider_wrapper {
	margin-top: 30px;
}

ul.product_list_widget li .star-rating {
	float: right;
}

ul.product_list_widget li a {
	font-weight: 600 !important;
}

ul.product_list_widget li .amount {
	font-weight: 500;
}

ul.product_list_widget li del .amount {
	color: #ccc;
}

.price_label {
	font-weight: 600;
}

ul.product_list_widget li ins {
	background: transparent;
}

.woocommerce .widget_price_filter .price_slider_amount .button,
.woocommerce-page .widget_price_filter .price_slider_amount .button {
	float: left !important;
}

ul.product_list_widget li {
	padding: 10px 0 10px 0 !important;
}

.woocommerce #content div.product,
.woocommerce div.product,
.woocommerce-page #content div.product,
.woocommerce-page div.product {
	clear: both;
}

body.single-product #page-content-wrapper {
	margin-top: 60px;
}

.woocommerce .woocommerce-product-rating {
	line-height: 1.7;
}

.woocommerce-review-link {
	color: #222 !important;
}

.woocommerce-page div.product form.cart {
	margin-top: 1em;
	margin-bottom: 1em;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	margin-top: 20px;
	margin-bottom: 40px;
}

.woocommerce div.product .woocommerce-tabs .panel.woocommerce-Tabs-panel--description {
	padding-left: 40px;
	padding-right: 40px;
}

.woocommerce div.product .woocommerce-tabs .panel.woocommerce-Tabs-panel--additional_information h2 {
	display: none;
}

.woocommerce div.product .woocommerce-tabs .panel.woocommerce-Tabs-panel--additional_information table.shop_attributes {
	max-width: 60%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    border-top: 0;
    border-bottom: 0;
}

.woocommerce table.shop_attributes tr {
	border-bottom: 1px solid #000;
}

.woocommerce table.shop_attributes tr:nth-child(even) td, .woocommerce table.shop_attributes tr:nth-child(even) th {
	background: transparent !important;
}

.woocommerce table.shop_attributes th {
	width: 25%;
    padding: .75em;
    font-size: inherit;
    line-height: inherit;
    text-align: right;
    border: 0;
}

.woocommerce table.shop_attributes td {
	border: 0;
	font-style: normal;
}

.woocommerce .woocommerce-error:after,
.woocommerce .woocommerce-error:before,
.woocommerce .woocommerce-info:after,
.woocommerce .woocommerce-info:before,
.woocommerce .woocommerce-message:after,
.woocommerce .woocommerce-message:before,
.woocommerce-page .woocommerce-error:after,
.woocommerce-page .woocommerce-error:before,
.woocommerce-page .woocommerce-info:after,
.woocommerce-page .woocommerce-info:before,
.woocommerce-page .woocommerce-message:after,
.woocommerce-page .woocommerce-message:before {
	display: block;
	clear: none;
}

.woocommerce #content table.cart img,
.woocommerce table.cart img,
.woocommerce-page #content table.cart img,
.woocommerce-page table.cart img {
	width: 70px;
}

.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
	padding: 12px 15px 12px 15px;
}

.woocommerce .woocommerce-error:before,
.woocommerce .woocommerce-info:before,
.woocommerce .woocommerce-message:before,
.woocommerce-page .woocommerce-error:before,
.woocommerce-page .woocommerce-info:before,
.woocommerce-page .woocommerce-message:before {
	line-height: 1em;
	margin-top: 10px;
}

.woocommerce .cart-collaterals .shipping_calcuLator .shipping-calcuLator-button:after,
.woocommerce-page .cart-collaterals .shipping_calcuLator .shipping-calcuLator-button:after,
.wc-forward a:after,
.wc-forward:after {
	display: none;
}

#page-content-wrapper .inner .sidebar-content ul.products {
	margin-left: 0 !important;
	padding: 0;
	box-sizing: border-box;
}

#page-content-wrapper .inner .sidebar-content.left-sidebar ul.products {
	padding: 0;
}

#page-content-wrapper .inner .sidebar-content .related.products ul.products {
	padding: 0;
	margin-top: 20px;
}

.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td {
	border-top: 0;
	padding: 20px 20px;
}

.woocommerce table.shop_table tfoot tr.cart-subtotal td,
.woocommerce table.shop_table tfoot tr.cart-subtotal th {
	padding: 15px 15px 0 15px;
}
.woocommerce table.shop_table tfoot tr.cart-subtotal.order-total td,
.woocommerce table.shop_table tfoot tr.cart-subtotal.order-total th {
	padding: 0 15px 15px 15px;
}

.shipping-calcuLator-button {
	color: #222;
}

.product-subtotal .amount {
	color: #222;
	font-weight: 600;
}

.woocommerce .cart-collaterals .cross-sells,
.woocommerce-page .cart-collaterals .cross-sells,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .shipping_calcuLator,
.woocommerce-page .cart-collaterals .shipping_calcuLator {
	width: 100%;
	float: none;
}

.woocommerce .cart-collaterals .shipping_calcuLator,
.woocommerce-page .cart-collaterals .shipping_calcuLator {
	margin-top: 10px;
}

.woocommerce-page table.cart th,
table.shop_table thead tr th {
	border-bottom: 1px solid #dce0e0;
	border-top: 1px solid #dce0e0;
	color: #fff;
	font-weight: 500;
	background: #000;
	text-transform: uppercase;
	letter-spacing: 0;
	font-size: 20px;
	letter-spacing: 0.5px;
}

.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
	border-bottom: 1px solid #dce0e0;
}

.woocommerce table.shop_table.cart,
.woocommerce-page table.shop_table.cart {
	border-top: 0;
}

.woocommerce #content table.cart td.actions,
.woocommerce table.cart td.actions,
.woocommerce-page #content table.cart td.actions,
.woocommerce-page table.cart td.actions {
	border-bottom: 0 !important;
}

.woocommerce table.cart td.actions .coupon .input-text#coupon_code {
	width: 300px;
	box-shadow: 0 0 0 0;
	margin-right: 10px;
	height: 42px;
	box-sizing: border-box;
	background: transparent;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 39px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 39px !important;
}

.woocommerce .cart-collaterals .cart_totals table tr:first-child td,
.woocommerce .cart-collaterals .cart_totals table tr:first-child th,
.woocommerce-page .cart-collaterals .cart_totals table tr:first-child td,
.woocommerce-page .cart-collaterals .cart_totals table tr:first-child th,
.woocommerce-page .cart-collaterals .cart_totals tr td,
.woocommerce-page .cart-collaterals .cart_totals tr th {
	border-bottom: 0;
}

.woocommerce-page #payment ul.payment_methods label {
	display: inline-block;
	clear: none;
	width: auto;
	margin-bottom: 10px;
}

.woocommerce #payment div.payment_box,
.woocommerce-page #payment div.payment_box {
	margin-top: 0;
	margin-bottom: 20px;
}

.woocommerce #payment ul.payment_methods,
.woocommerce-page #payment ul.payment_methods {
	border-bottom: 0;
}

.woocommerce #payment div.form-row,
.woocommerce-page #payment div.form-row {
	border-top: 0;
}

.woocommerce .star-rating span:before,
.woocommerce-page .star-rating span:before {
	color: #444;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta,
.woocommerce-page #reviews #comments ol.commentlist li .comment-text p.meta {
	font-size: 0.8em;
}

strong[itemprop="author"] {
	font-size: 16px;
	font-weight: 600;
	color: #222;
	font-family: 'Roboto', 'Helvetica Neue', Arial, Verdana, sans-serif;
	letter-spacing: -1px;
}

.woocommerce #payment div.payment_box:after,
.woocommerce-page #payment div.payment_box:after {
	display: none !important;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text,
.woocommerce-page #reviews #comments ol.commentlist li .comment-text {
	border: 0 !important;
	padding: 0;
	margin: 0 0 0 80px;
}

.woocommerce #review_form #respond {
	width: 100%;
}

.woocommerce #reviews h3 {
	text-align: left;
}

.woocommerce .product_meta {
	margin-top: 40px;
	font-size: 14px;
	font-weight: 600;
}

.woocommerce .product_meta .sku_wrapper {
	font-weight: 600;
}

.woocommerce .product_meta a {
	font-weight: 400;
}

.woocommerce .widget_shopping_cart .cart_list li a.remove,
.woocommerce.widget_shopping_cart .cart_list li a.remove {
	display: none;
}

.woocommerce div.product .woocommerce-product-rating {
	margin-bottom: 0;
    margin-top: -10px;
}

.woocommerce-cart .wc-proceed-to-checkout {
	padding: 2em 0 4em 0;
}

.woocommerce-checkout #payment div.form-row {
	padding: 1em 0 4em 0;
}

.return-to-shop {
	padding: 0 0 5em 0 !important;
}

.woocommerce-checkout #payment {
	background: transparent;
}

.woocommerce-checkout #payment ul {
	margin-left: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout #payment .payment_method_paypal .about_paypal {
	margin-left: 10px;
}

.woocommerce .woocommerce-error:before,
.woocommerce .woocommerce-info:before,
.woocommerce .woocommerce-message:before {
	margin-top: 8px;
}

.woocommerce .top-menu-bar.scroll .logo-wrapper img,
.woocommerce-page .top-menu-bar.scroll .logo-wrapper img {
	max-width: 100%;
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: #222;
}

.woocommerce .products .onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	width: 45px;
	height: 45px;
	position: absolute;
	left: 10px;
	top: 20px;
	background: #b13c3c;
	border-radius: 0;
	text-align: center;
	font-weight: 600;
	line-height: 45px;
	-webkit-box-shadow: 0 8px 8px -6px rgba(0, 0, 0, .15);
	-moz-box-shadow: 0 8px 8px -6px rgba(0, 0, 0, .15);
	box-shadow: 0 8px 8px -6px rgba(0, 0, 0, .15);
	z-index: 2;
}

body.single-product.woocommerce span.onsale 
{
	left: 20px;
	top: 40px;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	display: inline-block;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	font-weight: 500;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
	
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
	width: 100%;
	float: none;
	margin-top: 20px;
}

.woocommerce-privacy-policy-text p {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.woocommerce table.shop_table.woocommerce-checkout-review-order-table {
	border-top: 0;
}

#add_payment_method .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout .wc-proceed-to-checkout a.checkout-button {
	font-size: 15px;
	margin-bottom: 0;
	display: inline-block;
	padding: .6em 1.5em .5em 1.5em;
	float: right;
}

#page-content-wrapper .sidebar .content .sidebar-widget li.widget_products ul li:last-child,
.page-content-wrapper .sidebar .content .sidebar-widget li.widget_products ul li:last-child,
#footer ul.sidebar-widget li.widget_products ul li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

.sidebar-widget li.widget_products .product-title {
	font-weight: 400;
}

#reviews.woocommerce-Reviews #comments {
	width: 100%;
}

#reviews.woocommerce-Reviews #review_fosetting-wrapperper {
	width: 33.33%;
	float: left;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.description {
	margin: 0;
	padding-top: 0;
	padding-bottom: 30px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
	margin-bottom: 0;
	padding-bottom: 0;
	padding-top: 0;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
	border-radius: 250px;
	border: 0;
	padding: 0;
	background: transparent;
	width: 60px;
}

.woocommerce-review-link {
	opacity: 0.5;
	font-size: 12px;
	position: relative;
	top: 2px;
}

.woocommerce .star-rating span:before,
.woocommerce-page .star-rating span:before {
	color: #fec42d;
}

.woocommerce #reviews #comments ol.commentlist li .comment_container {
	margin-bottom: 40px;
	padding-right: 60px;
}

.woocommerce #reviews #comments ol.commentlist li:last-child .comment_container {
	border: 0;
	margin-bottom: 0px;
}

.woocommerce #review_form #respond p {
	padding-bottom: 0;
}

body.woocommerce-order-received .woocommerce h2,
body.woocommerce-order-received .woocommerce h3 {
	font-size: 18px;
}

body.woocommerce-order-received .woocommerce {
	margin-bottom: 30px;
}

#page-content-wrapper .inner .sidebar-content ul.woocommerce-thankyou-order-details {
	margin-left: 0;
}

.woocommerce-account #page-content-wrapper .inner .sidebar-content.fullwidth {
	margin-bottom: 20px;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin-left: 0 !important;
}

.woocommerce-MyAccount-navigation ul li {
	margin-bottom: 10px;
	padding-left: 10px;
	border-left: 5px solid transparent;
}

.woocommerce-MyAccount-navigation ul li.is-active {
	border-left: 5px solid #FF4A52;
	color: #FF4A52;
	font-weight: 600;
}

.woocommerce .woocommerce-Message a.button {
	background: transparent;
	padding: 0;
	border-radius: 0;
}

.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
	width: 55%;
}

.woocommerce-page div.product div.summary {
	width: 40%;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border-radius: 0;
	border: 1px solid #000;
}

.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled]
{
	display: none;
}

.woocommerce form .form-row textarea {
	height: 10em;
}

body.woocommerce-checkout #page-content-wrapper .inner .sidebar-content {
	padding-top: 20px;
	padding-bottom: 60px;
}

body.woocommerce-checkout .woocommerce .col2-set,
body.woocommerce-checkout.woocommerce-page .col2-set,
body.woocommerce-cart .woocommerce-cart-form {
	float: left;
	width: 63%;
}

body.woocommerce-checkout .woocommerce .col2-set .col-1,
body.woocommerce-checkout.woocommerce-page .col2-set .col-1,
body.woocommerce-checkout .woocommerce .col2-set .col-2,
body.woocommerce-checkout.woocommerce-page .col2-set .col-2 {
	width: 100%;
}

body.woocommerce-checkout .woocommerce #order_review,
body.woocommerce-cart .cart-collaterals {
	float: right;
	width: 32%;
	margin-top: 20px;
}

body.woocommerce-cart .cart-collaterals {
	margin-top: 0;
}

body.woocommerce-cart .cart_totals h2:not(.woocommerce-loop-product__title) {
	text-align: left;
	margin-top: 0;
}

body.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button {
	width: 100%;
	box-sizing: border-box;
}

body.page-template-default:not(.elementor-page) #page-content-wrapper .inner .sidebar-content dl.variation {
	margin: 0 0 0 0;
	font-style: italic;
	font-size: smaller;
}

.woocommerce form .form-row label, .woocommerce-page form .form-row label
{
	font-weight: 600;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

.woocommerce #payment div.payment_box,
.woocommerce-page #payment div.payment_box {
	background: #f0f0f0 !important;
	border-radius: 0;
	color: #000;
	padding: 1em 2em 1em 2em;
}

.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered 
{
	color: #000;
}

.woocommerce .select2-container--default .select2-selection--single
{
	border-radius: 0;
	background: transparent;
}

.woocommerce .select2-dropdown
{
	border-radius: 0;
}

.woocommerce #reviews #comments ol.commentlist li .meta {
	color: initial;
}

.woocommerce div.product form.cart table.variations {
	width: 100%;
    float: left;
    margin-bottom: 30px !important;
}

.woocommerce-variation.single_variation {
	margin: 0 0 10px 0;
}

.woocommerce div.product form.cart table.variations tr td {
	padding: 0;
	vertical-align: baseline;
	position: relative;
}

.woocommerce div.product form.cart .single_variation_wrap {
	width: 100%;
	float: right;
}

.woocommerce-variation-add-to-cart {
	clear: both;
	float: left;
    width: 100%;
    padding-top: 20px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding-bottom: 20px;
}

.woocommerce-variation-price {
	float: left;
	margin-bottom: 20px;
}

.woocommerce div.product form.cart .variations td.label {
	padding-right: 0;
	padding-bottom: 20px;
}

.woocommerce-variation-availability
{
	display: none !important;
}

.woocommerce div.product form.cart .variations select {
	width: 100%;
	height: 47px;
	border: 0;
    background: transparent;
    -webkit-appearance: none;
    border-radius: 0;
    border: 1px solid #000;
}

.woocommerce div.product form.cart table.variations tr td.value:after {
	font-family: 'themify';
    content: "\e64b";
    display: inline;
    position: absolute;
    top: 10px;
    right: 20px;
}

.woocommerce div.product form.cart .reset_variations {
    text-decoration: underline;
}

form.checkout woocommerce-checkout h3#order_review_heading {
	display: none;
}

.woocommerce .woocommerce-product-rating .star-rating {
	margin-top: 5px;
}

.woocommerce table.shop_attributes td {
	padding: 8px;
}

.woocommerce #review_form_wrapper {
	float: left;
	width: 100%;
	padding: 0;
	box-sizing: border-box;
}

.woocommerce #review_form_wrapper #reply-title {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 20px;
	display: block;
}

.woocommerce #respond input#submit 
{
	border: 1px solid #d8d8d8;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2)
{
	width: 33.33%;
}

.woocommerce #respond input#submit, 
.woocommerce a.button, .woocommerce button.button, 
.woocommerce input.button,
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button
{
	padding: 0.8em 1.5em 0.8em 1.5em;
}

.woocommerce-page .widget ul.product_list_widget li .star-rating
{
	display: none;
}

.woocommerce-product-details__short-description
{
	clear: both;
}

.woocommerce table.shop_table tr th,
.woocommerce table.shop_table tr td
{
	border: 0;
}

.woocommerce table.shop_table tbody tr.cart_item td
{
	border-bottom: 1px solid #e1e1e1;
}

.widget_product_tag_cloud.woocommerce.widget .tagcloud 
{
	margin-top: 20px;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link
{
	transition: all .21s cubic-bezier(.5,.5,.4,.9);
	display: block;
}

.woocommerce ul.products li.product:hover a.woocommerce-loop-product__link
{
	transform: translateY(-10px);
	transition: all .21s cubic-bezier(.5,.5,.4,.9);
}

#page-content-wrapper ul.products li.product a.button.ajax_add_to_cart,
#page-content-wrapper .product_type_variable.add_to_cart_button
{
	display: block !important;
    width: 100%;
    box-sizing: border-box;
    clear: both;
    border-radius: 0;
    font-size: 20px;
    margin-top: 10px;
    border: 1px solid #000;
    transform: translateY(-10px);
    opacity: 0;
    transition: all .21s cubic-bezier(.5,.5,.4,.9);
}

#page-content-wrapper ul.products li.product:hover a.button.ajax_add_to_cart,
#page-content-wrapper ul.products li.product:hover .product_type_variable.add_to_cart_button
{
	transform: translateY(0);
    opacity: 1;
    transition: all .21s cubic-bezier(.5,.5,.4,.9);
}

#page-content-wrapper ul.products li.product:hover a.button.ajax_add_to_cart
{
	box-shadow: 0 10px 30px 0 rgba(41,41,50,.05);
	transform: scale(1) translateY(0px);
}

.woocommerce .widget_price_filter .ui-slider-horizontal
{
	height: .2em;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle, .woocommerce-page .widget_price_filter .ui-slider .ui-slider-handle
{
	box-shadow: none;
	border: 0;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle
{
	width: 0.8em;
    height: 0.8em;
}

.woocommerce .woocommerce-result-count
{
	font-weight: 600;
}

.woocommerce a.button.loading::after
{
	top: 0.8em;
}

#woocommerce-mini-cart-wrapper
{
	position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}

#woocommerce-mini-cart-wrapper.visible
{
	z-index: 1000;
}

#woocommerce-mini-cart-overlay
{
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000000;
    opacity: 0;
    cursor: pointer;
    transition: all .4s cubic-bezier(.5,.5,.4,.9);
}

#woocommerce-mini-cart-wrapper.visible #woocommerce-mini-cart-overlay
{
	opacity: 0.2;
	z-index: 1001;
	transition: all .4s cubic-bezier(.5,.5,.4,.9);
}

#woocommerce-mini-cart-flyout
{
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 17em;
    background: #fff;
    display: flex;
    flex-direction: column;
    cursor: auto;
    transition: all .4s cubic-bezier(.5,.5,.4,.9);
    transform: translate3d(100%, 0, 0);
    z-index: 1002;
}

#woocommerce-mini-cart-wrapper.visible #woocommerce-mini-cart-flyout
{
	transition: all .4s cubic-bezier(.5,.5,.4,.9);
	transform: translate3d(0, 0, 0);
}

#woocommerce-mini-cart-flyout ul.cart_list, 
#woocommerce-mini-cart-flyout ul.product_list_widget
{
	padding: 30px;
	flex-basis: 0;
    flex-grow: 1;
    overflow-y: auto;
    list-style: none;
}

#woocommerce-mini-cart-flyout ul.cart_list li img, 
#woocommerce-mini-cart-flyout ul.product_list_widget li img, 
#woocommerce-mini-cart-flyout ul.cart_list li img, 
#woocommerce-mini-cart-flyout ul.product_list_widget li img 
{
	width: 100% !important;
	height: auto;
	margin: 0 !important;
	display: block;
    float: none;
    width: auto;
    margin: 0;
    order: 10;
}

#woocommerce-mini-cart-flyout ul.product_list_widget li
{
	position: relative;
	margin-bottom: 10px;
}

#woocommerce-mini-cart-flyout ul.product_list_widget li a:not(.remove)
{
	display: flex;
    flex-direction: column;
    font-weight: 600 !important;
}

#woocommerce-mini-cart-flyout ul.product_list_widget li a.remove
{
	position: absolute;
	top: auto;
	left: auto;
	right: 0px;
	bottom : 13px;
	color: inherit !important;
}

#woocommerce-mini-cart-flyout ul.product_list_widget li a.remove:hover
{
	color: #fff !important;
}

#woocommerce-mini-cart-flyout ul.product_list_widget li .variation
{
	display: none;
}

#woocommerce-mini-cart-flyout ul.product_list_widget li a.remove:before,
#woocommerce-mini-cart-flyout ul.product_list_widget li a.remove:after
{
	content: "";
    display: block;
    width: 0.125em;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
}

#woocommerce-mini-cart-flyout ul.product_list_widget li .quantity
{
	font-weight: normal;
}

#woocommerce-mini-cart-flyout .woocommerce-mini-cart-shopping-cart
{
	flex-grow: 1;
    display: flex;
    flex-direction: column;
}

#woocommerce-mini-cart-flyout .woocommerce-mini-cart__total
{
	padding: 30px 30px 0 30px;
	display: flex;
	position: relative;
}

#woocommerce-mini-cart-flyout .woocommerce-mini-cart__total:before
{
	content: "";
    display: block;
    height: .625em;
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    opacity: 0.2;
    box-shadow: inset 0 -0.625em 0.625em -0.625em #000000;
}

#woocommerce-mini-cart-flyout .woocommerce-mini-cart__total .woocommerce-Price-amount
{
	margin-left: auto;
}

#woocommerce-mini-cart-flyout .woocommerce-mini-cart__buttons
{
	padding: 30px 30px 15px 30px;
}

#woocommerce-mini-cart-flyout .woocommerce-mini-cart__buttons a
{
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 15px;
	font-size: inherit !important;
}

/*
	13. Login Plugin Elements
*/

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] {
	padding: 50px 40px 50px 40px;
	background: #f9f9f9;
	border-radius: 5px;
	width: 365px !important;
}

body .ui-widget-overlay {
	background: rgba(0, 0, 0, 0.7) !important;
	opacity: 1;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] button.ui-dialog-titlebar-close,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] button.ui-dialog-titlebar-close {
	display: none;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .ui-dialog-titlebar,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .ui-dialog-titlebar {
	background: transparent;
	border: 0;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .ui-dialog-titlebar .ui-dialog-title,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .ui-dialog-titlebar .ui-dialog-title {
	font-weight: 600;
	font-size: 28px;
	text-shadow: none;
	width: 100%;
	display: block;
	margin-bottom: 20px;
	text-align: center;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper label,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper label {
	font-weight: normal;
	font-size: 16px;
	margin-bottom: 0;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="text"],
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="password"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="text"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="password"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="email"] {
	font-size: 16px;
	letter-spacing: 0;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="text"]::-webkit-input-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="password"]::-webkit-input-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="text"]::-webkit-input-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="password"]::-webkit-input-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="email"]::-webkit-input-placeholder {
	color: transparent;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="text"]::-moz-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="password"]::-moz-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="text"]::-moz-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="password"]::-moz-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="email"]::-moz-placeholder {
	color: transparent;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="text"]:-ms-input-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="password"]:-ms-input-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="text"]:-ms-input-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="password"]:-ms-input-placeholder,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="email"]:-ms-input-placeholder {
	color: transparent;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper .zm_alr_form_field_container,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper .zm_alr_form_field_container {
	margin-bottom: 30px;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper .zm_alr_ul_container,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper .zm_alr_ul_container {
	font-size: 16px;
}

body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="submit"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="submit"] {
	border-radius: 0;
	text-shadow: none;
}

.ui-dialog .zm_alr_login_dialog.ui-dialog-content {
	border: 0;
}


/*
*
* 14. LearnPress Plugin Elements
*
*/

#course-item-content-header h2.course-title {
	font-size: 1em;
	font-weight: 400;
}

body .course-curriculum ul.curriculum-sections .section-header .section-title {
	font-size: 14px;
	font-weight: 700;
}

.learn-press-breadcrumb,
#learn-press-course .course-meta {
	display: none;
}

#single-course-header {
	padding: 60px 0 60px 0;
	width: 100%;
	float: left;
}

body.tg-single-course-4 #single-course-header {
	padding: 0;
	height: 550px;
	color: #fff;
	margin-top: 40px;
	margin-bottom: 0;
	position: relative;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	overflow: hidden;
	-webkit-border-top-left-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-topright: 5px;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

body.tg-single-course-4 #single-course-header h1 {
	color: #fff;
}

body.tg-single-course-4 #single-course-header .standard-wrapper {
	z-index: 2;
	display: flex;
	align-items: center;
	height: 100%;
	width: 60%;
}

body.tg-single-course-4 #single-course-enroll:hover {
	background: transparent !important;
}

body.theme-craftcoffee.profile .learn-press-form-login {
	width: 46%;
	float: left;
}

body.theme-craftcoffee.profile .learn-press-form-register {
	width: 46%;
	float: right;
}

.single-course-title {
	float: left;
	width: 70%;
}

.single-course-join {
	float: right;
	width: 30%;
	text-align: right;
	margin-top: 20px;
}

body.tg-single-course-2 .single-course-join {
	float: none;
	width: 100%;
	text-align: center;
	margin-top: 10px;
}

body.tg-single-course-2 .single-course-join a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	font-size: 16px;
}

body.tg-single-course-2 .course-learning-summary {
	margin-top: 60px;
}

body.tg-single-course-3.is-enrolled .course-learning-summary {
	margin-top: 40px;
}

body.is-enrolled .course-learning-summary {
	margin-bottom: 60px;
}

.single-course-excerpt p {
	padding: 0 !important;
	margin-top: 10px;
}

#single-course-bgimage {
	height: 500px;
	background-size: cover;
	background-position: center center;
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

.course-template-2 #single-course-bgimage:after,
body.tg-single-course-4 #single-course-header:after {
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.3);
	width: 100%;
	height: 100%;
	display: block;
	content: "";
}

body.tg-single-course-4 .single-course-title,
body.tg-single-course-4 .single-course-join {
	width: 100%;
	float: none;
	text-align: center;
}

.course-template-2 #single-course-bgimage .single-course.standard-wrapper {
	display: flex;
	align-items: center;
	height: 100%;
	color: #fff;
	z-index: 2;
}

.course-template-2 #single-course-bgimage .single-course.standard-wrapper .single-course-title {
	width: 50%;
}

#single-course-bgimage h1,
.single-course-title h1 {
	line-height: 1.5;
}

.course-template-2 #single-course-bgimage h1 {
	color: #fff;
}

body #learn-press-course-tabs {
	clear: both;
	margin: 30px 0 30px 0;
}

body.tg-single-course-4 #learn-press-course-tabs {
	margin-top: 0;
}

#page-content-wrapper ul.learn-press-nav-tabs {
	border-bottom: 0;
	text-align: center;
}

body.learnpress-page.profile .lp-tab-sections {
	margin: 0 0 20px 0 !important;
	background: transparent;
	z-index: 3;
	position: relative;
}

body.learnpress-page.profile .learn-press-subtab-content {
	margin: 20px 0 0 0;
}

body.learnpress-page.profile .lp-sub-menu,
body.learnpress-page.profile ul.learn-press-courses {
	margin: 20px 0 20px 0 !important;
}

body.learnpress-page.profile ul.learn-press-courses,
body.learnpress-page.profile .learn-press-message {
	clear: both;
}

#page-content-wrapper ul.learn-press-nav-tabs .course-nav,
body.learnpress-page.profile .lp-tab-sections li {
	display: inline-block;
	float: none;
}

body.learnpress-page.profile .lp-tab-sections .section-tab.active span {
	border: 0;
	line-height: initial;
}

body.learnpress-page.profile .profile-heading {
	float: left;
	width: 50%;
	margin: 20px 0 20px 0;
}

body.learnpress-page.profile .lp-sub-menu {
	float: right;
	width: 50%;
	text-align: right;
}

#page-content-wrapper .course-landing-summary {
	margin-bottom: 60px;
}

#learn-press-course {
	width: 100%;
	margin: auto;
}

body.tg-single-course-2 #learn-press-course {
	width: 100%;
	float: left;
}

body.tg-single-course-2 #learn-press-course .course-landing-summary {
	float: left;
	width: 66.66%;
	box-sizing: border-box;
	padding-right: 40px;
	margin: 0;
}

body.tg-single-course-2 #page-content-wrapper #learn-press-course ul.learn-press-nav-tabs {
	text-align: left;
	margin-top: 60px;
	margin-left: 10px;
}

#learn-press-course-tabs .course-tab-panel {
	padding: 40px 0 0 0;
}

#page-content-wrapper ul.learn-press-nav-tabs .course-nav.active:after,
#page-content-wrapper ul.learn-press-nav-tabs .course-nav:hover:after {
	display: none;
}

#page-content-wrapper ul.learn-press-nav-tabs .course-nav {
	margin-left: -10px;
}

#page-content-wrapper ul.learn-press-nav-tabs .course-nav.active a,
body.learnpress-page.profile .lp-tab-sections .section-tab.active span {
	z-index: 2;
	position: relative;
}

#page-content-wrapper ul.learn-press-nav-tabs .course-nav a,
body.learnpress-page.profile .lp-tab-sections li a,
body.learnpress-page.profile .lp-tab-sections li span,
body.learnpress-page.profile .lp-tab-sections .section-tab.active span {
	font-weight: 700;
	border-radius: 5px;
	padding: 8px 30px 8px 30px;
}

#page-content-wrapper ul.learn-press-nav-tabs .course-nav.active a,
body.learnpress-page.profile .lp-tab-sections .section-tab.active span {
	background: #333;
	color: #fff;
}

body.learnpress-page.profile .lp-list-table tr.list-table-nav td {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.lp-label.label-finished,
.lp-label.label-completed,
.lp-label.label-cancelled,
.lp-label.label-pending {
	padding: 5px 30px 5px 30px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

body .profile-recover-order {
	border: 0;
	padding: 0;
	margin-top: 40px;
}

.order-recover input[name="order-key"]::placeholder {
	opacity: 0.5;
}

body .profile-recover-order p {
	padding: 0 !important;
}

body.learnpress-page.profile .lp-list-table tbody tr td.column-order-action {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
}

body.learnpress-page.profile .lp-list-table tbody tr td.column-order-action a {
	margin-right: 10px;
}

#profile-content-order-details h3 {
	font-size: 18px;
}

#page-content-wrapper .lp-single-course .course-price {
	margin: 0;
	float: right;
	margin-bottom: 80px;
	font-weight: 700;
}

body.tg-single-course-2 #page-content-wrapper .lp-single-course .course-price {
	margin-bottom: 60px;
}

body #page-content-wrapper .lp-single-course .course-price,
body #page-content-wrapper .lp-single-course .lp-course-buttons {
	display: none;
}

body.tg-single-course-2 #page-content-wrapper .course-landing-summary {
	margin-bottom: 20px;
}

#page-content-wrapper .lp-single-course .lp-course-buttons {
	float: left;
	margin: 0;
	margin-bottom: 80px;
}

.learnpress-page #page-content-wrapper .lp-button,
.learnpress-page #learn-press-profile-basic-information button,
.learnpress-page #profile-content-settings form button[type="submit"] {
	line-height: normal;
	height: intrinsic;
	padding: .6em 2.5em .6em 2.5em;
	background: transparent;
	border-radius: 0;
	-webkit-border-top-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-radius-topright: 5px;
	-moz-border-radius-bottomright: 5px;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

#page-content-wrapper .lp-single-course .course-author .author-bio {
	font-style: normal;
	padding: 1.6em 0 1.6em 1.6em;
}

#page-content-wrapper .lp-single-course .course-author .author-name a {
	font-weight: 700;
}

.course-author h3 {
	display: none;
}

#page-content-wrapper .course-curriculum ul.curriculum-sections .section-header {
	border-bottom: 1px solid #999;
}

#page-content-wrapper .course-curriculum ul.curriculum-sections .section-header .section-title {
	font-weight: 700;
}

body .course-curriculum ul.curriculum-sections .section-content .course-item .course-item-meta .item-meta,
body .lp-label.label-enrolled,
.lp-label.label-started {
	padding: 0 15px;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

body .course-curriculum ul.curriculum-sections .section-content .course-item .course-item-meta:not(.trans) .course-item-status:before,
body .lp-label.label-enrolled,
.lp-label.label-started,
body .course-remaining-time .lp-label.label-enrolled {
	font-size: 10px;
}

body .lp-label.label-enrolled,
.lp-label.label-started {
	height: 20px;
	line-height: 20px;
	color: #fff;
}

body .course-curriculum ul.curriculum-sections .section-content .course-item .course-item-meta .duration {
	background: transparent;
	color: #222;
	padding: 0;
}

body .course-curriculum ul.curriculum-sections .section-content .course-item.item-locked .course-item-meta .course-item-status,
body .course-curriculum ul.curriculum-sections .section-content .course-item.course-item-lp_lesson .section-item-link:before,
body .course-curriculum ul.curriculum-sections .section-content .course-item.course-item-lp_quiz .section-item-link:before,
body .course-curriculum ul.curriculum-sections .section-content .course-item:not(.item-preview) .course-item-status {
	font-family: 'themify';
}

body .course-curriculum ul.curriculum-sections .section-content .course-item.has-status.status-completed .course-item-status:before,
body .course-curriculum ul.curriculum-sections .section-content .course-item.has-status.status-started .course-item-status:before {
	font-size: 16px;
	content: "\e64c";
}

body .course-curriculum ul.curriculum-sections .section-content .course-item.course-item-lp_lesson .section-item-link:before {
	font-size: 20px;
	content: "\e6c7";
}

body .course-curriculum ul.curriculum-sections .section-content .course-item.course-item-lp_quiz .section-item-link:before {
	font-size: 20px;
	content: "\e72b";
}

body .course-curriculum ul.curriculum-sections .section-content .course-item.item-locked .course-item-meta .course-item-status:before {
	color: #222;
	font-size: 16px;
	content: "\e62b";
}

#single-course-meta {
	background-color: #fff;
	margin-top: -60px;
	position: relative;
	z-index: 2;
	border-radius: 5px;
}

body.tg-single-course-4 #single-course-meta {
	margin-top: 0;
	clear: both;
}

ul.single-course-meta-data {
	list-style: none;
}

#single-course-meta ul.single-course-meta-data {
	display: flex;
	background: #fff;
	margin-bottom: 60px;
	-webkit-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.05);
	box-shadow: 0 5px 40px rgba(0, 0, 0, 0.05);
	border-radius: 5px;
}

#page-content-wrapper .course-template-2 ul.single-course-meta-data {
	margin-top: 25px;
}

#single-course-meta ul.single-course-meta-data li {
	justify-content: center;
	padding: 0 1em;
	flex-grow: 1;
	display: flex;
	margin: 2.2rem 0;
}

.course-template-2 ul.single-course-meta-data li {
	display: inline-block;
	margin-right: 20px;
}

.course-template-2 ul.single-course-meta-data div {
	display: inline-block;
}

#single-course-meta ul.single-course-meta-data li:first-child {
	padding-left: 0;
}

#single-course-meta ul.single-course-meta-data li:last-child {
	display: none !important;
}

#single-course-meta ul.single-course-meta-data li.single-course-meta-data-separator {
	flex: 0;
	border-left: solid 1px #e1e1e1;
	display: flex;
	max-height: 2.7em;
	padding: 0;
}

#single-course-meta ul.single-course-meta-data li .single-course-meta-data-icon {
	padding-right: .5em;
	display: flex;
	font-size: 2rem;
	line-height: 1.5;
}

#single-course-meta ul.single-course-meta-data li .single-course-meta-data-text {
	display: flex;
	flex-direction: column;
}

#single-course-meta ul.single-course-meta-data li .single-course-meta-data-text .single-course-meta-data-title {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
}

#single-course-meta ul.single-course-meta-data li .single-course-meta-data-text .single-course-meta-data-content {
	font-size: 14px;
	font-weight: 700;
}

body .course-curriculum ul.curriculum-sections .section-content .course-item:before {
	display: none;
}

body #course-item-content-header .form-button.lp-button-back button,
body.learnpress-page .lp-button {
	height: auto;
	line-height: normal;
	padding: 6px 30px 4px 30px;
}

body.learnpress-page .lp-button.button-complete-lesson {
	margin-top: 30px;
}

body #course-item-content-header .course-item-search input {
	font-style: normal;
}

body #course-item-content-header {
	background: #f9f9f9;
}

body #course-item-content-header .toggle-content-item:before {
	font: 20px/60px 'themify';
	content: "\e67a";
}

body.single.full-screen-content-item #course-item-content-header .toggle-content-item:before {
	font: 20px/60px 'themify';
	content: "\e679";
}

body.single.course-item-popup #learn-press-content-item .content-item-wrap {
	margin: 40px auto;
}

body .course-item-nav .prev span,
body .course-item-nav .next span {
	font-size: 13px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 2px;
}

body .course-item-nav .prev a,
body .course-item-nav .next a {
	position: relative;
	top: -5px;
}

.learn-press-message:before {
	display: none;
}

body .course-curriculum ul.curriculum-sections .section.section-empty .learn-press-message {
	margin-left: 0;
	margin-right: 0;
}

body .lp-label {
	background: transparent;
	color: #222;
}

body .answer-options .answer-option .option-title:before {
	display: none;
}

.lp-quiz-buttons .lp-form.form-button button[type="submit"] {
	background: transparent;
	border: none;
	text-decoration: none;
	margin-right: 10px;
	cursor: pointer;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-top: 10px;
	outline: none;
}

body.learnpress-page.checkout:not(.elementor-page) #page-content-wrapper .inner .sidebar-content.fullwidth,
body.learnpress-page.profile:not(.elementor-page) #page-content-wrapper .inner .sidebar-content.fullwidth {
	padding-bottom: 80px;
}

body.learnpress-page.profile:not(.elementor-page) #page-content-wrapper .inner .sidebar-content.fullwidth {
	padding-top: 60px;
}

body.learnpress-page.checkout .lp-list-table thead tr th,
body.learnpress-page.profile .lp-list-table thead tr th {
	background: #333;
}

body.learnpress-page.checkout #learn-press-order-review {
	float: right;
	width: 32%;
	-webkit-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
	box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
}

body.learnpress-page.checkout #learn-press-order-review h4 {
	display: none;
}

body.learnpress-page.checkout .learn-press-checkout-comment h4,
body.learnpress-page.checkout #learn-press-payment h4 {
	font-size: 16px;
	margin-bottom: 10px;
}

body.learnpress-page.checkout .learn-press-checkout-comment .order-comments::placeholder {
	opacity: 0;
}

body.learnpress-page.checkout .learn-press-checkout-comment,
body.learnpress-page.checkout #learn-press-payment {
	float: left;
	width: 63%;
}

body.learnpress-page.checkout .lp-list-table {
	margin: 0;
}

body.learnpress-page.checkout #learn-press-payment .payment-methods {
	margin: 0 !important;
}

body.learnpress-page.checkout #learn-press-payment .payment-methods .lp-payment-method.selected>label {
	background: transparent;
	padding: 0;
	display: inline-block;
}

body.learnpress-page.checkout #learn-press-payment .payment-methods .payment-method-form {
	background: transparent;
	border: 0;
	padding: 0;
	font-size: 13px;
	display: inline-block !important;
	margin-left: 10px;
}

body.learnpress-page.checkout #checkout-order-action {
	margin-top: 30px;
}

body.learnpress-page.profile #learn-press-profile-header {
	background: transparent;
	margin-bottom: 20px;
}

body.learnpress-page.profile #learn-press-profile-header .lp-profile-avatar img {
	border-radius: 250px;
	position: relative;
	top: -100px;
}

body.learnpress-page.profile .lp-user-profile .profile-name {
	font-size: 20px;
	font-weight: 700;
	margin-top: -100px;
	margin-left: 5px;
	text-align: left;
}

body.learnpress-page.profile #learn-press-profile-header .lp-profile-avatar {
	width: 200px;
}

body.learnpress-page.profile #learn-press-profile-nav {
	padding: 0;
}

body.learnpress-page.profile #learn-press-profile-nav .tabs {
	margin: 0 !important;
}

body.learnpress-page.profile #learn-press-profile-nav .tabs>li a {
	padding: 10px 20px;
}

body.learnpress-page.profile #learn-press-profile-nav .tabs>li ul {
	margin: 0 !important;
	padding: 0;
}

body.learnpress-page.profile #learn-press-profile-nav .tabs>li.active ul {
	background: transparent;
}

body.learnpress-page.profile #learn-press-profile-nav .tabs>li.active ul li a {
	color: inherit;
	padding-left: 40px;
}

body.learnpress-page.profile #learn-press-profile-content {
	width: calc(100% - 250px);
}

body.learnpress-page.profile #learn-press-profile-nav .tabs>li.active ul li a:hover {
	color: #fff;
}

body.learnpress-page.profile #learn-press-profile-nav:before {
	background: #f9f9f9;
}

body.learnpress-page.profile #learn-press-profile-nav,
body.learnpress-page.profile #learn-press-profile-nav .tabs>li:hover:not(.active) ul {
	background: transparent;
	font-size: 15px;
	margin-top: -40px;
}

body.learnpress-page.profile .learn-press-form .form-fields {
	margin: 40px 0 0 0 !important;
}

body.learnpress-page.profile #learn-press-profile-nav .tabs>li:hover:not(.active) ul {
	background: #fff;
	border-radius: 5px;
	-webkit-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
	box-shadow: 0 5px 40px rgba(0, 0, 0, 0.15);
}

body.learnpress-page.profile #learn-press-profile-nav .tabs>li {
	margin-bottom: 5px;
}

body.learnpress-page.profile #learn-press-profile-nav .tabs>li.active>a {
	color: #fff;
	font-weight: 700;
	border-radius: 5px;
}

body.learnpress-page.profile #learn-press-profile-nav .tabs>li:hover a {
	border-radius: 5px;
}

body.learnpress-page.profile #learn-press-profile-content {
	margin-top: -120px;
}

body ul.learn-press-courses .course .course-thumbnail {
	margin-bottom: 20px;
}

body ul.learn-press-courses .course .course-title {
	font-weight: 700;
}

body ul.learn-press-courses .course {
	position: relative;
}

body ul.learn-press-courses .course .lp-course-buttons form button {
	display: none;
}

body ul.learn-press-courses .course .course-info .course-price .price {
	position: absolute;
	top: 12px;
	right: 12px;
	font-size: 13px;
	display: inline-block;
	background: #000;
	color: #fff;
	font-weight: 900;
	text-transform: uppercase;
	border-radius: 50%;
	width: 60px;
	text-align: center;
	line-height: 60px;
}

body ul.learn-press-courses .course .course-info .course-instructor {
	float: none;
	clear: both;
	margin-top: -20px;
}

ul.learn-press-courses .course .course-info .course-instructor:before {
	font: 16px/60px 'themify';
	content: "\e623";
	margin-right: 5px;
	vertical-align: middle;
}

body.learnpress-page #page-content-wrapper .lp-button {
	cursor: pointer;
}

body.learnpress-page #page-content-wrapper .order-recover input[name="order-key"] {
	width: 100%;
}

body.learnpress-page #page-content-wrapper .order-recover .lp-button {
	clear: both;
	margin-top: 15px;
}

.learnpress-page #learn-press-profile-basic-information p {
	padding: 0 !important;
}

.learnpress-page #learn-press-profile-basic-information button {
	cursor: pointer;
	margin-top: 30px;
	outline: none;
}

body.learnpress-page.profile #learn-press-profile-header {
	z-index: 2;
}

body .lp-avatar-preview .profile-picture {
	margin-top: 0;
}

body .learn-press-form .form-fields .form-field input[type="text"],
body .learn-press-form .form-fields .form-field input[type="email"],
body .learn-press-form .form-fields .form-field input[type="number"],
body .learn-press-form .form-fields .form-field input[type="password"],
body .learn-press-form .form-fields .form-field textarea {
	padding: 6px 10px 6px 10px;
}

body #page-content-wrapper p#lp-avatar-actions {
	padding: 0;
}

body #page-content-wrapper p#lp-avatar-actions button {
	padding: .6em 2.5em .6em 2.5em;
	cursor: pointer;
	outline: none;
}

body ul.learn-press-courses .course .course-title {
	line-height: 1.5em;
}

body #learn-press-profile-nav #profile-mobile-menu {
	font: 20px/60px 'themify';
	text-align: right;
}

body #learn-press-profile-nav #profile-mobile-menu.fa-bars:before {
	content: "\e60f";
}

#lp-archive-courses form.learn-press-search-course-form {
	margin: 10px 0 50px 0;
}

#lp-archive-courses ul.learn-press-courses .course,
#profile-content-courses ul.learn-press-courses .course {
	border-radius: 5px;
	overflow: hidden;
	background: #fff;
}

body ul.learn-press-courses .course .course-title {
	margin: 25px 25px 0 25px;
}

body ul.learn-press-courses .course .course-info {
	margin: 10px 25px 10px 25px;
}

body ul.learn-press-courses .course .lp-course-buttons {
	display: none;
}

body ul.learn-press-courses .course .course-thumbnail img {
	width: 100%;
}

body ul.learn-press-courses .course {
	width: 30.66%;
	margin: 0 4% 40px 0;
}

body ul.learn-press-courses .course:nth-child(3n) {
	margin-right: 0;
}

body .course-curriculum ul.curriculum-sections .section-content .course-item {
	background: transparent;
}

body.single-lp_course .fullwidth-comment-wrapper {
	width: 70%;
	margin: 0;
	margin: auto;
	float: none;
}

body.single-lp_course .fullwidth-comment-wrapper #respond.comment-respond {
	padding-top: 0;
	margin-bottom: 80px;
}

body.archive.post-type-archive-lp_course #page-content-wrapper {
	padding-bottom: 40px;
}

form[name="search-course"] .search-course-input::placeholder {
	opacity: 0.5;
}

body.tg-single-course-2 .single-course_sidebar {
	width: 33%;
	border-radius: 5px;
	background: #fff;
	float: right;
	-webkit-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: 0 5px 40px rgba(0, 0, 0, 0.05);
	box-shadow: 0 5px 40px rgba(0, 0, 0, 0.05);
	margin-top: 60px;
	overflow: hidden;
	padding: 5px;
	box-sizing: border-box;
	margin-bottom: 60px;
}

body.tg-single-course-2 .lp-single-course {
	float: left;
	width: 100%;
}

body.tg-single-course-2 .single-course_sidebar.has_image {
	margin-top: -300px;
	position: relative;
	z-index: 2;
}

body.tg-single-course-2 .single-course_sidebar.is_stuck {
	margin-top: 0;
	margin-bottom: 80px;
}

body.tg-single-course-2 .single-course_sidebar .single-course_info_wrapper {
	margin: 30px;
}

.single-course_price_wrapper {
	display: flex;
	align-items: center;
}

.single-course_price_wrapper .price {
	margin-left: 10px;
	font-size: 40px;
	font-weight: 900;
	letter-spacing: -1px;
}

.single-course_price_wrapper .origin-price {
	line-height: 20px;
	font-size: 18px;
	opacity: 0.5;
	text-decoration: line-through;
}

body.tg-single-course-1 .single-course_price_wrapper {
	float: right;
	text-align: right;
}

body.tg-single-course-1 .single-course_price_wrapper {
	font-size: 24px;
}

body.tg-single-course-1 .single-course_price_wrapper .single-course_price_wrapper .price {
	font-size: 16px;
}

body.tg-single-course-1 .single-course-join {
	margin-top: 0;
}

body.tg-single-course-3 .single-course-join {
	float: none;
	width: 100%;
	margin-top: 0;
	text-align: left;
}

body.tg-single-course-2 .single-course_sidebar .single-course-join {
	margin-bottom: 30px;
}

body.tg-single-course-2 .single-course_sidebar .single-course-include h4,
body.tg-single-course-3 .single-course-include h4 {
	font-size: 16px;
	margin-bottom: 20px;
}

.single-course-include .single-course-include_list {
	list-style: none;
	margin-top: 20px;
}

.single-course-include .single-course-include_list li {
	display: block;
	width: 100%;
	margin: 10px 0 10px 0;
}

.single-course-include .single-course-include_list li span {
	display: inline-block;
	width: calc(100% - 40px);
}

.single-course-include .single-course-include_list li span.single-course-include_icon {
	margin-right: 5px;
	width: 30px;
	vertical-align: top;
}

.single-course-include .single-course-include_list li span.single-course-include_icon img {
	width: auto;
	max-height: 22px;
	vertical-align: middle;
}

.single-course-include .single-course-include_list li span.single-course-include_icon span {
	font-size: 22px;
}

.dpsp-share-text {
	padding-bottom: 0 !important;
}

.single-course_info_wrapper .sidebar {
	margin-top: 30px;
	float: left;
}

.single-course_info_wrapper .sidebar .content ul.sidebar-widget {
	border-top: solid 1px #D8D8D8;
	padding-top: 30px !important;
	margin-bottom: 30px !important;
	float: left;
}

#learn-press-course-tabs .course-tab-panel .course-description ul {
	margin-left: 40px;
	margin-top: 10px;
}

#learn-press-course-tabs .course-tab-panel .course-description p {
	padding-bottom: 1.5em;
}

body.tg-single-course-3 .single-course-title {
	margin-bottom: 30px;
}

body.tg-single-course-3 #single-course-header {
	padding-bottom: 20px;
	padding-top: 40px;
}

body.tg-single-course-3 #learn-press-course {
	width: 100%;
}

body .course-review-wrapper .review-form {
	border-radius: 5px;
}

body .course-rate .review-bar .rating {
	border-radius: 5px;
	background: #a1a7b3;
	height: 20px;
}

body .course-rate .review-bar {
	border-radius: 5px;
	background: #f2f3f5;
	height: 20px;
	margin-left: 10px;
	margin-right: 10px;
	width: calc(100% - 160px);
}

body .course-rate>span.review-percent {
	top: -5px;
	position: relative;
	display: inline-block;
}

body .course-rate>.review-stars-rated {
	top: 3px;
	position: relative;
}

body.tg-single-course-1 .single-course-title>.review-stars-rated,
body.tg-single-course-2 .single-course-title>.review-stars-rated,
body.tg-single-course-3 .single-course-title>.review-stars-rated,
body.tg-single-course-4 .single-course-title>.review-stars-rated {
	top: 7px;
	position: relative;
}

.course_rate_summary {
	display: inline-block;
	width: 160px;
	height: 200px;
	vertical-align: top;
	text-align: center;
}

.course_rate_breakdown {
	display: inline-block;
	width: calc(100% - 180px);
}

.course_rate_summary .review-number {
	font-size: 72px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -2px;
}

.course_rate_summary .course_rating_title {
	margin-top: -10px;
}

body.single-lp_course .review-stars-rated .review-stars.empty,
body.single-lp_course .review-stars-rated .review-stars.filled {
	width: 100%;
}

h3.course-review-head {
	display: none;
}

body.single-lp_course .course-reviews-list li,
body.single-lp_course .course-reviews-list-shortcode li {
	background: transparent;
	border: 0;
	border-top: 1px solid #d8d8d8;
	padding-top: 40px;
	margin-top: 20px;
}

body.single-lp_course .course-reviews-list li .review-author {
	display: inline-block;
	width: 230px;
}

body.single-lp_course .course-reviews-list li .review-author img {
	width: 60px;
	height: auto;
	border-radius: 50px;
	display: inline-block;
	margin-right: 10px;
}

body.single-lp_course .course-reviews-list li .review-author .review-author-info {
	width: calc(100% - 80px);
	display: inline-block;
	vertical-align: top;
}

body.single-lp_course .course-reviews-list li .review-author .review-author-info h4 {
	font-size: 14px;
	margin-top: -2px;
}

body.single-lp_course .course-reviews-list li .review-text {
	display: inline-block;
	width: calc(100% - 250px);
}

body.single-lp_course .course-reviews-list li .user-name,
body.single-lp_course .course-reviews-list-shortcode li .user-name {
	margin: 0;
}

body.single-lp_course .review-time {
	opacity: 0.7;
}

#learn-press-course-tabs .course-tab-panel#tab-reviews {
	padding-bottom: 0;
}

body.single-lp_course #dpsp-content-bottom {
	margin-top: 2.5em;
}

body.single-lp_course .course-reviews-list li .review-title,
body.single-lp_course .course-reviews-list-shortcode li .review-title {
	font-size: 18px;
	font-style: normal;
	margin: 5px 0 10px 0;
}

.page-shop-categories-filter {
	display: inline-block;
	list-style: none;
	margin: auto;
	margin-top: 10px;
}

.page-shop-categories-filter li {
	display: inline-block;
	margin: 0 15px 0 15px;;
	font-size: 22px;
}

.page-shop-categories-filter li a {
	border-bottom: 2px solid transparent;
	padding-bottom: 5px;
}

.page-shop-categories-filter li a.active,
.page-shop-categories-filter li a:hover {
	border-bottom: 2px solid #000;
}


/**
*
*  Single course video preview code
*
**/

.video-grid-wrapper .video-card {
	position: relative;
	overflow: hidden;
	display: block;
	text-align: center;
	-webkit-border-top-left-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-topright: 5px;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.video-grid-wrapper .video-card .preview-video-title {
	width: 100%;
	position: absolute;
	bottom: 25px;
	left: 0;
	z-index: 4;
	color: #fff;
	font-weight: 900;
	text-align: center;
}

.video-grid-wrapper .video-card {
	border-radius: 0;
	line-height: 0;
}

.video-grid-wrapper .video-card:before {
	opacity: 1;
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 3;
	background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(50%, transparent), color-stop(56%, rgba(0, 0, 0, 0.1)), color-stop(93%, rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0.69)));
	background-image: -webkit-linear-gradient(transparent 0%, transparent 50%, rgba(0, 0, 0, 0.1) 56%, rgba(0, 0, 0, 0.6) 93%, rgba(0, 0, 0, 0.69) 100%);
	background-image: linear-gradient(transparent 0%, transparent 50%, rgba(0, 0, 0, 0.1) 56%, rgba(0, 0, 0, 0.6) 93%, rgba(0, 0, 0, 0.69) 100%);
}

.video-grid-wrapper .video-card:hover .video-card-image {
	-webkit-transform: scale(1.06);
	transform: scale(1.06);
	transition: -webkit-transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms;
	transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms;
	transition: transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms, -webkit-transform 500ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms;
}

.video-grid-wrapper .video-card .video-card-image {
	width: 100%;
	height: 100%;
	-webkit-transform: scale(1);
	transform: scale(1);
	transition: -webkit-transform 700ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms;
	transition: transform 700ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms;
	transition: transform 700ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms, -webkit-transform 700ms cubic-bezier(0.165, 0.84, 0.44, 1) 0ms;
}

.video-grid-wrapper .video-iframe-wrapper {
	display: none;
}

.video-grid-wrapper .video-iframe-container {
	background: #000;
	display: flex;
	align-items: center;
}

.video-grid-wrapper .video-iframe-container .video-container {
	width: 100%;
	margin: 0;
}

body.tg-single-course-3 .video-grid-wrapper {
	float: left;
	width: 70%;
}

body.tg-single-course-3 .single-course-include {
	float: right;
	width: 25%;
}

body.tg-single-course-3 .video-grid-wrapper .video-card {
	border-radius: 5px;
}


/**
*
*  End single course video preview code
*
**/


/**
*
*  Teacher profile code
*
**/

body.learnpress-page.profile .tg-three-cols,
body.single.single-lp_course .tg-three-cols {
	margin-right: 3.5%;
}

body.learnpress-page.profile .tg-three-cols.last,
body.single.single-lp_course .tg-three-cols.last {
	margin-right: 0;
}

body.learnpress-page.profile .tg-four-cols,
body.single.single-lp_course .tg-four-cols {
	margin-right: 2.5%;
}

body.learnpress-page.profile .tg-four-cols.last,
body.single.single-lp_course .tg-four-cols.last {
	margin-right: 0;
}

body.learnpress-page.profile .profile-avatar {
	display: inline-block;
	margin-right: 20px;
}

body.learnpress-page.profile .profile-avatar img {
	border-radius: 50%;
	width: 90px;
	height: auto;
}

body.learnpress-page.profile .profile-name {
	display: inline-block;
	height: 90px;
	vertical-align: top;
}

body.learnpress-page.profile .profile-name h1 {
	line-height: 90px !important;
}

body.learnpress-page.profile .profile-description {
	font-size: 18px;
	margin-top: 10px;
	width: 60%;
}

body.learnpress-page.profile .profile-course-count {
	margin-top: 30px;
	border-radius: 5px;
	background: #57B957;
	color: #fff;
	display: inline-block;
}

body.learnpress-page.profile .profile-course-count span.ti-agenda {
	padding-right: 15px;
	margin: 8px 0 8px 15px;
	display: inline-block;
}

body.learnpress-page.profile .profile-course-count span.profile-course-count-number {
	font-weight: 700;
	background: #FF6D3F;
	padding: 8px 15px 8px 15px;
	display: inline-block;
	-webkit-border-top-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-radius-topright: 5px;
	-moz-border-radius-bottomright: 5px;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

body.learnpress-page.profile #wrapper {
	background: #f9f9f9 !important;
}

body.learnpress-page.profile:not(.checkout) .course-grid-container {
	margin-top: 60px;
	margin-bottom: 30px;
}

body.learnpress-page.profile .course-grid-container.hidden {
	display: none;
}

body.learnpress-page.checkout #page-content-wrapper .inner .sidebar-content.fullwidth {
	padding-top: 60px;
}

body.learnpress-page.checkout #learn-press-checkout-login,
body.learnpress-page.checkout #learn-press-checkout-register {
	width: 48%;
	float: left;
	box-sizing: border-box;
	border-radius: 5px;
	display: inline-block;
	padding: 40px;
}

body.learnpress-page.checkout #learn-press-checkout-register {
	margin-left: 4%;
}

.learn-press-form .form-fields {
	margin-left: 0 !important;
}

body.learnpress-page.profile .course-grid-container .portfolio-classic-grid-wrapper.tg-two-cols .card-title,
body.single.single-lp_course .course-grid-container .portfolio-classic-grid-wrapper.tg-two-cols .card-title {
	font-size: 22px;
}

body.learnpress-page.profile .course-grid-container .portfolio-classic-grid-wrapper.tg-three-cols .card-title,
body.single.single-lp_course .course-grid-container .portfolio-classic-grid-wrapper.tg-three-cols .card-title {
	font-size: 18px;
}

body.learnpress-page.profile .course-grid-container .portfolio-classic-grid-wrapper.tg-four-cols .card-title,
body.single.single-lp_course .course-grid-container .portfolio-classic-grid-wrapper.tg-four-cols .card-title {
	font-size: 16px;
}

.tooltip-templates {
	display: none;
}

body .tooltipster-sidetip.tooltipster-shadow .tooltipster-content ul {
	margin-left: 20px !important;
}

body .tooltipster-sidetip.tooltipster-shadow .tooltipster-content ul li {
	margin: 10px 0 10px 0 !important;
}

body .tooltipster-sidetip.tooltipster-shadow .tooltipster-content ul li:last-child {
	margin-bottom: 0 !important;
}

body .tooltipster-sidetip.tooltipster-shadow .tooltipster-content h5 {
	font-size: 16px;
	margin-bottom: 5px;
}

body .tooltipster-sidetip.tooltipster-shadow .tooltipster-content .course-tooltip-content {
	margin: 20px 5px 20px 5px;
	box-sizing: border-box;
}

.course-grid-container .grid-template2 .card-info .card-meta-wrapper-half .card-price {
	font-size: 20px;
	font-weight: 900;
}


/*
	Begin CSS for course-grid
*/

.course-grid-container .portfolio-classic-grid-wrapper .card-img {
	visibility: hidden;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 235px;
}

.course-grid-container .portfolio-classic-grid-wrapper.tg-three-cols .card-img {
	height: 200px;
}

.course-grid-container .portfolio-classic-grid-wrapper.tg-four-cols .card-img {
	height: 180px;
}

.course-grid-container .grid-template1 .portfolio-classic-grid-wrapper .card-price {
	position: absolute;
	top: 200px;
	right: 15px;
	font-size: 13px;
	display: inline-block;
	background: #3d64ff;
	color: #fff;
	font-weight: 900;
	text-transform: uppercase;
	border-radius: 50%;
	width: 60px;
	text-align: center;
	line-height: 60px !important;
	z-index: 2;
	transition: all .21s cubic-bezier(.5, .5, .4, .9);
}

.course-grid-container .grid-template1 .portfolio-classic-grid-wrapper.tg-three-cols .card-price {
	top: 160px;
}

.course-grid-container .grid-template1 .portfolio-classic-grid-wrapper.tg-four-cols .card-price {
	top: 145px;
}

.course-grid-container .grid-template3 .portfolio-classic-grid-wrapper .card-price {
	position: absolute;
	top: 15px;
	right: 15px;
	font-size: 13px;
	display: inline-block;
	background: #3d64ff;
	color: #fff;
	font-weight: 900;
	border-radius: 5px;
	text-align: center;
	z-index: 2;
	padding: 5px 10px 5px 10px;
}

.course-grid-container .grid-template1 .portfolio-classic-grid-wrapper:hover .card-price {
	-ms-transform: scale(1.2) translateY(-10px);
	-moz-transform: scale(1.2) translateY(-10px);
	-o-transform: scale(1.2) translateY(-10px);
	-webkit-transform: scale(1.2) translateY(-10px);
	transform: scale(1.2) translateY(-10px);
}

.course-grid-container .portfolio-classic-grid-wrapper .card-info-hover {
	position: absolute;
	padding: 16px;
	width: 100%;
	opacity: 0;
	top: 0;
}

.course-grid-container .portfolio-classic-grid-wrapper .card-img--hover {
	transition: 0.2s all ease-out;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	position: absolute;
	height: 235px;
	top: 0;
}

.course-grid-container .portfolio-classic-grid-wrapper.tg-three-cols .card-img--hover {
	height: 200px;
}

.course-grid-container .portfolio-classic-grid-wrapper.tg-four-cols .card-img--hover {
	height: 180px;
}

.course-grid-container .portfolio-classic-grid-wrapper {
	transition: all .2s cubic-bezier(0.175, 0.885, 0, 1);
	background-color: #fff;
	position: relative;
	overflow: hidden;
	border-radius: 5px;
	border: 1px solid #fff;
}

.course-grid-container .has-no-space .portfolio-classic-grid-wrapper {
	border-radius: 0 !important;
}

.course-grid-container .portfolio-classic-grid-wrapper:not(.nohover):hover {
	background-color: #000 !important;
}

.course-grid-container .portfolio-classic-grid-wrapper .card-info {
	z-index: 2;
	background-color: #fff;
}

.course-grid-container .portfolio-classic-grid-wrapper .card-title {
	margin-bottom: 10px;
	font-size: 20px;
	padding: 25px 20px 0 20px;
}

.course-grid-container .grid-template2 .portfolio-classic-grid-wrapper .card-title {
	padding-top: 20px;
}

.course-grid-container .portfolio-classic-grid-wrapper .card-rating {
	padding: 0 20px 10px 20px;
}

.course-grid-container .portfolio-classic-grid-wrapper .card-meta-wrapper {
	padding: 0 20px 15px 20px;
	text-align: center;
	border-top: 1px solid #D8D8D8;
}

.course-grid-container .grid-template3 .portfolio-classic-grid-wrapper .card-meta-wrapper {
	border: 0;
	margin-top: -20px;
}

.course-grid-container .portfolio-classic-grid-wrapper .card-excerpt {
	padding: 0 20px 15px 20px;
}

.course-grid-container .portfolio-classic-grid-wrapper .card-excerpt p {
	padding: 0 !important;
}

.course-grid-container .portfolio-classic-grid-wrapper:not(.nohover):hover .card-img--hover {
	height: 100% !important;
	opacity: 0.5;
}

.course-grid-container .portfolio-classic-grid-wrapper:not(.nohover):hover .card-meta-wrapper {
	border-color: rgba(256, 256, 256, 0.3) !important;
}

.course-grid-container .portfolio-classic-grid-wrapper:not(.nohover):hover .card-info {
	background-color: transparent !important;
	position: relative;
	color: #fff !important;
}

.course-grid-container .portfolio-classic-grid-wrapper:not(.nohover):hover .card-info .card-meta,
.course-grid-container .portfolio-classic-grid-wrapper:not(.nohover):hover .card-info .card-date,
.course-grid-container .portfolio-classic-grid-wrapper:not(.nohover):hover .card-info .card-excerpt,
.course-grid-container .portfolio-classic-grid-wrapper:not(.nohover):hover .card-info .card-price {
	color: #fff !important;
}

.course-grid-container .portfolio-classic-grid-wrapper:not(.nohover):hover a {
	color: #fff !important;
}

.course-grid-container .portfolio-classic-grid-wrapper:not(.nohover):hover .card-info-hover {
	opacity: 1;
}

.course-grid-container .portfolio-classic-grid-wrapper .card-info .card-date {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
}

.course-grid-container .portfolio-classic-grid-wrapper .card-info .card-excerpt {
	margin-bottom: 15px;
}

.course-grid-container .portfolio-classic-grid-wrapper .card-info .card-meta {
	margin-top: 15px;
	font-weight: 900;
	font-size: 13px;
	display: inline-block;
	margin-right: 20px;
}

body.elementor-page form.learn-press-search-course-form {
	margin-bottom: 60px;
}

body.elementor-page form.learn-press-search-course-form .lp-button {
	padding: .7em 2.5em .6em 2.5em;
	top: 0;
	border-radius: 0;
	-webkit-border-top-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-radius-topright: 5px;
	-moz-border-radius-bottomright: 5px;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

.portfolio-classic-grid-wrapper .review-stars-rated {
	width: 90px;
	position: relative;
	display: inline-block;
}

.portfolio-classic-grid-wrapper .review-stars-rated .review-stars.empty,
.portfolio-classic-grid-wrapper .review-stars-rated .review-stars.filled {
	width: 120px;
	height: 24px;
	font-family: dashicons;
	font-size: 18px;
	color: #f2b827;
}

.portfolio-classic-grid-wrapper .review-stars-rated .review-stars.filled {
	position: absolute;
	top: 0;
	left: 0;
}

.portfolio-classic-grid-wrapper .review-stars {
	margin: 0 0;
	list-style: none;
	overflow: hidden;
}

.portfolio-classic-grid-wrapper .review-stars-rated .review-stars.empty:before,
.portfolio-classic-grid-wrapper .review-stars-rated .review-stars.filled:before {
	content: '\f154\f154\f154\f154\f154';
	line-height: 1;
	vertical-align: top;
	white-space: nowrap;
}

.portfolio-classic-grid-wrapper .review-stars-rated .review-stars.filled:before {
	content: '\f155\f155\f155\f155\f155';
}

.portfolio-classic-grid-wrapper .review-stars-rated .review-stars:after,
.portfolio-classic-grid-wrapper .review-stars-rated .review-stars:after {
	clear: both;
	content: '';
	display: block;
}

.portfolio-classic-grid-wrapper .card-rating-total {
	display: inline-block;
	position: relative;
	top: -10px;
	font-size: 13px;
}

.course-grid-container .grid-template3 .card-info .card-title-wrapper {
	padding: 0;
	box-sizing: border-box;
	width: calc(100% - 30px);
	margin: auto;
	border-radius: 5px;
	box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.05);
	position: relative;
	z-index: 3;
	top: -30px;
	background: #fff;
}

.course-grid-container .grid-template3 .portfolio-classic-grid-wrapper:not(.nohover):hover .card-info .card-title-wrapper {
	background: rgba(0, 0, 0, 0.4) !important;
}

.course-grid-container .grid-template2 .card-info .card-meta-wrapper.two-cols {
	float: left;
	width: 100%;
	padding: 20px 20px 20px 20px;
	text-align: left;
}

.course-grid-container .grid-template2 .card-info .card-meta-wrapper-half {
	width: 50%;
	float: left;
}

.course-grid-container .grid-template2 .portfolio-classic-grid-wrapper .card-info .card-meta {
	margin: 0;
}

.course-grid-container .grid-template2 .card-info .card-meta-wrapper-half .card-price {
	background: transparent !important;
}

.course-grid-container .grid-template2 .card-info .card-meta-wrapper {
	padding: 20px 20px 20px 20px;
	text-align: left;
}

.course-grid-container .grid-template2 .card-info .card-meta-wrapper h5 {
	font-size: 12px;
}

.tooltip-templates {
	display: none;
}

body .tooltipster-sidetip.tooltipster-shadow .tooltipster-content ul {
	margin-left: 20px !important;
}

body .tooltipster-sidetip.tooltipster-shadow .tooltipster-content ul li {
	margin: 10px 0 10px 0 !important;
}

body .tooltipster-sidetip.tooltipster-shadow .tooltipster-content ul li:last-child {
	margin-bottom: 0 !important;
}

body .tooltipster-sidetip.tooltipster-shadow .tooltipster-content h5 {
	font-size: 16px;
	margin-bottom: 5px;
}

body .tooltipster-sidetip.tooltipster-shadow .tooltipster-content .course-tooltip-content {
	margin: 20px 5px 20px 5px;
	box-sizing: border-box;
}

body.single.single-lp_course .course-grid-container {
	margin: auto;
	margin-bottom: 20px;
}

body.tg-single-course-1.single.single-lp_course .course-grid-container {
	margin-bottom: 20px;
}

.course-grid-container-header {
	text-align: center;
	margin-bottom: 30px;
}

body.tg-single-course-2 .course-grid-container-header {
	text-align: left;
}

#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td a.ui-state-active,
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td a.ui-state-active:hover,
body #booked-profile-page input[type="submit"].button-primary:hover,
body .booked-list-view button.button:hover,
body .booked-list-view input[type="submit"].button-primary:hover,
body table.booked-calendar input[type="submit"].button-primary:hover,
body .booked-modal input[type="submit"].button-primary:hover,
body table.booked-calendar th,
body table.booked-calendar thead,
body table.booked-calendar thead th,
body table.booked-calendar .booked-appt-list .timeslot .timeslot-people button:hover,
body #booked-profile-page .booked-profile-header,
body #booked-profile-page .booked-tabs li.active a,
body #booked-profile-page .booked-tabs li.active a:hover,
body #booked-profile-page .appt-block .google-cal-button > a:hover,
#ui-datepicker-div.booked_custom_date_picker .ui-datepicker-header {
    background: #000000 !important;
}
body #booked-profile-page input[type="submit"].button-primary:hover,
body table.booked-calendar input[type="submit"].button-primary:hover,
body .booked-list-view button.button:hover,
body .booked-list-view input[type="submit"].button-primary:hover,
body .booked-modal input[type="submit"].button-primary:hover,
body table.booked-calendar th,
body table.booked-calendar .booked-appt-list .timeslot .timeslot-people button:hover,
body #booked-profile-page .booked-profile-header,
body #booked-profile-page .appt-block .google-cal-button > a:hover {
    border-color: #000000 !important;
}
body table.booked-calendar tr.days,
body table.booked-calendar tr.days th,
body .booked-calendarSwitcher.calendar,
body #booked-profile-page .booked-tabs,
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar thead,
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar thead th {
    background: #000000 !important;
}
body table.booked-calendar tr.days th,
body #booked-profile-page .booked-tabs {
    border-color: #000000 !important;
}
#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td.ui-datepicker-today a,#ui-datepicker-div.booked_custom_date_picker table.ui-datepicker-calendar tbody td.ui-datepicker-today a:hover,body #booked-profile-page input[type=submit].button-primary,body table.booked-calendar input[type=submit].button-primary,body .booked-list-view button.button, body .booked-list-view input[type=submit].button-primary,body .booked-list-view button.button, body .booked-list-view input[type=submit].button-primary,body .booked-modal input[type=submit].button-primary,body table.booked-calendar .booked-appt-list .timeslot .timeslot-people button,body #booked-profile-page .booked-profile-appt-list .appt-block.approved .status-block,body #booked-profile-page .appt-block .google-cal-button > a,body .booked-modal p.booked-title-bar,body table.booked-calendar td:hover .date span,body .booked-list-view a.booked_list_date_picker_trigger.booked-dp-active,body .booked-list-view a.booked_list_date_picker_trigger.booked-dp-active:hover,.booked-ms-modal .booked-book-appt /* Multi-Slot Booking */ {
    background: #000000;
}
body #booked-profile-page input[type="submit"].button-primary,
body table.booked-calendar input[type="submit"].button-primary,
body .booked-list-view button.button,
body .booked-list-view input[type="submit"].button-primary,
body .booked-list-view button.button,
body .booked-list-view input[type="submit"].button-primary,
body .booked-modal input[type="submit"].button-primary,
body #booked-profile-page .appt-block .google-cal-button > a,
body table.booked-calendar .booked-appt-list .timeslot .timeslot-people button,
body .booked-list-view a.booked_list_date_picker_trigger.booked-dp-active,
body .booked-list-view a.booked_list_date_picker_trigger.booked-dp-active:hover {
    border-color: #000000;
}
body .booked-modal .bm-window p i.fa,
body .booked-modal .bm-window a,
body .booked-appt-list .booked-public-appointment-title,
body .booked-modal .bm-window p.appointment-title,
.booked-ms-modal.visible:hover .booked-book-appt {
    color: #000000;
}
.booked-appt-list .timeslot.has-title .booked-public-appointment-title {
    color: inherit;
}

@font-face {
    font-family: "bebas_neuebold";
    src: url(../fonts/bebasneue-bold-webfont.woff) format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap; /* show text in the fallback while the font loads (Oct 2026) */
}

@font-face {
    font-family: arkipelagoregular;
    src: url(../fonts/arkipelago-webfont.woff2) format("woff2"), url(../fonts//arkipelago-webfont.woff) format("woff");
    font-display: swap; /* was auto (invisible text while loading) — Oct 2026 */
}

#right-click-content {
    background: rgba(0, 0, 0, 0.5);
    color: #ffffff;
}
body,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="tel"],
input.wpcf7-text,
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce-page table.cart td.actions .coupon .input-text,
.woocommerce #content table.cart td.actions .coupon .input-text,
.woocommerce-page #content table.cart td.actions .coupon .input-text,
select,
textarea,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button,
.ui-widget label,
.ui-widget-header,
.zm_alr_ul_container {
    font-family: Roboto;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    text-transform: none;
}
h1,
h2,
h3,
h4,
h5,
h6,
h7,
.post_quote_title,
strong[itemprop="author"],
#page-content-wrapper .posts.blog li a,
.page-content-wrapper .posts.blog li a,
#filter_selected,
blockquote,
.sidebar-widget li.widget_products,
#footer ul.sidebar-widget li ul.posts.blog li a,
.woocommerce-page table.cart th,
table.shop_table thead tr th,
.testimonial_slider_content,
.pagination,
.pagination-detail,
.craftcoffee-portfolio-filter-wrapper a.filter-tag-btn,
.portfolio-coverflow .swiper-slide .swiper-content .article .article-preview .controls label,
.portfolio-timeline-vertical-content-wrapper .timeline .swiper-pagination-bullet,
.elementor-tab-title,
.testimonials-card-wrapper .owl-carousel .testimonial-name,
.post-navigation.previous .navigation-anchor,
.post-navigation.next .navigation-anchor,
.slick-vertical .slick-slide {
    font-family: bebas_neuebold;
    font-weight: 400;
    letter-spacing: 0.5px;
    line-height: 1.7;
    text-transform: uppercase;
}
h1 {
    font-size: 40px;
}
h2 {
    font-size: 38px;
}
h3 {
    font-size: 36px;
}
h4 {
    font-size: 34px;
}
h5 {
    font-size: 32px;
}
h6 {
    font-size: 30px;
}
body,
#wrapper,
#page-content-wrapper.fixed,
#gallery_lightbox h2,
.slider_wrapper .gallery_image_caption h2,
#body_loading_screen,
h3#reply-title span,
.overlay_gallery_wrapper,
.pagination a,
#captcha-wrap .text-box input,
.flex-direction-nav a,
.blog_promo_title h6,
#supersized li,
#horizontal_gallery_wrapper .image_caption,
body.password-protected #page-content-wrapper .inner .inner-wrapper .sidebar-content,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"],
#single-course-meta,
#woocommerce-mini-cart-flyout {
    background-color: #fffbf2;
}
body,
.pagination a,
#gallery_lightbox h2,
.slider_wrapper .gallery_image_caption h2,
.post_info a,
#page-content-wrapper.split #copyright,
.page-content-wrapper.split #copyright,
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
.woocommerce-MyAccount-navigation ul a,
.post-navigation.previous .navigation-anchor,
.post-navigation.next .navigation-anchor {
    color: #000000;
}
::selection,
.verline {
    background-color: #000000;
}
::-webkit-input-placeholder {
    color: #000000;
}
::-moz-placeholder {
    color: #000000;
}
:-ms-input-placeholder {
    color: #000000;
}
a,
.gallery_proof_filter ul li a,
#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss ul li cite,
#footer-wrapper ul.sidebar-widget li.widget_rss ul li cite,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li a {
    color: #000000;
}
.flex-control-paging li a.flex-active,
.post-attribute a:before,
#menu-wrapper .nav ul li a:before,
#menu-wrapper div .nav li > a:before,
.post-attribute a:before,
a.continue-reading:before,
a.continue-reading:after,
a.continue-reading span:before,
a.continue-reading span:after {
    background-color: #000000;
}
.flex-control-paging li a.flex-active,
.image_boxed_wrapper:hover,
.gallery_proof_filter ul li a.active,
.gallery_proof_filter ul li a:hover {
    border-color: #000000;
}
a:hover,
a:active,
.post_info_comment a i,
#commentform .required,
#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss ul li .rss-date {
    color: #000000;
}
input[type="button"]:hover,
input[type="submit"]:hover,
a.button:hover,
.button:hover,
.button.submit,
a.button.white:hover,
.button.white:hover,
a.button.white:active,
.button.white:active,
#menu-wrapper .nav ul li a:hover:before,
#menu-wrapper div .nav li > a:hover:before,
.post-attribute a:hover:before {
    background-color: #000000;
}
input[type="button"]:hover,
input[type="submit"]:hover,
a.button:hover,
.button:hover,
.button.submit,
a.button.white:hover,
.button.white:hover,
a.button.white:active,
.button.white:active,
.sidebar-widget li.widget_recent_comments ul li.recentcomments a:hover {
    border-color: #000000;
}
h1,
h2,
h3,
h4,
h5,
h6,
h7,
pre,
code,
tt,
blockquote,
.post-header h5 a,
.post-header h3 a,
.post-header.grid h6 a,
.post-header.fullwidth h4 a,
.post-header h5 a,
blockquote,
.site_loading_logo_item i,
.ppb_subtitle,
.woocommerce .woocommerce-ordering select,
.woocommerce.columns-4 ul.products li.product a.add_to_cart_button,
.woocommerce.columns-4 ul.products li.product a.add_to_cart_button:hover,
.ui-accordion .ui-accordion-header a,
.tabs .ui-state-active a,
.post-header h5 a,
.post-header h6 a,
.flex-direction-nav a:before,
.social_share_button_wrapper .social_post_view .view_number,
.social_share_button_wrapper .social_post_share_count .share_number,
.portfolio_post_previous a,
.portfolio_post_next a,
#filter_selected,
#autocomplete li strong,
.themelink,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .ui-dialog-titlebar .ui-dialog-title,
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .ui-dialog-titlebar .ui-dialog-title {
    color: #000000;
}
body.page.page-template-gallery-archive-split-screen-php #fp-nav li .active span,
body.tax-gallerycat #fp-nav li .active span,
body.page.page-template-portfolio-fullscreen-split-screen-php #fp-nav li .active span,
body.page.tax-portfolioset #fp-nav li .active span,
body.page.page-template-gallery-archive-split-screen-php #fp-nav ul li a span,
body.tax-gallerycat #fp-nav ul li a span,
body.page.page-template-portfolio-fullscreen-split-screen-php #fp-nav ul li a span,
body.page.tax-portfolioset #fp-nav ul li a span {
    background-color: #000000;
}
hr,
.post.type-post,
.comment .right,
.widget_tag_cloud div a,
.meta-tags a,
.tag_cloud a,
#footer,
#post_more_wrapper,
#page-content-wrapper .inner .sidebar-content,
#page-content-wrapper .inner .sidebar-content.left-sidebar,
.ajax_close,
.ajax_next,
.ajax_prev,
.portfolio_next,
.portfolio_prev,
.portfolio_next_prev_wrapper.video .portfolio_prev,
.portfolio_next_prev_wrapper.video .portfolio_next,
.separated,
.blog_next_prev_wrapper,
#post_more_wrapper h5,
#ajax_portfolio_wrapper.hidding,
#ajax_portfolio_wrapper.visible,
.tabs.vertical .ui-tabs-panel,
.ui-tabs.vertical.right .ui-tabs-nav li,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce-page div.product .woocommerce-tabs .panel,
.woocommerce #content div.product .woocommerce-tabs .panel,
.woocommerce-page #content div.product .woocommerce-tabs .panel,
.woocommerce table.shop_table,
.woocommerce-page table.shop_table,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals,
.woocommerce .cart-collaterals .shipping_calculator,
.woocommerce-page .cart-collaterals .shipping_calculator,
.woocommerce .cart-collaterals .cart_totals tr td,
.woocommerce .cart-collaterals .cart_totals tr th,
.woocommerce-page .cart-collaterals .cart_totals tr td,
.woocommerce-page .cart-collaterals .cart_totals tr th,
table tr th,
table tr td,
.woocommerce #payment,
.woocommerce-page #payment,
.woocommerce #payment ul.payment_methods li,
.woocommerce-page #payment ul.payment_methods li,
.woocommerce #payment div.form-row,
.woocommerce-page #payment div.form-row,
.ui-tabs li:first-child,
.ui-tabs .ui-tabs-nav li,
.ui-tabs.vertical .ui-tabs-nav li,
.ui-tabs.vertical.right .ui-tabs-nav li.ui-state-active,
.ui-tabs.vertical .ui-tabs-nav li:last-child,
#page-content-wrapper .inner .sidebar-wrapper ul.sidebar-widget li.widget_nav_menu ul.menu li.current-menu-item a,
.page-content-wrapper .inner .sidebar-wrapper ul.sidebar-widget li.widget_nav_menu ul.menu li.current-menu-item a,
.ui-accordion .ui-accordion-header,
.ui-accordion .ui-accordion-content,
#page-content-wrapper .sidebar .content .sidebar-widget li h2.widgettitle:before,
h2.widgettitle:before,
#autocomplete,
.ppb_blog_minimal .one-third_bg,
.tabs .ui-tabs-panel,
.ui-tabs .ui-tabs-nav li,
.ui-tabs li:first-child,
.ui-tabs.vertical .ui-tabs-nav li:last-child,
.woocommerce .woocommerce-ordering select,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page table.cart th,
table.shop_table thead tr th,
hr.title_break,
.overlay_gallery_border,
#page-content-wrapper.split #copyright,
.page-content-wrapper.split #copyright,
.post.type-post,
.events.type-events,
h5.event_title,
.post-header h5.event_title,
.client_archive_wrapper,
#page-content-wrapper .sidebar .content .sidebar-widget li.widget,
.page-content-wrapper .sidebar .content .sidebar-widget li.widget,
hr.title_break.bold,
blockquote,
.social_share_button_wrapper,
.social_share_button_wrapper,
body:not(.single) .post-wrapper,
.theme-border,
#about-the-author,
.related.products,
.woocommerce div.product div.summary .product_meta,
#single-course-meta ul.single-course-meta-data li.single-course-meta-data-separator,
body .course-curriculum ul.curriculum-sections .section-header,
.course-reviews-list li,
.course-reviews-list-shortcode li,
.wp-block-table,
.wp-block-table td,
.wp-block-table th,
.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th,
table,
.widget_categories ul > li,
.widget_pages ul > li,
.widget_archive ul > li,
#page-content-wrapper .sidebar .content .sidebar-widget li h2.widgettitle:before,
h2.widgettitle:before,
#page-content-wrapper .sidebar .content .sidebar-widget li h2.widgettitle:after,
h2.widgettitle:after,
.woocommerce table.shop_table tbody tr.cart_item td,
.comment,
.woocommerce-page div.product .woocommerce-tabs,
.woocommerce-variation-add-to-cart,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.sticky .post-wrapper,
body:not(.single) .post.sticky:first-child .post-wrapper,
#wp-calendar,
.woocommerce table.shop_table_responsive tbody tr:first-child td:first-child,
.woocommerce-page table.shop_table_responsive tbody tr:first-child td:first-child {
    border-color: #000000;
}
input[type="submit"],
input[type="button"],
a.button,
.button,
.woocommerce .page_slider a.button,
a.button.fullwidth,
.woocommerce-page div.product form.cart .button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="submit"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="submit"],
.select2-container--default .select2-selection--single {
    font-family: Roboto;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    text-transform: none;
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="date"],
textarea {
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="date"],
textarea,
.widget_search form,
.widget_search input.search-field {
    background-color: #fffbf2;
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="date"],
textarea.widget_search input.search-field {
    color: #000000;
}
input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="date"],
textarea,
.select2-container--default .select2-selection--single,
.select2-dropdown,
.widget_search form {
    border-color: #000000;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="date"]:focus,
textarea:focus,
.widget_search form.focus {
    border-color: #c7a17a;
}
.input-effect ~ .focus-border {
    background-color: #c7a17a;
}
input[type="submit"],
input[type="button"],
a.button,
.button,
.woocommerce .page_slider a.button,
a.button.fullwidth,
.woocommerce-page div.product form.cart .button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="submit"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="submit"],
body.learnpress-page #page-content-wrapper .order-recover .lp-button,
.learnpress-page #learn-press-profile-basic-information button,
body #page-content-wrapper p#lp-avatar-actions button,
.learnpress-page #profile-content-settings form button[type="submit"],
button,
.woocommerce #respond input#submit,
.elementor-widget-button,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li a {
    font-family: bebas_neuebold;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1.6;
    text-transform: uppercase;
}
input[type="submit"],
input[type="button"],
a.button,
.button,
.woocommerce .page_slider a.button,
a.button.fullwidth,
.woocommerce-page div.product form.cart .button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="submit"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="submit"],
a#go-to-top,
.pagination span,
.widget_tag_cloud div a,
.pagination a,
.pagination span,
body.learnpress-page #page-content-wrapper .order-recover .lp-button,
.learnpress-page #learn-press-profile-basic-information button,
body #page-content-wrapper p#lp-avatar-actions button,
.learnpress-page #profile-content-settings form button[type="submit"],
.learnpress-page #page-content-wrapper .lp-button,
button,
.woocommerce #respond input#submit,
.widget_product_tag_cloud a,
.woocommerce #page-content-wrapper a.button {
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
}
input[type="submit"],
input[type="button"],
a.button,
.button,
.pagination a:hover,
.woocommerce .footer-main-container .button,
.woocommerce .footer-main-container .button:hover,
.woocommerce-page div.product form.cart .button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.post-type-icon,
.filter li a:hover,
.filter li a.active,
#portfolio_wall_filters li a.active,
#portfolio_wall_filters li a:hover,
.comment_box,
.one-half.gallery2 .portfolio_type_wrapper,
.one-third.gallery3 .portfolio_type_wrapper,
.one_fourth.gallery4 .portfolio_type_wrapper,
.one_fifth.gallery5 .portfolio_type_wrapper,
.portfolio_type_wrapper,
.widget_tag_cloud div a:hover,
.ui-accordion .ui-accordion-header .ui-icon,
.mobile-menu-wrapper #mobile-menu-close.button,
.mobile-menu-wrapper #btn-close-mobile-menu,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="submit"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="submit"],
.learnpress-page #page-content-wrapper .lp-button,
.learnpress-page #learn-press-profile-basic-information button,
.learnpress-page #profile-content-settings form button[type="submit"],
button,
.widget_search input#searchsubmit:hover,
#wp-calendar thead th,
#page-content-wrapper .sidebar .content .sidebar-widget li.widget_categories .cat-count,
.widget_categories .cat-count,
#page-content-wrapper .sidebar .content .sidebar-widget li.widget_archive .archive-count,
.widget_archive .archive-count,
.woocommerce #respond input#submit,
.widget_product_tag_cloud a:hover,
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce-page .widget_price_filter .ui-slider .ui-slider-range,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce-page .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce .widget_price_filter .price_slider_amount .button,
.woocommerce-page .widget_price_filter .price_slider_amount .button,
.woocommerce #page-content-wrapper a.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background-color: #000000;
}
.pagination span,
.pagination a:hover,
.button.ghost,
.button.ghost:hover,
.button.ghost:active,
blockquote:after,
.woocommerce-MyAccount-navigation ul li.is-active,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="submit"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="submit"],
.learnpress-page #page-content-wrapper .lp-button,
.learnpress-page #learn-press-profile-basic-information button,
.learnpress-page #profile-content-settings form button[type="submit"],
.widget_search input#searchsubmit:hover,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce-page .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    border-color: #000000;
}
.comment_box:before,
.comment_box:after {
    border-top-color: #000000;
}
.button.ghost,
.button.ghost:hover,
.button.ghost:active,
.infinite_load_more,
blockquote:before,
.woocommerce-MyAccount-navigation ul li.is-active a,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="submit"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="submit"],
#page-content-wrapper .inner .sidebar-wrapper .sidebar-widget li.widget_recent_comments ul li.recentcomments a:not(.url),
.woocommerce-page .price_slider_amount .price_label {
    color: #000000;
}
input[type="submit"],
input[type="button"],
a.button,
.button,
.pagination a:hover,
.woocommerce .footer-main-container .button,
.woocommerce .footer-main-container .button:hover,
.woocommerce-page div.product form.cart .button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.post-type-icon,
.filter li a:hover,
.filter li a.active,
#portfolio_wall_filters li a.active,
#portfolio_wall_filters li a:hover,
.comment_box,
.one-half.gallery2 .portfolio_type_wrapper,
.one-third.gallery3 .portfolio_type_wrapper,
.one_fourth.gallery4 .portfolio_type_wrapper,
.one_fifth.gallery5 .portfolio_type_wrapper,
.portfolio_type_wrapper,
.widget_tag_cloud div a:hover,
.ui-accordion .ui-accordion-header .ui-icon,
.mobile-menu-wrapper #mobile-menu-close.button,
#go-to-top,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="submit"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="submit"],
.mobile-menu-wrapper #btn-close-mobile-menu,
body.learnpress-page #page-content-wrapper .lp-button,
.learnpress-page #learn-press-profile-basic-information button,
.learnpress-page #profile-content-settings form button[type="submit"],
button,
.widget_search input#searchsubmit:hover,
#wp-calendar caption,
#wp-calendar thead th,
#page-content-wrapper .sidebar .content .sidebar-widget li.widget_categories .cat-count,
.widget_categories .cat-count,
#page-content-wrapper .sidebar .content .sidebar-widget li.widget_archive .archive-count,
.widget_archive .archive-count,
.woocommerce #respond input#submit,
.widget_product_tag_cloud a:hover,
.woocommerce .widget_price_filter .price_slider_amount .button,
.woocommerce-page .widget_price_filter .price_slider_amount .button,
.woocommerce #page-content-wrapper a.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    color: #ffffff;
}
input[type="submit"],
input[type="button"],
a.button,
.button,
.pagination a:hover,
.woocommerce .footer-main-container .button,
.woocommerce .footer-main-container .button:hover,
.woocommerce-page div.product form.cart .button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.infinite_load_more,
.widget_tag_cloud div a:hover,
.mobile-menu-wrapper #btn-close-mobile-menu,
.mobile-menu-wrapper #mobile-menu-close.button,
body .ui-dialog[aria-describedby="ajax-login-register-login-dialog"] .form-wrapper input[type="submit"],
body .ui-dialog[aria-describedby="ajax-login-register-dialog"] .form-wrapper input[type="submit"],
.learnpress-page #learn-press-profile-basic-information button,
.learnpress-page #profile-content-settings form button[type="submit"],
button,
.woocommerce #respond input#submit,
.widget_product_tag_cloud a:hover,
.woocommerce .widget_price_filter .price_slider_amount .button,
.woocommerce-page .widget_price_filter .price_slider_amount .button,
.woocommerce #page-content-wrapper a.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    border-color: #000000;
}
#wp-calendar tbody td#today {
    border-bottom-color: #000000;
}
input[type="button"]:hover,
input[type="submit"]:hover,
a.button:hover,
.button:hover,
.button.submit,
a.button.white:hover,
.button.white:hover,
a.button.white:active,
.button.white:active,
.black_bg input[type="submit"],
.learnpress-page #page-content-wrapper .lp-button:hover,
.learnpress-page #learn-press-profile-basic-information button:hover,
.learnpress-page #profile-content-settings form button[type="submit"]:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover,
.woocommerce #page-content-wrapper a.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
#woocommerce-mini-cart-flyout .woocommerce-mini-cart__buttons a:not(.checkout) {
    background-color: #fffbf2;
}
input[type="button"]:hover,
input[type="submit"]:hover,
a.button:hover,
.button:hover,
.button.submit,
a.button.white:hover,
.button.white:hover,
a.button.white:active,
.button.white:active,
.black_bg input[type="submit"],
body.learnpress-page #page-content-wrapper .lp-button:hover,
.learnpress-page #learn-press-profile-basic-information button:hover,
.learnpress-page #profile-content-settings form button[type="submit"]:hover,
button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover,
.woocommerce #page-content-wrapper a.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
#woocommerce-mini-cart-flyout .woocommerce-mini-cart__buttons a:not(.checkout) {
    color: #000000;
}
input[type="button"]:hover,
input[type="submit"]:hover,
a.button:hover,
.button:hover,
.button.submit,
a.button.white:hover,
.button.white:hover,
a.button.white:active,
.button.white:active,
.black_bg input[type="submit"],
.learnpress-page #learn-press-profile-basic-information button:hover,
.learnpress-page #profile-content-settings form button[type="submit"]:hover,
button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt.disabled:hover,
.woocommerce #page-content-wrapper a.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
#woocommerce-mini-cart-flyout .woocommerce-mini-cart__buttons a:not(.checkout) {
    border-color: #000000;
}
.frame_top,
.frame_bottom,
.frame_left,
.frame_right {
    background: #000000;
}
#menu-wrapper .nav ul li a,
#menu-wrapper div .nav li > a,
.menu-client-wrapper,
.themegoods-navigation-wrapper .nav li > a {
    font-family: bebas_neuebold;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 1px;
    line-height: 1.7;
    text-transform: uppercase;
}
#menu-wrapper .nav ul li,
#menu-wrapper div .nav li,
html[data-menu="center-menu-logo"] #logo-right-wrapper {
    padding-top: 28px;
    padding-bottom: 28px;
}
.top-menu-bar,
html {
    background-color: #fffbf2;
}
#menu-wrapper .nav ul li a,
#menu-wrapper div .nav li > a,
#mobile-nav-icon,
#logo-wrapper .social-profile-wrapper ul li a,
.menu-cart-wrapper a {
    color: #000000;
}
#mobile-nav-icon {
    border-color: #000000;
}
#menu-wrapper .nav ul li a.hover,
#menu-wrapper .nav ul li a:hover,
#menu-wrapper div .nav li a.hover,
#menu-wrapper div .nav li a:hover,
.menu-cart-wrapper a:hover,
#page_share:hover,
#logo-wrapper .social-profile-wrapper ul li a:hover {
    color: #000000;
}
#menu-wrapper .nav ul li a:before,
#menu-wrapper div .nav li > a:before {
    background-color: #000000;
}
#menu-wrapper div .nav > li.current-menu-item > a,
#menu-wrapper div .nav > li.current-menu-parent > a,
#menu-wrapper div .nav > li.current-menu-ancestor > a,
#menu-wrapper div .nav li ul:not(.sub-menu) li.current-menu-item a,
#menu-wrapper div .nav li.current-menu-parent ul li.current-menu-item a,
#logo-wrapper .social-profile-wrapper ul li a:active {
    color: #000000;
}
.top-menu-bar,
#nav-wrapper {
    border-color: #fffbf2;
}
.menu-cart-wrapper .cart-counter {
    background-color: #d22226;
    color: #ffffff;
}
#menu-wrapper .nav ul li ul li a,
#menu-wrapper div .nav li ul li a,
#menu-wrapper div .nav li.current-menu-parent ul li a {
    font-family: Oswald;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
#menu-wrapper .nav ul li ul li a,
#menu-wrapper div .nav li ul li a,
#menu-wrapper div .nav li.current-menu-parent ul li a,
#menu-wrapper div .nav li.current-menu-parent ul li.current-menu-item a,
#menu-wrapper .nav ul li.megamenu ul li ul li a,
#menu-wrapper div .nav li.megamenu ul li ul li a {
    color: #ffffff;
}
#menu-wrapper .nav ul li ul li a:hover,
#menu-wrapper div .nav li ul li a:hover,
#menu-wrapper div .nav li.current-menu-parent ul li a:hover,
#menu-wrapper .nav ul li.megamenu ul li ul li a:hover,
#menu-wrapper div .nav li.megamenu ul li ul li a:hover,
#menu-wrapper .nav ul li.megamenu ul li ul li a:active,
#menu-wrapper div .nav li.megamenu ul li ul li a:active,
#menu-wrapper div .nav li.current-menu-parent ul li.current-menu-item a:hover {
    color: #ffffff;
}
#menu-wrapper .nav ul li ul li a:before,
#menu-wrapper div .nav li ul li > a:before,
#wrapper.transparent .top-menu-bar:not(.scroll) #menu-wrapper div .nav ul li ul li a:before {
    background-color: #ffffff;
}
#menu-wrapper .nav ul li ul,
#menu-wrapper div .nav li ul {
    background: #000000;
    border-color: #000000;
}
#menu-wrapper div .nav li.megamenu ul li > a,
#menu-wrapper div .nav li.megamenu ul li > a:hover,
#menu-wrapper div .nav li.megamenu ul li > a:active,
#menu-wrapper div .nav li.megamenu ul li.current-menu-item > a {
    color: #ffffff;
}
#menu-wrapper div .nav li.megamenu ul li {
    border-color: #000000;
}
.above-top-menu-bar {
    background: #c7a17a;
}
#top-menu li a,
.top-contact-info,
.top-contact-info i,
.top-contact-info a,
.top-contact-info a:hover,
.top-contact-info a:active {
    color: #ffffff;
}
.mobile-main-nav li a,
#side-sub-menu li a {
    font-family: bebas_neuebold;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.6;
    text-transform: uppercase;
}
#side-sub-menu li a {
    font-family: bebas_neuebold;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.6;
    text-transform: uppercase;
}
.mobile-menu-wrapper {
    background-color: #fffbf2;
}
.mobile-main-nav li a,
#side-sub-menu li a,
.mobile-menu-wrapper .sidebar-wrapper a,
.mobile-menu-wrapper .sidebar-wrapper,
#btn-close-mobile-menu i,
.mobile-menu-wrapper .social-profile-wrapper ul li a,
.fullmenu_content #copyright,
.mobile-menu-wrapper .sidebar-wrapper h2.widgettitle {
    color: #000000;
}
.mobile-main-nav li a:hover,
.mobile-main-nav li a:active,
#side-sub-menu li a:hover,
#side-sub-menu li a:active,
.mobile-menu-wrapper .social-profile-wrapper ul li a:hover {
    color: #000000;
}
#page-header.hasbg {
    height: 600px;
}
#page-header {
    background-color: #fffbf2;
    padding-top: 90px;
    padding-bottom: 60px;
    margin-bottom: 20px;
}
#page-header .page-title-wrapper .page-title-inner {
    text-align: center;
}
#page-header h1 {
    font-family: bebas_neuebold;
    font-size: 100px;
    font-weight: 700;
    letter-spacing: 0px;
    line-height: 1.1;
    text-transform: uppercase;
    color: #000000;
}
.page-tagline,
.post-detail.single-post {
    font-family: Roboto;
    font-size: 16px;
    font-weight: 400;
    text-transform: none;
    color: #000000;
}
#page-content-wrapper .sidebar .content .sidebar-widget li h2.widgettitle,
h2.widgettitle,
h5.widgettitle {
    font-family: bebas_neuebold;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #000000;
    border-color: #000000;
}
#page-content-wrapper .inner .sidebar-wrapper .sidebar .content,
.page-content-wrapper .inner .sidebar-wrapper .sidebar .content {
    color: #000000;
}
#page-content-wrapper .inner .sidebar-wrapper a:not(.button),
.page-content-wrapper .inner .sidebar-wrapper a:not(.button) {
    color: #000000;
}
.widget_nav_menu ul > li.menu-item-has-children > a:after {
    border-color: #000000;
}
#page-content-wrapper .inner .sidebar-wrapper a:hover:not(.button),
#page-content-wrapper .inner .sidebar-wrapper a:active:not(.button),
.page-content-wrapper .inner .sidebar-wrapper a:hover:not(.button),
.page-content-wrapper .inner .sidebar-wrapper a:active:not(.button) {
    color: #000000;
}
#footer {
    font-size: 15px;
}
.footer-main-container-wrapper {
    font-size: 13px;
}
.footer-main-container,
#footer {
    background-color: #000000;
}
#footer #wp-calendar caption,
#footer #wp-calendar thead tr th {
    color: #000000;
    background: #ffffff;
}
#footer,
#copyright,
#footer-menu li a,
#footer-menu li a:hover,
#footer-menu li a:active,
#footer input[type="text"],
#footer input[type="password"],
#footer input[type="email"],
#footer input[type="url"],
#footer input[type="tel"],
#footer input[type="date"],
#footer textarea,
#footer blockquote {
    color: #ffffff;
}
#copyright a,
#copyright a:active,
#footer a,
#footer a:active#footer_photostream a {
    color: #ffffff;
}
#footer .sidebar-widget li h2.widgettitle,
#footer .widget_tag_cloud div a,
#footer .widget_nav_menu ul > li.menu-item-has-children > a:after,
#footer .widget_archive .archive-count,
#footer .widget_categories .cat-count,
#footer #wp-calendar {
    border-color: #ffffff;
}
#copyright a:hover,
#footer a:hover,
.social-profile-wrapper ul li a:hover,
#footer a:hover,
#footer_photostream a:hover {
    color: #c7a17a;
}
#footer .widget_tag_cloud div a:hover {
    border-color: #c7a17a;
}
#footer table tr td,
#footer .widget_tag_cloud div a,
#footer h2.widgettitle:before,
#footer h2.widgettitle:after {
    border-color: rgba(256, 256, 256, 0.5);
}
#footer .sidebar-widget li h2.widgettitle {
    color: #ffffff;
}
.footer-main-container {
    background-color: #000000;
}
.footer-main-container,
#copyright {
    color: #ffffff;
}
.footer-main-container a,
#copyright a,
#footer-menu li a {
    color: #ffffff;
}
.footer-main-container a:hover,
#copyright a:hover,
#footer-menu li a:hover {
    color: #c7a17a;
}
.footer-main-container-wrapper,
.footer-main-container {
    border-color: rgba(256, 256, 256, 0.5);
}
.footer-main-container-wrapper .social-profile-wrapper ul li a {
    color: #ffffff;
}
a#go-to-top {
    background: #000000;
	border-radius: 50%;
    color: #ffffff;
}
.post-info-cat,
.post-info-cat a {
    color: #000000;
    border-color: #000000;
}
.post-featured-image-hover .post-type-icon {
    border-color: #ffffff;
}
.blog_post-content-wrapper.layout_grid .post-content-wrapper,
.blog_post-content-wrapper.layout_masonry .post-content-wrapper,
.blog_post-content-wrapper.layout_metro .post-content-wrapper,
.blog_post-content-wrapper.layout_classic .post-content-wrapper {
    background: #ffffff;
}
.post-header h5,
h6.subtitle,
.post-caption h1,
#page-content-wrapper .posts.blog li a,
.page-content-wrapper .posts.blog li a,
#post_featured_slider li .slider_image .slide_post h2,
.post-header.grid h6,
.sidebar-widget li.widget_recent_comments ul li.recentcomments a:not(.url),
#page-content-wrapper .sidebar .content .sidebar-widget li.widget_rss ul li a.rsswidget,
#footer-wrapper ul.sidebar-widget li.widget_rss ul li a.rsswidget,
a.continue-reading {
    font-family: bebas_neuebold;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}
body.single-post #page-header h1,
.post-featured-date-wrapper {
    font-family: bebas_neuebold;
    font-size: 80px;
    font-weight: 700;
    letter-spacing: 0px;
    line-height: 1.1;
    text-transform: uppercase;
}
body.single-post #page-header .page-title-wrapper .page-title-inner {
    text-align: center;
}
body.single-post #post-featured-header {
    height: 650px;
}
.post-excerpt.post-tag a {
    background: #fffbf2;
    border-color: #000000;
    color: #000000;
}
.post-navigation .navigation-post-content {
    background: #000000;
}
.post-navigation .navigation-post-content h7,
.post-navigation.previous:hover .navigation-anchor,
.post-navigation.next:hover .navigation-anchor,
.post-navigation.previous:hover .navigation-anchor:hover,
.post-navigation.next:hover .navigation-anchor:hover {
    color: #ffffff;
}
.page-shop-categories-filter li a {
    font-family: bebas_neuebold;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 0.5px;
    line-height: 1.2;
    text-transform: uppercase;
    color: #000000;
}
.page-shop-categories-filter li a.active {
    color: #c7a17a;
    border-color: #c7a17a;
}
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
p.price ins span.amount,
.woocommerce #content div.product p.price,
.woocommerce #content div.product span.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-page #content div.product p.price,
.woocommerce-page #content div.product span.price,
.woocommerce-page div.product p.price,
.woocommerce-page div.product span.price {
    color: #000000;
}
.woocommerce .products .onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    background-color: #d22226;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active a {
    color: #c7a17a;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active {
    border-color: #c7a17a;
}


#loftloader-wrapper .loader-section {
    background: #000000;
}
#loftloader-wrapper .loader-section {
    opacity: 1;
}
#loftloader-wrapper.pl-imgloading #loader {
    width: 120px;
}
#loftloader-wrapper.pl-imgloading #loader span {
    background-size: cover;
    background-image: url(../upload/logo_white.png);
}


.custom-css-style .elementor-element.elementor-element-bedfc57 ul.products li.product {
    text-align: center;
    list-style: none;
    float: left;
}

.booked-calendar th {
	color:#fff;
}
.booked-calendar > tr {
	color:#fff;
}

.booked-calendar .week td:hover {
	background: #fff !important;
}

.date:hover {
	background: #fff;
}


.custom-css-style .elementor-element.elementor-element-357fd3e ul.products li.product {
    text-align: center;
    list-style: none;
    float: left;
}
.custom-css-style .elementor-element.elementor-element-501ce06 ul.products li.product {
    text-align: center;
    list-style: none;
    float: left;
}

.custom-css-style .elementor-element.elementor-element-26566c2 ul.products li.product {
    text-align: center;
    list-style: none;
    float: left;
}

/*
	Contact Form
*/

.forms-input label{
	display: block;
    color: #fff;
}

.forms-input input[type="text"]{
	background: transparent;
	border-bottom: 1px solid #fff !important;
	width: 100%;
	margin-bottom: 30px;
	color:#ffffff;
	padding-left: 20px;
}

.forms-input textarea{
	background: transparent;
	border-bottom: 1px solid #fff !important;
	width: 100%;
	height: 100px;
	color:#ffffff;
	padding-left: 20px;
}

.forms-input input[type="submit"]{
	margin-top: 20px;
    color: #000;
    background: #fff;
    border: 1px solid #fff;

}






/*
	End CSS for course-grid
*/


/**
*
*  End teacher profile code
*
**/

#backgroundimage {
	background-image: url(../newimages/home_banner.jpeg); /* url(../newimages/coffieimage.webp); */
}

.custom-bg-video {
position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
	z-index: -1;
}


    .fo-footer {
      background: #0a0a0a;
      position: relative;
    }

    /* gold-white-gold shimmer line at top */
    .fo-footer-shimmer {
      height: 1px;
      background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(199,161,122,0.2) 15%,
        #c7a17a 35%,
        #ffffff 50%,
        #c7a17a 65%,
        rgba(199,161,122,0.2) 85%,
        transparent 100%
      );
    }


    /* ══════════════════════════════════════════
       HERO BAND  — brand statement full-width
    ══════════════════════════════════════════ */
    .fo-hero-band {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 3rem;
      padding: 4rem 5rem 3.6rem;
      border-bottom: 1px solid rgba(255,255,255,0.06);
      flex-wrap: wrap;
    }

    .fo-brand-block {}
    .fo-brand-eyebrow {
      font-size: 0.6rem;
      letter-spacing: 0.35em;
      text-transform: uppercase;
      color: #c7a17a;
      font-weight: 500;
      margin-bottom: 0.65rem;
      display: flex; align-items: center; gap: 0.7rem;
    }
    .fo-brand-eyebrow::before {
      content: '';
      width: 28px; height: 1px;
      background: #c7a17a;
      display: inline-block;
    }
    .fo-brand-name {
      font-family: 'Cormorant', serif;
      font-size: clamp(2.6rem, 4vw, 3.8rem);
      font-weight: 700;
      color: #ffffff;
      letter-spacing: 0.06em;
      line-height: 0.95;
    }
    .fo-brand-name em {
      font-style: italic;
      font-weight: 400;
      color: rgba(255,255,255,0.45);
    }

    .fo-brand-right {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      gap: 1.4rem;
      max-width: 380px;
    }
    .fo-brand-motto {
      font-family: 'Cormorant', serif;
      font-size: 1.05rem;
      font-style: italic;
      color: rgba(255,255,255,0.38);
      text-align: right;
      line-height: 1.6;
      letter-spacing: 0.02em;
    }
    .fo-socials-row { display: flex; gap: 0.6rem; }
    .fo-soc {
      width: 40px; height: 40px;
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,0.3);
      text-decoration: none;
      font-size: 0.8rem;
      transition: border-color 0.28s, color 0.28s, background 0.28s, transform 0.28s;
    }
    .fo-soc:hover {
      border-color: #c7a17a;
      color: #c7a17a;
      background: rgba(199,161,122,0.06);
      transform: translateY(-2px);
    }


    /* ══════════════════════════════════════════
       MAIN 4-COLUMN GRID
    ══════════════════════════════════════════ */
    .fo-grid {
      display: grid;
      grid-template-columns: 1.55fr 1fr 1fr 1.2fr;
      border-bottom: 1px solid rgba(255,255,255,0.06);
    }

    .fo-gcol {
      padding: 3.2rem 3rem;
      border-right: 1px solid rgba(255,255,255,0.06);
      position: relative;
    }
    .fo-gcol:last-child { border-right: none; }

    /* hover warm-left border effect */
    .fo-gcol::before {
      content: '';
      position: absolute;
      left: 0; top: 20%; bottom: 20%;
      width: 2px;
      background: linear-gradient(to bottom, transparent, #c7a17a, transparent);
      opacity: 0;
      transition: opacity 0.4s;
    }
    .fo-gcol:hover::before { opacity: 1; }

    /* About col */
    .fo-about-desc {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.9;
      color: rgba(255,255,255,0.4);
      margin-bottom: 2.4rem;
    }

    /* Awards / badges row inside about col */
    .fo-badges-row {
      display: flex;
      gap: 0.75rem;
      flex-wrap: wrap;
      margin-bottom: 2rem;
    }
    .fo-badge-chip {
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 2px;
      padding: 0.38rem 0.75rem;
      font-size: 0.58rem;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.3);
      display: flex; align-items: center; gap: 0.4rem;
      transition: border-color 0.25s, color 0.25s;
    }
    .fo-badge-chip i { font-size: 0.6rem; color: #c7a17a; }
    .fo-badge-chip:hover { border-color: rgba(199,161,122,0.4); color: rgba(255,255,255,0.6); }

    /* Column heading */
    .fo-ch {
      display: flex;
      align-items: center;
      gap: 0.65rem;
      margin-bottom: 1.8rem;
    }
    .fo-ch-text {
      font-size: 0.58rem;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      font-weight: 600;
      color: #ffffff;
    }
    .fo-ch-line {
      flex: 1;
      height: 1px;
      background: rgba(255,255,255,0.07);
    }
    .fo-ch-dot {
      width: 4px; height: 4px;
      background: #c7a17a;
      border-radius: 50%;
      flex-shrink: 0;
    }

    /* Nav links */
    .fo-lnks { list-style: none; display: flex; flex-direction: column; gap: 0; }
    .fo-lnks li { border-bottom: 1px solid rgba(255,255,255,0.04); }
    .fo-lnks li:last-child { border-bottom: none; }
    .fo-lnks a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0.7rem 0;
      text-decoration: none;
      color: rgba(255,255,255,0.4);
      font-size: 0.83rem;
      font-weight: 300;
      letter-spacing: 0.02em;
      transition: color 0.22s, padding-left 0.22s;
      position: relative;
    }
    .fo-lnks a .fo-lnk-arrow {
      font-size: 0.55rem;
      color: rgba(199,161,122,0);
      transition: color 0.22s, transform 0.22s;
    }
    .fo-lnks a:hover {
      color: #ffffff;
      padding-left: 0.5rem;
    }
    .fo-lnks a:hover .fo-lnk-arrow {
      color: #c7a17a;
      transform: translateX(2px);
    }

    /* Contact list */
    .fo-ctc-list { display: flex; flex-direction: column; gap: 1.4rem; }
    .fo-ctc-row { display: flex; align-items: flex-start; gap: 0.9rem; }
    .fo-ctc-icon-box {
      width: 36px; height: 36px;
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 4px;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      font-size: 0.7rem;
      color: rgba(255,255,255,0.25);
      transition: border-color 0.25s, color 0.25s, background 0.25s;
    }
    .fo-ctc-row:hover .fo-ctc-icon-box {
      border-color: rgba(199,161,122,0.5);
      color: #c7a17a;
      background: rgba(199,161,122,0.05);
    }
    .fo-ctc-lbl {
      font-size: 0.54rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.2);
      margin-bottom: 0.2rem;
    }
    .fo-ctc-val {
      font-size: 0.82rem;
      color: rgba(255,255,255,0.42);
      line-height: 1.55;
      font-weight: 300;
    }
    .fo-ctc-val a {
      color: inherit; text-decoration: none;
      transition: color 0.22s;
    }
    .fo-ctc-val a:hover { color: #c7a17a; }


    /* ══════════════════════════════════════════
       NEWSLETTER SECTION
    ══════════════════════════════════════════ */
    .fo-nl-section {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: 0;
      border-bottom: 1px solid rgba(255,255,255,0.06);
    }

    .fo-nl-left-pane {
      padding: 2.8rem 3rem 2.8rem 5rem;
      border-right: 1px solid rgba(255,255,255,0.06);
      position: relative;
      overflow: hidden;
    }
    /* decorative large numeral */
    .fo-nl-left-pane::after {
      content: '@';
      font-family: 'Cormorant', serif;
      font-size: 12rem;
      font-weight: 700;
      position: absolute;
      right: -1.5rem; top: 50%;
      transform: translateY(-50%);
      color: rgba(255,255,255,0.025);
      pointer-events: none;
      line-height: 1;
    }
    .fo-nl-label {
      font-size: 0.58rem;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: #c7a17a;
      margin-bottom: 0.7rem;
      font-weight: 500;
    }
    .fo-nl-heading {
      font-family: 'Cormorant', serif;
      font-size: clamp(1.5rem, 2.5vw, 2.1rem);
      font-weight: 600;
      color: #ffffff;
      line-height: 1.2;
      margin-bottom: 0.6rem;
    }
    .fo-nl-sub {
      font-size: 0.8rem;
      color: rgba(255,255,255,0.35);
      font-weight: 300;
      line-height: 1.7;
    }

    .fo-nl-right-pane {
      padding: 2.8rem 5rem 2.8rem 3rem;
    }
    .fo-nl-field-wrap {
      position: relative;
      margin-bottom: 0.9rem;
    }
    .fo-nl-field-wrap i {
      position: absolute;
      left: 1.2rem; top: 50%;
      transform: translateY(-50%);
      color: rgba(255,255,255,0.2);
      font-size: 0.78rem;
      pointer-events: none;
    }
    .fo-nl-field {
      width: 100%;
      background: rgba(255,255,255,0.04) !important;
      border: 1px solid rgba(255,255,255,0.1) !important;
      border-radius: 3px;
      padding: 0.9rem 1rem 0.9rem 3rem !important;
      color: #ffffff;
      font-family: 'Jost', sans-serif;
      font-size: 0.83rem;
      font-weight: 300;
      outline: none;
      transition: border-color 0.25s, background 0.25s;
    }
    .fo-nl-field::placeholder { color: rgba(255,255,255,0.2) !important; }
    .fo-nl-field:focus {
      border-color: rgba(199,161,122,0.6)!important ;
      background: rgba(199,161,122,0.03)!important ;
    }
    .fo-nl-cta {
      width: 100%;
      background: #ffffff;
      border: none;
      border-radius: 3px;
      padding: 0.9rem 1rem;
      color: #0a0a0a;
      font-family: 'Jost', sans-serif;
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background 0.25s, color 0.25s, box-shadow 0.25s;
      display: flex; align-items: center; justify-content: center; gap: 0.6rem;
    }
    .fo-nl-cta:hover {
      background: #c7a17a;
      color: #0a0a0a;
      box-shadow: 0 4px 24px rgba(199,161,122,0.25);
    }
    .fo-nl-note {
      font-size: 0.62rem;
      color: rgba(255,255,255,0.18);
      text-align: center;
      margin-top: 0.7rem;
      letter-spacing: 0.04em;
    }


    /* ══════════════════════════════════════════
       PAYMENTS & CERTIFICATIONS STRIP
    ══════════════════════════════════════════ */
    .fo-trust-strip {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 1.5rem;
      padding: 1.6rem 5rem;
      border-bottom: 1px solid rgba(255,255,255,0.06);
      background: rgba(255,255,255,0.01);
    }
    .fo-trust-label {
      font-size: 0.58rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.2);
    }
    .fo-trust-icons { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
    .fo-trust-icon {
      display: flex; align-items: center; gap: 0.4rem;
      font-size: 0.68rem;
      color: rgba(255,255,255,0.2);
      padding: 0.38rem 0.8rem;
      border: 1px solid rgba(255,255,255,0.07);
      border-radius: 3px;
      letter-spacing: 0.06em;
      transition: border-color 0.25s, color 0.25s;
    }
    .fo-trust-icon i { font-size: 0.85rem; }
    .fo-trust-icon:hover { border-color: rgba(199,161,122,0.3); color: rgba(255,255,255,0.4); }

    .fo-trust-cert { display: flex; align-items: center; gap: 0.5rem; }
    .fo-cert-pill {
      display: flex; align-items: center; gap: 0.4rem;
      background: rgba(199,161,122,0.07);
      border: 1px solid rgba(199,161,122,0.18);
      border-radius: 100px;
      padding: 0.35rem 0.8rem;
      font-size: 0.6rem;
      letter-spacing: 0.1em;
      color: #c7a17a;
      text-transform: uppercase;
    }
    .fo-cert-pill i { font-size: 0.65rem; }


    /* ══════════════════════════════════════════
       BOTTOM BAR
    ══════════════════════════════════════════ */
    .fo-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 1rem;
      padding: 1.4rem 5rem;
    }
    .fo-copy {
      font-size: 0.7rem;
      color: rgba(255,255,255,0.2);
      font-weight: 300;
      letter-spacing: 0.04em;
    }
    .fo-bar-links { display: flex; align-items: center; gap: 0; }
    .fo-bar-links a {
      font-size: 0.65rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.2);
      text-decoration: none;
      padding: 0 1.1rem;
      border-right: 1px solid rgba(255,255,255,0.08);
      transition: color 0.22s;
      white-space: nowrap;
    }
    .fo-bar-links a:first-child { padding-left: 0; }
    .fo-bar-links a:last-child { padding-right: 0; border-right: none; }
    .fo-bar-links a:hover { color: #c7a17a; }
    .fo-bar-right { display: flex; align-items: center; gap: 0.5rem; font-size: 0.68rem; color: rgba(255,255,255,0.2); }
    .fo-bar-right i { color: #c7a17a; font-size: 0.6rem; }


    /* ══════════════════════════════════════════
       MOBILE BOTTOM NAVBAR — only ≤ 768px
    ══════════════════════════════════════════ */
    .fo-mob-nav {
      display: none;
      position: fixed;
      bottom: 0; left: 0; right: 0;
      height: 64px;
      background: #080808;
      border-top: 1px solid rgba(255,255,255,0.07);
      z-index: 9999;
    }
    .fo-mob-list {
      list-style: none;
      display: flex;
      height: 100%;
      align-items: stretch;
      justify-content: space-around;
      padding: 0; margin: 0;
    }
    .fo-mob-list li {
      flex: 1;
      display: flex;
      align-items: stretch;
      justify-content: center;
    }

    /* Regular tab */
    .fo-mob-tab {
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      gap: 5px;
      width: 100%;
      text-decoration: none;
      color: rgba(255,255,255,0.28);
      font-family: 'Jost', sans-serif;
      cursor: pointer;
      position: relative;
      transition: color 0.2s;
    }
    .fo-mob-tab:hover { color: rgba(255,255,255,0.6); }
    .fo-mob-tab.fo-on { color: #ffffff; }
    .fo-mob-tab.fo-on::after {
      content: '';
      position: absolute;
      top: 0; left: 50%;
      transform: translateX(-50%);
      width: 20px; height: 2px;
      background: #c7a17a;
      border-radius: 0 0 2px 2px;
    }
    .fo-mob-tab-i { font-size: 1.05rem; line-height: 1; }
    .fo-mob-tab-t {
      font-size: 0.5rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      line-height: 1;
      font-weight: 400;
    }

    /* Center elevated tab */
    .fo-mob-ctr {
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      gap: 0;
      width: 100%;
      text-decoration: none;
      color: rgba(255,255,255,0.28);
      font-family: 'Jost', sans-serif;
      cursor: pointer;
      position: relative;
      transition: color 0.2s;
    }
    .fo-mob-ctr.fo-on { color: #ffffff; }
    .fo-mob-ctr-ring {
      width: 48px; height: 48px;
      border-radius: 50%;
      background: #ffffff;
      border: 3px solid #080808;
      display: flex; align-items: center; justify-content: center;
      position: relative; top: -12px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.7);
      flex-shrink: 0;
      transition: background 0.25s, box-shadow 0.25s, transform 0.25s;
    }
    .fo-mob-ctr-ring i { color: #0a0a0a; font-size: 0.95rem; }
    .fo-mob-ctr:hover .fo-mob-ctr-ring,
    .fo-mob-ctr.fo-on .fo-mob-ctr-ring {
      background: #c7a17a;
      box-shadow: 0 4px 22px rgba(199,161,122,0.4);
      transform: scale(1.06);
    }
    .fo-mob-ctr-t {
      font-size: 0.5rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      line-height: 1;
      margin-top: 9px;
      color: #ffffff;
      position: relative;
    top: -12px;
    }


    /* ══ RESPONSIVE ══════════════════════════ */
    @media (max-width: 1100px) {
      .fo-hero-band { padding: 3.2rem 3rem 2.8rem; }
      .fo-grid .fo-gcol { padding: 2.8rem 2rem; }
      .fo-nl-left-pane { padding: 2.5rem 2.5rem 2.5rem 3rem; }
      .fo-nl-right-pane { padding: 2.5rem 3rem 2.5rem 2.5rem; }
      .fo-trust-strip { padding: 1.5rem 3rem; }
      .fo-bar { padding: 1.3rem 3rem; }
    }

    @media (max-width: 900px) {
      .fo-grid { grid-template-columns: 1fr 1fr; }
      .fo-gcol { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); }
      .fo-gcol:nth-child(1) { grid-column: 1 / -1; }
      .fo-gcol:nth-child(2) { border-right: 1px solid rgba(255,255,255,0.06); }
      .fo-gcol:last-child { border-bottom: none; }
      .fo-gcol::before { display: none; }

      .fo-nl-section { grid-template-columns: 1fr; }
      .fo-nl-left-pane { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); padding: 2.5rem 2.5rem; }
      .fo-nl-right-pane { padding: 2.5rem; }
    }

    @media (max-width: 768px) {
      .fo-mob-nav { display: block !important; }
      .fo-footer { margin-bottom: 64px; }

      .fo-hero-band { padding: 2.5rem 1.8rem; gap: 2rem; }
      .fo-brand-right { align-items: flex-start; }
      .fo-brand-motto { text-align: left; }

      .fo-grid .fo-gcol { padding: 2.2rem 1.8rem; }
      .fo-nl-left-pane { padding: 2rem 1.8rem; }
      .fo-nl-right-pane { padding: 2rem 1.8rem; }
      .fo-nl-left-pane::after { display: none; }

      .fo-trust-strip { padding: 1.3rem 1.8rem; flex-direction: column; align-items: flex-start; }
      .fo-bar { padding: 1.2rem 1.8rem; flex-direction: column; align-items: center; text-align: center; }
      .fo-bar-links { flex-wrap: wrap; justify-content: center; }
      .fo-bar-links a { padding: 0.2rem 0.8rem; }
    }

    @media (max-width: 540px) {
      .fo-grid { grid-template-columns: 1fr; }
		.fo-mob-nav { display: block !important;  }
      .fo-gcol:nth-child(2) { border-right: none; }
    }

    /* ── Scroll reveal ── */
    .fo-anim {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.65s ease, transform 0.65s ease;
    }
    .fo-anim.fo-shown { opacity: 1; transform: none; }


	/* ── CARD ── */
.cu-card {
  width: 100%;
  max-width: 720px;
  background: #ffffff;
  margin: auto;
}
.cu-card-accent {
  height: 3px;
  background: linear-gradient(90deg, #0c0c0c 0%, #c7a17a 100%);
}

/* ── HEADER ── */
.cu-head {
  padding: 48px 52px 32px;
  border-bottom: 1px solid #e2e2e2;
}
.cu-eyebrow {
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.4em;
  text-transform: uppercase;
  color: #c7a17a;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.cu-eyebrow::after {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: #c7a17a;
  opacity: 0.5;
}
.cu-headline {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 40px;
  font-weight: 300;
  color: #0c0c0c;
  line-height: 1.1;
  margin-bottom: 10px;
}
.cu-headline em { font-style: italic; color: #c7a17a; }
.cu-subline {
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.09em;
  color: #7a7a7a;
  line-height: 1.7;
}

/* ── TOGGLE ── */
.cu-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 52px;
  border: 1px solid #e2e2e2;
  border-top: none;
}
.cu-toggle-btn {
  padding: 17px 20px;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-family: 'Josefin Sans', sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #7a7a7a;
  transition: all 0.3s ease;
}
.cu-toggle-btn:first-child { border-right: 1px solid #e2e2e2; }
.cu-toggle-btn i { font-size: 12px; }
.cu-toggle-btn.cu-active { background: #0c0c0c; color: #ffffff; }
.cu-toggle-btn.cu-active i { color: #c7a17a; }
.cu-toggle-btn:not(.cu-active):hover { background: rgba(199,161,122,0.1); color: #0c0c0c; }

/* ── BODY ── */
.cu-body { padding: 36px 52px 52px; }

.cu-panel { display: none; animation: cuIn 0.35s ease both; }
.cu-panel.cu-on { display: block; }
@keyframes cuIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── PRODUCT PICKER ── */
.cu-picker-lbl {
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #7a7a7a;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.cu-picker-lbl .cu-req { color: #c7a17a; }

.cu-products {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 6px;
}

.cu-product-opt {
  border: 1px solid #e2e2e2;
  padding: 15px 15px 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all 0.25s ease;
  position: relative;
  user-select: none;
  background: #ffffff;
}
.cu-product-opt:hover {
  border-color: #c7a17a;
  background: rgba(199,161,122,0.05);
}
.cu-product-opt.cu-picked {
  border-color: #c7a17a;
  background: rgba(199,161,122,0.08);
}
.cu-product-opt.cu-picked::after {
  content: '\f00c';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 8px;
  color: #ffffff;
  position: absolute;
  top: 0; right: 0;
  background: #c7a17a;
  width: 20px; height: 20px;
  display: flex; align-items: center; justify-content: center;
}
.cu-prod-ico {
  width: 44px; height: 44px;
  background: #f8f6f3;
  border: 1px solid #ece9e4;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 20px;
  transition: background 0.25s;
}
.cu-product-opt.cu-picked .cu-prod-ico {
  background: rgba(199,161,122,0.15);
  border-color: #c7a17a;
}
.cu-prod-info { min-width: 0; }
.cu-prod-nm {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 16px;
  font-weight: 400;
  color: #0c0c0c;
  line-height: 1.2;
  margin-bottom: 2px;
  padding: 0px !important;
}
.cu-prod-sub {
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0 !important;
  color: #aaaaaa;
}
.cu-product-opt.cu-picked .cu-prod-sub { color: #c7a17a; }

.cu-pick-err {
  font-size: 10px;
  color: #d9534f;
  letter-spacing: 0.06em;
  margin-bottom: 18px;
  display: none;
}

/* ── SEPARATOR ── */
.cu-sep {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 24px 0 20px;
}
.cu-sep::before, .cu-sep::after { content: ''; flex: 1; height: 1px; background: #e2e2e2; }
.cu-sep-txt {
  font-size: 9px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #cccccc;
  white-space: nowrap;
}

/* ── FORM ── */
.cu-row { display: grid; gap: 14px; margin-bottom: 16px; }
.cu-r2 { grid-template-columns: 1fr 1fr; }
.cu-r1 { grid-template-columns: 1fr; }
.cu-field { position: relative; }

.cu-lbl {
  display: block;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #7a7a7a;
  margin-bottom: 7px;
}
.cu-lbl .cu-req { color: #c7a17a; margin-left: 2px; }

.cu-wrap { position: relative; }
.cu-ico {
  position: absolute;
  left: 13px; top: 50%;
  transform: translateY(-50%);
  color: #cccccc;
  font-size: 12px;
  pointer-events: none;
  transition: color 0.25s;
}
.cu-wrap textarea ~ .cu-ico { top: 14px; transform: none; }

.cu-input, .cu-select, .cu-textarea {
  width: 100%;
  padding: 12px 13px 12px 38px !important;
  border: 1px solid #e2e2e2;
  background: #ffffff;
  font-family: 'Josefin Sans', sans-serif;
  font-size: 12px;
  font-weight: 300;
  color: #0c0c0c;
  letter-spacing: 0.06em;
  outline: none;
  border-radius: 0;
  -webkit-appearance: none;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.cu-input::placeholder, .cu-textarea::placeholder { color: #cccccc; }
.cu-input:focus, .cu-select:focus, .cu-textarea:focus {
  border-color: #c7a17a;
  box-shadow: 0 0 0 3px rgba(199,161,122,0.1);
}
.cu-input:focus ~ .cu-ico { color: #c7a17a; }

.cu-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237a7a7a'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
  padding-right: 30px;
  cursor: pointer;
}
.cu-select.cu-noico { padding-left: 13px; }
.cu-textarea { resize: vertical; min-height: 100px; line-height: 1.7; }

/* ── QTY ── */
.cu-qty {
  display: flex; align-items: center;
  height: 40px; border: 1px solid #e2e2e2;
  width: fit-content;
}
.cu-qty-b {
  width: 38px; height: 100%;
  background: none; border: none; cursor: pointer;
  color: #7a7a7a; font-size: 10px; transition: all 0.2s;
}
.cu-qty-b:hover { background: #0c0c0c; color: #ffffff; }
.cu-qty-num {
  width: 50px; height: 100%;
  border: none;
  border-left: 1px solid #e2e2e2; border-right: 1px solid #e2e2e2;
  text-align: center;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px; color: #0c0c0c; outline: none;
  -moz-appearance: textfield;
}
.cu-qty-num::-webkit-outer-spin-button,
.cu-qty-num::-webkit-inner-spin-button { -webkit-appearance: none; }

/* ── CARD VISUAL ── */
.cu-card-vis {
  background: #0c0c0c;
  padding: 22px 22px 18px;
  margin-bottom: 18px;
  position: relative; overflow: hidden;
}
.cu-card-vis::before {
  content: ''; position: absolute;
  top: -50px; right: -50px;
  width: 150px; height: 150px; border-radius: 50%;
  background: rgba(199,161,122,0.1);
}
.cu-card-vis::after {
  content: ''; position: absolute;
  bottom: -70px; left: -30px;
  width: 190px; height: 190px; border-radius: 50%;
  background: rgba(199,161,122,0.05);
}
.cu-chip {
  width: 34px; height: 26px;
  background: linear-gradient(135deg, #dbbfa0, #c7a17a);
  border-radius: 3px; margin-bottom: 22px; position: relative; z-index: 1;
}
.cu-card-num-vis {
  font-family: 'Courier New', monospace;
  font-size: 15px; letter-spacing: 0.17em;
  color: rgba(255,255,255,0.85); margin-bottom: 16px;
  position: relative; z-index: 1;
}
.cu-card-foot {
  display: flex; justify-content: space-between; align-items: flex-end;
  position: relative; z-index: 1;
}
.cu-card-lbl { font-size: 7px; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 3px; }
.cu-card-val { font-size: 12px; color: rgba(255,255,255,0.8); letter-spacing: 0.07em; }
.cu-card-brand { color: #c7a17a; font-size: 22px; }

.cu-pay-hd {
  display: flex; align-items: center; margin-bottom: 16px;
}
.cu-pay-hd-txt {
  font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; color: #7a7a7a;
}
.cu-pay-brands { display: flex; gap: 6px; margin-left: auto; }
.cu-pay-brands i { font-size: 22px; color: #bbbbbb; }

/* ── CHECKBOX ── */
.cu-chk { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; margin-bottom: 6px; }
.cu-chk input { display: none; }
.cu-chk-box {
  width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px;
  border: 1px solid #e2e2e2;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.2s;
}
.cu-chk input:checked + .cu-chk-box { background: #c7a17a; border-color: #c7a17a; }
.cu-chk input:checked + .cu-chk-box::after {
  content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900; font-size: 8px; color: #ffffff;
}
.cu-chk-txt { font-size: 11px; font-weight: 300; color: #7a7a7a; line-height: 1.6; letter-spacing: 0.04em; }
.cu-chk-txt a { color: #c7a17a; text-decoration: none; }

/* ── ERRORS ── */
.cu-err { font-size: 10px; color: #d9534f; letter-spacing: 0.06em; margin-top: 5px; display: none; }
.cu-input.cu-e, .cu-select.cu-e, .cu-textarea.cu-e { border-color: #d9534f; }

/* ── SUBMIT ── */
.cu-submit {
  width: 100%; padding: 17px;
  background: #0c0c0c; color: #ffffff;
  border: 1px solid #0c0c0c;
  font-family: 'Josefin Sans', sans-serif;
  font-size: 11px; font-weight: 400;
  letter-spacing: 0.3em; text-transform: uppercase;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  transition: all 0.35s ease;
  margin-top: 26px;
  position: relative; overflow: hidden;
}
.cu-submit::before {
  content: ''; position: absolute; inset: 0;
  background: #c7a17a; transform: translateX(-101%);
  transition: transform 0.4s ease;
}
.cu-submit:hover::before { transform: translateX(0); }
.cu-submit:hover { border-color: #c7a17a; }
.cu-submit span, .cu-submit i { position: relative; }
.cu-submit:disabled { opacity: 0.6; cursor: not-allowed; }

.cu-sec {
  display: flex; align-items: center; justify-content: center;
  gap: 8px; margin-top: 13px;
}
.cu-sec i { color: #c7a17a; font-size: 11px; }
.cu-sec span { font-size: 10px; font-weight: 300; color: #bbbbbb; letter-spacing: 0.08em; }

/* ── THANK YOU ── */
.cu-ty { display: none; padding: 52px 52px 60px; text-align: center; animation: cuIn 0.5s ease both; }
.cu-ty-icon {
  width: 78px; height: 78px; border-radius: 50%;
  background: #0c0c0c;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 28px;
}
.cu-ty-icon i { font-size: 30px; color: #c7a17a; }
.cu-ty-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 42px; font-weight: 300; color: #0c0c0c;
  line-height: 1.1; margin-bottom: 10px;
}
.cu-ty-title em { font-style: italic; color: #c7a17a; }
.cu-ty-msg {
  font-size: 12px; font-weight: 300; letter-spacing: 0.09em;
  color: #7a7a7a; line-height: 1.8;
  max-width: 400px; margin: 0 auto 24px;
}
.cu-ty-ref {
  display: inline-block; padding: 10px 28px;
  border: 1px solid #e2e2e2;
  font-family: 'Courier New', monospace;
  font-size: 13px; letter-spacing: 0.2em;
  color: #0c0c0c; background: #f8f6f3; margin-bottom: 28px;
}
.cu-ty-box {
  background: #f8f6f3; border: 1px solid #e2e2e2;
  padding: 20px 24px; text-align: left; margin-bottom: 28px;
}
.cu-ty-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; border-bottom: 1px solid #ececec;
  font-size: 11px; font-weight: 300; letter-spacing: 0.07em;
}
.cu-ty-row:last-child { border-bottom: none; }
.cu-ty-lbl { color: #7a7a7a; }
.cu-ty-val { color: #0c0c0c; font-weight: 400; }
.cu-ty-val.cu-gold { color: #c7a17a; }

.cu-ty-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.cu-ty-btn {
  padding: 13px 26px;
  font-family: 'Josefin Sans', sans-serif;
  font-size: 10px; font-weight: 400;
  letter-spacing: 0.2em; text-transform: uppercase;
  cursor: pointer; display: flex; align-items: center; gap: 8px;
  transition: all 0.3s;
}
.cu-ty-btn-dark { background: #0c0c0c; color: #ffffff; border: 1px solid #0c0c0c; }
.cu-ty-btn-dark:hover { background: #c7a17a; border-color: #c7a17a; }
.cu-ty-btn-out { background: transparent; color: #0c0c0c; border: 1px solid #0c0c0c; }
.cu-ty-btn-out:hover { background: #c7a17a; border-color: #c7a17a; color: #ffffff; }

/* ── SPINNER ── */
.cu-spin {
  display: inline-block; width: 13px; height: 13px;
  border: 2px solid rgba(255,255,255,0.3); border-top-color: #ffffff;
  border-radius: 50%; animation: cuRot 0.7s linear infinite;
}
@keyframes cuRot { to { transform: rotate(360deg); } }

/* ── RESPONSIVE ── */
@media (max-width: 620px) {
  .cu-head, .cu-body, .cu-ty { padding-left: 24px; padding-right: 24px; }
  .cu-toggle { margin-left: 24px; margin-right: 24px; }
  .cu-r2 { grid-template-columns: 1fr; }
  .cu-products { grid-template-columns: 1fr; }
  .cu-headline { font-size: 32px; }
}




  :root {
    --ci-gold: #c7a17a;
    --ci-gold-light: #d4b896;
    --ci-gold-dark: #a07d55;
    --ci-black: #0d0d0d;
    --ci-dark: #1a1a1a;
    --ci-dark2: #252525;
    --ci-dark3: #2f2f2f;
    --ci-white: #ffffff;
    --ci-off-white: #f5f0eb;
    --ci-gray: #888888;
    --ci-light-gray: #e8e4df;
    --ci-font-display: 'Cormorant Garamond', serif;
    --ci-font-body: 'Montserrat', sans-serif;
    --ci-radius: 16px;
    --ci-shadow: 0 24px 80px rgba(0,0,0,0.45), 0 4px 20px rgba(0,0,0,0.3);
    --ci-shadow-btn: 0 8px 32px rgba(199,161,122,0.35);
  }

  body {
    font-family: var(--ci-font-body);
    background: #f0ebe4;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
  }


  /* ─── TOGGLE BUTTON ─── */
  .ci-toggle-btn {
        position: fixed;
    bottom: 16px;
    right: 60px;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: var(--ci-black);
    border: 2px solid var(--ci-gold);
    color: var(--ci-gold);
    font-size: 22px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--ci-shadow-btn);
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 9999;
    outline: none;
    padding: 0;
  }
  .ci-toggle-btn:hover {
    background: var(--ci-gold);
    color: var(--ci-black);
    box-shadow: 0 12px 40px rgba(199,161,122,0.5);
  }
  .ci-toggle-btn .ci-icon-chat,
  .ci-toggle-btn .ci-icon-close {
    position: absolute;
    transition: all 0.3s ease;
  }
  .ci-toggle-btn .ci-icon-close { opacity: 0; transform: rotate(-90deg) scale(0.5); }
  .ci-toggle-btn.ci-open .ci-icon-chat { opacity: 0; transform: rotate(90deg) scale(0.5); }
  .ci-toggle-btn.ci-open .ci-icon-close { opacity: 1; transform: rotate(0deg) scale(1); }

  /* ─── QUICK ACTIONS (shown when chat is closed) ─── */
  .ci-quick-actions {
    position: fixed;
    bottom: 108px; right: 32px;
    display: flex; flex-direction: column; align-items: flex-end; gap: 12px;
    z-index: 9998;
    pointer-events: none;
  }
  .ci-quick-actions.ci-visible { pointer-events: all; }
  .ci-qa-item {
    display: flex; align-items: center; gap: 10px;
    opacity: 0;
    transform: translateX(20px) scale(0.9);
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .ci-quick-actions.ci-visible .ci-qa-item:nth-child(1) { opacity: 1; transform: translateX(0) scale(1); transition-delay: 0.05s; }
  .ci-quick-actions.ci-visible .ci-qa-item:nth-child(2) { opacity: 1; transform: translateX(0) scale(1); transition-delay: 0.10s; }
  .ci-quick-actions.ci-visible .ci-qa-item:nth-child(3) { opacity: 1; transform: translateX(0) scale(1); transition-delay: 0.15s; }
  .ci-quick-actions.ci-visible .ci-qa-item:nth-child(4) { opacity: 1; transform: translateX(0) scale(1); transition-delay: 0.20s; }
  .ci-qa-label {
    background: var(--ci-black);
    color: var(--ci-off-white);
    font-family: var(--ci-font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 7px 14px;
    border-radius: 20px;
    border: 1px solid rgba(199,161,122,0.25);
    white-space: nowrap;
    pointer-events: none;
  }
  .ci-qa-btn {
    width: 46px; height: 46px;
    border-radius: 50%;
    background: var(--ci-black);
    border: 1.5px solid rgba(199,161,122,0.4);
    color: var(--ci-gold);
    font-size: 16px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.3s ease;
    outline: none;
    box-shadow: 0 4px 16px rgba(0,0,0,0.4);
  }
  .ci-qa-btn:hover {
    background: var(--ci-gold);
    color: var(--ci-black);
    border-color: var(--ci-gold);
    transform: scale(1.12);
    box-shadow: 0 6px 24px rgba(199,161,122,0.4);
  }

  /* ─── CHAT WINDOW ─── */
  .ci-chat-window {
    position: fixed;
    bottom: 108px; right: 32px;
    width: 400px;
    height: 580px;
    background: var(--ci-black);
    border: 1px solid rgba(199,161,122,0.2);
    border-radius: var(--ci-radius);
    box-shadow: var(--ci-shadow);
    display: flex; flex-direction: column;
    overflow: hidden;
    z-index: 9997;
    transform-origin: bottom right;
    transform: scale(0.7) translateY(20px);
    opacity: 0;
    pointer-events: none;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .ci-chat-window.ci-open {
    transform: scale(1) translateY(0);
    opacity: 1;
    pointer-events: all;
  }

  /* ─── HEADER ─── */
  .ci-chat-header {
    background: var(--ci-dark);
    border-bottom: 1px solid rgba(199,161,122,0.15);
    padding: 18px 20px;
    display: flex; align-items: center; gap: 14px;
    position: relative;
    flex-shrink: 0;
  }
  .ci-header-accent {
    position: absolute; top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--ci-gold), transparent);
  }
  .ci-avatar {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ci-gold-dark), var(--ci-gold));
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; color: var(--ci-black);
    flex-shrink: 0;
    position: relative;
  }
  .ci-avatar::after {
    content: '';
    position: absolute; bottom: 1px; right: 1px;
    width: 10px; height: 10px;
    border-radius: 50%;
    background: #4ade80;
    border: 2px solid var(--ci-dark);
  }
  .ci-header-info { flex: 1; }
  .ci-header-name {
    font-family: var(--ci-font-display);
    font-size: 17px;
    font-weight: 600;
    color: var(--ci-white);
    letter-spacing: 0.02em;
    line-height: 1.2;
  }
  .ci-header-status {
    font-size: 10px;
    font-weight: 500;
    color: #4ade80;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin-top: 2px;
    display: flex; align-items: center; gap: 5px;
  }
  .ci-status-dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: #4ade80;
    animation: ci-pulse 2s infinite;
  }
  @keyframes ci-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
  }
  .ci-header-actions { display: flex; gap: 6px; }
  .ci-header-btn {
    width: 32px; height: 32px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid rgba(199,161,122,0.2);
    color: var(--ci-gray);
    font-size: 12px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.25s ease;
    outline: none;
  }
  .ci-header-btn:hover {
    background: rgba(199,161,122,0.12);
    color: var(--ci-gold);
    border-color: rgba(199,161,122,0.4);
  }

  /* ─── MESSAGES ─── */
  .ci-messages-area {
    flex: 1;
    overflow-y: auto;
    padding: 20px 16px;
    display: flex; flex-direction: column; gap: 16px;
    background:
      radial-gradient(ellipse at 100% 0%, rgba(199,161,122,0.04) 0%, transparent 50%),
      var(--ci-black);
    scroll-behavior: smooth;
  }
  .ci-messages-area::-webkit-scrollbar { width: 4px; }
  .ci-messages-area::-webkit-scrollbar-track { background: transparent; }
  .ci-messages-area::-webkit-scrollbar-thumb { background: rgba(199,161,122,0.25); border-radius: 4px; }

  /* ─── DATE DIVIDER ─── */
  .ci-date-divider {
    display: flex; align-items: center; gap: 10px;
    font-size: 10px; font-weight: 500;
    color: rgba(199,161,122,0.5);
    letter-spacing: 0.15em; text-transform: uppercase;
  }
  .ci-date-divider::before, .ci-date-divider::after {
    content: ''; flex: 1; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(199,161,122,0.2), transparent);
  }

  /* ─── MESSAGE BUBBLES ─── */
  .ci-msg-row {
    display: flex; gap: 10px;
    animation: ci-fadeUp 0.4s ease forwards;
  }
  @keyframes ci-fadeUp {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .ci-msg-row.ci-user { flex-direction: row-reverse; }
  .ci-msg-avatar {
    width: 30px; height: 30px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ci-gold-dark), var(--ci-gold));
    color: var(--ci-black);
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 700;
    flex-shrink: 0;
    align-self: flex-end;
  }
  .ci-msg-avatar.ci-user-av {
    background: var(--ci-dark3);
    color: var(--ci-gold);
    border: 1px solid rgba(199,161,122,0.3);
  }
  .ci-msg-content { max-width: 75%; }
  .ci-bubble {
    padding: 12px 15px;
    border-radius: 16px;
    font-size: 13px;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: 0.01em;
  }
  .ci-bot-bubble {
    background: var(--ci-dark2);
    color: var(--ci-off-white);
    border-radius: 4px 16px 16px 16px;
    border: 1px solid rgba(199,161,122,0.12);
  }
  .ci-user-bubble {
    background: linear-gradient(135deg, var(--ci-gold-dark), var(--ci-gold));
    color: var(--ci-black);
    border-radius: 16px 4px 16px 16px;
    font-weight: 500;
  }
  .ci-msg-time {
    font-size: 10px;
    color: rgba(199,161,122,0.4);
    margin-top: 5px;
    padding: 0 4px;
    letter-spacing: 0.05em;
  }
  .ci-msg-row.ci-user .ci-msg-time { text-align: right; }

  /* ─── QUICK REPLY CHIPS ─── */
  .ci-chips-row {
    display: flex; flex-wrap: wrap; gap: 8px;
    padding: 0 0 4px 40px;
  }
  .ci-chip {
    padding: 7px 13px;
    border-radius: 20px;
    background: transparent;
    border: 1px solid rgba(199,161,122,0.3);
    color: var(--ci-gold);
    font-family: var(--ci-font-body);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: all 0.25s ease;
    outline: none;
  }
  .ci-chip:hover {
    background: var(--ci-gold);
    color: var(--ci-black);
    border-color: var(--ci-gold);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(199,161,122,0.3);
  }

  /* ─── TYPING INDICATOR ─── */
  .ci-typing-indicator {
    display: flex; align-items: center; gap: 5px;
    padding: 12px 15px;
    background: var(--ci-dark2);
    border: 1px solid rgba(199,161,122,0.12);
    border-radius: 4px 16px 16px 16px;
    width: fit-content;
  }
  .ci-typing-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--ci-gold);
    animation: ci-bounce 1.3s infinite;
  }
  .ci-typing-dot:nth-child(2) { animation-delay: 0.2s; }
  .ci-typing-dot:nth-child(3) { animation-delay: 0.4s; }
  @keyframes ci-bounce {
    0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
    30% { transform: translateY(-6px); opacity: 1; }
  }

  /* ─── PRODUCT CARDS ─── */
  .ci-product-cards {
    display: flex; gap: 10px;
    overflow-x: auto; padding-bottom: 6px;
    padding-left: 40px;
    scrollbar-width: none;
  }
  .ci-product-cards::-webkit-scrollbar { display: none; }
  .ci-product-card {
    min-width: 130px;
    background: var(--ci-dark2);
    border: 1px solid rgba(199,161,122,0.15);
    border-radius: 12px;
    padding: 14px 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
    text-align: center;
  }
  .ci-product-card:hover {
    border-color: var(--ci-gold);
    background: rgba(199,161,122,0.08);
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(199,161,122,0.2);
  }
  .ci-pc-icon {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: rgba(199,161,122,0.1);
    border: 1px solid rgba(199,161,122,0.25);
    display: flex; align-items: center; justify-content: center;
    font-size: 20px;
    margin: 0 auto 10px;
    color: var(--ci-gold);
    transition: all 0.3s ease;
  }
  .ci-product-card:hover .ci-pc-icon {
    background: var(--ci-gold);
    color: var(--ci-black);
  }
  .ci-pc-name {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ci-off-white);
  }

  /* ─── INPUT AREA ─── */
  .ci-input-area {
    padding: 14px 16px;
    background: var(--ci-dark);
    border-top: 1px solid rgba(199,161,122,0.1);
    flex-shrink: 0;
  }
  .ci-input-row {
    display: flex; align-items: center; gap: 10px;
    background: var(--ci-dark2);
    border: 1px solid rgba(199,161,122,0.2);
    border-radius: 28px;
    padding: 6px 6px 6px 18px;
    transition: border-color 0.25s ease;
  }
  .ci-input-row:focus-within {
    border-color: rgba(199,161,122,0.5);
    box-shadow: 0 0 0 3px rgba(199,161,122,0.06);
  }
  .ci-text-input {
    flex: 1;
    background: transparent !important;
    border: none;
    outline: none;
    color: var(--ci-white) !important;
    font-family: var(--ci-font-body) !important;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.02em;
    caret-color: var(--ci-gold) !important;
  }
  .ci-text-input::placeholder { color: rgba(199,161,122,0.35) !important; }
  .ci-input-btns { display: flex; align-items: center; gap: 4px; }
  .ci-input-icon-btn {
    width: 34px; height: 34px;
    border-radius: 50%;
    background: transparent; border: none;
    color: rgba(199,161,122,0.4);
    font-size: 14px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.25s ease; outline: none;
	padding: 0;
  }
  .ci-input-icon-btn:hover { color: var(--ci-gold); background: rgba(199,161,122,0.1); }
  .ci-send-btn {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ci-gold-dark), var(--ci-gold));
    border: none; cursor: pointer;
    color: var(--ci-black);
    font-size: 14px;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    outline: none;
	padding: 0;
    box-shadow: 0 3px 12px rgba(199,161,122,0.35);
  }
  .ci-send-btn:hover {
    transform: scale(1.12) rotate(-10deg);
    box-shadow: 0 6px 20px rgba(199,161,122,0.5);
  }
  .ci-send-btn:active { transform: scale(0.95); }

  /* ─── FOOTER ─── */
  .ci-chat-footer {
    padding: 8px 16px 10px;
    background: var(--ci-dark);
    display: flex; align-items: center; justify-content: center; gap: 6px;
  }
  .ci-footer-text {
    font-size: 10px; font-weight: 500;
    color: rgba(199,161,122,0.35);
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
  .ci-footer-logo {
    font-family: var(--ci-font-display);
    font-size: 12px; font-weight: 600;
    color: rgba(199,161,122,0.45);
    letter-spacing: 0.05em;
  }

  /* ─── NOTIFICATION BADGE ─── */
  .ci-notif-badge {
    position: absolute; top: -4px; right: -4px;
    width: 18px; height: 18px;
    border-radius: 50%;
    background: var(--ci-gold);
    color: var(--ci-black);
    font-size: 10px; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    border: 2px solid var(--ci-black);
    animation: ci-popIn 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  @keyframes ci-popIn {
    from { transform: scale(0); }
    to { transform: scale(1); }
  }

  @media (max-width: 480px) {
    .ci-chat-window { width: calc(100vw - 24px); right: 12px; bottom: 90px; height: 70vh; }
    .ci-toggle-btn { right: 20px; bottom: 20px; }
    .ci-quick-actions { right: 20px; bottom: 96px; }
  }
  @media (max-width: 767px) {
  .ci-toggle-btn {
	display: none;
  }
}

    :root {
      --lo-gold: #c7a17a;
      --lo-gold-dim: rgba(199,161,122,0.18);
      --lo-gold-glow: rgba(199,161,122,0.45);
      --lo-black: #0a0a0a;
      --lo-white: #f5f4f0;
      --lo-grey: #2a2a2a;
      --lo-grey-light: #888;
    }


    /* ── Grain overlay ── */
    .lo-grain {
      position: fixed; inset: 0; z-index: 0; pointer-events: none;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
      background-size: 180px;
      opacity: 0.55;
    }

    /* ── Corner decorations ── */
    .lo-corner {
      position: fixed; width: 60px; height: 60px; z-index: 5;
      border-color: var(--lo-gold); border-style: solid; border-width: 0; opacity: 0;
      animation: lo-fade-in 1.2s ease forwards;
    }
    .lo-corner--tl { top: 32px; left: 32px; border-top-width: 1px; border-left-width: 1px; animation-delay: 0.3s; }
    .lo-corner--tr { top: 32px; right: 32px; border-top-width: 1px; border-right-width: 1px; animation-delay: 0.5s; }
    .lo-corner--bl { bottom: 32px; left: 32px; border-bottom-width: 1px; border-left-width: 1px; animation-delay: 0.7s; }
    .lo-corner--br { bottom: 32px; right: 32px; border-bottom-width: 1px; border-right-width: 1px; animation-delay: 0.9s; }

    /* ── Wrapper ── */
    .lo-wrapper {
      position: relative; z-index: 10;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      min-height: 100vh;
      gap: 0;
    }

    /* ── Top label ── */
    .lo-top-label {
      letter-spacing: 0.55em; font-size: 10px; font-weight: 200;
      color: var(--lo-grey-light); text-transform: uppercase;
      margin-bottom: 56px;
      opacity: 0; animation: lo-slide-down 1s ease 0.4s forwards;
    }

    /* ── Logo ring ── */
    .lo-logo-ring {
      position: relative;
      width: 190px; height: 190px;
      display: flex; align-items: center; justify-content: center;
      opacity: 0; animation: lo-fade-in 1.2s ease 0.6s forwards;
    }

    .lo-ring-svg {
      position: absolute; inset: 0; width: 100%; height: 100%;
      animation: lo-spin 8s linear infinite;
    }

    .lo-ring-svg circle {
      fill: none; stroke: var(--lo-gold);
      stroke-width: 0.6; stroke-dasharray: 4 8;
      opacity: 0.5;
    }

    .lo-ring-inner {
      width: 138px; height: 138px;
      border-radius: 50%;
      background: radial-gradient(circle at 38% 35%, #1c1a18 0%, #0a0a0a 70%);
      border: 1px solid rgba(199,161,122,0.25);
      display: flex; align-items: center; justify-content: center;
      box-shadow:
        0 0 40px rgba(199,161,122,0.12),
        inset 0 0 30px rgba(0,0,0,0.8);
      position: relative; z-index: 2;
    }

    .lo-logo-icon {
      font-size: 42px; color: var(--lo-gold);
      filter: drop-shadow(0 0 12px rgba(199,161,122,0.6));
      animation: lo-pulse 3s ease-in-out infinite;
    }

    /* Orbiting dot */
    .lo-orbit {
      position: absolute; inset: 0;
      animation: lo-spin 3.5s linear infinite;
    }
    .lo-orbit-dot {
      position: absolute; top: 6px; left: 50%;
      transform: translateX(-50%);
      width: 6px; height: 6px; border-radius: 50%;
      background: var(--lo-gold);
      box-shadow: 0 0 8px var(--lo-gold-glow);
    }

    /* ── Brand name ── */
    .lo-brand {
      margin-top: 36px;
      font-family: 'Cormorant Garamond', serif;
      font-size: 38px; font-weight: 300;
      letter-spacing: 0.22em;
      color: var(--lo-white);
      text-transform: uppercase;
      opacity: 0; animation: lo-fade-in 1s ease 1s forwards;
    }
    .lo-brand span { color: var(--lo-gold); }

    .lo-brand-tagline {
      margin-top: 8px;
      font-size: 9.5px; font-weight: 100;
      letter-spacing: 0.5em;
      color: var(--lo-grey-light);
      text-transform: uppercase;
      text-align: center;
      opacity: 0; animation: lo-fade-in 1s ease 1.2s forwards;
    }

    /* ── Divider ── */
    .lo-divider {
      display: flex; align-items: center; gap: 16px;
      margin: 44px 0 32px;
      opacity: 0; animation: lo-fade-in 1s ease 1.4s forwards;
    }
    .lo-divider-line {
      width: 80px; height: 1px;
      background: linear-gradient(90deg, transparent, var(--lo-gold), transparent);
    }
    .lo-divider-icon { font-size: 10px; color: var(--lo-gold); opacity: 0.7; }

    /* ── Loading bar area ── */
    .lo-progress-wrap {
      width: 320px;
      opacity: 0; animation: lo-fade-in 1s ease 1.6s forwards;
    }

    .lo-progress-header {
      display: flex; justify-content: space-between; align-items: center;
      margin-bottom: 10px;
    }
    .lo-progress-label {
      font-size: 9px; font-weight: 200; letter-spacing: 0.45em;
      color: var(--lo-grey-light); text-transform: uppercase;
    }
    .lo-progress-pct {
      font-family: 'Cormorant Garamond', serif;
      font-size: 22px; font-weight: 300;
      color: var(--lo-gold);
      min-width: 52px; text-align: right;
      font-variant-numeric: tabular-nums;
    }

    .lo-bar-track {
      width: 100%; height: 2px;
      background: rgba(255,255,255,0.06);
      border-radius: 2px;
      position: relative; overflow: visible;
    }
    .lo-bar-fill {
      height: 100%; width: 0%;
      background: linear-gradient(90deg, var(--lo-gold) 0%, #e8caa4 50%, var(--lo-gold) 100%);
      border-radius: 2px;
      position: relative;
      transition: width 0.08s linear;
      box-shadow: 0 0 10px var(--lo-gold-glow);
    }
    .lo-bar-fill::after {
      content: '';
      position: absolute; right: -1px; top: 50%; transform: translateY(-50%);
      width: 8px; height: 8px; border-radius: 50%;
      background: var(--lo-gold);
      box-shadow: 0 0 12px var(--lo-gold), 0 0 24px var(--lo-gold-glow);
    }

    /* Tick marks */
    .lo-bar-ticks {
      display: flex; justify-content: space-between;
      margin-top: 8px; padding: 0 1px;
    }
    .lo-tick {
      font-size: 8px; font-weight: 100; letter-spacing: 0.1em;
      color: rgba(255,255,255,0.2);
    }

    /* ── Status message ── */
    .lo-status {
      margin-top: 28px;
      font-size: 9px; font-weight: 200; letter-spacing: 0.55em;
      color: var(--lo-grey-light);
      text-transform: uppercase;
      min-height: 18px; text-align: center;
      opacity: 0; animation: lo-fade-in 1s ease 1.8s forwards;
    }

    /* ── Bottom row ── */
    .lo-bottom-row {
      position: fixed; bottom: 48px; left: 0; right: 0;
      display: flex; justify-content: center; gap: 28px;
      opacity: 0; animation: lo-fade-in 1s ease 2s forwards;
      z-index: 10;
    }
    .lo-bottom-dot {
      width: 4px; height: 4px; border-radius: 50%;
      background: var(--lo-gold); opacity: 0.4;
    }
    .lo-bottom-dot:nth-child(2) { opacity: 0.7; }

    /* ── Keyframes ── */
    @keyframes lo-fade-in {
      from { opacity: 0; }
      to   { opacity: 1; }
    }
    @keyframes lo-slide-down {
      from { opacity: 0; transform: translateY(-10px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes lo-spin {
      from { transform: rotate(0deg); }
      to   { transform: rotate(360deg); }
    }
    @keyframes lo-pulse {
      0%, 100% { filter: drop-shadow(0 0 10px rgba(199,161,122,0.5)); transform: scale(1); }
      50%       { filter: drop-shadow(0 0 22px rgba(199,161,122,0.85)); transform: scale(1.06); }
    }
    @keyframes lo-blink {
      0%, 100% { opacity: 1; }
      50%       { opacity: 0; }
    }

    .lo-cursor { animation: lo-blink 1.1s step-end infinite; }

    /* ── Complete state ── */
    .lo-wrapper.lo-done .lo-logo-icon {
      animation: none;
      color: #fff;
      filter: drop-shadow(0 0 20px rgba(199,161,122,1));
      transition: all 0.6s ease;
    }

.reqproducts{
	display: flex;
	flex-direction: column;
}


.VIpgJd-ZVi9od-ORHb-OEVmcd{
	display: none !important;
}
    /* ── Main Translate & Currency Buttons (Matching Search & Basket) ── */
    .tr-icon-btn {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
      border-radius: 50%;
      border: 1px solid rgba(241, 234, 224, 0.22);
      background: rgba(241, 234, 224, 0.06);
      color: #F1EAE0;
      cursor: pointer;
      text-decoration: none;
      transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
      outline: none;
      box-sizing: border-box;
    }
    .tr-icon-btn:hover,
    .tr-icon-btn.tr-active {
      background: #C18B57;
      border-color: #C18B57;
      color: #fff;
    }
    .tr-icon-btn i {
      font-size: 17px;
      pointer-events: none;
      transition: transform 0.3s cubic-bezier(.34,1.56,.64,1);
    }
    .tr-icon-btn:hover i {
      transform: scale(1.05);
    }

    /* Screen reader only */
    .tr-screen-only {
      position: absolute;
      width: 1px; height: 1px;
      padding: 0; margin: -1px;
      overflow: hidden;
      clip: rect(0,0,0,0);
      white-space: nowrap;
      border: 0;
    }

    /* ── Language Dropdown ───────────────────────────── */
    .tr-lang-dropdown {
      position: absolute;
      top: calc(100% + 10px);
      left: 50%;
      transform: translateX(-50%) translateY(8px) scale(0.95);
      width: 210px;
      background: #141210fa;
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border: 1px solid rgba(193, 139, 87, 0.35);
      border-radius: 14px;
      box-shadow: 0 16px 48px rgba(0,0,0,0.65), 0 0 0 1px rgba(255,255,255,0.04);
      overflow: hidden;
      z-index: 9999;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.22s ease, transform 0.22s cubic-bezier(.34,1.56,.64,1);
    }
    .tr-lang-dropdown.tr-open {
      opacity: 1;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0) scale(1);
    }
    #curr-dropdown { 
      left: calc(50% + 60px); 
    }

    /* Dropdown header */
    .tr-dropdown-header {
      padding: 10px 14px 8px;
      font-size: 10px;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: #c7a17a;
      border-bottom: 1px solid rgba(193, 139, 87, 0.18);
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .tr-dropdown-header i { font-size: 12px; }

    /* Language list */
    .tr-lang-list {
      list-style: none;
      max-height: 240px;
      overflow-y: auto;
      scrollbar-width: thin;
      scrollbar-color: rgba(193, 139, 87, 0.4) transparent;
      padding: 6px 0;
    }
    .tr-lang-list::-webkit-scrollbar { width: 4px; }
    .tr-lang-list::-webkit-scrollbar-thumb { background: rgba(193, 139, 87, 0.4); border-radius: 4px; }

    .tr-lang-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 14px;
      cursor: pointer;
      color: #c0c8d8;
      font-size: 13px;
      border-radius: 0;
      transition: background 0.15s, color 0.15s;
      user-select: none;
    }
    .tr-lang-item:hover {
      background: rgba(193, 139, 87, 0.15);
      color: #fff;
    }
    .tr-lang-item.tr-lang-selected {
      background: rgba(193, 139, 87, 0.22);
      color: #c7a17a;
      font-weight: 600;
    }
    .tr-lang-item.tr-lang-selected::after {
      content: '✓';
      margin-left: auto;
      font-size: 11px;
      color: #c7a17a;
    }
    .tr-lang-flag {
      font-size: 18px;
      line-height: 1;
      flex-shrink: 0;
    }

    /* Loading pulse on button when translating */
    @keyframes tr-pulse {
      0%, 100% { box-shadow: 0 0 0 0 rgba(193, 139, 87, 0.5); }
      50% { box-shadow: 0 0 0 8px rgba(193, 139, 87, 0); }
    }
    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
    .tr-icon-btn.tr-loading {
      animation: tr-pulse 1s ease infinite;
    }
    .tr-icon-btn.tr-loading i {
      animation: spin 0.8s linear infinite;
    }

    /* Hide the native Google Translate widget */
    .goog-te-banner-frame { display: none !important; }
    body { top: 0 !important; }
    .goog-te-gadget { color: transparent; }



#maxwidthheader { 
	max-width: 90%;
}
  @media (max-width: 1024px) {
#interna {
    top: -38px;
    position: relative;
}
#headingtop {
    margin-top: 24px;
}
  }
#paddingdescfood {
    padding: 0 24px;
}
#navlineborder {
		  display: none;
	  }
#navnoborder {
		  border: none;
	}
  @media (max-width: 767px) {
#navbartrnas {
    display: flex;
    width: fit-content;
	
}
	  #paddingdescfood {
    padding: 0 4px;
}
	  #navhambur {
	    width: fit-content;
        margin-left: auto;
	  }
	  #hiddenonmob {
		  display: none;
	  }

	  .craftcoffee-search-wrapper .input-group {

	    width: 80% !important;
	    padding-bottom: 5px !important;
	    margin: auto !important;
	  }
	  .custom-css-style .elementor-element.elementor-element-9c9f0b7 .craftcoffee-search-wrapper input {
		    width: auto !important;
		}

	  .craftcoffee-search-wrapper .input-group input {
		      font-size: 18px !important;
	  }
	  .custom-css-style .elementor-element.elementor-element-9c9f0b7 .craftcoffee-search-wrapper .input-group .input-group-button button i {
		    font-size: 20px !important;
		}
	  
	  
	#afterlinenone::after {
	    display: none;
	}
	  #widthheading {
	    white-space: normal;
	    overflow-wrap: break-word;
	    word-wrap: break-word;
	    padding-left: 6px;
	}
	  #paddingbottomnone {
		      padding-bottom: 0px !important;
	  }

	  #paddingbottomnone .elementor-container {
	  min-height: 100%;
	  }
	  .paraauboutbottom {
		    position: relative;
		    top: 48px;
		}
  }

	  #linespacing {
		  display: none;
	  }
  @media (max-width: 991px) {
	  #paddingnonecontact {
		  padding: 0px !important;
	  }
	  #gapcontact {
		  gap: 22px;
	  }
  }
	  #contact-form-wrap{
		  width: 100%;
	  }

  :root{
    --ts-cream:        #F1EAE0;
    --ts-cream-deep:   #E7DECF;
    --ts-ghost-tint:   #E2D8C8;
    --ts-terracotta:   #C18B57;
    --ts-terracotta-dk:#A8723F;
    --ts-ink:          #1C1A17;
    --ts-body:         #5C564D;
    --ts-white:        #FFFFFF;
    --ts-gold:         #D8A24A;
  }
    .ts-section{
    position:relative;
    background:var(--ts-cream);
    padding:60px 24px 80px;
    overflow:hidden;
    isolation:isolate;
  }

  /* ---------- decorative corner marks ---------- */
  .ts-decor{
    position:absolute;
    color:var(--ts-terracotta-dk);
    opacity:0.10;
    pointer-events:none;
    z-index:0;
  }
  .ts-decor--tl{ top:18px; left:18px; font-size:120px; transform:rotate(-18deg); }
  .ts-decor--tr{ top:8px; right:24px; font-size:130px; transform:rotate(14deg) scaleX(-1); }
  @media (max-width:760px){ .ts-decor{ display:none; } }

  /* ---------- header ---------- */
  .ts-header{
    position:relative;
    z-index:2;
    text-align:center;
    margin-bottom:64px;
  }
  .ts-eyebrow{
    display:block;
    font-family:'Caveat', cursive;
    font-weight:700;
    font-size:2.6rem;
    color:var(--ts-terracotta);
    line-height:1;
    margin-bottom:-6px;
  }
  .ts-title{
    
    font-weight:700;
    font-size:clamp(2.4rem, 6vw, 4.2rem);
    letter-spacing:2px;
    color:var(--ts-ink);
    text-transform:uppercase;
  }

  /* ---------- carousel shell ---------- */
  .ts-carousel{
    position:relative;
    z-index:2;
    max-width:1180px;
    margin:0 auto;
  }
  .ts-viewport{
    overflow:hidden;
    padding:8px 0 36px;
  }
  .ts-track{
    display:flex;
    align-items:stretch;
    will-change:transform;
    transition:transform 0.55s cubic-bezier(.65,0,.35,1);
  }

  /* ---------- card ---------- */
  .ts-card{
    flex:0 0 min(620px, 82vw);
    margin:0 18px;
    padding: 30px 32px;
    border-radius:14px;
    background:var(--ts-ghost-tint);
    text-align:center;
    transform:scale(0.92);
    opacity:0.55;
    filter:blur(0.2px);
    transition:transform 0.55s cubic-bezier(.65,0,.35,1),
               opacity 0.55s ease,
               background 0.55s ease,
               box-shadow 0.55s ease;
  }
  .ts-card .ts-stars i,
  .ts-card .ts-quote,
  .ts-card .ts-name,
  .ts-card .ts-role{
    color: rgba(28,26,23,0.16);
    transition: color 0.5s ease;
  }
  .ts-card .ts-avatar{ opacity:0.25; transition:opacity 0.5s ease; }

  .ts-card.ts-card--active{
    background:var(--ts-white);
    opacity:1;
    transform:scale(1);
    box-shadow:0 24px 60px -20px rgba(40,30,15,0.28);
  }
  .ts-card.ts-card--active .ts-stars i{ color:var(--ts-gold); }
  .ts-card.ts-card--active .ts-quote{ color:var(--ts-body); }
  .ts-card.ts-card--active .ts-name{ color:var(--ts-ink); }
  .ts-card.ts-card--active .ts-role{ color:var(--ts-terracotta); }
  .ts-card.ts-card--active .ts-avatar{ opacity:1; }

  .ts-stars{
    display:flex;
    justify-content:center;
    gap:6px;
    font-size:0.95rem;
    margin-bottom:22px;
  }

  .ts-quote{
    font-size:1.12rem;
    line-height:1.42;
    max-width:460px;
	padding: 0px !important;
    margin:0 auto;
    font-weight:400;
  }

  .ts-footer{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin-top:16px;
  }
  .ts-avatar{
    width:52px;
    height:52px;
    border-radius:50% !important;
    object-fit:cover;
    flex-shrink:0;
    border:2px solid var(--ts-cream-deep);
  }
  .ts-id{ text-align:left; }
  .ts-name{
    
    font-weight:600;
    font-size:1rem;
	padding:0px !important;
    letter-spacing:1.2px;
    text-transform:uppercase;
  }
  .ts-role{
    font-size:0.78rem;
    letter-spacing:0.6px;
	padding:0px !important;
    text-transform:uppercase;
    margin-top:2px;
  }

  /* ---------- arrows ---------- */
  .ts-arrow{
    position:absolute;
    top:46%;
    transform:translateY(-50%);
    width:50px;
    height:50px;
    border-radius:50%;
    border:1px solid rgba(28,26,23,0.12);
    background:var(--ts-white);
    color:var(--ts-ink);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.95rem;
    cursor:pointer;
    z-index:3;
    transition:background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  }
  .ts-arrow:hover{
    background:var(--ts-terracotta);
    border-color:var(--ts-terracotta);
    color:var(--ts-white);
  }
  .ts-arrow:focus-visible{ outline:2px solid var(--ts-terracotta-dk); outline-offset:2px; }
  .ts-arrow--prev{ left:-4px; }
  .ts-arrow--next{ right:-4px; }
  @media (max-width:860px){ .ts-arrow{ display:none; } }

  /* ---------- dots ---------- */
  .ts-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-top:8px;
  }
  .ts-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:rgba(28,26,23,0.22);
    border:none;
    padding:0;
    cursor:pointer;
    transition:background 0.3s ease, transform 0.3s ease;
  }
  .ts-dot.ts-dot--active{
    background:var(--ts-ink);
    transform:scale(1.25);
  }
  .ts-dot:focus-visible{ outline:2px solid var(--ts-terracotta-dk); outline-offset:3px; }

  @media (prefers-reduced-motion: reduce){
    .ts-track, .ts-card, .ts-dot{ transition:none !important; }
  }

  @media (max-width:600px){
    .ts-section{ padding:20px 16px 80px; }
    .ts-card{ padding:38px 26px; flex-basis:88vw; margin:0 10px; }
    .ts-quote{ font-size:1rem; }
  }


  .IuSection{
    padding: 0px 32px 0px;
    background: var(--ts-cream);
	  
    margin-bottom: 32px;
  }

  .IuInner{
    max-width: 1180px;
    margin: 0 auto;
  }

  /* ── TOP BAR: handle + follow ── */
  .IuTopBar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap: wrap;
    gap: 24px;
    margin-bottom: 22px;
  }

  .IuProfile{
    display:flex;
    align-items:center;
    gap:16px;
  }

  .IuAvatarRing{
    width:62px;
    height:62px;
    border-radius:50%;
    padding:3px;
    background: conic-gradient(from 220deg, #D8A24A, #C18B57, #A8723F, #D8A24A);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
  }

  .IuAvatarInner{
    width:100%;
    height:100%;
    border-radius:50%;
    background: var(--ts-cream);
    padding:3px;
  }

  .IuAvatarInner img{
    width:100%;
    height:100%;
    border-radius:50% !important;
    object-fit:cover;
    display:block;
  }

  .IuHandleName{
    font-size:17px;
    font-weight:700;
    color: var(--ts-ink);
    display:flex;
    align-items:center;
    gap:6px;
    margin-bottom:3px;
	  padding: 0px !important;
  }

  .IuHandleName i{
    font-size:13px;
    color: var(--ts-terracotta);
  }

  .IuHandleStats{
    display:flex;
    gap:14px;
    font-size:13px;
    color: var(--ts-body);
  }

  .IuHandleStats strong{
    color: var(--ts-ink);
    font-weight:700;
  }

  .IuFollowBtn{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:13px 26px;
    background: var(--ts-ink);
    color: var(--ts-white);
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    border-radius:999px;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 1px 2px rgba(28,26,23,0.08);
  }

  .IuFollowBtn:hover{
    background: var(--ts-terracotta-dk);
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(168,114,63,0.28);
  }

  .IuFollowBtn i{ font-size:16px; }

  /* ── HEADER COPY ── */
  .IuHeader{
    margin-bottom: 26px;
    max-width: 100%;
  }

  .IuEyebrow{
    font-size:12px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color: var(--ts-terracotta);
    margin-bottom: 0px;
	  padding: 0px !important;
  }

  .IuTitle{
    font-size: clamp(30px, 4vw, 42px);
    font-weight:800;
    color: var(--ts-ink);
    line-height:1.15;
    letter-spacing:-0.5px;
    margin-bottom:12px;
  }

  .IuSubtitle{
    font-size:15.5px;
    font-weight:400;
    color: var(--ts-body);
    line-height:1.65;
	  padding: 0px !important;
  }

  /* ── GRID ── */
  .IuGrid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 26px;
  }

  .IuCard{
    position:relative;
    aspect-ratio: 1 / 1;
    border-radius: 18px;
    overflow:hidden;
    cursor:pointer;
    background: var(--ts-cream-deep);
    box-shadow: 0 1px 2px rgba(28,26,23,0.05);
    transition: box-shadow 0.35s ease, transform 0.35s ease;
  }

  .IuCard:hover{
    box-shadow: 0 18px 40px rgba(28,26,23,0.18);
    transform: translateY(-4px);
  }

  .IuCardImg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter: saturate(1.05) sepia(0.08);
    transition: transform 0.6s cubic-bezier(0.22,1,0.36,1);
  }

  .IuCard:hover .IuCardImg{
    transform: scale(1.07);
  }

  .IuCardShade{
    position:absolute;
    inset:0;
    background: linear-gradient(to top, rgba(28,26,23,0.55) 0%, rgba(28,26,23,0) 42%);
    opacity:0;
    transition: opacity 0.3s ease;
  }

  .IuCard:hover .IuCardShade{ opacity:1; }

  .IuCardIcon{
    position:absolute;
    top:12px;
    right:12px;
    width:30px;
    height:30px;
    border-radius:50%;
    background: rgba(255,255,255,0.95);
    display:flex;
    align-items:center;
    justify-content:center;
    color: var(--ts-terracotta-dk);
    font-size:13px;
    opacity:0;
    transform: scale(0.7);
    transition: opacity 0.25s ease, transform 0.25s ease;
  }

  .IuCard:hover .IuCardIcon{
    opacity:1;
    transform: scale(1);
  }

  .IuCardStats{
    position:absolute;
    left:14px;
    right:14px;
    bottom:14px;
    display:flex;
    gap:16px;
    opacity:0;
    transform: translateY(8px);
    transition: opacity 0.3s ease 0.05s, transform 0.3s ease 0.05s;
  }

  .IuCard:hover .IuCardStats{
    opacity:1;
    transform: translateY(0);
  }

  .IuCardStat{
    display:flex;
    align-items:center;
    gap:6px;
    color:#fff;
    font-size:13.5px;
    font-weight:600;
  }

  .IuCardStat i{ font-size:14px; }

  /* big featured tile spans 2x2 */
  .IuCardBig{
    grid-column: span 2;
    grid-row: span 2;
  }

  .IuCardBig .IuCardStat{ font-size:15px; }

  /* ── BOTTOM CTA STRIP ── */
  .IuCtaStrip{
    display:flex;
    align-items:center;
    justify-content:space-between;
    /* flex-wrap:wrap; */
    gap:24px;
    padding: 30px 36px;
    background: var(--ts-white);
    border-radius: 22px;
    border: 1px solid var(--ts-ghost-tint);
  }

  .IuCtaLeft{
    display:flex;
    align-items:center;
    gap:18px;
  }

  .IuCtaIconWrap{
    width:52px;
    height:52px;
    border-radius:16px;
    background: linear-gradient(135deg, #F4D9A8, #C18B57);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:22px;
    flex-shrink:0;
  }

  .IuCtaText p:first-child{
    font-size:16px;
    font-weight:700;
    color: var(--ts-ink);
    margin-bottom:4px;
	padding: 0px !important;
  }

  .IuCtaText p:last-child{
    font-size:13.5px;
    color: var(--ts-body);
	  padding: 0px !important;
  }

  .IuCtaText strong{
    color: var(--ts-terracotta-dk);
  }

  .IuCtaBtn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:16px 32px;
    background: var(--ts-terracotta);
    color: var(--ts-white);
    text-decoration:none;
    font-size:14.5px;
    font-weight:700;
    border-radius:999px;
    white-space:nowrap;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 1px 2px rgba(28,26,23,0.06);
  }

  .IuCtaBtn:hover{
    background: var(--ts-terracotta-dk);
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(168,114,63,0.32);
  }

  .IuCtaBtn i:first-child{ font-size:18px; }

  .IuCtaBtn i:last-child{
    font-size:12px;
    opacity:0.75;
    transition: transform 0.25s ease;
  }

  .IuCtaBtn:hover i:last-child{
    transform: translateX(4px);
  }

  /* ── RESPONSIVE ── */
  @media (max-width: 900px){
    .IuGrid{ grid-template-columns: repeat(3, 1fr); }
    .IuCardBig{ grid-column: span 2; grid-row: span 2; }
  }

  @media (max-width: 720px){
    .IuTopBar{ align-items:flex-start; }
    .IuCtaStrip{ flex-direction:column; align-items:flex-start; }
    .IuCtaBtn{ width:100%; justify-content:center; }
  }

  @media (max-width: 560px){
    .IuSection{ padding:0px 18px; }
    .IuGrid{ grid-template-columns: repeat(2, 1fr); gap:12px; }
    .IuCardBig{ grid-column: span 2; grid-row: span 1; aspect-ratio: 2/1; }
  }

  @media (prefers-reduced-motion: reduce){
    .IuCard, .IuCardImg, .IuCardShade, .IuCardStats, .IuCardIcon, .IuFollowBtn, .IuCtaBtn{
      transition:none;
    }
  }

    .tr-trust-section{
    background: var(--ts-cream);
    padding: 0px 24px 80px;

    position: relative;
    overflow: hidden;
    }

    /* .tr-trust-section::before{
    content: "";
    position: absolute;
    top: -120px;
    right: -120px;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: var(--ts-cream-deep);
    opacity: .55;
    }

    .tr-trust-section::after{
    content: "";
    position: absolute;
    bottom: -160px;
    left: -140px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: var(--ts-ghost-tint);
    opacity: .45;
    } */

    .tr-trust-inner{
    max-width: 1180px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    }

    .tr-trust-header{
    text-align: center;
    max-width: 620px;
    margin: 0 auto 30px;
    }

    .tr-trust-eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 10px;

    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--ts-terracotta-dk);
    margin-bottom: 18px;
    }

    .tr-trust-eyebrow .tr-rule{
    width: 28px;
    height: 1px;
    background: var(--ts-terracotta);
    display: inline-block;
    }

    .tr-trust-title{

    font-weight: 500;
    font-size: 40px;
    line-height: 1.2;
    color: var(--ts-ink);
    margin: 0 0 16px;
    }

    .tr-trust-title em{
    font-style: italic;
    color: var(--ts-terracotta-dk);
    }

    .tr-trust-subtitle{
    font-size: 16px;
    line-height: 1.7;
    color: var(--ts-body);
    margin: 0;
    padding: 0px !important;
    }

    .tr-trust-grid{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
		margin-top: 24px;
    }

    .tr-trust-card{
    background: var(--ts-white);
    border: 1px solid var(--ts-ghost-tint);
    border-radius: 14px;
    padding: 32px 22px 30px;
    text-align: center;
    position: relative;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    }

    .tr-trust-card:hover{
    transform: translateY(-6px);
    border-color: var(--ts-terracotta);
    box-shadow: 0 18px 36px -18px rgba(28, 26, 23, 0.25);
    }

    .tr-trust-card:hover .tr-badge-ring{
    background: var(--ts-terracotta);
    border-color: var(--ts-terracotta);
    }

    .tr-trust-card:hover .tr-badge-ring i{
    color: var(--ts-white);
    }

    .tr-badge-ring{
    width: 68px;
    height: 68px;
    margin: 0 auto 22px;
    border-radius: 50%;
    background: var(--ts-cream);
    border: 1.5px solid var(--ts-ghost-tint);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: background .35s ease, border-color .35s ease;
    }

    .tr-badge-ring::before{
    content: "";
    position: absolute;
    inset: -7px;
    border-radius: 50%;
    border: 1px dashed var(--ts-terracotta);
    opacity: .45;
    }

    .tr-badge-ring i{
    font-size: 24px;
    color: var(--ts-terracotta-dk);
    transition: color .35s ease;
    }

    .tr-badge-number{
    position: absolute;
    top: 18px;
    right: 18px;

    font-style: italic;
    font-size: 13px;
    color: var(--ts-ghost-tint);
    }

    .tr-badge-title{

    font-weight: 500;
    font-size: 18px;
    color: var(--ts-ink);
    margin: 0 0 10px;
    }

    .tr-badge-text{
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--ts-body);
    margin: 0;
    padding: 0px !important;
    }

    .tr-trust-divider{
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ts-gold), transparent);
    margin-top: 40px;
    opacity: .7;
    }

    @media (max-width: 1024px){
    .tr-trust-grid{
    grid-template-columns: repeat(3, 1fr);
    }
    }

    @media (max-width: 640px){
    .tr-trust-section{
    padding: 0px 0px;
    }

	.IuCtaLeft {
    flex-direction: column;
    justify-content: center;
    text-align: center;
	}
    .tr-trust-title{
    font-size: 30px;
    }
    .tr-trust-grid{
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    }
    .tr-trust-card{
      padding: 30px 14px 24px;
    }
	.tr-trust-divider {
    margin-top: 30px;
    margin-bottom: 30px;
}
  }

  @media (max-width: 420px){
    .tr-trust-grid{
      grid-template-columns: 1fr;
    }
  }


  :root{
    --ts-cream:        #F1EAE0;
    --ts-cream-deep:   #E7DECF;
    --ts-ghost-tint:   #E2D8C8;
    --ts-terracotta:   #C18B57;
    --ts-terracotta-dk:#A8723F;
    --ts-ink:          #1C1A17;
    --ts-body:         #5C564D;
    --ts-white:        #FFFFFF;
    --ts-gold:         #D8A24A;

	/* derived dark-theme surfaces */
    --fz-bg:           #040404;
    --fz-bg-deep:      #0F0D0A;
    --fz-surface:      #1F1C17;
    --fz-surface-2:    #262219;
    --fz-line:         rgba(241,234,224,0.10);
    --fz-line-soft:    rgba(241,234,224,0.06);
  }
    .ts-section{
    position:relative;
    background:var(--ts-cream);
    padding:96px 24px 110px;
    overflow:hidden;
    isolation:isolate;
  }

  /* ---------- decorative corner marks ---------- */
  .ts-decor{
    position:absolute;
    color:var(--ts-terracotta-dk);
    opacity:0.10;
    pointer-events:none;
    z-index:0;
  }
  .ts-decor--tl{ top:18px; left:18px; font-size:120px; transform:rotate(-18deg); }
  .ts-decor--tr{ top:8px; right:24px; font-size:130px; transform:rotate(14deg) scaleX(-1); }
  @media (max-width:760px){ .ts-decor{ display:none; } }

  /* ---------- header ---------- */
  .ts-header{
    position:relative;
    z-index:2;
    text-align:center;
    margin-bottom:64px;
  }
  .ts-eyebrow{
    display:block;
    font-family:'Caveat', cursive;
    font-weight:700;
    font-size:2.6rem;
    color:var(--ts-terracotta);
    line-height:1;
    margin-bottom:-6px;
  }
  .ts-title{
    
    font-weight:700;
    font-size:clamp(2.4rem, 6vw, 4.2rem);
    letter-spacing:2px;
    color:var(--ts-ink);
    text-transform:uppercase;
  }

  /* ---------- carousel shell ---------- */
  .ts-carousel{
    position:relative;
    z-index:2;
    max-width:1180px;
    margin:0 auto;
  }
  .ts-viewport{
    overflow:hidden;
    padding:8px 0 36px;
  }
  .ts-track{
    display:flex;
    align-items:stretch;
    will-change:transform;
    transition:transform 0.55s cubic-bezier(.65,0,.35,1);
  }

  /* ---------- card ---------- */
  .ts-card{
    flex:0 0 min(620px, 82vw);
    margin:0 18px;
    padding: 30px 32px;
    border-radius:14px;
    background:var(--ts-ghost-tint);
    text-align:center;
    transform:scale(0.92);
    opacity:0.55;
    filter:blur(0.2px);
    transition:transform 0.55s cubic-bezier(.65,0,.35,1),
               opacity 0.55s ease,
               background 0.55s ease,
               box-shadow 0.55s ease;
  }
  .ts-card .ts-stars i,
  .ts-card .ts-quote,
  .ts-card .ts-name,
  .ts-card .ts-role{
    color: rgba(28,26,23,0.16);
    transition: color 0.5s ease;
  }
  .ts-card .ts-avatar{ opacity:0.25; transition:opacity 0.5s ease; }

  .ts-card.ts-card--active{
    background:var(--ts-white);
    opacity:1;
    transform:scale(1);
    box-shadow:0 24px 60px -20px rgba(40,30,15,0.28);
  }
  .ts-card.ts-card--active .ts-stars i{ color:var(--ts-gold); }
  .ts-card.ts-card--active .ts-quote{ color:var(--ts-body); }
  .ts-card.ts-card--active .ts-name{ color:var(--ts-ink); }
  .ts-card.ts-card--active .ts-role{ color:var(--ts-terracotta); }
  .ts-card.ts-card--active .ts-avatar{ opacity:1; }

  .ts-stars{
    display:flex;
    justify-content:center;
    gap:6px;
    font-size:0.95rem;
    margin-bottom:22px;
  }

  .ts-quote{
    font-size:1.12rem;
    line-height:1.42;
    max-width:460px;
	padding: 0px !important;
    margin:0 auto;
    font-weight:400;
  }

  .ts-footer{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin-top:16px;
  }
  .ts-avatar{
    width:52px;
    height:52px;
    border-radius:50% !important;
    object-fit:cover;
    flex-shrink:0;
    border:2px solid var(--ts-cream-deep);
  }
  .ts-id{ text-align:left; }
  .ts-name{
    
    font-weight:600;
    font-size:1rem;
	padding:0px !important;
    letter-spacing:1.2px;
    text-transform:uppercase;
  }
  .ts-role{
    font-size:0.78rem;
    letter-spacing:0.6px;
	padding:0px !important;
    text-transform:uppercase;
    margin-top:2px;
  }

  /* ---------- arrows ---------- */
  .ts-arrow{
    position:absolute;
    top:46%;
    transform:translateY(-50%);
    width:50px;
    height:50px;
    border-radius:50%;
    border:1px solid rgba(28,26,23,0.12);
    background:var(--ts-white);
    color:var(--ts-ink);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.95rem;
    cursor:pointer;
    z-index:3;
    transition:background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  }
  .ts-arrow:hover{
    background:var(--ts-terracotta);
    border-color:var(--ts-terracotta);
    color:var(--ts-white);
  }
  .ts-arrow:focus-visible{ outline:2px solid var(--ts-terracotta-dk); outline-offset:2px; }
  .ts-arrow--prev{ left:-4px; }
  .ts-arrow--next{ right:-4px; }
  @media (max-width:860px){ .ts-arrow{ display:none; } }

  /* ---------- dots ---------- */
  .ts-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-top:8px;
  }
  .ts-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:rgba(28,26,23,0.22);
    border:none;
    padding:0;
    cursor:pointer;
    transition:background 0.3s ease, transform 0.3s ease;
  }
  .ts-dot.ts-dot--active{
    background:var(--ts-ink);
    transform:scale(1.25);
  }
  .ts-dot:focus-visible{ outline:2px solid var(--ts-terracotta-dk); outline-offset:3px; }

  @media (prefers-reduced-motion: reduce){
    .ts-track, .ts-card, .ts-dot{ transition:none !important; }
  }

  @media (max-width:600px){
    .ts-section{ padding:64px 16px 80px; }
    .ts-card{ padding:38px 26px; flex-basis:88vw; margin:0 10px; }
    .ts-quote{ font-size:1rem; }
  }




    .pw-wrapper{
    margin:0;
    color: var(--ts-ink);
    background: var(--ts-cream);
    position:relative;
	width: 100%;
    /* overflow-x:hidden;
    overflow-y:visible; */
  }

  /* background texture: subtle paper grain + faint coffee-ring */
  .pw-texture{
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:0;
    opacity:0.5;
    /* background-image:
      radial-gradient(circle at 12% 18%, rgba(193,139,87,0.10), transparent 38%),
      radial-gradient(circle at 88% 78%, rgba(216,162,74,0.12), transparent 42%),
      repeating-linear-gradient(0deg, rgba(28,26,23,0.018) 0px, rgba(28,26,23,0.018) 1px, transparent 1px, transparent 3px),
      repeating-linear-gradient(90deg, rgba(28,26,23,0.014) 0px, rgba(28,26,23,0.014) 1px, transparent 1px, transparent 3px);
    background-blend-mode: multiply; */
  }
  .pw-texture::after{
    content:"";
    position:absolute;
	  display: none;
    top:-120px; right:-160px;
    width:520px; height:520px;
    border-radius:50%;
    border:14px solid rgba(168,114,63,0.06);
    filter: blur(1px);
  }

  .pw-container{
    position:relative;
    z-index:1;
    max-width: 100%;
    margin:0 auto;
    padding:64px 16px 96px;
  }

  /* ===== Breadcrumb / eyebrow ===== */
  .pw-eyebrow{
    display:flex;
    align-items: center;
    gap:10px;
	flex-wrap: wrap;
    font-size:12.5px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color: var(--ts-terracotta-dk);
    font-weight:700;
    margin-bottom: 16px;
  }
  .pw-eyebrow i{ font-size:10px; color: var(--ts-body); opacity:.6; }

  /* ===== Main grid ===== */
  .pw-detail-grid {
    display: flex;
    /* grid-template-columns: 1fr 1fr; */
    gap: 32px;
    align-items:start;
	width: 100%;
	margin-bottom: 36px;
  }

  /* ===== Gallery ===== */
  .pw-gallery {
    /* position:-webkit-sticky; */
    /* position:sticky; */
    top:40px;
    align-self:start;
    display: flex;
	width: 50%;
	flex-direction: column;
    z-index:1;
  }

  .pw-gallery-main{
    position:relative;
    border-radius:18px;
    overflow:hidden;
    background: linear-gradient(160deg, var(--ts-cream-deep), var(--ts-ghost-tint));
    aspect-ratio: 1/1.05;
    box-shadow: 0 30px 60px -28px rgba(28,26,23,0.32), 0 2px 0 rgba(255,255,255,0.4) inset;
  }
  .pw-gallery-main img{
    width:100%; 
	height:100% !important;
    object-fit:cover;
    mix-blend-mode:multiply;
  }
  .pw-origin-stamp{
    position:absolute;
    top:20px; left:20px;
    width:74px; height:74px;
    border-radius:50%;
    background: var(--ts-cream);
    border:1.5px dashed var(--ts-terracotta-dk);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    
    font-size: 8.5px;
    line-height:1.15;
    color: var(--ts-terracotta-dk);
    letter-spacing:.04em;
    text-transform:uppercase;
    transform: rotate(-8deg);
    box-shadow: 0 8px 18px -6px rgba(28,26,23,0.25);
  }
  .pw-thumb-row{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:14px;
    margin-top:16px;
  }
  .pw-thumb{
    border-radius:12px;
    overflow:hidden;
    aspect-ratio:1/1;
    cursor:pointer;
    border:2px solid transparent;
    background: var(--ts-cream-deep);
    transition: border-color .25s ease, transform .25s ease;
  }
  .pw-thumb img{ width:100%; height:100% !important; object-fit:cover; mix-blend-mode:multiply; }
  .pw-thumb.pw-active-thumb{ border-color: var(--ts-terracotta); transform: translateY(-2px); }
  .pw-thumb:hover{ transform: translateY(-2px); }

  /* ===== Info column ===== */
  .pw-product-title{
    
    font-weight:600;
    font-size:42px;
    line-height:1.08;
    letter-spacing:-0.01em;
    margin:0 0 6px;
  }
  .pw-product-subtitle{
    font-style:italic;
    padding: 0px !important;
    font-weight:400;
    color: var(--ts-terracotta-dk);
    font-size:17px;
    margin:0 0 16px;
  }

  /* Best-for tags */
  .pw-tag-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:18px;
  }
  .pw-tag{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 14px 8px 12px;
    border-radius:999px;
    font-size:12.5px;
    font-weight:600;
    background: var(--ts-white);
    color: var(--ts-terracotta-dk);
    border:1px solid var(--ts-ghost-tint);
    box-shadow: 0 4px 10px -6px rgba(28,26,23,0.18);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  }
  .pw-tag i{ font-size:12px; color: var(--ts-gold); }
  .pw-tag:hover{
    transform: translateY(-2px);
    background: var(--ts-terracotta);
    color: var(--ts-white);
    box-shadow: 0 10px 18px -8px rgba(161,97,46,0.45);
  }
  .pw-tag:hover i{ color: var(--ts-white); }

  /* price + rating */
  .pw-meta-row{
    display:flex;
    align-items: baseline;
    justify-content:space-between;
    padding: 0px 0;
    border-top:1px solid var(--ts-ghost-tint);
    border-bottom:1px solid var(--ts-ghost-tint);
    margin-bottom: 12px;
  }
  .pw-price{
    
    font-size:28px;
    font-weight:600;
    color: var(--ts-ink);
  }
  .pw-price span{
    font-size:14px;
    color: var(--ts-body);
	display: block;
    height: fit-content;
    font-weight:500;
    margin-left:6px;
  }
  .pw-rating{
    display:flex;
    align-items:center;
    gap:8px;
    color: var(--ts-gold);
    font-size:14px;
  }
  .pw-rating span{ color: var(--ts-body); font-size:13px; font-weight:600; }

  /* Story / overview */
  .pw-story{
    font-size:16px;
    line-height:1.45;
	padding: 0px 8px !important;
    color: var(--ts-body);
    margin-bottom:18px;
  }
  .pw-story strong{ color: var(--ts-ink); font-weight:600; }

  /* Accordion-style detail sections */
  .pw-accordion{
    border-top:1px solid var(--ts-ghost-tint);
  }
  .pw-acc-item{
    border-bottom:1px solid var(--ts-ghost-tint);
  }
  .pw-acc-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    background:none;
    border:none;
    cursor:pointer;
    padding: 8px 2px;
    text-align:left;
    
    font-size:17px;
    font-weight:600;
    color: var(--ts-ink);
  }
  .pw-acc-head .pw-acc-icon-label{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .pw-acc-head i.pw-acc-leading{
    color: var(--ts-terracotta);
    font-size:15px;
    width:20px;
    text-align:center;
  }
  .pw-acc-chevron{
    color: var(--ts-body);
    transition: transform .3s ease;
    font-size:13px;
  }
  .pw-acc-item.pw-open .pw-acc-chevron{ transform: rotate(180deg); color:var(--ts-terracotta-dk); }

  .pw-acc-body{
    max-height:0;
    overflow:hidden;
    transition: max-height .35s ease;
  }
  .pw-acc-inner{
    padding:0 2px 22px 32px;
    font-size:15px;
    line-height:1.75;
    color: var(--ts-body);
  }
  .pw-acc-inner p { 
	margin:0 0 0px;
	padding:0px !important;
  }
  .pw-acc-inner ul{ margin:8px 0 0; padding-left:0; list-style:none; }
  .pw-acc-inner li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin-bottom:8px;
  }
  .pw-acc-inner li i{ color: var(--ts-gold); margin-top:3px; font-size:12px; }

  .pw-note-chip-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
  }
  .pw-note-chip{
    font-size:12px;
    font-weight:600;
    padding:6px 12px;
    border-radius:8px;
    background: var(--ts-cream-deep);
    color: var(--ts-terracotta-dk);
  }

  /* CTA row */
  .pw-cta-row{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top: 16px;
	flex-wrap: wrap;
  }
  .pw-qty{
    display:flex;
    align-items:center;
    border:1px solid var(--ts-ghost-tint);
    border-radius:10px;
    overflow:hidden;
    background: var(--ts-white);
  }
  .pw-qty button{
    border:none;
    background:none;
    width:38px;
    height:46px;
    cursor:pointer;
    color: var(--ts-terracotta-dk);
    font-size:15px;
  }
  .pw-qty span{
    width:36px;
    text-align:center;
    font-weight:700;
    font-size:15px;
  }
  .pw-btn-cart{
    flex:1;
    height:48px;
    border:none;
    border-radius:10px;
    background: linear-gradient(135deg, var(--ts-terracotta), var(--ts-terracotta-dk));
    color: var(--ts-white);
    font-weight:700;
    font-size:14.5px;
    letter-spacing:.03em;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    cursor:pointer;
    box-shadow: 0 14px 26px -12px rgba(168,114,63,0.55);
    transition: transform .2s ease, box-shadow .2s ease;
  }
  .pw-btn-cart:hover{ transform: translateY(-2px); box-shadow: 0 18px 30px -10px rgba(168,114,63,0.6); }
  .pw-btn-wish{
	padding: 12px 16px;
    width:48px; height:48px;
    border-radius:10px;
    border:1px solid var(--ts-ghost-tint);
    background: var(--ts-white);
    color: var(--ts-terracotta-dk);
    font-size:16px;
    cursor:pointer;
    transition: background .2s ease, color .2s ease;
  }
  .pw-btn-wish:hover{ background: var(--ts-terracotta); color: var(--ts-white); }
  .pw-btn-wish.pw-active-wish{ background: var(--ts-terracotta-dk); color: var(--ts-white); }

  .pw-trust-row{
    display:flex;
    gap:12px;
    margin-top:16px;
    flex-wrap:wrap;
  }
  .pw-trust-item{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12.5px;
    color: var(--ts-body);
    font-weight:600;
  }
  .pw-trust-item i{ color: var(--ts-terracotta); }

    .pw-info {
    display: flex;
    flex-direction: column;
    width: 50%;
}
.eyestoppoints {
    display: flex;
    align-items: center;
    gap: 6px;
}

  @media (max-width: 880px){
    .pw-detail-grid { 
		flex-direction: column;
		gap:40px; 
		width: 100%;
	}
	.pw-gallery {
		width: 100%;
	}
	.pw-info {
		width: 100%;
	}
	.pw-container {
		padding: 0px 12px 42px;
	}
    .pw-product-title{ font-size:32px; }

	.pw-rating {
		gap: 6px;
		flex-wrap: wrap;
	}
  }

  .fz-page{
    background-color: var(--fz-bg);
    
    color: var(--ts-cream);
    
    -webkit-font-smoothing: antialiased;
  }

  /* film-grain / paper-fiber texture overlay */
  /* .fz-texture{
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    opacity: 0.5;
    mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  } */

  .fz-wrap {
    position: relative;
    z-index: 2;
    max-width: 100%;
    margin: 0 auto;
    padding: 0px 16px 0px;
}

  /* ============ EYEBROW / LABELS ============ */
  .fz-eyebrow{
    display:flex;
    align-items:center;
    gap:10px;
    font-size: 12px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--ts-terracotta);
    margin-bottom: 14px;
  }
  .fz-eyebrow i{ font-size: 11px; }
  .fz-eyebrow .fz-eyebrow-rule{
    width: 28px; height: 1px;
    background: var(--ts-terracotta);
    display:inline-block;
  }

  /* ============ HERO / PRODUCT INFO ============ */
  .fz-hero{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
    padding-bottom: 56px;
    border-bottom: 1px solid var(--fz-line);
    margin-bottom: 64px;
  }

  .fz-hero-media{
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    background: var(--fz-surface);
    border: 1px solid var(--fz-line);
  }
  .fz-hero-media img{
    width: 100%;
    height: 560px;
    object-fit: cover;
    display:block;
    filter: sepia(8%) saturate(92%) brightness(0.92);
  }
  .fz-hero-media::after{
    content:"";
    position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(15,13,10,0) 55%, rgba(15,13,10,0.55) 100%);
  }
  .fz-media-badge{
    position:absolute;
    top:20px; left:20px;
    z-index:3;
    background: rgba(15,13,10,0.72);
    border: 1px solid rgba(216,162,74,0.4);
    color: var(--ts-gold);
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 8px 14px;
    border-radius: 999px;
    display:flex; align-items:center; gap:7px;
    backdrop-filter: blur(4px);
  }

  .fz-title{
    font-optical-sizing: auto;
    font-weight: 600;
    font-size: clamp(36px, 4vw, 50px);
    line-height: 1.08;
    color: var(--ts-cream);
    margin: 0 0 12px;
  }
  .fz-title em{
    font-style: italic;
    color: var(--ts-terracotta);
    font-weight: 500;
  }
  .fz-subtitle{
    color: var(--ts-cream-deep);
    opacity:.65;
    font-size: 15px;
    line-height: 1.7;
    margin: 0 0 28px;
    max-width: 460px;
  }

  .fz-price-row{
    display:flex;
    align-items:baseline;
    gap: 14px;
    margin-bottom: 30px;
  }
  .fz-price{
    
    font-size: 30px;
    color: var(--ts-gold);
    font-weight: 600;
  }
  .fz-price-old{
    font-size: 16px;
    color: var(--ts-body);
    text-decoration: line-through;
  }
  .fz-stars{
    color: var(--ts-gold);
    font-size: 12px;
    letter-spacing: 2px;
  }
  .fz-review-count{
    color: var(--ts-body);
    font-size: 13px;
  }

  .fz-add-row{
    display:flex;
    gap: 14px;
    margin-bottom: 36px;
  }
  .fz-qty{
    display:flex;
    align-items:center;
    border: 1px solid var(--fz-line);
    border-radius: 4px;
    overflow:hidden;
  }
  .fz-qty button{
    background: transparent;
    border:none;
    color: var(--ts-cream);
    width: 38px; height: 48px;
    cursor:pointer;
    font-size:15px;
    transition: background .2s;
  }
  .fz-qty button:hover{ background: var(--fz-surface-2); }
  .fz-qty span{
    width: 40px;
    text-align:center;
    font-size:15px;
  }
  .fz-btn-primary{
    flex:1;
    background: var(--ts-terracotta);
    color: var(--ts-ink);
    border:none;
    border-radius: 4px;
    font-weight:500;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    transition: background .25s, transform .15s;
  }
  .fz-btn-primary:hover{ background: var(--ts-gold); transform: translateY(-1px); }

  .fz-meta-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    color: var(--ts-body);
    font-size: 13px;
  }
  .fz-meta-list div{ display:flex; gap:10px; align-items:center; }
  .fz-meta-list i{ color: var(--ts-terracotta); width:14px; }

  /* ============ SECTION HEADER (shared) ============ */
  .fz-section{ margin-bottom: 32px; }

  .fz-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    margin-bottom: 16px;
    gap: 20px;
    flex-wrap:wrap;
  }
  .fz-section-title{
    
    font-weight: 600;
    font-size: 26px;
    color: var(--ts-cream);
    margin:0;
    display:flex;
    align-items:center;
    gap:12px;
  }
  .fz-section-title i{
    color: var(--ts-terracotta);
    font-size: 18px;
  }
  .fz-section-desc{
    color: var(--ts-white);
    font-size: 13.5px;
    max-width: 360px;
    text-align:right;
    line-height:1.5;
  }

  /* ============ FRESHNESS SECTION ============ */
  .fz-fresh-card{
    background: linear-gradient(135deg, var(--fz-surface) 0%, var(--fz-surface-2) 100%);
    border: 1px solid var(--fz-line);
    border-radius: 8px;
    padding: 16px 32px;
    display:grid;
    grid-template-columns: auto 1fr auto;
    align-items:center;
    gap: 36px;
    position: relative;
    overflow:hidden;
  }
  .fz-fresh-card::before{
    content:"";
    position:absolute;
    width:260px; height:260px;
    background: radial-gradient(circle, rgba(193,139,87,0.18), transparent 70%);
    top:-90px; right:-60px;
    border-radius:50%;
  }
  .fz-fresh-ring{
    position:relative;
    width: 108px; 
	height:108px;
    z-index:2;
  }
  .fz-fresh-ring svg{ transform: rotate(-90deg); }
  .fz-fresh-ring-bg{
    fill:none; stroke: var(--fz-line); stroke-width:6;
  }
  .fz-fresh-ring-fg{
    fill:none; stroke: var(--ts-gold); stroke-width:6; stroke-linecap:round;
    transition: stroke-dashoffset 1s ease;
  }
  .fz-fresh-ring-label{
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
  }
  .fz-fresh-ring-label strong{
    
    font-size: 22px;
    color: var(--ts-cream);
  }
  .fz-fresh-ring-label span{
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform:uppercase;
    color: var(--ts-white);
  }

  .fz-fresh-info{ z-index:2; }
  .fz-fresh-status{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background: rgba(216,162,74,0.12);
    border: 1px solid rgba(216,162,74,0.3);
    color: var(--ts-gold);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 11.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 14px;
  }
  .fz-fresh-status i{ font-size:10px; animation: fzPulse 2.2s infinite; }
  @keyframes fzPulse{ 0%,100%{opacity:1;} 50%{opacity:.4;} }

  .fz-fresh-headline{
    
    font-size: 22px;
    color: var(--ts-cream);
    margin: 0 0 8px;
  }
  .fz-fresh-headline span{ color: var(--ts-terracotta); }
  .fz-fresh-sub{
    color: var(--ts-white);
    font-size: 14px;
    margin:0;
    max-width: 420px;
    line-height:1.6;
	padding: 0px !important;
  }

  .fz-fresh-dates{
    z-index:2;
    display:flex;
    flex-direction:column;
    gap: 16px;
    border-left: 1px solid var(--fz-line);
    padding-left: 32px;
  }
  .fz-fresh-date-item{ display:flex; flex-direction:column; gap:3px; }
  .fz-fresh-date-item .fz-label{
    font-size: 10.5px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ts-white);
  }
  .fz-fresh-date-item .fz-value{
    font-size: 14.5px;
    color: var(--ts-cream-deep);
    font-weight:500;
  }
  .fz-fresh-date-item .fz-value i{ color: var(--ts-terracotta); margin-right:6px; width:14px; }

  /* ============ BUNDLES SECTION ============ */
  .fz-bundle-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .fz-bundle-card{
    background: var(--fz-surface);
    border: 1px solid var(--fz-line);
    border-radius: 8px;
    padding: 26px;
    display:flex;
    flex-direction:column;
    position:relative;
    transition: border-color .25s, transform .25s;
  }
  .fz-bundle-card:hover{ border-color: var(--ts-terracotta); transform: translateY(-4px); }
  .fz-bundle-card.fz-popular{ border-color: rgba(216,162,74,0.5); }

  .fz-bundle-tag{
    position:absolute;
    top:-12px; right: 22px;
    background: var(--ts-gold);
    color: var(--ts-ink);
    font-size: 10.5px;
    font-weight:600;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding: 5px 12px;
    border-radius: 999px;
  }
  .fz-bundle-imgs{
    display:flex;
    gap:8px;
    margin-bottom: 18px;
  }
  .fz-bundle-imgs img{
    width: 56px; 
	height:56px !important;
    object-fit:cover;
    border-radius:6px;
    border: 1px solid var(--fz-line);
    filter: sepia(8%) brightness(0.92);
  }
  .fz-bundle-name{
    
    font-size: 19px;
    color: var(--ts-cream);
    margin: 0 0 6px;
  }
  .fz-bundle-desc{
    font-size: 13px;
    color: var(--ts-white);
    line-height:1.6;
    margin: 0 0 18px;
	padding: 0px !important;
    flex:1;
  }
  .fz-bundle-includes{
    list-style:none;
    margin:0 0 20px;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:7px;
  }
  .fz-bundle-includes li{
    font-size: 12.5px;
    color: var(--ts-cream-deep);
    opacity:.85;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .fz-bundle-includes i{ color: var(--ts-terracotta); font-size:10px; }

  .fz-bundle-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-top: 1px solid var(--fz-line);
    padding-top: 16px;
  }
  /* Savings line added when bundles became real — states the discount and who sells it. */
  .fz-bundle-save{
    margin-top: 12px;
    font-family: 'IBM Plex Mono', ui-monospace, monospace;
    font-size: 9.5px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ts-gold, #D8A24A);
  }
  .fz-bundle-includes small{ opacity:.6; }
  .fz-bundle-price{
    display:flex;
    flex-direction:column;
  }
  .fz-bundle-price strong{
    
    color: var(--ts-gold);
    font-size: 19px;
  }
  .fz-bundle-price small{
    color: var(--ts-body);
    font-size: 11px;
    text-decoration: line-through;
  }
  .fz-btn-bundle{
    background: transparent;
    border: 1px solid var(--ts-terracotta);
    color: var(--ts-cream);
    padding: 10px 16px;
    border-radius: 4px;
    font-size: 12px;
    letter-spacing:0.04em;
    text-transform:uppercase;
    cursor:pointer;
    display:flex; align-items:center; gap:7px;
    transition: background .2s, color .2s;
  }
  .fz-btn-bundle:hover{ background: var(--ts-terracotta); color: var(--ts-ink); }

  /* ============ PAIRINGS SECTION ============ */
  .fz-pair-strip{
    display:flex;
    align-items:center;
    gap: 10px;
    margin-bottom: 24px;
    color: var(--ts-white);
    font-size: 13.5px;
  }
  .fz-pair-strip i{ color: var(--ts-terracotta); }

  .fz-pair-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
  .fz-pair-card{
    background: var(--fz-surface);
    border: 1px solid var(--fz-line);
    border-radius: 8px;
    overflow:hidden;
    transition: transform .25s, border-color .25s;
    cursor:pointer;
  }
  .fz-pair-card:hover{ transform: translateY(-4px); border-color: var(--ts-terracotta); }
  .fz-pair-img-wrap{
    position:relative;
    height: 150px;
    overflow:hidden;
  }
  .fz-pair-img-wrap img{
    width:100%; height:100%;
    object-fit:cover;
    filter: sepia(8%) brightness(0.9);
  }
  .fz-pair-fit{
    position:absolute;
    bottom:10px; left:10px;
    background: rgba(15,13,10,0.75);
    color: var(--ts-gold);
    font-size: 10px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    padding: 5px 10px;
    border-radius: 999px;
    display:flex; align-items:center; gap:6px;
  }
  .fz-pair-body{ padding: 16px 18px 20px; }
  .fz-pair-name{
    
    font-size: 15.5px;
    color: var(--ts-cream);
    margin: 0 0 6px;
  }
  .fz-pair-note{
    font-size: 12px;
    color: var(--ts-white);
    line-height:1.5;
    margin: 0 0 14px;
    min-height: 36px;
	padding: 0px !important;
  }
  .fz-pair-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .fz-pair-price{
    color: var(--ts-gold);
    font-size: 14px;
    font-weight:500;
  }
  .fz-pair-add{
    background: transparent;
    border: 1px solid var(--fz-line);
    color: var(--ts-cream);
    width: 32px; height:32px;
    border-radius: 50%;
    cursor:pointer;
	padding: 0;
    font-size: 12px;
    display:flex; align-items:center; justify-content:center;
    transition: background .2s, border-color .2s;
  }
  .fz-pair-add:hover{ background: var(--ts-terracotta); border-color: var(--ts-terracotta); color:var(--ts-ink); }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 980px){
    .fz-hero{ grid-template-columns: 1fr; }
    .fz-bundle-grid{ grid-template-columns: 1fr 1fr; }
    .fz-pair-grid{ grid-template-columns: 1fr 1fr; }
    .fz-fresh-card{ grid-template-columns: 1fr; text-align:center; }
    .fz-fresh-dates{ border-left:none; border-top:1px solid var(--fz-line); padding-left:0; padding-top:20px; align-items:center; }
    .fz-section-desc{ text-align:left; }
	.fz-fresh-ring{margin: 0 auto; }
  }
  @media (max-width: 600px){
    .fz-bundle-grid{ grid-template-columns: 1fr; }
    .fz-pair-grid{ grid-template-columns: 1fr; }
    .fz-wrap{ padding: 32px 18px 0px; }
    .fz-fresh-ring{ height:94px; }
  }

  :focus-visible{ outline: 2px solid var(--ts-gold); outline-offset: 2px; }

  
.cs-reviews-root{
    
    color:var(--ts-ink);
    /* background-color:var(--ts-cream); */
    /* background-image:
        radial-gradient(circle at 18% 22%, rgba(193,139,87,0.08) 0, transparent 38%),
        radial-gradient(circle at 84% 75%, rgba(216,162,74,0.10) 0, transparent 42%),
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>"); */
    padding: 8px 0px 60px;
    position:relative;
    overflow:hidden;
}

/* .cs-reviews-root::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        repeating-linear-gradient(115deg, rgba(28,26,23,0.018) 0px, rgba(28,26,23,0.018) 1px, transparent 1px, transparent 9px);
    pointer-events:none;
} */

.cs-reviews-wrap{
    max-width: 100%;
    margin:0 auto;
    position:relative;
}

/* ---------- Header ---------- */
.cs-rev-header{
    text-align:center;
    max-width:680px;
    margin:0 auto 34px;
    position:relative;
}

.cs-rev-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    
    font-size:12.5px;
    letter-spacing:0.32em;
    text-transform:uppercase;
    color:var(--ts-terracotta-dk);
    font-weight:600;
    margin-bottom:18px;
}

.cs-rev-eyebrow .cs-bean{
    font-size:11px;
    color:var(--ts-gold);
}

.cs-rev-title{
    
    font-weight:500;
    font-size:clamp(34px,5vw,54px);
    line-height:1.08;
    margin:0 0 18px;
    letter-spacing:-0.01em;
}

.cs-rev-title em{
    font-style:italic;
    font-weight:300;
    color:var(--ts-terracotta-dk);
}

.cs-rev-sub{
    color:var(--ts-body);
    font-size:16px;
    line-height:1.7;
    margin:0;
}

/* ---------- Summary bar ---------- */
.cs-rev-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:36px;
    flex-wrap:wrap;
    background:var(--ts-white);
    border:1px solid var(--ts-ghost-tint);
    border-radius:18px;
    padding: 26px 40px;
    margin: 0 auto 36px;
    max-width:780px;
    box-shadow:0 18px 40px -22px rgba(28,26,23,0.18);
}

.cs-rev-score-block{
    display:flex;
    align-items:center;
    gap:18px;
    padding-right:36px;
    border-right:1px solid var(--ts-cream-deep);
}

.cs-rev-score-num{
    
    font-size:48px;
    font-weight:600;
    color:var(--ts-ink);
    line-height:1;
}

.cs-rev-score-meta{display:flex;flex-direction:column;gap:6px;}
.cs-rev-stars-row i{color:var(--ts-gold);font-size:14px;margin-right:2px;}
.cs-rev-score-count{font-size:13px;color:var(--ts-body);letter-spacing:0.02em;}

.cs-rev-breakdown{display:flex;flex-direction:column;gap:7px;min-width:230px;}
.cs-rev-bd-row{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ts-body);}
.cs-rev-bd-row span:first-child{width:42px;flex-shrink:0;}
.cs-rev-bd-row span:last-child{width:26px;text-align:right;flex-shrink:0;color:var(--ts-ink);}
.cs-rev-bd-track{flex:1;height:6px;border-radius:5px;background:var(--ts-cream-deep);overflow:hidden;}
.cs-rev-bd-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--ts-terracotta),var(--ts-gold));}

/* ---------- Filter pills (by product) ---------- */
.cs-rev-filters{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:16px;
}

.cs-rev-pill{
    
    font-size:13.5px;
    font-weight:500;
    color:var(--ts-body);
    background:var(--ts-white);
    border:1px solid var(--ts-ghost-tint);
    border-radius:30px;
    padding:10px 20px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:all 0.25s ease;
}
.cs-rev-pill i{font-size:12px;color:var(--ts-terracotta);}
.cs-rev-pill:hover{border-color:var(--ts-terracotta);transform:translateY(-1px);}
.cs-rev-pill.cs-pill-active{
    background:var(--ts-ink);
    border-color:var(--ts-ink);
    color:var(--ts-cream);
}
.cs-rev-pill.cs-pill-active i{color:var(--ts-gold);}

/* ---------- Grid of review cards ---------- */
.cs-rev-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
    margin-bottom:30px;
}

.cs-rev-card{
    background:var(--ts-white);
    border-radius:16px;
    padding:28px 26px 26px;
    border:1px solid var(--ts-cream-deep);
    position:relative;
    transition:transform 0.35s ease, box-shadow 0.35s ease;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.cs-rev-card:hover{
    transform:translateY(-5px);
    box-shadow:0 24px 46px -26px rgba(28,26,23,0.28);
}

.cs-rev-quote-icon{
    position:absolute;
    top:22px;
    right:24px;
    font-size:26px;
    color:var(--ts-cream-deep);
}

.cs-rev-card-top{display:flex;align-items:center;gap:14px;}

.cs-rev-avatar{
    width:52px;
	height:52px !important;
	border-radius:50% !important;
    object-fit:cover;
    border:2px solid var(--ts-cream-deep);
    flex-shrink:0;
}

.cs-rev-person-name{
    padding:0 !important;
    font-weight:600;
    font-size:16.5px;
    margin:0;
    color:var(--ts-ink);
}

.cs-rev-person-loc{
    font-size:12px;
	padding:0 !important;
    color:var(--ts-body);
    margin:2px 0 0;
    display:flex;
    align-items:center;
    gap:5px;
}
.cs-rev-person-loc i{font-size:10px;color:var(--ts-terracotta);}

.cs-rev-stars i{color:var(--ts-gold);font-size:13px;margin-right:1px;}

.cs-rev-text{
    font-size:14.5px;
    line-height:1.75;
    color:var(--ts-body);
    margin:0;
    flex-grow:1;
	padding: 0px !important;
}

.cs-rev-product-tag{
    align-self:flex-start;
    display:inline-flex;
    align-items:center;
    gap:7px;
    background:var(--ts-cream);
    color:var(--ts-terracotta-dk);
    font-size:11.5px;
    font-weight:600;
    letter-spacing:0.03em;
    text-transform:uppercase;
    padding:7px 13px;
    border-radius:20px;
}
.cs-rev-product-tag i{font-size:11px;}

.cs-rev-card-foot{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:14px;
    border-top:1px dashed var(--ts-cream-deep);
}

.cs-rev-date{font-size:11.5px;color:var(--ts-body);opacity:0.8;}

.cs-rev-helpful{
    display:flex;align-items:center;gap:6px;
    font-size:12px;color:var(--ts-body);
    background:none;border:none;cursor:pointer;
}
.cs-rev-helpful i{color:var(--ts-terracotta);font-size:12px;}
.cs-rev-helpful:hover{color:var(--ts-terracotta-dk);}

.cs-rev-card.cs-hidden{display:none;}

/* ---------- Load more ---------- */
.cs-rev-loadmore{
    display:flex;
    justify-content:center;
    margin: 0px 0 30px;
}
.cs-rev-loadmore button{
    
    background:transparent;
    border:1.5px solid var(--ts-ink);
    color:var(--ts-ink);
    padding:13px 32px;
    border-radius:30px;
    font-size:13.5px;
    letter-spacing:0.05em;
    cursor:pointer;
    transition:all 0.25s ease;
    display:inline-flex;align-items:center;gap:10px;
}
.cs-rev-loadmore button:hover{
    background:var(--ts-ink);color:var(--ts-cream);
}

/* ---------- Divider ---------- */
.cs-rev-divider{
    display:flex;
    align-items:center;
    gap:18px;
    max-width:780px;
    margin:0 auto 60px;
}
.cs-rev-divider::before,.cs-rev-divider::after{
    content:"";flex:1;height:1px;background:var(--ts-ghost-tint);
}
.cs-rev-divider i{color:var(--ts-terracotta);font-size:14px;}

/* ---------- Form section ---------- */
.cs-rev-form-section{
    max-width:760px;
    margin:0 auto;
    background:var(--ts-white);
    border-radius:22px;
    padding:50px 54px;
    border:1px solid var(--ts-cream-deep);
    box-shadow:0 30px 60px -30px rgba(28,26,23,0.22);
    position:relative;
}

.cs-rev-form-section::before{
    content:"\f7a2";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    position:absolute;
    top:-26px;
    left:50%;
    transform:translateX(-50%);
    width:54px;height:54px;
    background:linear-gradient(145deg,var(--ts-terracotta),var(--ts-terracotta-dk));
    color:var(--ts-cream);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:20px;
    box-shadow:0 10px 22px -8px rgba(168,114,63,0.55);
}

.cs-rev-form-head{
    text-align:center;
    margin-bottom:18px;
    margin-top:8px;
}
.cs-rev-form-head h3{
    
    font-weight:500;
    font-size:28px;
    margin:0 0 8px;
}
.cs-rev-form-head p{
    color:var(--ts-body);
    font-size:14px;
    margin:0;
	padding: 0px !important;
}

.cs-rev-form-rating{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
}
.cs-rev-form-rating-label{font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ts-body);font-weight:500;}
.cs-rev-star-picker{display:flex;gap:6px;}
.cs-rev-star-picker i{
    font-size:26px;color:var(--ts-cream-deep);cursor:pointer;
    transition:transform 0.15s ease, color 0.15s ease;
}
.cs-rev-star-picker i:hover{transform:scale(1.15);}
.cs-rev-star-picker i.cs-star-on{color:var(--ts-gold);}

.cs-rev-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:20px;
}
.cs-rev-form-grid.cs-full{grid-template-columns:1fr;}

.cs-rev-field{display:flex;flex-direction:column;gap:8px;}
.cs-rev-field label{
    font-size:12.5px;
    font-weight:500;
    color:var(--ts-ink);
    letter-spacing:0.01em;
}
.cs-rev-field input,
.cs-rev-field select,
.cs-rev-field textarea{
    
    background:var(--ts-cream);
    border:1px solid var(--ts-cream-deep);
    border-radius:10px;
    padding:13px 15px;
    font-size:14px;
    color:var(--ts-ink);
    outline:none;
    transition:border-color 0.2s ease, background 0.2s ease;
    resize:vertical;
}
.cs-rev-field input:focus,
.cs-rev-field select:focus,
.cs-rev-field textarea:focus{
    border-color:var(--ts-terracotta);
    background:var(--ts-white);
}
.cs-rev-field textarea{min-height:110px;}

.cs-rev-submit-btn{
    width:100%;
    
    background:linear-gradient(135deg,var(--ts-terracotta),var(--ts-terracotta-dk));
    color:var(--ts-cream);
    border:none;
    padding:16px;
    border-radius:12px;
    font-size:14.5px;
    font-weight:600;
    letter-spacing:0.04em;
    cursor:pointer;
    display:flex;align-items:center;justify-content:center;gap:10px;
    transition:transform 0.2s ease, box-shadow 0.2s ease;
    margin-top:8px;
}
.cs-rev-submit-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 30px -14px rgba(168,114,63,0.55);
}

.cs-rev-success{
    display:none;
    align-items:center;
    gap:12px;
    background:var(--ts-cream);
    border:1px solid var(--ts-gold);
    color:var(--ts-terracotta-dk);
    border-radius:12px;
    padding:16px 18px;
    font-size:13.5px;
    margin-top:18px;
}
.cs-rev-success.cs-show{display:flex;}
.cs-rev-success i{font-size:16px;}

@media (max-width:900px){
    .cs-rev-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:680px){
    .cs-rev-grid{grid-template-columns:1fr;}
    .cs-rev-form-section{padding:42px 24px;}
    .cs-rev-form-grid{grid-template-columns:1fr;}
    .cs-rev-score-block{border-right:none;padding-right:0;border-bottom:1px solid var(--ts-cream-deep);padding-bottom:18px;width:100%;justify-content:center;}
    .cs-rev-summary{flex-direction:column;padding:26px;}
}


  /* ---- Trigger wrap ---- */
  .dr-wrap {
    position: relative;
    display: inline-block;
  }


.dr-trigger {
    display: flex;
    align-items: center;
    gap: 9px;
    background: #ffffff1c;
    border: 1px solid #ffffff;
    border-radius: 999px;
    padding: 11px 20px 11px 16px;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #ffffff;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}


  .dr-trigger i.fa-user {
    font-size: 14px;
  }

  .dr-caret {
    font-size: 10px;
    transition: transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
  }

  .dr-wrap.dr-open .dr-trigger,
  .dr-trigger:hover {
    background: #1a1a1a;
    color: #ffffff;
    border-color: #1a1a1a;
  }

  .dr-wrap.dr-open .dr-caret {
    transform: rotate(180deg);
  }

  /* ---- Panel ---- */
  .dr-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 200px;
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 14px;
    box-shadow: 0 18px 40px -12px rgba(20, 20, 20, 0.16);
    overflow: hidden;
    padding: 8px;
	z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px) scaleY(0.94);
    transform-origin: top right;
    max-height: 0;
    transition:
      opacity 0.28s cubic-bezier(0.65, 0, 0.35, 1),
      transform 0.32s cubic-bezier(0.65, 0, 0.35, 1),
      max-height 0.32s cubic-bezier(0.65, 0, 0.35, 1),
      visibility 0.32s;
  }

  .dr-wrap.dr-open .dr-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scaleY(1);
    max-height: max-content;
  }

  .dr-eyebrow {
    font-family: 'Fraunces', serif;
    font-size: 11px;
    font-style: italic;
    color: #9b9b9b;
    padding: 8px 12px 6px;
    letter-spacing: 0.01em;
  }

  .dr-link {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 6px 8px;
    border-radius: 9px;
    text-decoration: none;
    color: #1a1a1a;
    font-size: 13.5px;
    font-weight: 500;
    transition: background 0.18s ease, padding-left 0.18s ease, color 0.18s ease;
  }

  .dr-link i {
    width: 15px;
    text-align: center;
    font-size: 13px;
    color: #c18b57;
  }

  .dr-link:hover {
    background: #fff4ee;
    padding-left: 16px;
    color: #c18b57;
  }

  .dr-divider {
    height: 1px;
    background: #ececec;
    margin: 2px 4px;
  }

@media (max-width: 980px){
	.dr-trigger {
    display: flex;
    align-items: center;
    gap: 4px;
    background: #ffffff1c;
    border: 1px solid #ffffff;
    border-radius: 999px;
    padding: 9px 12px 8px 12px;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: #ffffff;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
	.dr-trigger i.fa-user {
    font-size: 11px;
}
	.dr-caret {
		display: none !important;
	}
}

  :root{
    --pv-cream:        #F1EAE0;
    --pv-cream-deep:   #E7DECF;
    --pv-ghost-tint:   #E2D8C8;
    --pv-terracotta:   #C18B57;
    --pv-terracotta-dk:#A8723F;
    --pv-ink:          #1C1A17;
    --pv-body:         #5C564D;
    --pv-white:        #FFFFFF;
    --pv-gold:         #D8A24A;

    --pv-bg:           #040404;
    --pv-bg-deep:      #0F0D0A;
    --pv-surface:      #1F1C17;
    --pv-surface-2:    #262219;
    --pv-line:         rgba(241,234,224,0.10);
    --pv-line-soft:    rgba(241,234,224,0.06);

    --pv-good:         #7DAA7A;
    --pv-warn:         #D8A24A;
  }

  .pv-root{
    
    background:var(--pv-white);
    color:var(--pv-ink);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  .pv-root ::selection{ background:var(--pv-gold); color:var(--pv-ink); }

  .pv-serif{  }
  .pv-mono{  }

  .pv-focus:focus-visible{
    outline:2px solid var(--pv-terracotta);
    outline-offset:3px;
    border-radius:4px;
  }

  a.pv-focus, button.pv-focus{ cursor:pointer; }

  /* ============ shared texture layers ============ */
  .pv-grain{
    position:absolute; inset:0;
    pointer-events:none;
    opacity:0.5;
    mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");
  }

  .pv-bean-field{
    position:absolute; inset:0;
    pointer-events:none;
    opacity:0.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='none' stroke='%23F1EAE0' stroke-width='1.2'%3E%3Cellipse cx='20' cy='24' rx='11' ry='16' transform='rotate(30 20 24)'/%3E%3Cpath d='M20 10 Q20 24 20 38' transform='rotate(30 20 24)'/%3E%3Cellipse cx='90' cy='80' rx='11' ry='16' transform='rotate(-20 90 80)'/%3E%3Cpath d='M90 66 Q90 80 90 94' transform='rotate(-20 90 80)'/%3E%3Cellipse cx='75' cy='15' rx='8' ry='12' transform='rotate(60 75 15)'/%3E%3C/g%3E%3C/svg%3E");
    background-size:220px 220px;
  }

  /* ============================================================
     TOPBAR — dark
  ============================================================= */
  .pv-topbar{
    position:relative;
    background:var(--pv-bg);
    color:var(--pv-cream);
    border-bottom:1px solid var(--pv-line);
    overflow:hidden;
  }
  .pv-topbar-inner{
    position:relative; z-index:2;
    max-width:1320px; margin:0 auto;
    padding:18px 32px;
    display:flex; align-items:center; justify-content:space-between;
    gap:24px;
  }
  .pv-crumbs{
    display:flex; align-items:center; gap:10px;
    font-size:13px; letter-spacing:0.02em;
    color:rgba(241,234,224,0.55);
    flex-wrap:wrap;
  }
  .pv-crumbs a{ color:rgba(241,234,224,0.55); text-decoration:none; transition:color .2s; }
  .pv-crumbs a:hover{ color:var(--pv-cream); }
  .pv-crumbs .pv-crumb-current{ color:var(--pv-cream); font-weight:500; }
  .pv-crumbs i{ font-size:9px; opacity:0.5; }

  .pv-topbar-tools{ display:flex; align-items:center; gap:18px; }
  .pv-search{
    display:flex; align-items:center; gap:9px;
    background:var(--pv-surface);
    border:1px solid var(--pv-line);
    border-radius:999px;
    padding:8px 16px;
    color:rgba(241,234,224,0.4);
    font-size:13px;
    min-width:200px;
  }
  .pv-search i{ font-size:12px; }
  .pv-icon-btn{
    position:relative;
    width:36px; height:36px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:var(--pv-surface);
    border:1px solid var(--pv-line);
    color:var(--pv-cream);
    font-size:13px;
  }
  .pv-icon-btn .pv-dot{
    position:absolute; top:6px; right:7px;
    width:6px; height:6px; border-radius:50%;
    background:var(--pv-terracotta);
    box-shadow:0 0 0 2px var(--pv-bg);
  }
  .pv-avatar{
    width:36px; height:36px; border-radius:50%;
    overflow:hidden; border:1px solid var(--pv-line);
    flex-shrink:0;
  }
  .pv-avatar img{ width:100%; height:100%; object-fit:cover; }

  /* ============================================================
     HERO — dark, vendor cover + identity
  ============================================================= */
  .pv-hero{
    position:relative;
    /* background:radial-gradient(120% 140% at 85% -10%, #1a140c 0%, var(--pv-bg-deep) 45%, var(--pv-bg) 100%); */
    color:var(--pv-cream);
    padding:56px 32px 64px;
    overflow:hidden;
  }
  .pv-hero-inner{
    position:relative; z-index:2;
    max-width:1320px; margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,460px) 1fr;
    gap:56px;
    align-items:flex-start;
  }

  /* cover / logo */
  .pv-cover{ display:flex; flex-direction:column; gap:14px; }
  .pv-cover-main{
    position:relative;
    aspect-ratio:1/1;
    border-radius:18px;
    overflow:hidden;
    border:1px solid var(--pv-line);
    background:var(--pv-surface);
  }
  .pv-cover-main img{ 
	  width:100%; 
	  height:100% !important; 
	  object-fit:cover; 
	  display:block; 
  }
  .pv-cover-badge{
    position:absolute; top:14px; left:14px;
    background:rgba(4,4,4,0.65);
    backdrop-filter:blur(6px);
    border:1px solid var(--pv-line);
    color:var(--pv-cream);
    font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
    padding:6px 12px; border-radius:999px;
    display:flex; align-items:center; gap:6px;
  }
  .pv-cover-badge .pv-live-dot{
    width:6px; height:6px; border-radius:50%; background:var(--pv-good);
  }
  .pv-cover-thumbs{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
  .pv-cover-thumbs button{
    aspect-ratio:1/1; border-radius:10px; overflow:hidden;
    border:1px solid var(--pv-line); background:var(--pv-surface);
    padding:0; cursor:pointer;
  }
  .pv-cover-thumbs button.pv-thumb-active{ border-color:var(--pv-terracotta); }
  .pv-cover-thumbs img{ 
	  width:100%; 
	  height:100% !important; 
	  object-fit:cover; 
	  display:block; 
	  opacity:0.8; 
	  transition:opacity .2s; 
  }
  .pv-cover-thumbs button:hover img{ opacity:1; }

  /* vendor identity */
  .pv-info-top{
    display:flex; align-items:flex-start; justify-content:space-between;
    gap:20px; margin-bottom:18px;
  }
  .pv-eyebrow{
    display:flex; align-items:center; gap:8px;
    font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--pv-terracotta);
    margin-bottom:14px;
  }
  .pv-eyebrow::before{ content:''; width:22px; height:1px; background:var(--pv-terracotta); }

  .pv-title{
    display:flex; align-items:center; gap:12px;
    font-size:clamp(28px, 3.2vw, 40px);
    font-weight:500;
	  color: #ffffff;
    line-height:1.08;
    letter-spacing:-0.01em;
    max-width:600px;
  }
  .pv-title .pv-verified-tick{
    font-size:0.55em; color:var(--pv-terracotta);
    flex-shrink:0;
  }
  .pv-subtitle{
    margin-top:10px;
    color:rgba(241,234,224,0.55);
    font-size:15px;
    font-style:italic;
    
  }

  .pv-follow-toggle{
    display:flex; align-items:center; gap:10px;
    background:var(--pv-surface);
    border:1px solid var(--pv-line);
    padding:11px 20px;
    border-radius:999px;
    flex-shrink:0;
    color:var(--pv-cream);
    font-size:13px; font-weight:600;
  }
  .pv-follow-toggle i{ color:var(--pv-terracotta); }

  .pv-meta-row{
    display:flex; flex-wrap:wrap; gap:10px 22px;
    margin:22px 0 26px;
    padding-bottom:26px;
    border-bottom:1px solid var(--pv-line);
  }
  .pv-meta-item{ display:flex; flex-direction:column; gap:4px; }
  .pv-meta-item .pv-meta-label{
    font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase;
    color:rgba(241,234,224,0.4);
  }
  .pv-meta-item .pv-meta-value{
    font-size:13.5px; color:var(--pv-cream); 
  }

  .pv-rating-row{
    display:flex; align-items:flex-end; gap:28px; flex-wrap:wrap;
    margin-bottom:28px;
  }
  .pv-rating-block .pv-rating-label{
    font-size:11px; letter-spacing:0.1em; text-transform:uppercase;
    color:rgba(241,234,224,0.4); margin-bottom:6px;
  }
  .pv-rating-block .pv-rating-value{
     font-size:34px; font-weight:500;
    color:var(--pv-cream);
    display:flex; align-items:baseline; gap:8px;
  }
  .pv-rating-value .pv-stars{ font-size:14px; color:var(--pv-terracotta); letter-spacing:2px; }
  .pv-rating-value sup{ font-size:15px; color:rgba(241,234,224,0.5); font-weight:400; }

  .pv-stat-cards{ display:flex; gap:14px; flex-wrap:wrap; }
  .pv-stat-card{
    flex:1; min-width:130px;
    background:var(--pv-surface);
    border:1px solid var(--pv-line);
    border-radius:14px;
    padding:16px 18px;
  }
  .pv-stat-card i{ color:var(--pv-terracotta); font-size:14px; margin-bottom:10px; display:block; }
  .pv-stat-card .pv-stat-num{  font-size:22px; color:var(--pv-cream); }
  .pv-stat-card .pv-stat-label{ font-size:11.5px; color:rgba(241,234,224,0.45); margin-top:2px; }

  .pv-action-row{ display:flex; gap:12px; margin-top:26px; flex-wrap:wrap; }
  .pv-btn{
    display:inline-flex; align-items:center; gap:9px;
    padding:13px 24px;
    border-radius:999px;
    font-size:13.5px; font-weight:600; letter-spacing:0.01em;
    border:1px solid transparent;
    text-decoration:none;
    transition:transform .18s ease, opacity .18s ease;
  }
  .pv-btn:hover{ transform:translateY(-1px); }
  .pv-btn-primary{ background:var(--pv-terracotta); color:var(--pv-ink); }
  .pv-btn-primary:hover{ background:var(--pv-gold); }
  .pv-btn-ghost-dark{ background:transparent; border-color:var(--pv-line); color:var(--pv-cream); }
  .pv-btn-ghost-dark:hover{ border-color:var(--pv-terracotta); color:var(--pv-terracotta); }

  /* signature stamp */
  .pv-stamp {
    position: absolute;
    top: 104px;
    right: 108px;
    width: 112px;
    height: 112px;
    z-index: 3;
}
  .pv-stamp svg{ width:100%; height:100%; }
  .pv-stamp text{
    
    font-size:6.6px;
    letter-spacing:2px;
    fill:rgba(241,234,224,0.55);
  }
  .pv-stamp .pv-stamp-center{
    fill:none; stroke:var(--pv-terracotta); stroke-width:1;
  }
  .pv-stamp .pv-stamp-ring{
    fill:none; stroke:rgba(241,234,224,0.28); stroke-width:1; stroke-dasharray:2 3;
    animation:pv-spin 40s linear infinite;
    transform-origin:56px 56px;
  }
  @keyframes pv-spin{ to{ transform:rotate(360deg); } }
  .pv-stamp .pv-stamp-check{ color:var(--pv-terracotta); font-size:16px; }
  .pv-stamp-check-wrap{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    flex-direction:column; gap:2px;
  }
  .pv-stamp-check-wrap span{
    font-size:8px; letter-spacing:0.06em; color:rgba(241,234,224,0.5); text-transform:uppercase;
  }

  /* ============================================================
     TAB BAR — white, sticky
  ============================================================= */
  .pv-tabbar-wrap{
    position:sticky;
    top:0;
    justify-content:center;
    z-index:10;
    background:var(--pv-white);
    border-bottom:1px solid var(--pv-cream-deep);
  }
  .pv-tabbar{
    max-width:1320px; 
    margin:0 auto;
    padding:0 32px;
    justify-content: center;
    display:flex; 
    gap:6px;
    overflow-x:auto;
  }
  .pv-tab{
    background:none; border:none;
    padding:18px 18px 15px;
    font-size:13.5px; font-weight:600; letter-spacing:0.01em;
    color:var(--pv-body);
    border-bottom:2px solid transparent;
    white-space:nowrap;
    display:flex; align-items:center; gap:8px;
  }
  .pv-tab i{ font-size:12px; opacity:0.6; }
  .pv-tab.pv-tab-active{ color:var(--pv-ink); border-bottom-color:var(--pv-terracotta); }
  .pv-tab.pv-tab-active i{ opacity:1; color:var(--pv-terracotta); }

  /* ============================================================
     shared section frame
  ============================================================= */
  .pv-section{ position:relative; padding:72px 32px; }
  .pv-section-white{ 
	  /* background:var(--pv-white);  */
	  color:var(--pv-ink); 
  }
  .pv-section-black{ background:var(--pv-bg); color:var(--pv-cream); }
  .pv-section-inner{ max-width:1320px; margin:0 auto; position:relative; z-index:2; }

  .pv-kicker{
    display:flex; align-items:center; gap:10px;
    font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
    margin-bottom:14px;
	  justify-content: center;
  }
  .pv-section-white .pv-kicker{ color:var(--pv-terracotta-dk); }
  .pv-section-black .pv-kicker{ 
	  color:var(--pv-terracotta); 
	  display: flex;
	  justify-content: center;
  }
  .pv-kicker::before{ content:''; width:26px; height:1px; background:currentColor; }

  .pv-h2 {  
	  font-size:clamp(26px,2.6vw,36px); 
	  font-weight:500;
	  letter-spacing:-0.01em; 
  }
  .pv-section-sub{ max-width:560px; margin-top:12px; padding: 0 !important; font-size:15px; line-height:1.6; }
  .pv-section-white .pv-section-sub{ color:var(--pv-body); }
  .pv-section-black .pv-section-sub{ color:rgba(241,234,224,0.55); }

  .pv-section-head{
    display:flex; 
	justify-content: center; 
	align-items: center;
    gap:24px; 
	margin-bottom:22px; 
	flex-wrap:wrap;
  }

  /* ============================================================
     OVERVIEW — white (about + facts)
  ============================================================= */
  .pv-overview-grid{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:56px;
  }
  .pv-desc p{ font-size:15.5px; line-height:1.8; color:var(--pv-body); margin-bottom:16px; }
  .pv-desc p:last-child{ margin-bottom:0; }

  .pv-tag-row{ display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }
  .pv-tag{
    display:inline-flex; align-items:center; gap:6px;
    font-size:12px; font-weight:600; letter-spacing:0.02em;
    padding:8px 14px; border-radius:999px;
    background:var(--pv-cream); color:var(--pv-terracotta-dk);
    border:1px solid var(--pv-cream-deep);
  }
  .pv-tag i{ font-size:10px; }

  .pv-spec-card{
    background: #f8f8f8;
    border:1px solid var(--pv-cream-deep);
    border-radius:18px;
    padding:30px;
  }
  .pv-spec-card h3{
     font-weight:500; font-size:18px; margin-bottom:20px;
    display:flex; align-items:center; gap:10px;
  }
  .pv-spec-card h3 i{ color:var(--pv-terracotta); font-size:14px; }
  .pv-spec-list{ list-style:none; }
  .pv-spec-list li{
    display:flex; justify-content:space-between; align-items:center;
    padding:12px 0; border-bottom:1px solid var(--pv-cream-deep);
    font-size:13.5px;
  }
  .pv-spec-list li:last-child{ border-bottom:none; padding-bottom:0; }
  .pv-spec-list .pv-spec-k{ color:var(--pv-body); }
  .pv-spec-list .pv-spec-v{ font-weight:600; color:var(--pv-ink);  font-size:12.5px; }

  .pv-response{
    margin-top:22px; padding-top:22px; border-top:1px solid var(--pv-cream-deep);
    display:flex; align-items:center; gap:16px;
  }
  .pv-response-ring{ position:relative; width:64px; height:64px; flex-shrink:0; }
  .pv-response-ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
  .pv-response-ring .pv-ring-track{ fill:none; stroke:var(--pv-cream-deep); stroke-width:6; }
  .pv-response-ring .pv-ring-fill{ fill:none; stroke:var(--pv-terracotta); stroke-width:6; stroke-linecap:round; }
  .pv-response-ring .pv-ring-num{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
     font-weight:600; font-size:14px;
  }
  .pv-response-text .pv-response-title{ font-weight:700; font-size:13.5px; }
  .pv-response-text .pv-response-sub{ font-size:12px; color:var(--pv-body); margin-top:2px; }

  /* ============================================================
     PRODUCTS — black, catalog grid
  ============================================================= */
  .pv-product-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
  .pv-product-card{
    background:var(--pv-surface);
    border:1px solid var(--pv-line);
    border-radius:18px;
    overflow:hidden;
    text-decoration:none;
    color:inherit;
    display:flex; flex-direction:column;
    transition:border-color .2s;
  }
  .pv-product-card:hover{ border-color:var(--pv-terracotta); }
  .pv-product-img{ aspect-ratio:4/3; overflow:hidden; }
  .pv-product-img img{ width:100%; height:100%; object-fit:cover; display:block; }
  .pv-product-body{ padding:20px 22px 22px; display:flex; flex-direction:column; gap:10px; flex:1; }
  .pv-product-eyebrow{ font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--pv-terracotta); }
  .pv-product-name{  font-size:17px; font-weight:500; line-height:1.3; }
  .pv-product-meta{ display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:8px; }
  .pv-product-price{  font-size:13.5px; color:var(--pv-cream); }
  .pv-product-price span{ color:rgba(241,234,224,0.4);  font-size:11px; }
  .pv-product-stock{ font-size:11px; color:var(--pv-good); display:flex; align-items:center; gap:5px; }
  .pv-product-stock i{ font-size:6px; }

  .pv-catalog-footer{
    display:flex; justify-content:center; margin-top:40px;
  }

  /* Teaching empty state for a supplier with no listings / no reviews yet. Sits inside
     both the dark product grid and the dark review grid, so it inherits light text. */
  .pv-empty{
    grid-column: 1 / -1;
    text-align:center; padding:56px 30px;
    border:1px dashed rgba(241,234,224,0.22); border-radius:14px;
    background: rgba(241,234,224,0.03);
  }
  .pv-empty > i{ font-size:32px; color:#D8A24A; opacity:.85; }
  .pv-empty h3{
    font-family:'Fraunces', Georgia, serif; font-weight:400; font-size:23px;
    color:#F1EAE0; margin:16px 0 10px;
  }
  .pv-empty p{
    font-size:14px; line-height:1.75; color:rgba(241,234,224,0.68);
    max-width:56ch; margin:0 auto 22px;
  }
  .pv-empty p:last-child{ margin-bottom:0; }

  /* On a light section the same block needs dark text. */
  .pv-section-white .pv-empty{
    border-color: rgba(28,26,23,0.14); background: rgba(28,26,23,0.02);
  }
  .pv-section-white .pv-empty h3{ color:#1C1A17; }
  .pv-section-white .pv-empty p{ color:#5C564D; }

  /* ============================================================
     CERTIFICATIONS — white
  ============================================================= */
  .pv-cert-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
  }
  .pv-cert-card{
    background:#fafafa;
    border:1px solid var(--pv-cream-deep);
    border-radius:16px;
    padding:26px 22px;
    text-align:center;
  }
  .pv-cert-icon{
    width:52px; height:52px; border-radius:50%;
    background:var(--pv-white); border:1px solid var(--pv-cream-deep);
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 16px; color:var(--pv-terracotta); font-size:19px;
  }
  .pv-cert-name{ font-weight:700; font-size:13.5px; }
  .pv-cert-sub{ font-size:11.5px; color:var(--pv-body); margin-top:4px; }

  /* ============================================================
     REVIEWS — black
  ============================================================= */
  .pv-reviews-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:36px; flex-wrap:wrap; gap:20px; }
  .pv-reviews-summary{ display:flex; align-items:center; gap:18px; }
  .pv-reviews-score{  font-size:46px; font-weight:500; }
  .pv-reviews-score-meta{ font-size:12.5px; color:rgba(241,234,224,0.5); }
  .pv-reviews-score-meta .pv-stars{ color:var(--pv-terracotta); letter-spacing:2px; font-size:13px; display:block; margin-bottom:4px; }

  .pv-review-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
  .pv-review-card{
    background:var(--pv-surface); border:1px solid var(--pv-line);
    border-radius:16px; padding:24px;
  }
  .pv-review-stars{ color:var(--pv-terracotta); font-size:12px; letter-spacing:2px; margin-bottom:14px; }
  .pv-review-text{ font-size:13.5px; line-height:1.7; color:rgba(241,234,224,0.8); margin-bottom:20px; }
  .pv-review-author{ display:flex; align-items:center; gap:10px; }
  .pv-review-avatar{ width:32px; height:32px; border-radius:50%; overflow:hidden; flex-shrink:0; }
  .pv-review-avatar img{ width:100%; height:100%; object-fit:cover; }
  .pv-review-name{ font-size:12.5px; font-weight:700; }
  .pv-review-role{ font-size:11px; color:rgba(241,234,224,0.4); }

  /* ============================================================
     CONTACT — white
  ============================================================= */
  .pv-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }

  .pv-map-card{
    position:relative;
    border-radius:22px;
    overflow:hidden;
    border:1px solid var(--pv-cream-deep);
    aspect-ratio:4/3;
  }
  .pv-map-card img{ width:100%; height:100%; object-fit:cover; display:block; filter:saturate(0.75); }
  .pv-map-pin{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-100%);
    width:38px; height:38px; border-radius:50% 50% 50% 0;
    background:var(--pv-terracotta); transform:translate(-50%,-100%) rotate(-45deg);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 16px rgba(0,0,0,0.3);
  }
  .pv-map-pin i{ transform:rotate(45deg); color:var(--pv-white); font-size:14px; }
  .pv-map-caption{
    position:absolute; bottom:0; left:0; right:0;
    background:linear-gradient(to top, rgba(0,0,0,0.7), transparent);
    color:var(--pv-white); padding:20px;
    font-size:13px;
  }

  .pv-contact-card{
    background:var(--pv-ink); color:var(--pv-cream);
    border-radius:22px; padding:32px;
  }
  .pv-contact-card h3{  
	  font-size:19px; 
	  font-weight:500; 
	  margin-bottom:6px;
	  color: #ffffff;
  }
  .pv-contact-card p{ font-size:13px; color:rgba(241,234,224,0.55); margin-bottom:26px; }
  .pv-contact-list{ display:flex; flex-direction:column; gap:10px; margin-bottom:26px; }
  .pv-contact-item{
    display:flex; align-items:center; gap:12px;
    background:var(--pv-surface); border:1px solid var(--pv-line);
    border-radius:12px; padding:15px 18px;
    font-size:13.5px; font-weight:600;
  }
  .pv-contact-item i{ color:var(--pv-terracotta); width:16px; text-align:center; }
  .pv-contact-item span{ font-weight:400; color:rgba(241,234,224,0.6); margin-left:auto;  font-size:12px; }

  .pv-inquiry-form{ display:flex; flex-direction:column; gap:12px; }
  .pv-inquiry-form textarea{
    width:100%; resize:vertical; min-height:90px;
    background:var(--pv-surface); border:1px solid var(--pv-line);
    border-radius:12px; padding:14px 16px;
    color:var(--pv-cream);  font-size:13.5px;
  }
  .pv-inquiry-form textarea::placeholder{ color:rgba(241,234,224,0.35); }
  .pv-inquiry-form textarea:focus-visible{ outline:2px solid var(--pv-terracotta); outline-offset:2px; }
  .pv-btn-full{ justify-content:center; width:100%; }

  /* ============================================================
     FOOT NOTE
  ============================================================= */
  .pv-footnote{
    max-width:1320px; margin:0 auto; padding:26px 32px 44px;
    display:flex; justify-content:space-between; align-items:center;
    font-size:12px; color:var(--pv-body); flex-wrap:wrap; gap:10px;
  }
  .pv-footnote i{ color:var(--pv-terracotta); margin-right:6px; }

  /* ============================================================
     RESPONSIVE
  ============================================================= */
  @media (max-width: 980px){
    .pv-hero-inner, .pv-overview-grid, .pv-contact-grid{
      grid-template-columns:1fr;
    }
    .pv-product-grid{ grid-template-columns:repeat(2, 1fr); }
    .pv-cert-grid{ grid-template-columns:repeat(2, 1fr); }
    .pv-review-grid{ grid-template-columns:1fr; }
    .pv-stamp{ display:none; }
  }
  @media (max-width: 640px){
    .pv-section{ padding:52px 20px; }
    .pv-topbar-inner{ padding:16px 20px; }
    .pv-search{ display:none; }
    .pv-rating-row{ gap:18px; }
    .pv-tabbar{ padding:0 20px; }
    .pv-crumbs{ font-size:11.5px; }
    .pv-product-grid{ grid-template-columns:1fr; }
    .pv-cert-grid{ grid-template-columns:1fr; }
  }

  @media (prefers-reduced-motion: reduce){
    .pv-stamp .pv-stamp-ring{ animation:none; }
    .pv-btn{ transition:none; }
  }

:root{
  --ts-cream:        #F1EAE0;
  --ts-cream-deep:   #E7DECF;
  --ts-ghost-tint:   #E2D8C8;
  --ts-terracotta:   #C18B57;
  --ts-terracotta-dk:#A8723F;
  --ts-ink:          #1C1A17;
  --ts-body:         #5C564D;
  --ts-white:        #FFFFFF;
  --ts-gold:         #D8A24A;

  --fz-bg:           #040404;
  --fz-bg-deep:      #0F0D0A;
  --fz-surface:      #1F1C17;
  --fz-surface-2:    #262219;
  --fz-line:         rgba(241,234,224,0.10);
  --fz-line-soft:    rgba(241,234,224,0.06);

  --pv-radius-sm: 3px;
  --pv-radius-md: 6px;
  --pv-ease: cubic-bezier(.22,.61,.36,1);

  --vp-radius-sm: 3px;
  --vp-radius-md: 6px;
  --vp-ease: cubic-bezier(.22,.61,.36,1);
}


.pv-root{
  
  color: var(--ts-ink);
  background: var(--ts-white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.pv-root img{ display:block; max-width:100%; }

/* shared eyebrow / label style */
.pv-eyebrow{
  
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.pv-eyebrow::before{
  content:"";
  width: 22px;
  height: 1px;
  background: currentColor;
  opacity:.55;
}

/* ============================================================
   GRAIN / TEXTURE
   ============================================================ */
.pv-grain{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.5;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.pv-grain--soft{ opacity:.22; mix-blend-mode: multiply; }

/* ============================================================
   HERO  (dark)
   ============================================================ */
.pv-hero{
  position: relative;
  background: var(--fz-bg);
  color: var(--ts-cream);
  overflow: hidden;
  padding: 84px 6vw 0;
}
.pv-hero__cover{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(4,4,4,.35) 0%, rgba(4,4,4,.78) 55%, var(--fz-bg) 100%),
    url("https://images.unsplash.com/photo-1497935586351-b67a49e012bf?w=1800&q=70") center/cover no-repeat;
  opacity:.55;
}
.pv-hero__inner{ position:relative; z-index:2; max-width: 1180px; margin: 0 auto; }

.pv-crumb{
  
  font-size: 11px;
  letter-spacing: .1em;
  color: rgba(241,234,224,.45);
  text-transform: uppercase;
  margin-bottom: 46px;
}
.pv-crumb span{ color: var(--ts-gold); }

.pv-hero__id{
  display:flex;
  align-items: flex-end;
  gap: 28px;
  flex-wrap: wrap;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--fz-line);
}
.pv-logo{
  width: 108px;
  height: 108px;
  border-radius: 50%;
  border: 1px solid rgba(216,162,74,.45);
  padding: 5px;
  flex-shrink:0;
  background: var(--fz-surface);
}
.pv-logo img{ width:100%; height:100%; border-radius:50%; object-fit:cover; }

.pv-hero__title-wrap{ flex: 1 1 320px; }
.pv-eyebrow--gold{ color: var(--ts-gold); margin-bottom: 14px; }

.pv-hero__name{
  
  font-weight: 500;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.pv-verify-chip{
  
  font-size: 11.5px;
  letter-spacing: .06em;
  color: var(--fz-bg);
  background: var(--ts-gold);
  padding: 6px 12px 5px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  vertical-align: middle;
  transform: translateY(-4px);
}

.pv-hero__sub{
  margin-top: 12px;
  color: rgba(241,234,224,.62);
  font-size: 15px;
  max-width: 480px;
  line-height: 1.55;
}

.pv-hero__meta{
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  gap:9px;
  font-size: 13px;
  color: rgba(241,234,224,.7);
  padding-bottom: 4px;
}
.pv-hero__meta div{ display:flex; align-items:center; gap:9px; }
.pv-hero__meta i{ color: var(--ts-terracotta); width:14px; text-align:center; }

/* stat strip */
.pv-stats{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--fz-line);
  margin: 0 0 -1px;
}
.pv-stat{
  background: var(--fz-bg);
  padding: 30px 8px 34px;
  text-align:center;
}
.pv-stat__num{
  
  font-size: clamp(24px,3vw,34px);
  color: var(--ts-cream);
  font-weight: 500;
}
.pv-stat__num span{ color: var(--ts-gold); font-size: .55em; margin-left:2px; }
.pv-stat__label{
  margin-top: 6px;
  
  font-size: 10.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(241,234,224,.4);
}

/* stamp element — the signature */
.pv-stamp{
  position:absolute;
  top: 96px;
  right: 6vw;
  width: 116px;
  height: 116px;
  z-index:3;
  transform: rotate(9deg);
  opacity:.92;
}
.pv-stamp svg{ width:100%; height:100%; }
.pv-stamp text{
  
  font-size: 8.6px;
  letter-spacing: 2.4px;
  fill: var(--ts-gold);
}
.pv-stamp .pv-stamp__ring{ fill:none; stroke: var(--ts-gold); stroke-width:1; opacity:.65; }
.pv-stamp .pv-stamp__ring--dash{ stroke-dasharray: 2 3; opacity:.5; }
.pv-stamp .pv-stamp__mark{ fill: var(--ts-gold); }

@media (max-width: 720px){
  .pv-stamp{ display:none; }
  .pv-stats{ grid-template-columns: repeat(2,1fr); }
}

/* ============================================================
   ABOUT  (white)
   ============================================================ */
.pv-about{
  background: var(--ts-white);
  padding: 92px 6vw 96px;
}
.pv-about__inner{
  max-width: 1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 72px;
}
.pv-about__eyebrow{ color: var(--ts-terracotta-dk); margin-bottom:18px; }
.pv-about__heading{
  
  font-size: clamp(28px,3vw,38px);
  line-height:1.15;
  color: var(--ts-ink);
  max-width: 520px;
  margin-bottom: 22px;
}
.pv-about__text{
  color: var(--ts-body);
  font-size: 15.5px;
  line-height:1.85;
  max-width: 560px;
}
.pv-about__text + .pv-about__text{ margin-top:14px; }

.pv-cred-grid{
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap: 14px;
  margin-top: 40px;
}
.pv-cred-card{
  border: 1px solid var(--ts-ghost-tint);
  border-radius: var(--pv-radius-md);
  padding: 18px 16px;
  background: var(--ts-cream);
  transition: border-color .25s var(--pv-ease), transform .25s var(--pv-ease);
}
.pv-cred-card:hover{ border-color: var(--ts-terracotta); transform: translateY(-2px); }
.pv-cred-card i{ color: var(--ts-terracotta-dk); font-size: 17px; margin-bottom:10px; display:block; }
.pv-cred-card__title{ font-size: 13.5px; font-weight:600; margin-bottom:3px; }
.pv-cred-card__sub{ font-size: 12px; color: var(--ts-body); }

/* sidebar fact sheet */
.pv-facts{
  border: 1px solid var(--ts-ghost-tint);
  border-radius: var(--pv-radius-md);
  overflow:hidden;
  height: fit-content;
  background: var(--ts-cream);
}
.pv-facts__head{
  padding: 18px 22px;
  background: var(--ts-ink);
  color: var(--ts-cream);
  
  font-size: 11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.pv-fact{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--ts-ghost-tint);
  font-size: 13.5px;
}
.pv-fact:last-child{ border-bottom:none; }
.pv-fact__k{ color: var(--ts-body); }
.pv-fact__v{ font-weight:600; text-align:right; }

.pv-facts__cta{
  display:flex;
  gap:10px;
  padding: 18px 22px 22px;
}
.pv-btn{
  
  font-weight:600;
  font-size: 13px;
  padding: 12px 18px;
  border-radius: var(--pv-radius-sm);
  border: 1px solid transparent;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition: all .22s var(--pv-ease);
  text-decoration:none;
}
.pv-btn--primary{ background: var(--ts-ink); color: var(--ts-cream); flex:1; }
.pv-btn--primary:hover{ background: var(--ts-terracotta-dk); }
.pv-btn--ghost{ border-color: var(--ts-ink); color: var(--ts-ink); background:transparent; flex:1; }
.pv-btn--ghost:hover{ background: var(--ts-ink); color: var(--ts-cream); }

@media (max-width: 860px){
  .pv-about__inner{ grid-template-columns: 1fr; gap: 44px; }
  .pv-cred-grid{ grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   CATALOG STRIP  (cream)
   ============================================================ */
.pv-catalog{
  background: var(--ts-cream);
  padding: 70px 6vw 84px;
  border-top: 1px solid var(--ts-ghost-tint);
  border-bottom: 1px solid var(--ts-ghost-tint);
}
.pv-catalog__inner{ max-width: 1180px; margin:0 auto; }
.pv-catalog__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap: 20px;
  margin-bottom: 34px;
  flex-wrap:wrap;
}
.pv-catalog__title{
  
  font-size: clamp(22px,2.6vw,30px);
}
.pv-catalog__link{
  
  font-size: 12px;
  letter-spacing:.06em;
  color: var(--ts-terracotta-dk);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.pv-catalog__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.pv-lot{
  background: var(--ts-white);
  border: 1px solid var(--ts-ghost-tint);
  border-radius: var(--pv-radius-md);
  overflow:hidden;
  transition: transform .3s var(--pv-ease), box-shadow .3s var(--pv-ease);
}
.pv-lot:hover{ transform: translateY(-5px); box-shadow: 0 18px 34px -20px rgba(28,26,23,.35); }
.pv-lot__img{ height: 140px; overflow:hidden; }
.pv-lot__img img{ width:100%; height:100%; object-fit:cover; }
.pv-lot__body{ padding: 14px 15px 16px; }
.pv-lot__tag{  font-size:10px; letter-spacing:.1em; text-transform:uppercase; color: var(--ts-terracotta-dk); }
.pv-lot__name{  font-size: 16.5px; margin: 5px 0 4px; }
.pv-lot__price{ font-size: 12.5px; color: var(--ts-body); }
.pv-lot--active{ outline: 2px solid var(--ts-ink); outline-offset: -1px; }

@media (max-width: 900px){ .pv-catalog__grid{ grid-template-columns: repeat(2,1fr); } }

/* ============================================================
   PRODUCT DETAIL  (dark)
   ============================================================ */
.pv-product{
  position:relative;
  background: var(--fz-bg-deep);
  color: var(--ts-cream);
  padding: 96px 6vw 40px;
  overflow:hidden;
}
.pv-product__bg-texture{
  position:absolute; inset:0;
  background-image: radial-gradient(circle at 12% 8%, rgba(216,162,74,.08), transparent 45%),
                     radial-gradient(circle at 90% 90%, rgba(193,139,87,.07), transparent 50%);
  pointer-events:none;
}
.pv-product__inner{ position:relative; z-index:2; max-width: 1180px; margin:0 auto; }

.pv-product__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 20px;
  flex-wrap:wrap;
  margin-bottom: 50px;
}
.pv-eyebrow--product{ color: var(--ts-terracotta); }
.pv-lotcode{
  
  font-size: 11px;
  letter-spacing:.08em;
  color: rgba(241,234,224,.4);
  border: 1px solid var(--fz-line);
  padding: 8px 14px;
  border-radius: 999px;
}

.pv-product__grid{
  display:grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 62px;
}

/* gallery */
.pv-gallery__main{
  position:relative;
  border-radius: var(--pv-radius-md);
  overflow:hidden;
  aspect-ratio: 4/3.1;
  border: 1px solid var(--fz-line);
}
.pv-gallery__main img{ width:100%; height:100%; object-fit:cover; }
.pv-gallery__badge{
  position:absolute;
  top: 16px;
  left: 16px;
  background: rgba(4,4,4,.6);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(216,162,74,.4);
  color: var(--ts-gold);
  
  font-size: 10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding: 7px 12px;
  border-radius: 999px;
}
.pv-gallery__thumbs{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap: 10px;
  margin-top: 10px;
}
.pv-gallery__thumbs img{
  height: 66px;
  width:100%;
  object-fit:cover;
  border-radius: var(--pv-radius-sm);
  border: 1px solid var(--fz-line);
  cursor:pointer;
  opacity:.6;
  transition: opacity .2s var(--pv-ease), border-color .2s;
}
.pv-gallery__thumbs img:hover,
.pv-gallery__thumbs img.pv-thumb--active{ opacity:1; border-color: var(--ts-gold); }

/* details column */
.pv-detail__name{
  
  font-size: clamp(30px,3.4vw,44px);
  line-height:1.08;
  margin-bottom: 10px;
}
.pv-detail__origin{
  color: rgba(241,234,224,.6);
  font-size: 14.5px;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom: 22px;
}
.pv-detail__origin i{ color: var(--ts-terracotta); }

.pv-cupping{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-bottom: 26px;
}
.pv-cupping__score{
  
  font-size: 26px;
  color: var(--ts-gold);
}
.pv-cupping__stars i{ color: var(--ts-gold); font-size: 12px; margin-right:1px; }
.pv-cupping__label{ font-size: 12.5px; color: rgba(241,234,224,.5); }

.pv-price-block{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
  gap: 18px;
  padding: 22px 24px;
  background: var(--fz-surface);
  border: 1px solid var(--fz-line);
  border-radius: var(--pv-radius-md);
  margin-bottom: 22px;
}
.pv-price-block__main .pv-eyebrow{ color: rgba(241,234,224,.45); margin-bottom:8px; }
.pv-price{
  
  font-size: 34px;
  color: var(--ts-cream);
}
.pv-price span{ font-size: 14px; color: rgba(241,234,224,.5);  }
.pv-price-block__moq{ text-align:right; font-size: 13px; color: rgba(241,234,224,.6); }
.pv-price-block__moq b{ display:block; color: var(--ts-cream); font-size: 14.5px; }

/* inventory */
.pv-inventory{ margin-bottom: 28px; }
.pv-inventory__row{
  display:flex;
  justify-content:space-between;
  font-size: 13px;
  margin-bottom: 8px;
  color: rgba(241,234,224,.65);
}
.pv-inventory__row b{ color: var(--ts-cream); font-weight:600; }
.pv-inventory__bar{
  height: 6px;
  border-radius: 999px;
  background: var(--fz-surface-2);
  overflow:hidden;
}
.pv-inventory__fill{
  height:100%;
  width: 68%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ts-terracotta-dk), var(--ts-gold));
}
.pv-inventory__note{
  margin-top: 8px;
  font-size: 11.5px;
  color: rgba(241,234,224,.4);
  display:flex;
  align-items:center;
  gap:6px;
}
.pv-inventory__note i{ color: #7FB88A; }

.pv-detail__actions{ display:flex; gap: 12px; margin-bottom: 34px; flex-wrap:wrap; }
.pv-btn--gold{ background: var(--ts-gold); color: var(--fz-bg); flex:1; min-width:180px; }
.pv-btn--gold:hover{ background: var(--ts-cream); }
.pv-btn--line{ border-color: var(--fz-line); color: var(--ts-cream); background:transparent; }
.pv-btn--line:hover{ border-color: var(--ts-gold); color: var(--ts-gold); }

.pv-detail__seller{
  display:flex;
  align-items:center;
  gap: 12px;
  padding-top: 22px;
  border-top: 1px solid var(--fz-line);
}
.pv-detail__seller img{ width:38px; height:38px; border-radius:50%; object-fit:cover; }
.pv-detail__seller div{ font-size: 12.5px; color: rgba(241,234,224,.55); line-height:1.4; }
.pv-detail__seller b{ color: var(--ts-cream); font-weight:600; }

/* tabs */
.pv-tabs{ margin-top: 66px; }
.pv-tabs__nav{
  display:flex;
  gap: 6px;
  border-bottom: 1px solid var(--fz-line);
  margin-bottom: 30px;
  overflow-x:auto;
}
.pv-tab{
  
  font-size: 12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: rgb(0 0 0 / 86%);;
  background:none;
  border:none;
  padding: 14px 18px;
  cursor:pointer;
  border-bottom: 2px solid transparent;
  white-space:nowrap;
  transition: color .2s var(--pv-ease), border-color .2s var(--pv-ease);
}
.pv-tab:hover{ color: rgba(241,234,224,.75); }
.pv-tab.pv-tab--active{ color: var(--ts-gold); border-color: var(--ts-gold); }

.pv-tab-panel{ display:none; animation: pv-fade .35s var(--pv-ease); }
.pv-tab-panel.pv-tab-panel--active{ display:block; }
@keyframes pv-fade{ from{ opacity:0; transform: translateY(6px);} to{ opacity:1; transform:translateY(0);} }

.pv-tab-panel p{
  color: rgba(241,234,224,.68);
  font-size: 15px;
  line-height: 1.9;
  max-width: 720px;
}
.pv-tab-panel p + p{ margin-top: 14px; }

/* spec table — ledger style */
.pv-spec-table{
  width:100%;
  border-collapse: collapse;
  
  font-size: 13px;
}
.pv-spec-table tr{ border-bottom: 1px solid var(--fz-line-soft); }
.pv-spec-table tr:last-child{ border-bottom:none; }
.pv-spec-table td{ padding: 13px 4px; }
.pv-spec-table td:first-child{ color: rgba(241,234,224,.45); width: 42%; }
.pv-spec-table td:last-child{ color: var(--ts-cream); font-weight:500; text-align:right; }

.pv-cert-row{ display:flex; flex-wrap:wrap; gap: 12px; margin-top: 8px; }
.pv-cert-chip{
  display:flex;
  align-items:center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--fz-line);
  border-radius: var(--pv-radius-sm);
  font-size: 12.5px;
  color: rgba(241,234,224,.7);
}
.pv-cert-chip i{ color: var(--ts-gold); }

.pv-terms-grid{
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap: 28px 40px;
}
@media (max-width: 640px){ .pv-terms-grid{ grid-template-columns: 1fr; } }

/* reviews mini */
.pv-review{
  display:flex;
  gap: 14px;
  padding: 20px 0;
  border-bottom: 1px solid var(--fz-line-soft);
}
.pv-review:last-child{ border-bottom:none; }
.pv-review img{ width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.pv-review__top{ display:flex; align-items:center; gap:10px; margin-bottom:4px; }
.pv-review__name{ font-weight:600; font-size: 13.5px; }
.pv-review__stars i{ color: var(--ts-gold); font-size: 10.5px; }
.pv-review__text{ font-size: 13.5px; color: rgba(241,234,224,.62); line-height:1.7; max-width: 580px; }
.pv-review__meta{  font-size: 10.5px; color: rgba(241,234,224,.35); margin-top:6px; }

@media (max-width: 900px){
  .pv-product__grid{ grid-template-columns: 1fr; gap: 40px; }
}

/* ============================================================
   FOOTER CTA (white)
   ============================================================ */
.pv-cta-band{
  background: var(--ts-white);
  padding: 64px 6vw 80px;
  text-align:center;
  border-top: 1px solid var(--ts-ghost-tint);
}
.pv-cta-band__title{
  
  font-size: clamp(22px,2.8vw,32px);
  margin-bottom: 10px;
}
.pv-cta-band__sub{ color: var(--ts-body); font-size: 14.5px; margin-bottom: 26px; }
.pv-cta-band__actions{ display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.pv-cta-band__actions .pv-btn{ padding: 13px 26px; }

.vp-root{
  
  color: var(--ts-ink);
  background: var(--ts-white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.vp-root img{ display:block; max-width:100%; }

/* shared eyebrow / label style */
.vp-eyebrow{
  
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.vp-eyebrow::before{
  content:"";
  width: 22px;
  height: 1px;
  background: currentColor;
  opacity:.55;
}

/* ============================================================
   GRAIN / TEXTURE
   ============================================================ */
.vp-grain{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.5;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.vp-grain--soft{ opacity:.22; mix-blend-mode: multiply; }

/* ============================================================
   HERO  (dark)
   ============================================================ */
.vp-hero{
  position: relative;
  background: var(--fz-bg);
  color: var(--ts-cream);
  overflow: hidden;
  padding: 84px 60px 0;
	width: 100%;
}
.vp-hero__cover{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(4,4,4,.35) 0%, rgba(4,4,4,.78) 55%, var(--fz-bg) 100%),
    url("https://images.unsplash.com/photo-1497935586351-b67a49e012bf?w=1800&q=70") center/cover no-repeat;
  opacity:.55;
}
.vp-hero__inner{ position:relative; z-index:2; max-width: 1180px; margin: 0 auto; }

.vp-crumb{
  
  font-size: 11px;
  letter-spacing: .1em;
  color: rgba(241,234,224,.45);
  text-transform: uppercase;
  margin-bottom: 22px;
}
.vp-crumb span{ color: var(--ts-gold); }

.vp-hero__id{
  display:flex;
  align-items: flex-end;
  gap: 28px;
  flex-wrap: wrap;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--fz-line);
}
.vp-logo{
  width: 108px;
  height: 108px;
  border-radius: 50%;
  border: 1px solid rgba(216,162,74,.45);
  padding: 5px;
  flex-shrink:0;
  background: var(--fz-surface);
}
.vp-logo img{ width:100%; height:100% !important; border-radius:50% !important; object-fit:cover; }

.vp-hero__title-wrap{ flex: 1 1 320px; }
.vp-eyebrow--gold{ color: var(--ts-gold); margin-bottom: 14px; }

.vp-hero__name{
  color: #ffffff;
  font-weight: 500;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.vp-verify-chip{
  
  font-size: 11.5px;
  letter-spacing: .06em;
  color: var(--fz-bg);
  background: var(--ts-gold);
  padding: 6px 12px 5px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  vertical-align: middle;
  transform: translateY(-4px);
}

.vp-hero__sub{
  margin-top: 12px;
  color: rgba(241,234,224,.62);
  font-size: 15px;
  max-width: 480px;
  line-height: 1.55;
	padding 0px !important:
}

.vp-hero__meta{
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  gap:9px;
  font-size: 13px;
  color: rgba(241,234,224,.7);
  padding-bottom: 4px;
}
.vp-hero__meta div{ display:flex; align-items:center; gap:9px; }
.vp-hero__meta i{ color: var(--ts-terracotta); width:14px; text-align:center; }

/* stat strip */
.vp-stats{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--fz-line);
  margin: 0 0 -1px;
}
.vp-stat{
  background: var(--fz-bg);
  padding: 30px 8px 34px;
  text-align:center;
}
.vp-stat__num{
  
  font-size: clamp(24px,3vw,34px);
  color: var(--ts-cream);
  font-weight: 500;
}
.vp-stat__num span{ color: var(--ts-gold); font-size: .55em; margin-left:2px; }
.vp-stat__label{
  margin-top: 6px;
  
  font-size: 10.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(241,234,224,.4);
}

/* stamp element — the signature */
.vp-stamp{
  position:absolute;
  top: 96px;
  right: 6vw;
  width: 116px;
  height: 116px;
  z-index:3;
  transform: rotate(9deg);
  opacity:.92;
}
.vp-stamp svg{ width:100%; height:100%; }
.vp-stamp text{
  
  font-size: 8.6px;
  letter-spacing: 2.4px;
  fill: var(--ts-gold);
}
.vp-stamp .vp-stamp__ring{ fill:none; stroke: var(--ts-gold); stroke-width:1; opacity:.65; }
.vp-stamp .vp-stamp__ring--dash{ stroke-dasharray: 2 3; opacity:.5; }
.vp-stamp .vp-stamp__mark{ fill: var(--ts-gold); }

@media (max-width: 720px){
  .vp-stamp{ display:none; }
  .vp-stats{ grid-template-columns: repeat(2,1fr); }
}

/* ============================================================
   ABOUT  (white)
   ============================================================ */
.vp-about{
    background: #ffffffa6; 
    padding: 56px 48px 56px;
    border-radius: 20px;

}
.vp-about__inner{
  max-width: 1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 72px;
}
.vp-about__eyebrow{ color: var(--ts-terracotta-dk); margin-bottom:18px; }
.vp-about__heading{
  
  font-size: clamp(28px,3vw,38px);
  line-height:1.15;
  color: var(--ts-ink);
  max-width: 520px;
  margin-bottom: 22px;
}
.vp-about__text{
  color: var(--ts-body);
  font-size: 15.5px;
  line-height:1.85;
  max-width: 560px;
}
.vp-about__text + .vp-about__text{ margin-top:14px; }

.vp-cred-grid{
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap: 14px;
  margin-top: 40px;
}
.vp-cred-card{
  border: 1px solid var(--ts-ghost-tint);
  border-radius: var(--vp-radius-md);
  padding: 18px 16px;
  background: var(--ts-cream);
  transition: border-color .25s var(--vp-ease), transform .25s var(--vp-ease);
}
.vp-cred-card:hover{ border-color: var(--ts-terracotta); transform: translateY(-2px); }
.vp-cred-card i{ color: var(--ts-terracotta-dk); font-size: 17px; margin-bottom:10px; display:block; }
.vp-cred-card__title{ font-size: 13.5px; font-weight:600; margin-bottom:3px; }
.vp-cred-card__sub{ font-size: 12px; color: var(--ts-body); }

/* sidebar fact sheet */
.vp-facts{
  border: 1px solid var(--ts-ghost-tint);
  border-radius: var(--vp-radius-md);
  overflow:hidden;
  height: fit-content;
  background: var(--ts-cream);
}
.vp-facts__head{
  padding: 18px 22px;
  background: var(--ts-ink);
  color: var(--ts-cream);
  
  font-size: 11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.vp-fact{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--ts-ghost-tint);
  font-size: 13.5px;
}
.vp-fact:last-child{ border-bottom:none; }
.vp-fact__k{ color: var(--ts-body); }
.vp-fact__v{ font-weight:600; text-align:right; }

.vp-facts__cta{
  display:flex;
  gap:10px;
  padding: 18px 22px 22px;
}
.vp-btn{
  
  font-weight:600;
  font-size: 13px;
  padding: 12px 18px;
  border-radius: var(--vp-radius-sm);
  border: 1px solid transparent;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition: all .22s var(--vp-ease);
  text-decoration:none;
}
.vp-btn--primary{ background: var(--ts-ink); color: var(--ts-cream); flex:1; }
.vp-btn--primary:hover{ background: var(--ts-terracotta-dk); }
.vp-btn--ghost{ border-color: var(--ts-ink); color: var(--ts-ink); background:transparent; flex:1; }
.vp-btn--ghost:hover{ background: var(--ts-ink); color: var(--ts-cream); }

@media (max-width: 860px){
  .vp-about__inner{ grid-template-columns: 1fr; gap: 44px; }
  .vp-cred-grid{ grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   CATALOG STRIP  (cream)
   ============================================================ */
.vp-catalog{
  background: var(--ts-cream);
  padding: 56px 48px 56px;
  border-top: 1px solid var(--ts-ghost-tint);
  border-bottom: 1px solid var(--ts-ghost-tint);
}
.vp-catalog__inner{ max-width: 1180px; margin:0 auto; }
.vp-catalog__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap: 20px;
  margin-bottom: 34px;
  flex-wrap:wrap;
}
.vp-catalog__title{
  
  font-size: clamp(22px,2.6vw,30px);
}
.vp-catalog__link{
  
  font-size: 12px;
  letter-spacing:.06em;
  color: var(--ts-terracotta-dk);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.vp-catalog__grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.vp-lot{
  background: var(--ts-white);
  border: 1px solid var(--ts-ghost-tint);
  border-radius: var(--vp-radius-md);
  overflow:hidden;
  transition: transform .3s var(--vp-ease), box-shadow .3s var(--vp-ease);
}
.vp-lot:hover{ transform: translateY(-5px); box-shadow: 0 18px 34px -20px rgba(28,26,23,.35); }
.vp-lot__img{ height: 140px; overflow:hidden; }
.vp-lot__img img{ width:100%; height:100%; object-fit:cover; }
.vp-lot__body{ padding: 14px 15px 16px; }
.vp-lot__tag{  font-size:10px; letter-spacing:.1em; text-transform:uppercase; color: var(--ts-terracotta-dk); }
.vp-lot__name{  font-size: 16.5px; margin: 5px 0 4px; }
.vp-lot__price{ font-size: 12.5px; color: var(--ts-body); }
.vp-lot--active{ outline: 2px solid var(--ts-ink); outline-offset: -1px; }

@media (max-width: 900px){ .vp-catalog__grid{ grid-template-columns: repeat(2,1fr); } }

/* ============================================================
   PRODUCT DETAIL  (dark)
   ============================================================ */
.vp-product{
    position: relative;
    background: #020201;
    color: var(--ts-cream);
    padding: 96px 60px 40px;
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
}
.vp-product__bg-texture{
  position:absolute; inset:0;
  background-image: radial-gradient(circle at 12% 8%, rgba(216,162,74,.08), transparent 45%),
                     radial-gradient(circle at 90% 90%, rgba(193,139,87,.07), transparent 50%);
  pointer-events:none;
}
.vp-product__inner{ position:relative; z-index:2; max-width: 1180px; margin:0 auto; }

.vp-product__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 20px;
  flex-wrap:wrap;
  margin-bottom: 50px;
}
.vp-eyebrow--product{ color: var(--ts-terracotta); }
.vp-lotcode{
  
  font-size: 11px;
  letter-spacing:.08em;
  color: rgba(241,234,224,.4);
  border: 1px solid var(--fz-line);
  padding: 8px 14px;
  border-radius: 999px;
}

.vp-product__grid{
  display:grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 62px;
}

/* gallery */
.vp-gallery__main{
  position:relative;
  border-radius: var(--vp-radius-md);
  overflow:hidden;
  aspect-ratio: 4/3.1;
  border: 1px solid var(--fz-line);
}
.vp-gallery__main img{ width:100%; height:100% !important; object-fit:cover; }
.vp-gallery__badge{
  position:absolute;
  top: 16px;
  left: 16px;
  background: rgba(4,4,4,.6);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(216,162,74,.4);
  color: var(--ts-gold);
  
  font-size: 10.5px;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding: 7px 12px;
  border-radius: 999px;
}
.vp-gallery__thumbs{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap: 10px;
  margin-top: 10px;
}
.vp-gallery__thumbs img{
  height: 66px !important;
  width:100%;
  object-fit:cover;
  border-radius: var(--vp-radius-sm);
  border: 1px solid var(--fz-line);
  cursor:pointer;
  opacity:.6;
  transition: opacity .2s var(--vp-ease), border-color .2s;
}
.vp-gallery__thumbs img:hover,
.vp-gallery__thumbs img.vp-thumb--active{ opacity:1; border-color: var(--ts-gold); }

/* details column */
.vp-detail__name{
  
  font-size: clamp(30px,3.4vw,44px);
  line-height:1.08;
  margin-bottom: 10px;
	color: #ffffff;
}
.vp-detail__origin{
  color: rgba(241,234,224,.6);
  font-size: 14.5px;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom: 22px;
}
.vp-detail__origin i{ color: var(--ts-terracotta); }

.vp-cupping{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-bottom: 26px;
}
.vp-cupping__score{
  
  font-size: 26px;
  color: var(--ts-gold);
}
.vp-cupping__stars i{ color: var(--ts-gold); font-size: 12px; margin-right:1px; }
.vp-cupping__label{ font-size: 12.5px; color: rgba(241,234,224,.5); }

.vp-price-block{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
  gap: 18px;
  padding: 22px 24px;
  background: var(--fz-surface);
  border: 1px solid var(--fz-line);
  border-radius: var(--vp-radius-md);
  margin-bottom: 22px;
}
.vp-price-block__main .vp-eyebrow{ color: rgba(241,234,224,.45); margin-bottom:8px; }
.vp-price{
  
  font-size: 34px;
  color: var(--ts-cream);
}
.vp-price span{ font-size: 14px; color: rgba(241,234,224,.5);  }
.vp-price-block__moq{ text-align:right; font-size: 13px; color: rgba(241,234,224,.6); }
.vp-price-block__moq b{ display:block; color: var(--ts-cream); font-size: 14.5px; }

/* inventory */
.vp-inventory{ margin-bottom: 28px; }
.vp-inventory__row{
  display:flex;
  justify-content:space-between;
  font-size: 13px;
  margin-bottom: 8px;
  color: rgba(241,234,224,.65);
}
.vp-inventory__row b{ color: var(--ts-cream); font-weight:600; }
.vp-inventory__bar{
  height: 6px;
  border-radius: 999px;
  background: var(--fz-surface-2);
  overflow:hidden;
}
.vp-inventory__fill{
  height:100%;
  width: 68%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--ts-terracotta-dk), var(--ts-gold));
}
.vp-inventory__note{
  margin-top: 8px;
  font-size: 11.5px;
  color: rgba(241,234,224,.4);
  display:flex;
  align-items:center;
  gap:6px;
}
.vp-inventory__note i{ color: #7FB88A; }

.vp-detail__actions{ display:flex; gap: 12px; margin-bottom: 34px; flex-wrap:wrap; }
.vp-btn--gold{ background: var(--ts-gold); color: var(--fz-bg); flex:1; min-width:180px; }
.vp-btn--gold:hover{ background: var(--ts-cream); }
.vp-btn--line{ border-color: var(--fz-line); color: var(--ts-cream); background:transparent; }
.vp-btn--line:hover{ border-color: var(--ts-gold); color: var(--ts-gold); }

.vp-detail__seller{
  display:flex;
  align-items:center;
  gap: 12px;
  padding-top: 22px;
  border-top: 1px solid var(--fz-line);
}
.vp-detail__seller img{ width:38px; height:38px; border-radius:50%; object-fit:cover; }
.vp-detail__seller div{ font-size: 12.5px; color: rgba(241,234,224,.55); line-height:1.4; }
.vp-detail__seller b{ color: var(--ts-cream); font-weight:600; }

/* tabs */
.vp-tabs{ margin-top: 66px; }
.vp-tabs__nav{
  display:flex;
  gap: 6px;
  border-bottom: 1px solid var(--fz-line);
  margin-bottom: 30px;
  overflow-x:auto;
}
.vp-tab{
  
  font-size: 12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: rgba(241,234,224,.45);
  background:none;
  border:none;
  padding: 14px 18px;
  cursor:pointer;
  border-bottom: 2px solid transparent;
  white-space:nowrap;
  transition: color .2s var(--vp-ease), border-color .2s var(--vp-ease);
}
.vp-tab:hover{ color: rgba(241,234,224,.75); }
.vp-tab.vp-tab--active{ color: var(--ts-gold); border-color: var(--ts-gold); }

.vp-tab-panel{ display:none; animation: vp-fade .35s var(--vp-ease); }
.vp-tab-panel.vp-tab-panel--active{ display:block; }
@keyframes vp-fade{ from{ opacity:0; transform: translateY(6px);} to{ opacity:1; transform:translateY(0);} }

.vp-tab-panel p{
  color: rgba(241,234,224,.68);
  font-size: 15px;
  line-height: 1.9;
  max-width: 720px;
}
.vp-tab-panel p + p{ margin-top: 14px; }

/* spec table — ledger style */
.vp-spec-table{
  width:100%;
  border-collapse: collapse;
  
  font-size: 13px;
}
.vp-spec-table tr{ border-bottom: 1px solid var(--fz-line-soft); }
.vp-spec-table tr:last-child{ border-bottom:none; }
.vp-spec-table td{ padding: 13px 4px; }
.vp-spec-table td:first-child{ color: rgba(241,234,224,.45); width: 42%; }
.vp-spec-table td:last-child{ color: var(--ts-cream); font-weight:500; text-align:right; }

.vp-cert-row{ display:flex; flex-wrap:wrap; gap: 12px; margin-top: 8px; }
.vp-cert-chip{
  display:flex;
  align-items:center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--fz-line);
  border-radius: var(--vp-radius-sm);
  font-size: 12.5px;
  color: rgba(241,234,224,.7);
}
.vp-cert-chip i{ color: var(--ts-gold); }

.vp-terms-grid{
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap: 28px 40px;
}
@media (max-width: 640px){ .vp-terms-grid{ grid-template-columns: 1fr; } }

/* reviews mini */
.vp-review{
  display:flex;
  gap: 14px;
  padding: 20px 0;
  border-bottom: 1px solid var(--fz-line-soft);
}
.vp-review:last-child{ border-bottom:none; }
.vp-review img{ width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.vp-review__top{ display:flex; align-items:center; gap:10px; margin-bottom:4px; }
.vp-review__name{ font-weight:600; font-size: 13.5px; }
.vp-review__stars i{ color: var(--ts-gold); font-size: 10.5px; }
.vp-review__text{ font-size: 13.5px; color: rgba(241,234,224,.62); line-height:1.7; max-width: 580px; }
.vp-review__meta{  font-size: 10.5px; color: rgba(241,234,224,.35); margin-top:6px; }

@media (max-width: 900px){
  .vp-product__grid{ grid-template-columns: 1fr; gap: 40px; }
	.vp-about{
    
    padding: 56px 16px 56px;
	}
	.vp-btn {
    padding: 16px 8px;
        font-size: 11.5px;
	}
	.vp-catalog {
    padding: 56px 16px 56px;
	}
}

/* ============================================================
   FOOTER CTA (white)
   ============================================================ */
.vp-cta-band{
  background: var(--ts-white);
      padding: 40px 60px 60px;
  text-align:center;
	border-radius: 20px;
	margin-bottom: 30px;
  border-top: 1px solid var(--ts-ghost-tint);
}
.vp-cta-band__title{
  
  font-size: clamp(22px,2.8vw,32px);
  margin-bottom: 10px;
}
.vp-cta-band__sub{ color: var(--ts-body); font-size: 14.5px; margin-bottom: 26px; }
.vp-cta-band__actions{ display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.vp-cta-band__actions .vp-btn{ padding: 13px 26px; }


  :root{
    --sm-cream:        #F1EAE0;
    --sm-cream-deep:   #E7DECF;
    --sm-ghost-tint:   #E2D8C8;
    --sm-terracotta:   #C18B57;
    --sm-terracotta-dk:#A8723F;
    --sm-ink:          #1C1A17;
    --sm-body:         #5C564D;
    --sm-white:        #FFFFFF;
    --sm-gold:         #D8A24A;

  }

  /* ================= background atmosphere ================= */

  .sm-texture-layer{
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.5;
    mix-blend-mode: multiply;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0.11  0 0 0 0 0.1  0 0 0 0 0.09  0 0 0 0.045 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }

  .sm-texture-layer::after{
    content:'';
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(var(--sm-terracotta-dk) 1px, transparent 1px),
      linear-gradient(90deg, var(--sm-terracotta-dk) 1px, transparent 1px);
    background-size: 64px 64px;
    opacity: 0.035;
  }

  .sm-fleck-layer{
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.55;
    background-image:
      radial-gradient(1.5px 1.5px at 20% 30%, rgba(168,114,63,0.35), transparent 60%),
      radial-gradient(1.5px 1.5px at 70% 15%, rgba(216,162,74,0.3), transparent 60%),
      radial-gradient(1.5px 1.5px at 40% 70%, rgba(168,114,63,0.28), transparent 60%),
      radial-gradient(1.5px 1.5px at 88% 60%, rgba(216,162,74,0.3), transparent 60%),
      radial-gradient(1.5px 1.5px at 12% 88%, rgba(168,114,63,0.3), transparent 60%),
      radial-gradient(1.5px 1.5px at 60% 45%, rgba(216,162,74,0.24), transparent 60%);
    background-size: 900px 900px;
  }

  .sm-glow{
    position: fixed;
    z-index: 0;
    border-radius: 50%;
    filter: blur(100px);
    pointer-events: none;
  }
  .sm-glow--one{
    width: 640px; height: 640px;
    top: -240px; left: -180px;
    background: radial-gradient(circle, rgba(216,162,74,0.38), transparent 70%);
  }
  .sm-glow--two{
    width: 600px; height: 600px;
    bottom: -260px; right: -180px;
    background: radial-gradient(circle, rgba(193,139,87,0.32), transparent 70%);
  }
  .sm-glow--three{
    width: 420px; height: 420px;
    top: 30%; left: 50%;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(216,162,74,0.16), transparent 72%);
  }

  /* ================= header ================= */

  .sm-header{
    position: relative;
    z-index: 2;
    padding: 100px 24px 56px;
    text-align: center;
  }

  .sm-header__inner{
    max-width: 780px;
    margin: 0 auto;
    animation: sm-fade-up .8s cubic-bezier(.2,.7,.2,1) both;
  }

  @keyframes sm-fade-up{
    from{ opacity: 0; transform: translateY(18px); }
    to{ opacity: 1; transform: translateY(0); }
  }

  .sm-brand{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    
    font-weight: 700;
    font-size: 12.5px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--sm-terracotta-dk);
    background: var(--sm-white);
    border: 1px solid var(--sm-ghost-tint);
    padding: 8px 18px 8px 14px;
    border-radius: 999px;
    box-shadow: 0 1px 2px rgba(28,26,23,0.05), 0 8px 20px -14px rgba(28,26,23,0.35);
  }
  .sm-brand i{ font-size: 13px; }

  .sm-eyebrow{
    margin: 30px 0 12px;
    
    font-size: 12.5px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: var(--sm-terracotta);
    font-weight: 700;
  }

  .sm-title{
    
    font-weight: 600;
    font-size: clamp(40px, 5.6vw, 68px);
    line-height: 1.04;
    letter-spacing: -0.015em;
    margin: 0;
    color: var(--sm-ink);
  }
  .sm-title em{
    font-style: italic;
    font-weight: 400;
    color: var(--sm-terracotta-dk);
    position: relative;
  }

  .sm-nameplate-rule{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 26px auto 0;
    width: 220px;
  }
  .sm-nameplate-rule span{
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, transparent, var(--sm-terracotta) 50%, transparent);
    opacity: 0.6;
  }
  .sm-nameplate-rule i{
    color: var(--sm-terracotta-dk);
    font-size: 9px;
    transform: rotate(45deg);
  }

  .sm-subtitle{
    max-width: 540px;
    margin: 24px auto 0;
    font-size: 17px;
    line-height: 1.68;
    color: var(--sm-body);
  }

  .sm-trustbar{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    flex-wrap: wrap;
    margin-top: 30px;
    
    font-size: 12.5px;
    font-weight: 600;
    color: var(--sm-body);
  }
  .sm-trustbar__item{ display: inline-flex; align-items: center; gap: 7px; }
  .sm-trustbar__item i{ color: var(--sm-terracotta-dk); font-size: 12px; }
  .sm-trustbar__stars i{ color: var(--sm-gold); font-size: 11px; }
  .sm-trustbar__divider{ width: 3px; height: 3px; border-radius: 50%; background: var(--sm-ghost-tint); }

  /* billing toggle */

  .sm-billing-toggle{
    display: inline-flex;
    margin-top: 38px;
    padding: 5px;
    background: var(--sm-white);
    border: 1px solid var(--sm-ghost-tint);
    border-radius: 999px;
    box-shadow: inset 0 1px 2px rgba(28,26,23,0.04), 0 10px 26px -18px rgba(28,26,23,0.4);
  }

  .sm-billing-btn{
    position: relative;
    
    font-weight: 700;
    font-size: 13.5px;
    letter-spacing: 0.02em;
    padding: 10px 22px;
    border-radius: 999px;
    border: none;
    background: transparent;
    color: var(--sm-body);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: color .25s ease;
  }

  .sm-billing-btn--active{
    background: linear-gradient(180deg, var(--sm-ink), #2b2721);
    color: var(--sm-cream);
    box-shadow: 0 6px 16px -6px rgba(28,26,23,0.5);
  }

  .sm-save-tag{
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.02em;
    background: var(--sm-gold);
    color: var(--sm-ink);
    padding: 2px 7px;
    border-radius: 999px;
  }

  /* ================= plans grid ================= */

  .sm-plans{
    position: relative;
    z-index: 2;
    padding: 26px 24px 40px;
  }

  .sm-plans__grid{
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 36px;
    align-items: start;
    perspective: 1700px;
  }

  .sm-card{
    position: relative;
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform .5s cubic-bezier(.2,.8,.2,1);
    animation: sm-fade-up .75s cubic-bezier(.2,.7,.2,1) both;
  }
  .sm-card:nth-child(1){ animation-delay: .05s; }
  .sm-card:nth-child(2){ animation-delay: .16s; }
  .sm-card:nth-child(3){ animation-delay: .27s; }

  .sm-card::before,
  .sm-card::after{
    content:'';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    background: var(--sm-cream-deep);
    border: 1px solid var(--sm-ghost-tint);
    z-index: -1;
  }
  .sm-card::before{ transform: translate(6px, 8px) rotate(0.6deg); }
  .sm-card::after{ transform: translate(11px, 15px) rotate(1.1deg); opacity: 0.65; }

  .sm-card__inner{
    position: relative;
    background: var(--sm-white);
    border: 1px solid var(--sm-ghost-tint);
    border-radius: 24px;
    padding: 6px;
    height: 100%;
    box-shadow: 0 1px 1px rgba(28,26,23,0.04), 0 26px 52px -30px rgba(28,26,23,0.38);
    overflow: hidden;
  }

  .sm-card__topline {
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, transparent, var(--sm-terracotta) 20%, var(--sm-gold) 50%, var(--sm-terracotta) 80%, transparent);
    opacity: 0.55;
    position: relative;
    top: -6px;
}

  .sm-card__content{
    padding: 32px 32px 30px;
    display: flex;
    flex-direction: column;
  }

  .sm-card__glare{
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(420px circle at var(--sm-mx,50%) var(--sm-my,0%), rgba(255,255,255,0.55), transparent 60%);
    opacity: 0;
    transition: opacity .35s ease;
    border-radius: 24px;
  }
  .sm-card:hover .sm-card__glare{ opacity: 1; }

  .sm-card--featured .sm-card__inner{
    border-color: var(--sm-terracotta);
    box-shadow: 0 1px 1px rgba(28,26,23,0.04), 0 36px 64px -26px rgba(161,109,58,0.48);
  }
  .sm-card--featured .sm-card__topline{ opacity: 1; }

  .sm-card--featured{ transform: translateY(-16px) scale(1.02); }

  .sm-card__ribbon{
    position: absolute;
    top: 26px;
    right: -40px;
    transform: rotate(40deg);
    background: linear-gradient(180deg, var(--sm-terracotta), var(--sm-terracotta-dk));
    color: var(--sm-white);
    
    font-weight: 800;
    font-size: 10.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 6px 46px;
    box-shadow: 0 6px 14px -6px rgba(168,114,63,0.6);
    z-index: 3;
  }

  .sm-card__tier{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--sm-terracotta-dk);
    margin-bottom: 18px;
  }
  .sm-card__tier::before{
    content: '';
    width: 16px; height: 1px;
    background: var(--sm-terracotta-dk);
    opacity: 0.6;
  }

  .sm-card__icon{
    width: 54px; height: 54px;
    border-radius: 15px;
    display: flex; align-items: center; justify-content: center;
    background: var(--sm-cream);
    border: 1px solid var(--sm-ghost-tint);
    color: var(--sm-terracotta-dk);
    font-size: 20px;
    margin-bottom: 20px;
    transition: transform .35s ease;
  }
  .sm-card:hover .sm-card__icon{ transform: translateY(-3px) rotate(-4deg); }

  .sm-card--featured .sm-card__icon{
    background: linear-gradient(160deg, var(--sm-terracotta), var(--sm-terracotta-dk));
    color: var(--sm-white);
    border-color: transparent;
    box-shadow: 0 10px 20px -10px rgba(168,114,63,0.7);
  }

  .sm-card__name{
    
    font-weight: 600;
    font-size: 27px;
    letter-spacing: -0.01em;
    margin: 0 0 8px;
  }

  .sm-card__for{
    font-size: 13.8px;
    color: var(--sm-body);
    line-height: 1.6;
    margin: 0 0 16px;
	padding 0px !important;
    min-height: 44px;
  }

  .sm-card__price{
    display: flex;
    align-items: baseline;
    gap: 3px;
    
    color: var(--sm-ink);
    margin-bottom: 6px;
  }

  .sm-price-currency{ font-size: 21px; font-weight: 500; align-self: flex-start; margin-top: 7px; color: var(--sm-terracotta-dk);}
  .sm-price-amount{ font-size: 48px; font-weight: 600; letter-spacing: -0.01em; transition: opacity .18s ease; }
  .sm-price-amount.sm-price-amount--fading{ opacity: 0; }
  .sm-price-period{ font-size: 13.5px; color: var(--sm-body); ; margin-left: 2px; }

  .sm-price-note{
    font-size: 12px;
    color: var(--sm-terracotta-dk);
    
    font-weight: 700;
    margin-bottom: 24px;
    min-height: 8px;
  }

  .sm-cta{
    
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.01em;
    padding: 14px 20px;
    border-radius: 13px;
    border: 1px solid var(--sm-ink);
    background: transparent;
    color: var(--sm-ink);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    transition: transform .2s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
    margin-bottom: 16px;
    overflow: hidden;
  }
  .sm-cta i{ transition: transform .25s ease; }
  .sm-cta:hover{ transform: translateY(-2px); box-shadow: 0 10px 22px -12px rgba(28,26,23,0.4); }
  .sm-cta:hover i{ transform: translateX(3px); }

  .sm-card--featured .sm-cta{
    background: linear-gradient(160deg, var(--sm-terracotta), var(--sm-terracotta-dk));
    border-color: transparent;
    color: var(--sm-white);
    box-shadow: 0 14px 26px -12px rgba(168,114,63,0.62);
  }

  .sm-cta--selected{
    background: var(--sm-ink) !important;
    color: var(--sm-cream) !important;
    border-color: var(--sm-ink) !important;
  }

  .sm-features{
    list-style: none;
    margin: 0;
    padding: 22px 0 0;
    border-top: 1px dashed var(--sm-ghost-tint);
    display: flex;
    flex-direction: column;
    gap: 15px;
  }

  .sm-features-extra{
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
    transition: max-height .5s cubic-bezier(.2,.8,.2,1), opacity .4s ease, margin-top .4s ease;
  }
  .sm-features-extra.sm-features-extra--open{
    opacity: 1;
    margin-top: 15px;
  }

  .sm-features li,
  .sm-features-extra li{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--sm-ink);
  }

  .sm-features li i,
  .sm-features-extra li i{
    margin-top: 3px;
    width: 16px;
    font-size: 12.5px;
    color: var(--sm-terracotta-dk);
    flex-shrink: 0;
  }

  .sm-features li.sm-feature--inherit{
    color: var(--sm-body);
    font-style: italic;
    font-size: 13px;
    padding-bottom: 5px;
    border-bottom: 1px dotted var(--sm-ghost-tint);
  }
  .sm-features li.sm-feature--inherit i{ color: var(--sm-body); }

  .sm-readmore{
    margin-top: 18px;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--sm-terracotta-dk);
    
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.02em;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0;
    align-self: flex-start;
  }
  .sm-readmore i{
    font-size: 10.5px;
    transition: transform .3s ease;
  }
  .sm-readmore:hover{ color: var(--sm-ink); }
  .sm-readmore--open i{ transform: rotate(180deg); }

  .sm-readmore-count{
    font-weight: 600;
    color: var(--sm-body);
    font-size: 12px;
  }

  /* ================= enterprise wax seal ================= */

  .sm-seal{
    position: absolute;
    top: -28px;
    right: 24px;
    width: 96px;
    height: 96px;
    z-index: 5;
    filter: drop-shadow(0 12px 16px rgba(28,26,23,0.3));
    animation: sm-seal-stamp 0.75s cubic-bezier(.34,1.56,.64,1) .35s both;
    transition: transform .4s ease;
  }
  .sm-card:hover .sm-seal{ transform: rotate(8deg) scale(1.05); }

  .sm-seal svg{ width: 100%; height: 100%; }

  .sm-seal__crown{
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%,-50%);
    color: var(--sm-cream);
    font-size: 21px;
  }

  @keyframes sm-seal-stamp{
    0%{ transform: scale(2.2) rotate(-14deg); opacity: 0; }
    60%{ transform: scale(0.92) rotate(4deg); opacity: 1; }
    100%{ transform: scale(1) rotate(0deg); opacity: 1; }
  }

  /* ================= reveal on scroll ================= */

  .sm-reveal{
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .7s ease, transform .7s ease;
  }
  .sm-reveal.sm-reveal--in{
    opacity: 1;
    transform: translateY(0);
  }

  /* ================= trust strip ================= */

  .sm-trust{
    position: relative;
    z-index: 2;
    max-width: 1000px;
    margin: 40px auto 0;
    padding: 0 24px;
    text-align: center;
  }

  .sm-trust__label{
    
    font-size: 11.5px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--sm-body);
	  padding: 0 !important;
    margin-bottom: 14px;
  }

  .sm-trust__row{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
  }

  .sm-avatar{
    width: 56px; height: 56px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid var(--sm-white);
    box-shadow: 0 1px 2px rgba(28,26,23,0.06), 0 12px 22px -10px rgba(28,26,23,0.42);
    background: var(--sm-cream-deep);
    transition: transform .3s ease, box-shadow .3s ease;
  }
  .sm-avatar:hover{ transform: translateY(-5px) scale(1.07); box-shadow: 0 1px 2px rgba(28,26,23,0.08), 0 18px 28px -10px rgba(28,26,23,0.5); }
  .sm-avatar img{ width: 100%; height: 100%; object-fit: cover; display:block; filter: sepia(12%) saturate(85%); }

  /* ================= footer ================= */

  .sm-footer {
    position: relative;
    z-index: 2;
    max-width: 720px;
    margin: 0px auto 0;
    padding: 20px 24px 42px;
    text-align: center;
}

  .sm-footer p{
    font-size: 13px;
    color: var(--sm-body);
    line-height: 1.7;
  }

  .sm-footer a{
    color: var(--sm-terracotta-dk);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid var(--sm-terracotta);
  }

  /* ================= responsive ================= */

  @media (max-width: 980px){
    .sm-plans__grid{ grid-template-columns: 1fr; max-width: 460px; }
    .sm-card--featured{ transform: none; }
    .sm-card:hover{ transform: none !important; }
    .sm-trustbar{ gap: 16px; }
  }

  @media (prefers-reduced-motion: reduce){
    .sm-card, .sm-reveal, .sm-seal, .sm-header__inner{ transition: none !important; animation: none !important; }
  }

  :root{
    --ts-cream:        #F1EAE0;
    --ts-cream-deep:   #E7DECF;
    --ts-ghost-tint:   #E2D8C8;
    --ts-terracotta:   #C18B57;
    --ts-terracotta-dk:#A8723F;
    --ts-ink:          #1C1A17;
    --ts-body:         #5C564D;
    --ts-white:        #FFFFFF;
    --ts-gold:         #D8A24A;
  }


  /* ============ GRAIN TEXTURE (shared) ============ */
  .Lo-grain{
    position:absolute; inset:0;
    pointer-events:none;
    opacity:.35;
    mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    background-size:140px 140px;
  }

  /* ================= LEFT — BRAND / 3D SCENE ================= */
  .Lo-brand{
    position:relative;
    flex:1.15;
    min-width:0;
    background:
      radial-gradient(ellipse 90% 70% at 20% 15%, rgba(193,139,87,.35), transparent 60%),
      radial-gradient(ellipse 70% 60% at 85% 90%, rgba(216,162,74,.22), transparent 55%),
      linear-gradient(160deg, #201D18 0%, var(--ts-ink) 55%, #14120F 100%);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:56px 64px;
    perspective:1400px;
  }

  .Lo-brand-top{
    display:flex;
    align-items:center;
    gap:14px;
    z-index:3;
  }
  .Lo-mark{
    width:42px; height:42px;
    border-radius:11px;
    background:linear-gradient(145deg, var(--ts-gold), var(--ts-terracotta-dk));
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 18px rgba(193,139,87,.45), inset 0 1px 1px rgba(255,255,255,.4);
    color:var(--ts-ink);
    font-size:18px;
  }
  .Lo-wordmark{
    font-family:'Fraunces', serif;
    font-size:22px;
    letter-spacing:.02em;
    color:var(--ts-cream);
    font-weight:450;
  }
  .Lo-wordmark span{ color:var(--ts-gold); font-style:italic; }

  .Lo-brand-mid{
    position:relative;
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:2;
  }

  /* ---- 3D scene stage ---- */
  .Lo-stage{
    position:relative;
    width:340px;
    height:340px;
    transform-style:preserve-3d;
    transform:rotateX(8deg) rotateY(-18deg);
    transition:transform .25s ease-out;
  }

  .Lo-glow-disc{
    position:absolute;
    left:50%; top:62%;
    width:260px; height:70px;
    background:radial-gradient(ellipse, rgba(216,162,74,.5), transparent 70%);
    transform:translate(-50%,-50%) rotateX(78deg);
    filter:blur(6px);
  }

  /* cup group */
  .Lo-cup{
    position:absolute;
    left:50%; top:52%;
    width:170px; height:150px;
    transform:translate(-50%,-50%) translateZ(20px);
    transform-style:preserve-3d;
  }
  .Lo-cup-body{
    position:absolute;
    width:150px; height:120px;
    left:10px; top:20px;
    border-radius:0 0 68px 68px / 0 0 84px 84px;
    background:linear-gradient(160deg, #F6EFE4 0%, #E4D6C1 55%, #C9B491 100%);
    box-shadow:
      0 26px 46px rgba(0,0,0,.45),
      inset -14px 0 22px rgba(0,0,0,.12),
      inset 10px 8px 18px rgba(255,255,255,.55);
    transform:rotateX(2deg);
  }
  .Lo-cup-rim{
    position:absolute;
    width:150px; height:34px;
    left:10px; top:6px;
    border-radius:50%;
    background:linear-gradient(155deg,#FBF6EE,#D8C7A9);
    box-shadow:0 3px 8px rgba(0,0,0,.25), inset 0 -4px 6px rgba(0,0,0,.15);
  }
  .Lo-cup-coffee{
    position:absolute;
    width:122px; height:24px;
    left:24px; top:15px;
    border-radius:50%;
    background:radial-gradient(ellipse at 35% 35%, #6B3D22, #3A2013 72%);
    box-shadow:inset 0 3px 5px rgba(0,0,0,.5), 0 0 0 3px rgba(0,0,0,.08);
  }
  .Lo-cup-handle{
    position:absolute;
    width:46px; height:56px;
    right:-30px; top:36px;
    border:12px solid #DCCBAA;
    border-left-color:transparent;
    border-radius:50%;
    box-shadow:4px 2px 10px rgba(0,0,0,.28);
    transform:rotateY(8deg);
  }
  .Lo-saucer{
    position:absolute;
    width:230px; height:36px;
    left:-30px; top:132px;
    border-radius:50%;
    background:linear-gradient(160deg,#EFE4D2,#CBB794);
    box-shadow:0 18px 30px rgba(0,0,0,.5), inset 0 3px 5px rgba(255,255,255,.5);
  }

  /* steam */
  .Lo-steam{
    position:absolute;
    bottom:96px; left:70px;
    width:60px; height:120px;
    transform:translateZ(30px);
    filter:blur(3px);
    opacity:.55;
  }
  .Lo-steam i{
    position:absolute;
    bottom:0; left:50%;
    width:10px; height:10px;
    border-radius:50%;
    background:rgba(241,234,224,.7);
    animation:Lo-rise 3.2s ease-in infinite;
  }
  .Lo-steam i:nth-child(1){ left:20%; animation-delay:0s; }
  .Lo-steam i:nth-child(2){ left:50%; animation-delay:1.1s; }
  .Lo-steam i:nth-child(3){ left:75%; animation-delay:2.1s; }
  @keyframes Lo-rise{
    0%{ transform:translateY(0) scale(1); opacity:0; }
    15%{ opacity:.6; }
    100%{ transform:translateY(-110px) scale(2.4); opacity:0; }
  }

  /* floating beans */
  .Lo-bean{
    position:absolute;
    width:26px; height:16px;
    border-radius:50%;
    background:linear-gradient(150deg,#5A3821,#2A180D);
    box-shadow:0 10px 18px rgba(0,0,0,.4), inset 0 1px 2px rgba(255,255,255,.15);
    transform-style:preserve-3d;
    animation:Lo-float 7s ease-in-out infinite;
  }
  .Lo-bean::after{
    content:'';
    position:absolute;
    left:50%; top:8%;
    width:2px; height:84%;
    background:rgba(241,234,224,.55);
    border-radius:2px;
    transform:translateX(-50%) rotate(3deg);
  }
  .Lo-bean-1{ top:8%;  left:2%;  transform:rotateZ(-24deg) translateZ(60px); animation-delay:0s; }
  .Lo-bean-2{ top:18%; right:0%; transform:rotateZ(18deg) translateZ(80px) scale(1.2); animation-delay:1.4s; }
  .Lo-bean-3{ bottom:22%; left:-6%; transform:rotateZ(40deg) translateZ(40px) scale(.85); animation-delay:2.6s; }
  .Lo-bean-4{ bottom:6%; right:4%; transform:rotateZ(-12deg) translateZ(70px) scale(1.05); animation-delay:3.6s; }
  .Lo-bean-5{ top:0%; left:38%; transform:rotateZ(60deg) translateZ(100px) scale(.7); animation-delay:.7s; }

  @keyframes Lo-float{
    0%,100%{ transform:translateY(0) rotateZ(var(--rz,0deg)) translateZ(var(--tz,60px)); }
    50%{ transform:translateY(-16px) rotateZ(calc(var(--rz,0deg) + 8deg)) translateZ(var(--tz,60px)); }
  }

  .Lo-ring{
    position:absolute;
    left:50%; top:50%;
    width:300px; height:300px;
    border:1px solid rgba(216,162,74,.28);
    border-radius:50%;
    transform:translate(-50%,-50%) rotateX(72deg) translateZ(-40px);
  }
  .Lo-ring-2{
    width:230px; height:230px;
    border-color:rgba(193,139,87,.22);
  }

  .Lo-brand-bottom{
    z-index:3;
    max-width:420px;
  }
  .Lo-brand-quote{
    font-family:'Fraunces', serif;
    font-style:italic;
    font-weight:450;
    font-size:26px;
    line-height:1.35;
    color:var(--ts-cream);
  }
  .Lo-brand-attrib{
    margin-top:16px;
    font-family:'IBM Plex Mono', monospace;
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ts-terracotta);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .Lo-brand-attrib::before{
    content:'';
    width:26px; height:1px;
    background:var(--ts-terracotta);
    display:inline-block;
  }

  /* ================= RIGHT — FORM PANEL ================= */
  .Lo-panel{
    position:relative;
    flex:1;
    min-width:420px;
    background:var(--ts-cream);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:48px;
  }
  .Lo-panel::before{
    content:'';
    position:absolute; inset:0;
    background-image:
      radial-gradient(circle at 100% 0%, rgba(193,139,87,.10), transparent 45%),
      radial-gradient(circle at 0% 100%, rgba(216,162,74,.10), transparent 45%);
  }

  .Lo-form-wrap{
    position:relative;
    width:100%;
    max-width:530px;
    z-index:2;
  }

  .Lo-eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--ts-terracotta-dk);
    margin-bottom:14px;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .Lo-eyebrow i{ font-size:10px; }

  .Lo-title{
    font-family:'Fraunces', serif;
    font-size:40px;
    font-weight:450;
    line-height:1.1;
    color:var(--ts-ink);
    margin-bottom:10px;
  }
  .Lo-subtitle{
    font-size:15px;
    color:var(--ts-body);
    line-height:1.6;
    margin-bottom:34px;
  }
  .Lo-subtitle a{
    color:var(--ts-terracotta-dk);
    font-weight:600;
    text-decoration:none;
    border-bottom:1px solid var(--ts-terracotta);
  }
  .Lo-subtitle a:hover{ color:var(--ts-ink); }

  .Lo-field{
    margin-bottom:18px;
  }
  .Lo-label{
    display:block;
    font-size:12px;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--ts-body);
    margin-bottom:8px;
  }
  .Lo-input-shell{
    position:relative;
    display:flex;
    align-items:center;
    background:var(--ts-white);
    border:1px solid var(--ts-ghost-tint);
    border-radius:12px;
    transition:border-color .2s ease, box-shadow .2s ease;
  }
  .Lo-input-shell:focus-within{
    border-color:var(--ts-terracotta);
    box-shadow:0 0 0 4px rgba(193,139,87,.15);
  }
  .Lo-input-icon{
    width:44px;
    text-align:center;
    color:var(--ts-terracotta-dk);
    font-size:15px;
  }
  .Lo-input{
    flex:1;
    border:none;
    outline:none;
    background:transparent;
    padding:14px 8px 14px 0;
    font-family:'Inter', sans-serif;
    font-size:14.5px;
    color:var(--ts-ink);
  }
  .Lo-input::placeholder{ color:#B5AB9A; }
  .Lo-toggle-pass{
    width:44px;
    text-align:center;
    background:none;
    border:none;
    cursor:pointer;
    color:var(--ts-body);
    font-size:14px;
  }
  .Lo-toggle-pass:hover{ color:var(--ts-terracotta-dk); }

  .Lo-row-between{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:6px 0 26px;
  }
  .Lo-remember{
    display:flex;
    align-items:center;
    gap:9px;
    font-size:13.5px;
    color:var(--ts-body);
    cursor:pointer;
    user-select:none;
  }
  .Lo-checkbox{
    width:18px; height:18px;
    border-radius:5px;
    border:1.5px solid var(--ts-ghost-tint);
    background:var(--ts-white);
    display:flex; align-items:center; justify-content:center;
    transition:all .18s ease;
    flex-shrink:0;
  }
  .Lo-checkbox i{ font-size:10px; color:var(--ts-white); opacity:0; transform:scale(.5); transition:all .15s ease; }
  .Lo-remember input{ display:none; }
  .Lo-remember input:checked + .Lo-checkbox{
    background:linear-gradient(145deg, var(--ts-gold), var(--ts-terracotta-dk));
    border-color:var(--ts-terracotta-dk);
  }
  .Lo-remember input:checked + .Lo-checkbox i{ opacity:1; transform:scale(1); }

  .Lo-forgot{
    font-size:13.5px;
    color:var(--ts-terracotta-dk);
    text-decoration:none;
    font-weight:600;
  }
  .Lo-forgot:hover{ color:var(--ts-ink); }

  .Lo-submit{
    width:100%;
    padding:15px 20px;
    border:none;
    border-radius:12px;
    background:linear-gradient(135deg, var(--ts-gold) 0%, var(--ts-terracotta) 55%, var(--ts-terracotta-dk) 100%);
    color:var(--ts-white);
    font-family:'Inter', sans-serif;
    font-size:15px;
    font-weight:600;
    letter-spacing:.02em;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    box-shadow:0 12px 26px rgba(168,114,63,.38), inset 0 1px 1px rgba(255,255,255,.35);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .Lo-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 32px rgba(168,114,63,.48), inset 0 1px 1px rgba(255,255,255,.35);
  }
  .Lo-submit:active{ transform:translateY(0px); }
  .Lo-submit i{ transition:transform .18s ease; }
  .Lo-submit:hover i{ transform:translateX(4px); }

  .Lo-divider{
    display:flex;
    align-items:center;
    gap:14px;
    margin:28px 0 22px;
    color:#A79C89;
    font-size:12px;
    letter-spacing:.06em;
    text-transform:uppercase;
    font-family:'IBM Plex Mono', monospace;
  }
  .Lo-divider::before, .Lo-divider::after{
    content:'';
    flex:1;
    height:1px;
    background:var(--ts-ghost-tint);
  }

  .Lo-social-row{
    display:flex;
    gap:12px;
    margin-bottom:30px;
  }
  .Lo-social-btn{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:12px;
    border-radius:12px;
    border:1px solid var(--ts-ghost-tint);
    background:var(--ts-white);
    color:var(--ts-ink);
    font-size:13.5px;
    font-weight:600;
    cursor:pointer;
    transition:all .18s ease;
  }
  .Lo-social-btn:hover{
    border-color:var(--ts-terracotta);
    background:var(--ts-cream-deep);
    transform:translateY(-1px);
  }
  .Lo-social-btn i{ font-size:15px; }

  .Lo-signup-line{
    text-align:center;
    font-size:13.5px;
    color:var(--ts-body);
  }
  .Lo-signup-line a{
    color:var(--ts-terracotta-dk);
    font-weight:700;
    text-decoration:none;
  }
  .Lo-signup-line a:hover{ color:var(--ts-ink); }

  /* dummy avatars strip */
  .Lo-social-proof{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:34px;
    padding-top:24px;
    border-top:1px solid var(--ts-ghost-tint);
  }
  .Lo-avatars{ display:flex; }
  .Lo-avatars img{
    width:32px; height:32px;
    border-radius:50%;
    border:2px solid var(--ts-cream);
    object-fit:cover;
    margin-left:-10px;
  }
  .Lo-avatars img:first-child{ margin-left:0; }
  .Lo-proof-text{
    font-size:12.5px;
    color:var(--ts-body);
    line-height:1.4;
  }
  .Lo-proof-text b{ color:var(--ts-ink); }

  /* ================= RESPONSIVE ================= */
  @media (max-width: 980px){
    .Lo-root{ flex-direction:column; overflow-y:auto; height:auto; min-height:100vh; }
    .Lo-brand{ min-height:340px; padding:36px; }
    .Lo-stage{ width:220px; height:220px; transform:rotateX(6deg) rotateY(-14deg) scale(.85); }
    .Lo-brand-bottom{ display:none; }
    .Lo-panel{ min-width:0; padding:36px 24px 56px; }
  }
  @media (max-width: 480px){
    .Lo-title{ font-size:32px; }
    .Lo-social-row{ flex-direction:column; }
  }

  @media (prefers-reduced-motion: reduce){
    .Lo-bean, .Lo-steam i{ animation:none !important; }
    .Lo-stage{ transition:none; }
  }

  .Lo-root{

    color:var(--ts-ink);
    background:var(--ts-cream);
    width:100%;
    display:flex;
    overflow:hidden;
  }

/* ============ PAGE GRID ============ */
  .sb-page{
    width: 100%;
    /* min-height:100vh; */
  }

  /* ============ LEFT PANEL — simple, elegant, no decisions required ============ */
  .sb-visual{
    position:relative;
    background:
      radial-gradient(120% 140% at 15% -10%, rgba(216,162,74,.20), transparent 55%),
      radial-gradient(90% 90% at 100% 110%, rgba(193,139,87,.26), transparent 60%),
      linear-gradient(165deg, #17140F 0%, var(--ts-ink) 45%, #241E17 100%);
    color: var(--ts-cream);
    overflow:hidden;
    padding: 60px 52px;
    display:flex;
    flex-direction:column;
  }

  .sb-texture{
    position:absolute; inset:0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
    opacity:.10;
    mix-blend-mode: overlay;
    pointer-events:none;
  }

  .sb-bean-field{
    position:absolute; inset:0; pointer-events:none; opacity:.14;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cellipse cx='30' cy='30' rx='9' ry='14' fill='none' stroke='%23D8A24A' stroke-width='1' transform='rotate(35 30 30)'/%3E%3Cline x1='30' y1='17' x2='30' y2='43' stroke='%23D8A24A' stroke-width='1' transform='rotate(35 30 30)'/%3E%3C/svg%3E");
    background-size: 70px 70px;
  }

  .sb-visual-photo{
    position:absolute; inset:0;
    background-image: url('https://images.unsplash.com/photo-1447933601403-0c6688de566e?q=80&w=1200&auto=format&fit=crop');
    background-size:cover;
    background-position:center;
    opacity:.15;
    filter: grayscale(30%) sepia(20%);
    mask-image: linear-gradient(180deg, transparent, rgba(0,0,0,.9) 55%, transparent);
  }

  .sb-visual-inner{ position:relative; z-index:2; display:flex; flex-direction:column; height:100%; }

  .sb-brand{
    display:flex; align-items:center; gap:10px;
    font-family: var(--sb-font-mono);
    font-size:12.5px; letter-spacing:.16em; text-transform:uppercase;
    color: var(--ts-gold);
    margin-bottom:72px;
  }
  .sb-brand i{ font-size:14px; }

  .sb-headline{
    font-family: ;
    font-weight:500;
	  color: #ffffff;
    font-size: clamp(34px, 3.6vw, 50px);
    line-height:1.1;
    letter-spacing:-.01em;
    margin:0 0 20px;
  }
  .sb-headline span{
    font-style:italic; font-weight:400;
    background: linear-gradient(100deg, var(--ts-gold), var(--ts-terracotta) 65%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }

  .sb-sub{
    font-size:15.5px; line-height:1.7; color: rgba(241,234,224,.66);
    max-width: 38ch; margin:0 0 48px;
  }

  /* simple, plain-language feature list — no clicking required */
  .sb-features{
    display:flex; flex-direction:column; gap:22px;
    margin-bottom: auto;
  }
  .sb-feature{
    display:flex; align-items:flex-start; gap:16px;
  }
  .sb-feature-icon{
    flex:none; width:42px; height:42px; border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    font-size:15.5px; color: var(--ts-ink);
    background: linear-gradient(145deg, var(--ts-gold), var(--ts-terracotta-dk));
    box-shadow: 0 8px 18px -6px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.4);
  }
  .sb-feature-copy h3{
     font-weight:600; font-size:16px; margin:2px 0 4px; color:var(--ts-cream);
  }
  .sb-feature-copy p{
    font-size:13px; line-height:1.55; color: rgba(241,234,224,.55); margin:0; max-width:32ch;
  }

  .sb-quote{
    position:relative;
    background: linear-gradient(155deg, rgba(255,255,255,.06), rgba(255,255,255,.015));
    border:1px solid rgba(216,162,74,.2);
    border-radius:16px;
    padding:22px 24px;
    margin: 40px 0 0;
  }
  .sb-quote i.sb-quote-mark{ color: var(--ts-gold); font-size:18px; opacity:.7; margin-bottom:8px; display:block; }
  .sb-quote p{  font-style:italic; font-size:15px; line-height:1.6; margin:0 0 12px; color: rgba(241,234,224,.85); }
  .sb-quote footer{ font-family: var(--sb-font-mono); font-size:11px; letter-spacing:.05em; color: rgba(241,234,224,.45); }

  .sb-visual-footer{
    display:flex; align-items:center; gap:10px;
    font-family: var(--sb-font-mono); font-size:11.5px; letter-spacing:.05em;
    color: rgba(241,234,224,.45);
    padding-top:28px; margin-top:32px;
    border-top:1px solid rgba(241,234,224,.12);
  }
  .sb-visual-footer i{ color: var(--ts-gold); }

  /* ============ RIGHT FORM PANEL ============ */
  .sb-formside{
    position:relative;
    background:
      radial-gradient(70% 60% at 100% 0%, rgba(216,162,74,.10), transparent 60%),
      var(--ts-cream);
    padding: 56px 64px 70px;
    overflow-y:auto;
  }
  .sb-formside::before{
    content:""; position:absolute; inset:0; pointer-events:none; opacity:.4;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");
    mix-blend-mode: multiply;
  }

  .sb-formside-head{ max-width:600px; margin:0 auto 36px; position:relative; z-index:1;}
  .sb-eyebrow{
    font-family: var(--sb-font-mono); font-size:11.5px; letter-spacing:.18em; text-transform:uppercase;
    color: var(--ts-terracotta-dk); margin-bottom:10px; display:block;
  }
  .sb-formside-title{
     font-size: clamp(26px, 2.6vw, 32px); font-weight:500; margin:0 0 8px;
  }
  .sb-formside-desc{ font-size:14.5px; color:var(--ts-body); margin:0; }

  /* progress */
  .sb-progress{
    max-width:600px; margin:0 auto 38px; position:relative; z-index:1;
    display:flex; gap:6px;
  }
  .sb-progress-step{
    flex:1; display:flex; flex-direction:column; gap:10px;
    font-family: var(--sb-font-mono); font-size:11px; letter-spacing:.06em; color: var(--ts-ink-40);
    padding-top:12px; position:relative;
  }
  .sb-progress-step::before{
    content:""; position:absolute; top:0; left:0; right:0; height:3px; border-radius:3px;
    background: var(--ts-ink-15);
    transition: background .3s ease, box-shadow .3s ease;
  }
  .sb-progress-step.sb-step-active::before{ background: linear-gradient(90deg, var(--ts-gold), var(--ts-terracotta)); box-shadow:0 0 10px rgba(216,162,74,.5); }
  .sb-progress-step.sb-step-done::before{ background: var(--ts-terracotta-dk); }
  .sb-progress-step span{ display:block; font-weight:600; color: var(--ts-ink-70); }
  .sb-progress-step.sb-step-active{ color: var(--ts-ink); }
  .sb-progress-step.sb-step-active span{ color: var(--ts-terracotta-dk); }

  /* form card */
  .sb-form{ max-width:600px; margin:0 auto; position:relative; z-index:1; }
  .sb-step{ display:none; animation: sbFadeUp .45s ease; }
  .sb-step.sb-step-visible{ display:block; }
  @keyframes sbFadeUp{ from{ opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);} }

  .sb-fieldset{ margin-bottom:26px; }
  .sb-fieldset legend{
     font-size:15.5px; font-weight:600; color:var(--ts-ink);
    display:flex; align-items:center; gap:9px; margin-bottom:16px; padding:0;
  }
  .sb-fieldset legend i{ color:var(--ts-terracotta-dk); font-size:13px; }

  .sb-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

  .sb-field{ margin-bottom:16px; display:flex; flex-direction:column; gap:7px; }
  .sb-field label{
    font-size:12.5px; font-weight:600; color: var(--ts-body); letter-spacing:.01em;
  }
  .sb-field label .sb-req{ color: var(--ts-terracotta-dk); }

  .sb-input-wrap{ position:relative; }
  .sb-input-wrap i.sb-input-icon{
    position:absolute; left:15px; top:50%; transform:translateY(-50%);
    color: var(--ts-ink-40); font-size:13.5px; pointer-events:none;
  }

  .sb-input, .sb-select, .sb-textarea{
    width:100%;
	padding-left: 38px !important;
	font-family: var(--sb-font-body); font-size:14px; color:var(--ts-ink);
    background: var(--ts-white);
    border:1px solid var(--ts-ink-15);
    border-radius:11px;
    padding:13px 15px 13px 40px;
    outline:none;
    transition: border-color .25s ease, box-shadow .25s ease, transform .1s ease;
    box-shadow: inset 0 1px 2px rgba(28,26,23,.04);
  }
  .sb-input:not(.sb-has-icon){ padding-left:15px; }
  .sb-select{ padding-left:15px; appearance:none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235C564D' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position: right 15px center;
  }
  .sb-textarea{ padding-left:15px; resize:vertical; min-height:80px; font-family:var(--sb-font-body); }

  .sb-input:focus, .sb-select:focus, .sb-textarea:focus{
    border-color: var(--ts-terracotta);
    box-shadow: 0 0 0 4px var(--ts-terracotta-25), inset 0 1px 2px rgba(28,26,23,.04);
  }

  .sb-hint{ font-size:11.5px; color: var(--ts-ink-40); }

  /* chip select for origins/certs */
  .sb-chips{ display:flex; flex-wrap:wrap; gap:9px; }
  .sb-chip{
    font-family: var(--sb-font-mono); font-size:12px; letter-spacing:.03em;
    padding:9px 15px; border-radius:999px; border:1px solid var(--ts-ink-15);
    background: var(--ts-white); color: var(--ts-body); cursor:pointer;
    transition: all .25s ease; user-select:none;
  }
  .sb-chip:hover{ border-color: var(--ts-terracotta); color:var(--ts-ink); }
  .sb-chip.sb-chip-active{
    background: linear-gradient(145deg, var(--ts-terracotta), var(--ts-terracotta-dk));
    border-color: var(--ts-terracotta-dk); color: var(--ts-white);
    box-shadow: 0 6px 14px -6px rgba(168,114,63,.6);
    transform: translateY(-1px);
  }

  /* radio pill group (business type / delivery) */
  .sb-pillgroup{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
  .sb-pill{
    position:relative; border:1px solid var(--ts-ink-15); border-radius:12px; padding:12px 14px;
    background:var(--ts-white); cursor:pointer; display:flex; align-items:center; gap:10px;
    transition: all .25s ease;
  }
  .sb-pill input{ position:absolute; opacity:0; }
  .sb-pill i{ color: var(--ts-terracotta-dk); font-size:14px; }
  .sb-pill span{ font-size:13px; font-weight:500; color:var(--ts-ink); }
  .sb-pill:hover{ border-color: var(--ts-terracotta); }
  .sb-pill.sb-pill-active{
    border-color: var(--ts-gold); background: linear-gradient(155deg, var(--ts-gold-25), transparent);
    box-shadow: 0 0 0 1px var(--ts-gold) inset;
  }

  /* role-specific panels */
  .sb-rolepanel{ display:none; }
  .sb-rolepanel.sb-rolepanel-visible{ display:block; }

  /* ============ STEP 1 — simple role choice, lives in the form itself ============ */
  .sb-role-intro{ text-align:center; margin-bottom:32px; }
  .sb-role-intro h3{  font-size:21px; font-weight:600; margin:0 0 8px; }
  .sb-role-intro p{ font-size:13.5px; color: var(--ts-body); margin:0; }

  .sb-role-select{ perspective: 1400px; display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:36px; }

  .sb-role-card{
    position:relative; text-align:center; cursor:pointer;
    background: var(--ts-white);
    border: 1.5px solid var(--ts-ink-15);
    border-radius: 18px;
    padding: 34px 22px 28px;
    font-family: inherit;
    transform-style: preserve-3d;
    transition: transform .35s cubic-bezier(.2,.8,.2,1), border-color .3s ease, box-shadow .35s ease, background .35s ease;
    box-shadow: 0 14px 30px -20px rgba(28,26,23,.25);
    will-change: transform;
  }
  .sb-role-card:hover{
    border-color: var(--ts-terracotta);
    box-shadow: 0 22px 42px -20px rgba(28,26,23,.3);
  }
  .sb-role-card.sb-role-active{
    border-color: var(--ts-gold);
    background: linear-gradient(160deg, var(--ts-gold-25), var(--ts-white) 60%);
    box-shadow: 0 26px 48px -18px rgba(168,114,63,.35), 0 0 0 1px var(--ts-gold) inset;
  }

  .sb-role-card-inner{ display:flex; flex-direction:column; align-items:center; gap:12px; transform: translateZ(24px); }

  .sb-role-icon{
    width:56px; height:56px; border-radius:16px;
    display:flex; align-items:center; justify-content:center;
    font-size:21px;
    background: linear-gradient(145deg, var(--ts-gold), var(--ts-terracotta-dk));
    color: var(--ts-ink);
    box-shadow: 0 10px 20px -8px rgba(168,114,63,.55), inset 0 1px 0 rgba(255,255,255,.4);
    margin-bottom:4px;
  }

  .sb-role-label{  font-weight:600; font-size:19px; color:var(--ts-ink); }
  .sb-role-desc{ font-size:12.8px; line-height:1.55; color: var(--ts-body); max-width:24ch; }

  .sb-role-check{
    position:absolute; top:16px; right:16px; width:22px; height:22px; border-radius:50%;
    border:1.5px solid var(--ts-ink-15); display:flex; align-items:center; justify-content:center;
    transition: all .3s ease; transform: translateZ(24px); background: var(--ts-white);
  }
  .sb-role-card.sb-role-active .sb-role-check{
    background: var(--ts-gold); border-color: var(--ts-gold); color:#1C1A17;
  }
  .sb-role-check i{ font-size:10px; opacity:0; transform: scale(.5); transition: all .25s ease; }
  .sb-role-card.sb-role-active .sb-role-check i{ opacity:1; transform: scale(1); }

  /* nav buttons */
  .sb-step-nav{ display:flex; justify-content:space-between; align-items:center; margin-top:8px; gap:14px; }

  .sb-btn{
    font-family: var(--sb-font-body); font-size:14px; font-weight:600;
    border:none; border-radius:12px; cursor:pointer;
    padding:14px 26px; display:inline-flex; align-items:center; gap:9px;
    transition: transform .18s ease, box-shadow .25s ease, filter .2s ease;
  }
  .sb-btn-primary{
    color: var(--ts-white);
    background: linear-gradient(150deg, var(--ts-gold), var(--ts-terracotta-dk) 75%);
    box-shadow: 0 12px 24px -10px rgba(168,114,63,.65), inset 0 1px 0 rgba(255,255,255,.25);
  }
  .sb-btn-primary:hover{ transform: translateY(-2px); filter:brightness(1.04); box-shadow: 0 16px 30px -10px rgba(168,114,63,.75), inset 0 1px 0 rgba(255,255,255,.3); }
  .sb-btn-primary:active{ transform: translateY(0); }
  .sb-btn-primary:disabled{ opacity:.45; cursor:not-allowed; transform:none; filter:none; }

  .sb-btn-ghost{
    color: var(--ts-body); background: transparent; border:1px solid var(--ts-ink-15);
  }
  .sb-btn-ghost:hover{ border-color: var(--ts-terracotta); color: var(--ts-ink); background: var(--ts-white); }
  .sb-btn-full{ width:100%; justify-content:center; }

  /* summary card */
  .sb-summary{
    background: var(--ts-white);
    border:1px solid var(--ts-ink-15); border-radius:16px; padding:20px 22px; margin-bottom:24px;
    box-shadow: 0 10px 26px -18px rgba(28,26,23,.3);
  }
  .sb-summary-row{
    display:flex; justify-content:space-between; gap:12px; padding:9px 0;
    border-bottom:1px dashed var(--ts-ink-15); font-size:13px;
  }
  .sb-summary-row:last-child{ border-bottom:none; }
  .sb-summary-row dt{ color: var(--ts-body); }
  .sb-summary-row dd{ margin:0; font-weight:600; color:var(--ts-ink); text-align:right; }
  .sb-summary-badge{
    display:inline-flex; align-items:center; gap:6px; font-family:var(--sb-font-mono); font-size:11px;
    letter-spacing:.05em; text-transform:uppercase; padding:5px 11px; border-radius:999px;
    background: linear-gradient(145deg, var(--ts-terracotta-25), var(--ts-gold-25)); color: var(--ts-terracotta-dk);
    margin-bottom:14px;
  }

  /* terms row */
  .sb-terms-row{
    display:flex; align-items:flex-start; gap:12px; background: var(--ts-cream-deep);
    border:1px solid var(--ts-ink-15); border-radius:14px; padding:16px 18px; margin-bottom:24px;
  }
  .sb-terms-check{
    flex:none; width:22px; height:22px; border-radius:7px; border:1.5px solid var(--ts-ink-40);
    background: var(--ts-white); display:flex; align-items:center; justify-content:center; cursor:pointer;
    transition: all .25s ease; margin-top:1px;
  }
  .sb-terms-check i{ font-size:11px; opacity:0; transform:scale(.4); transition: all .2s ease; color:var(--ts-white); }
  .sb-terms-check.sb-sealed{
    background: linear-gradient(145deg, var(--ts-terracotta), var(--ts-terracotta-dk)); border-color: var(--ts-terracotta-dk);
    box-shadow: 0 4px 10px -4px rgba(168,114,63,.6);
  }
  .sb-terms-check.sb-sealed i{ opacity:1; transform:scale(1); }
  .sb-terms-text{ font-size:13px; line-height:1.6; color: var(--ts-body); }
  .sb-terms-text button{
    background:none; border:none; padding:0; font: inherit; color: var(--ts-terracotta-dk);
    font-weight:600; text-decoration: underline; text-underline-offset:3px; cursor:pointer;
  }
  .sb-terms-status{ display:block; margin-top:4px; font-family: var(--sb-font-mono); font-size:11px; color: var(--ts-ink-40); }
  .sb-terms-status.sb-sealed-text{ color: var(--ts-terracotta-dk); }

  /* success */
  .sb-success{ display:none; text-align:center; padding:50px 10px 10px; }
  .sb-success.sb-success-visible{ display:block; animation: sbFadeUp .5s ease; }
  .sb-success-seal{
    width:84px; height:84px; margin:0 auto 22px; border-radius:50%;
    background: radial-gradient(circle at 35% 30%, var(--ts-gold), var(--ts-terracotta-dk) 70%);
    display:flex; align-items:center; justify-content:center; font-size:30px; color:var(--ts-white);
    box-shadow: 0 18px 34px -14px rgba(168,114,63,.7), inset 0 2px 4px rgba(255,255,255,.35);
  }
  .sb-success h2{  font-size:26px; margin:0 0 10px; }
  .sb-success p{ color: var(--ts-body); font-size:14px; max-width:38ch; margin:0 auto; }

  /* ============ MODAL (certificate) ============ */
  .sb-modal-overlay{
    position:fixed; inset:0; background: rgba(20,17,13,.6); backdrop-filter: blur(3px);
    display:none; align-items:center; justify-content:center; z-index:100; padding:24px;
  }
  .sb-modal-overlay.sb-modal-open{ display:flex; animation: sbOverlayIn .25s ease; }
  @keyframes sbOverlayIn{ from{opacity:0;} to{opacity:1;} }

  .sb-modal{
    width:100%; max-width:560px; max-height:82vh; display:flex; flex-direction:column;
    background: var(--ts-cream);
    border-radius:20px;
    border:1px solid rgba(216,162,74,.35);
    box-shadow: 0 40px 80px -20px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.4) inset;
    transform: translateY(10px) scale(.98); animation: sbModalIn .35s cubic-bezier(.2,.8,.2,1) forwards;
    position:relative; overflow:hidden;
  }
  @keyframes sbModalIn{ to{ transform: translateY(0) scale(1); } }

  .sb-modal-head{
    padding:26px 30px 18px; border-bottom:1px solid var(--ts-ink-15);
    display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
    background: linear-gradient(160deg, var(--ts-cream-deep), var(--ts-cream));
  }
  .sb-modal-eyebrow{ font-family: var(--sb-font-mono); font-size:11px; letter-spacing:.16em; color:var(--ts-terracotta-dk); text-transform:uppercase; }
  .sb-modal-title{  font-size:22px; font-weight:600; margin:6px 0 0; }
  .sb-modal-close{
    flex: none; 
	width: 32px;
    padding: 0;
    height: 34px; 
	border-radius:50%; 
	border:1px solid var(--ts-ink-15);
    background:var(--ts-white); cursor:pointer; color:var(--ts-body); display:flex; align-items:center; justify-content:center;
    transition: all .2s ease;
  }
  .sb-modal-close:hover{ border-color: var(--ts-terracotta); color:var(--ts-ink); transform: rotate(90deg); }

  .sb-modal-body{
    padding:22px 30px; overflow-y:auto; font-size:13px; line-height:1.75; color: var(--ts-body);
  }
  .sb-modal-body h4{  font-size:14.5px; color:var(--ts-ink); margin:18px 0 6px; }
  .sb-modal-body h4:first-child{ margin-top:0; }
  .sb-modal-body p{ margin:0 0 10px; }

  .sb-modal-foot{
    padding:20px 30px 26px; border-top:1px solid var(--ts-ink-15); background: var(--ts-cream-deep);
    display:flex; flex-direction:column; gap:16px;
  }
  .sb-modal-agree{ display:flex; align-items:center; gap:10px; cursor:pointer; }
  .sb-modal-agree input{ position:absolute; opacity:0; width:0; height:0; }
  .sb-modal-agree .sb-agree-box{
    width:20px; height:20px; border-radius:6px; border:1.5px solid var(--ts-ink-40); background:var(--ts-white);
    display:flex; align-items:center; justify-content:center; transition: all .2s ease; flex:none;
  }
  .sb-modal-agree .sb-agree-box i{ font-size:10px; opacity:0; transform:scale(.4); transition: all .2s ease; color:var(--ts-white); }
  .sb-modal-agree input:checked + .sb-agree-box{ background: var(--ts-terracotta-dk); border-color: var(--ts-terracotta-dk); }
  .sb-modal-agree input:checked + .sb-agree-box i{ opacity:1; transform:scale(1); }
  .sb-modal-agree span{ font-size:12.8px; color: var(--ts-body); }

  .sb-stamp-btn{
    align-self:flex-end; position:relative;
    width:200px; height:56px; border-radius:12px; border:none; cursor:pointer;
    font-family: var(--sb-font-mono); font-size:12.5px; letter-spacing:.08em; text-transform:uppercase;
    color: var(--ts-white);
    background: linear-gradient(150deg, var(--ts-terracotta), var(--ts-terracotta-dk));
    box-shadow: 0 14px 26px -10px rgba(168,114,63,.65), inset 0 1px 0 rgba(255,255,255,.25);
    transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
    display:flex; align-items:center; justify-content:center; gap:8px;
  }
  .sb-stamp-btn:disabled{ opacity:.4; cursor:not-allowed; }
  .sb-stamp-btn:not(:disabled):hover{ filter:brightness(1.06); }
  .sb-stamp-btn.sb-stamping{ animation: sbStampPress .45s ease; }
  @keyframes sbStampPress{
    0%{ transform: translateY(0) scale(1); }
    35%{ transform: translateY(6px) scale(.94); box-shadow: 0 4px 10px -4px rgba(168,114,63,.5); }
    100%{ transform: translateY(0) scale(1); }
  }

  /* responsive */
  @media (max-width: 980px){
    .sb-page{ grid-template-columns:1fr; }
    .sb-visual{ padding:44px 28px; }
    .sb-features{ margin-bottom:28px; }
    .sb-quote{ margin-top:0; }
    .sb-visual-footer{ margin-top:0; }
    .sb-formside{ padding:44px 24px 60px; }
  }
  @media (max-width: 560px){
    .sb-grid2{ grid-template-columns:1fr; }
    .sb-pillgroup{ grid-template-columns:1fr; }
    .sb-role-select{ grid-template-columns:1fr; }
    .sb-progress-step span{ display:none; }
  }

:root{
    --ts-cream:        #F1EAE0;
    --ts-cream-deep:   #E7DECF;
    --ts-ghost-tint:   #E2D8C8;
    --ts-terracotta:   #C18B57;
    --ts-terracotta-dk:#A8723F;
    --ts-ink:          #1C1A17;
    --ts-body:         #5C564D;
    --ts-white:        #FFFFFF;
    --ts-gold:         #D8A24A;

    --cv-radius-lg: 24px;
    --cv-radius-md: 16px;
    --cv-shadow-soft: 0 18px 40px -18px rgba(28,26,23,0.26);
    --cv-shadow-deep: 0 30px 60px -22px rgba(28,26,23,0.38);
  }

.cv-vroot{
    
    /* background:
      radial-gradient(ellipse 55% 40% at 10% 0%, rgba(216,162,74,0.15), transparent 60%),
      radial-gradient(ellipse 50% 45% at 95% 100%, rgba(193,139,87,0.18), transparent 60%),
      linear-gradient(180deg, var(--ts-cream) 0%, var(--ts-cream-deep) 100%); */
    color: var(--ts-ink);
    min-height:100vh;
    width:100%;
    padding: 64px 24px 90px;
    position:relative;
    isolation:isolate;
  }

  .cv-vtexture{
    position:absolute; inset:0; z-index:0;
    opacity:0.5; mix-blend-mode:multiply; pointer-events:none;
  }
  .cv-vtexture svg{ width:100%; height:100%; }

  /* ---------- header ---------- */
  .cv-vheader{
    position:relative; z-index:2;
    max-width: 760px;
    margin: 0 auto 40px;
    text-align:center;
  }
  .cv-veyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:12.5px; font-weight:700; letter-spacing:0.22em;
    text-transform:uppercase; color: var(--ts-terracotta-dk);
    margin-bottom:16px;
  }
  .cv-veyebrow::before,.cv-veyebrow::after{
    content:""; width:26px; height:1px;
    background: linear-gradient(90deg, transparent, var(--ts-terracotta));
  }
  .cv-veyebrow::after{ background: linear-gradient(90deg, var(--ts-terracotta), transparent); }

  .cv-vtitle{
    
    font-weight:600;
    font-size: clamp(32px, 4.6vw, 50px);
    line-height:1.1;
    margin: 0 0 14px;
    letter-spacing:-0.01em;
  }
  .cv-vtitle em{ font-style:italic; font-weight:500; color: var(--ts-terracotta-dk); }
  .cv-vsub{
    font-size:16px; line-height:1.6; color: var(--ts-body); margin:0;
  }

  /* ---------- search + filters ---------- */
  .cv-vcontrols{
    position:relative; z-index:2;
    max-width: 920px;
    margin: 36px auto 8px;
  }

  .cv-vsearch{
    position:relative;
    display:flex;
    align-items:center;
    background: var(--ts-white);
    border-radius: 999px;
    padding: 6px 8px 6px 22px;
    box-shadow: var(--cv-shadow-soft);
    border: 1px solid rgba(28,26,23,0.06);
    transition: box-shadow .3s ease, border-color .3s ease;
  }
  .cv-vsearch:focus-within{
    box-shadow: var(--cv-shadow-deep), 0 0 0 4px rgba(216,162,74,0.18);
    border-color: var(--ts-gold);
  }
  .cv-vsearch i.fa-magnifying-glass{
    color: var(--ts-terracotta);
    font-size: 16px;
    margin-right: 12px;
    flex:none;
  }
  .cv-vsearch input{
    flex:1;
    border:none;
    outline:none;
    background:transparent;
    
    font-size: 15.5px;
    color: var(--ts-ink);
    padding: 13px 4px;
    min-width: 0;
  }
  .cv-vsearch input::placeholder{ color: rgba(92,86,77,0.55); }
  .cv-vclear{
    flex:none;
    width:34px; height:34px;
    border-radius:50%;
    border:none;
    background: var(--ts-cream-deep);
    color: var(--ts-body);
    font-size:12px;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    opacity:0;
    pointer-events:none;
    transform: scale(0.8);
    transition: opacity .2s ease, transform .2s ease, background .2s ease;
  }
  .cv-vclear.cv-vclear-show{ opacity:1; pointer-events:auto; transform:scale(1); }
  .cv-vclear:hover{ background: var(--ts-terracotta); color: var(--ts-white); }

  .cv-vcount{
    flex:none;
    font-size: 12.5px;
    font-weight:700;
    color: var(--ts-white);
    background: linear-gradient(155deg, var(--ts-terracotta), var(--ts-terracotta-dk));
    padding: 9px 16px;
    border-radius: 999px;
    margin-left: 8px;
    white-space:nowrap;
  }

  .cv-vchips{
    display:flex;
    flex-wrap:wrap;
    gap: 10px;
    justify-content:center;
    margin: 22px 0 0;
  }
  .cv-vchip{
    display:inline-flex;
    align-items:center;
    gap: 8px;
    
    font-size: 13.5px;
    font-weight:600;
    color: var(--ts-terracotta-dk);
    background: rgba(255,255,255,0.6);
    border: 1px solid rgba(193,139,87,0.35);
    padding: 9px 18px;
    border-radius: 999px;
    cursor:pointer;
    transition: all .25s ease;
  }
  .cv-vchip i{ font-size:12px; }
  .cv-vchip:hover{
    background: rgba(255,255,255,0.9);
    border-color: var(--ts-terracotta);
    transform: translateY(-1px);
  }
  .cv-vchip.cv-vchip-active{
    background: linear-gradient(155deg, var(--ts-terracotta), var(--ts-terracotta-dk));
    color: var(--ts-white);
    border-color: transparent;
    box-shadow: 0 10px 20px -10px rgba(168,114,63,0.55);
  }

  /* ---------- grid ---------- */
  .cv-vgrid{
    position:relative; z-index:2;
    max-width: 1180px;
    margin: 46px auto 0;
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
  }
  @media (max-width: 980px){
    .cv-vgrid{ grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 640px){
    .cv-vgrid{ grid-template-columns: 1fr; }
  }

  .cv-vcard{
    background: var(--ts-white);
    border-radius: var(--cv-radius-lg);
    box-shadow: var(--cv-shadow-soft);
    border: 1px solid rgba(28,26,23,0.05);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    opacity:0;
    transform: translateY(16px) scale(0.98);
    animation: cv-vfade-in .55s cubic-bezier(.22,.85,.32,1) forwards;
    transition: box-shadow .35s ease, transform .35s ease;
  }
  .cv-vcard:hover{
    box-shadow: var(--cv-shadow-deep);
    transform: translateY(-5px);
  }
  @keyframes cv-vfade-in{
    to{ opacity:1; transform: translateY(0) scale(1); }
  }

  .cv-vcover{
    position:relative;
    width:100%;
    height: 168px;
    overflow:hidden;
  }
  .cv-vcover img{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
    transition: transform .7s ease;
  }
  .cv-vcard:hover .cv-vcover img{ transform: scale(1.07); }

  /* Directory cards are live now: the cover and name are links to the supplier's
     profile, and plan badges sit under the name. */
  .cv-vcover{ display:block; text-decoration:none; }
  .cv-vname a{ color:inherit; text-decoration:none; }
  .cv-vname a:hover{ color: var(--ts-terracotta-dk, #A8723F); }
  .cv-vbadges{ margin: 2px 0 10px; }
  .cv-vvisit{ text-decoration:none; }
  .cv-vvisit:hover{ text-decoration:none; }
  a.cv-vempty-reset{ display:inline-block; text-decoration:none; }
  .cv-vcover-overlay{
    position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(28,26,23,0) 50%, rgba(28,26,23,0.55) 100%);
  }
  .cv-vprice{
    position:absolute;
    top:12px; right:12px;
    background: rgba(255,255,255,0.92);
    color: var(--ts-terracotta-dk);
    font-weight:800;
    font-size:12.5px;
    letter-spacing:0.04em;
    padding: 6px 11px;
    border-radius: 999px;
    box-shadow: 0 6px 14px -6px rgba(28,26,23,0.35);
  }
  .cv-vbadge{
    position:absolute;
    left:16px;
    bottom:-24px;
    width:52px; height:52px;
    border-radius:50%;
    background: var(--ts-white);
    border: 2px solid var(--ts-cream-deep);
    display:flex; align-items:center; justify-content:center;
    color: var(--ts-terracotta-dk);
    font-size:19px;
    box-shadow: 0 8px 16px -6px rgba(28,26,23,0.3);
  }

  .cv-vbody{
    padding: 34px 20px 20px;
    display:flex;
    flex-direction:column;
    flex:1;
  }
  .cv-vtag{
    font-size:10.5px;
    font-weight:700;
    letter-spacing:0.13em;
    text-transform:uppercase;
    color: var(--ts-terracotta);
    margin-bottom:5px;
  }
  .cv-vname{
    
    font-weight:600;
    font-size:19px;
    margin: 0 0 8px;
    color: var(--ts-ink);
  }
  .cv-vdesc{
    font-size: 13.5px;
    line-height:1.55;
    color: var(--ts-body);
    margin: 0 0 16px;
    flex:1;
  }
  .cv-vmeta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:16px;
    font-size:13px;
  }
  .cv-vrating{ display:flex; align-items:center; gap:6px; font-weight:700; color: var(--ts-ink); }
  .cv-vrating i{ color: var(--ts-gold); font-size:12.5px; }
  .cv-vlocation{ display:flex; align-items:center; gap:6px; color: var(--ts-body); font-weight:600; }
  .cv-vlocation i{ color: var(--ts-terracotta); font-size:12px; }

  .cv-vvisit{
    border:none;
    border-radius:999px;
    padding: 12px 18px;
    
    font-size:13.5px;
    font-weight:700;
    color: var(--ts-white);
    background: linear-gradient(155deg, var(--ts-terracotta) 0%, var(--ts-terracotta-dk) 100%);
    box-shadow: 0 10px 20px -10px rgba(168,114,63,0.6), inset 0 1px 0 rgba(255,255,255,0.25);
    cursor:pointer;
    display:flex; align-items:center; justify-content:center; gap:8px;
    transition: transform .22s ease, box-shadow .22s ease;
  }
  .cv-vvisit:hover{ transform: translateY(-2px); box-shadow: 0 14px 24px -10px rgba(168,114,63,0.7); }
  .cv-vvisit i{ font-size:11px; transition: transform .3s ease; }
  .cv-vvisit:hover i{ transform: translateX(3px); }

  /* ---------- empty state ---------- */
  .cv-vempty{
    grid-column: 1 / -1;
    text-align:center;
    padding: 70px 20px;
    color: var(--ts-body);
  }
  .cv-vempty i{
    font-size: 34px;
    color: var(--ts-terracotta);
    margin-bottom: 16px;
    display:block;
  }
  .cv-vempty h3{
    
    font-weight:600;
    font-size: 21px;
    color: var(--ts-ink);
    margin: 0 0 8px;
  }
  .cv-vempty p{ margin:0; font-size:14px; }

  .cv-vempty-reset{
    margin-top:18px;
    border: 1px solid var(--ts-terracotta);
    background: transparent;
    color: var(--ts-terracotta-dk);
    font-weight:700;
    font-size:13px;
    padding: 10px 20px;
    border-radius:999px;
    cursor:pointer;
    transition: all .25s ease;
  }
  .cv-vempty-reset:hover{ background: var(--ts-terracotta); color:#fff; }

  @media (prefers-reduced-motion: reduce){
    .cv-vcard, .cv-vcover img, .cv-vvisit, .cv-vchip{ transition:none !important; animation:none !important; }
  }

  .cv-vchip:focus-visible, .cv-vvisit:focus-visible, .cv-vclear:focus-visible, .cv-vempty-reset:focus-visible,
  .cv-vsearch input:focus-visible{
    outline: 2px solid var(--ts-terracotta-dk);
    outline-offset: 2px;
  }

  @media (max-width: 560px){
    .cv-vroot{ padding: 48px 14px 70px; }
    .cv-vsearch{ padding-left:16px; }
    .cv-vcount{ display:none; }
  }

 /* ---------- fine paper / linen texture ---------- */
  .cv-texture{
    position:absolute;
    inset:0;
    z-index:0;
    opacity:0.5;
    mix-blend-mode:multiply;
    pointer-events:none;
  }
  .cv-texture svg{ width:100%; height:100%; }

  .cv-vignette{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background: radial-gradient(ellipse 90% 70% at 50% 40%, transparent 55%, rgba(28,26,23,0.05) 100%);
  }

  /* ---------- header ---------- */
  .cv-header{
    position:relative;
    z-index:2;
    max-width: 760px;
    margin: 30px auto 0px;
    text-align:center;
  }
  .cv-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    
    font-size: 12.5px;
    font-weight:700;
    letter-spacing: 0.22em;
    text-transform:uppercase;
    color: var(--ts-terracotta-dk);
    margin-bottom: 18px;
  }
  .cv-eyebrow::before,
  .cv-eyebrow::after{
    content:"";
    width: 26px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ts-terracotta));
  }
  .cv-eyebrow::after{ background: linear-gradient(90deg, var(--ts-terracotta), transparent); }

  .cv-title{
    
    font-weight: 600;
    font-size: clamp(34px, 5vw, 54px);
    line-height: 1.08;
    margin: 0 0 16px;
    letter-spacing: -0.01em;
  }
  .cv-title em{
    font-style: italic;
    font-weight:500;
    color: var(--ts-terracotta-dk);
  }
  .cv-sub{
    font-size: 16.5px;
    line-height: 1.65;
    color: var(--ts-body);
    margin: 0;
  }

  /* ---------- stage ---------- */
  .cv-stage-wrap{
    position:relative;
    z-index:2;
    max-width: 1180px;
    margin: 0 auto;
  }

  .cv-stage{
    position:relative;
    height: 480px;
    perspective: 1600px;
    perspective-origin: 50% 50%;
  }

  .cv-track{
    position:absolute;
    inset:0;
    transform-style: preserve-3d;
  }

  .cv-card{
    position:absolute;
    top:50%;
    left:50%;
    width: min(380px, 78vw);
    background: var(--ts-white);
    border-radius: var(--cv-radius-lg);
    box-shadow: var(--cv-shadow-soft);
    padding: 22px 22px 26px;
    transition: transform 0.7s cubic-bezier(.22,.85,.32,1), opacity 0.7s ease, box-shadow 0.7s ease, filter 0.7s ease;
    will-change: transform, opacity;
    cursor: pointer;
    border: 1px solid rgba(28,26,23,0.05);
  }
  .cv-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius: inherit;
    padding:1px;
    background: linear-gradient(160deg, rgba(216,162,74,0.55), transparent 40%, rgba(193,139,87,0.35));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.7;
    pointer-events:none;
  }

  .cv-card.cv-is-active{
    cursor: default;
    box-shadow: var(--cv-shadow-deep);
  }

  .cv-card-top{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
  }

  .cv-badge{
    position:relative;
    width:58px;
    height:58px;
    border-radius:50%;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    background: var(--ts-white);
    border: 2px solid var(--ts-cream-deep);
    color: var(--ts-terracotta-dk);
    font-size: 20px;
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.8), 0 4px 10px -4px rgba(28,26,23,0.25);
    transition: box-shadow .6s ease, border-color .6s ease, transform .6s ease;
  }
  .cv-badge::after{
    content:"";
    position:absolute;
    inset:-6px;
    border-radius:50%;
    border:1.5px solid var(--ts-terracotta);
    opacity:0;
    transform: scale(0.85);
    transition: opacity .6s ease, transform .6s ease;
  }
  .cv-card.cv-is-active .cv-badge{
    border-color: var(--ts-gold);
    box-shadow: inset 0 1px 2px rgba(255,255,255,0.9), 0 0 0 6px rgba(216,162,74,0.14), 0 6px 16px -6px rgba(168,114,63,0.5);
  }
  .cv-card.cv-is-active .cv-badge::after{
    opacity:1;
    transform: scale(1);
    animation: cv-pulse-ring 2.6s ease-out infinite;
  }
  @keyframes cv-pulse-ring{
    0%{ box-shadow: 0 0 0 0 rgba(216,162,74,0.35); }
    100%{ box-shadow: 0 0 0 10px rgba(216,162,74,0); }
  }

  .cv-name-block{ min-width:0; }
  .cv-org-tag{
    display:block;
    font-size: 10.5px;
    font-weight:700;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color: var(--ts-terracotta);
    margin-bottom: 3px;
  }
  .cv-org-name{
    
    font-weight:600;
    font-size: 18px;
    margin:0;
    color: var(--ts-ink);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .cv-cover{
    position:relative;
    width:100%;
    height:150px;
    border-radius: var(--cv-radius-md);
    overflow:hidden;
    margin-bottom:18px;
    box-shadow: inset 0 0 0 1px rgba(28,26,23,0.06);
  }
  .cv-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transform: scale(1.02);
    transition: transform 1.4s ease;
  }
  .cv-card.cv-is-active .cv-cover img{ transform: scale(1.08); }
  .cv-cover-overlay{
    position:absolute;
    inset:0;
    background: linear-gradient(180deg, rgba(28,26,23,0) 45%, rgba(28,26,23,0.55) 100%);
  }
  .cv-cover-label{
    position:absolute;
    left:14px;
    bottom:12px;
    color:#fff;
    
    font-style:italic;
    font-weight:500;
    font-size: 15px;
    letter-spacing:0.01em;
    text-shadow: 0 2px 8px rgba(0,0,0,0.35);
  }

  .cv-meta-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:18px;
    gap:10px;
  }
  .cv-rating{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:13.5px;
    font-weight:600;
    color: var(--ts-ink);
  }
  .cv-rating i{ color: var(--ts-gold); font-size:13px; }
  .cv-therapists{
    font-size:13px;
    font-weight:600;
    color: var(--ts-body);
    white-space:nowrap;
  }
  .cv-therapists i{ color:var(--ts-terracotta); margin-right:5px; }

  .cv-visit-btn{
    position:relative;
    width:100%;
    border:none;
    border-radius: 999px;
    padding: 13px 20px;
    
    font-size: 14px;
    font-weight:700;
    letter-spacing:0.02em;
    color: var(--ts-white);
    background: linear-gradient(155deg, var(--ts-terracotta) 0%, var(--ts-terracotta-dk) 100%);
    box-shadow: 0 12px 22px -10px rgba(168,114,63,0.65), inset 0 1px 0 rgba(255,255,255,0.25);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
    overflow:hidden;
  }
  .cv-visit-btn::before{
    content:"";
    position:absolute;
    top:0; left:-60%;
    width:40%; height:100%;
    background: linear-gradient(120deg, transparent, rgba(255,255,255,0.35), transparent);
    transform: skewX(-20deg);
    transition: left .6s ease;
  }
  .cv-visit-btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 16px 26px -10px rgba(168,114,63,0.75), inset 0 1px 0 rgba(255,255,255,0.3);
    filter: brightness(1.04);
  }
  .cv-visit-btn:hover::before{ left: 120%; }
  .cv-visit-btn:active{ transform: translateY(0); }
  .cv-visit-btn i{ font-size:12px; transition: transform .3s ease; }
  .cv-visit-btn:hover i{ transform: translateX(3px); }

  /* ---------- arrows ---------- */
  .cv-arrow{
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    z-index:5;
    width:52px;
    height:52px;
    border-radius:50%;
    border:1px solid rgba(28,26,23,0.08);
    background: rgba(255,255,255,0.75);
    backdrop-filter: blur(6px);
    box-shadow: 0 12px 26px -12px rgba(28,26,23,0.35);
    color: var(--ts-terracotta-dk);
    font-size:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition: background .25s ease, transform .25s ease, box-shadow .25s ease, color .25s ease;
  }
  .cv-arrow:hover{
    background: var(--ts-terracotta);
    color: var(--ts-white);
    box-shadow: 0 16px 30px -12px rgba(168,114,63,0.55);
  }
  .cv-arrow:active{ transform: translateY(-50%) scale(0.94); }
  .cv-arrow-prev{ left: -6px; }
  .cv-arrow-next{ right: -6px; }
  @media (min-width: 760px){
    .cv-arrow-prev{ left: 10px; }
    .cv-arrow-next{ right: 10px; }
  }

  /* ---------- dots ---------- */
  .cv-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top: 0px;
  }
  .cv-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background: rgba(193,139,87,0.35);
    border:none;
    padding:0;
    cursor:pointer;
    transition: all .35s ease;
  }
  .cv-dot.cv-dot-active{
    width:26px;
    border-radius:6px;
    background: linear-gradient(90deg, var(--ts-terracotta), var(--ts-gold));
  }

  /* ---------- CTA ---------- */
  .cv-cta-wrap{
    display:flex;
    justify-content:center;
    margin-top: 42px;
    position:relative;
    z-index:2;
  }
  .cv-cta-btn{
    
    font-size:14.5px;
    font-weight:700;
    letter-spacing:0.03em;
    color: var(--ts-white);
    background: linear-gradient(155deg, var(--ts-terracotta) 0%, var(--ts-terracotta-dk) 100%);
    border:none;
    padding: 16px 34px;
    border-radius: 999px;
    box-shadow: 0 18px 34px -14px rgba(168,114,63,0.6), inset 0 1px 0 rgba(255,255,255,0.25);
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:10px;
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .cv-cta-btn:hover{
    transform: translateY(-3px);
    box-shadow: 0 22px 38px -14px rgba(168,114,63,0.7), inset 0 1px 0 rgba(255,255,255,0.3);
  }
  .cv-cta-btn i{ font-size:12px; }

  /* ---------- real-data additions ----------
     The vendor carousel now renders live suppliers rather than the theme's placeholder
     array. Visit/CTA became anchors (they were dead <button>s), and plan badges and a
     numeric rating were added to each card. */
  .cv-visit-btn, .cv-cta-btn{ text-decoration:none; }
  .cv-visit-btn:hover, .cv-cta-btn:hover{ text-decoration:none; color: var(--ts-white); }

  .cv-badge-row{
    display:flex; flex-wrap:wrap; gap:6px;
    padding: 14px 20px 0;
  }
  .cv-rating-val{ color: var(--ts-body); font-weight:600; margin-left:2px; }
  .cv-rating-new{
    font-family:'IBM Plex Mono', ui-monospace, monospace;
    font-size:10px; letter-spacing:.12em; text-transform:uppercase;
    color: var(--ts-body); font-weight:500;
  }

  /* ---------- reduced motion ---------- */
  @media (prefers-reduced-motion: reduce){
    .cv-card, .cv-visit-btn, .cv-cta-btn, .cv-arrow, .cv-dot, .cv-badge, .cv-cover img{
      transition: none !important;
      animation: none !important;
    }
  }

  /* ---------- focus states ---------- */
  .cv-arrow:focus-visible,
  .cv-dot:focus-visible,
  .cv-visit-btn:focus-visible,
  .cv-cta-btn:focus-visible{
    outline: 2px solid var(--ts-terracotta-dk);
    outline-offset: 3px;
  }

  /* ---------- responsive ---------- */
  @media (max-width: 900px){
    .cv-stage{ height: 450px; }
  }
  @media (max-width: 560px){
    .cv-root{ padding: 56px 14px 70px; }
    .cv-stage{ height: 430px; }
    .cv-arrow{ width:44px; height:44px; font-size:14px; }
  }

.ms-hero-section{
    position:relative;
    
    /* background:
      radial-gradient(ellipse 900px 500px at 82% -10%, rgba(216,162,74,0.16), transparent 60%),
      radial-gradient(ellipse 700px 600px at -5% 105%, rgba(193,139,87,0.14), transparent 55%),
      var(--ts-cream); */
    color: var(--ts-ink);
    /* overflow:hidden; */
	padding: 22px 20px 28px;
  }

  /* --- grain texture overlay --- */
  .ms-grain-overlay{
    position:absolute; inset:0;
    pointer-events:none;
    opacity:0.35;
    mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    z-index:1;
  }

  .ms-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(70px);
    pointer-events:none;
    z-index:0;
  }
  .ms-glow-1{
    width:420px; height:420px;
    top:-140px; right:6%;
    background:radial-gradient(circle, rgba(216,162,74,0.35), transparent 70%);
  }
  .ms-glow-2{
    width:340px; height:340px;
    bottom:-120px; left:2%;
    background:radial-gradient(circle, rgba(168,114,63,0.22), transparent 70%);
  }

  /* ============ HERO ============ */
  .ms-hero-inner{
    position:relative;
    z-index:2;
    max-width:1280px;
    margin:0 auto;
    display:grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap:64px;
    align-items:center;
  }

  .ms-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--ts-terracotta-dk);
    background: rgba(193,139,87,0.12);
    border:1px solid rgba(193,139,87,0.3);
    padding:7px 16px 7px 14px;
    border-radius:100px;
    margin-bottom:26px;
  }
  .ms-eyebrow i{ font-size:11px; }

  .ms-heading{
    
    font-optical-sizing:auto;
    font-weight:600;
    font-size: clamp(2.4rem, 3.6vw + 1rem, 3.85rem);
    line-height:1.08;
    letter-spacing:-0.015em;
    color:var(--ts-ink);
    max-width:100%;
    margin-bottom:24px;
  }
  .ms-heading .ms-heading-accent{
    font-style:italic;
    font-weight:500;
    color:var(--ts-terracotta-dk);
    background: linear-gradient(180deg, transparent 62%, rgba(216,162,74,0.28) 62%);
  }

  .ms-subheading{
    font-size:17px;
    line-height:1.65;
	padding: 0 !important;
    color:var(--ts-body);
    max-width:46ch;
    margin-bottom: 16px;
  }

  .ms-cta-row{
    display:flex;
    align-items:center;
    gap:22px;
    flex-wrap:wrap;
    margin-bottom: 18px;
  }

  .ms-btn-primary{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:10px;
    
    font-weight:600;
    font-size:15px;
    color:var(--ts-white);
    text-decoration:none;
    background:linear-gradient(155deg, var(--ts-terracotta) 0%, var(--ts-terracotta-dk) 100%);
    padding:16px 30px;
    border-radius:12px;
    box-shadow:
      0 1px 0 rgba(255,255,255,0.25) inset,
      0 14px 30px -10px rgba(168,114,63,0.55),
      0 2px 4px rgba(28,26,23,0.15);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  .ms-btn-primary:hover{
    transform: translateY(-2px);
    box-shadow:
      0 1px 0 rgba(255,255,255,0.25) inset,
      0 20px 36px -10px rgba(168,114,63,0.62),
      0 2px 4px rgba(28,26,23,0.18);
  }
  .ms-btn-primary:active{ transform: translateY(0); }
  .ms-btn-primary i{ font-size:13px; transition: transform 0.25s ease; }
  .ms-btn-primary:hover i{ transform: translateX(3px); }

  .ms-trust-strip{
    display:flex;
    align-items:center;
    gap:22px;
    flex-wrap:wrap;
    font-size:13.5px;
    color:var(--ts-body);
  }
  .ms-trust-strip span{
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .ms-trust-strip i{
    color:var(--ts-terracotta-dk);
    font-size:13px;
  }
  .ms-trust-dot{
    width:3px; height:3px;
    border-radius:50%;
    background:var(--ts-terracotta);
    opacity:0.6;
  }

  /* ============ 3D SIGNATURE VISUAL ============ */
  .ms-visual-stage{
    position:relative;
    height:520px;
    perspective:1400px;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .ms-card-3d{
    position:relative;
    width:430px;
    height:430px;
    border-radius:22px;
    transform-style:preserve-3d;
    transform: rotateY(-14deg) rotateX(6deg);
    transition: transform 0.15s ease-out;
    will-change: transform;
  }

  .ms-card-photo{
    position:absolute;
    inset:0;
    border-radius:22px;
    overflow:hidden;
    box-shadow:
      0 40px 60px -20px rgba(28,26,23,0.45),
      0 10px 20px -8px rgba(28,26,23,0.3),
      0 0 0 1px rgba(255,255,255,0.4) inset;
    transform: translateZ(0px);
  }
  .ms-card-photo img{
    width:100%; 
	height:100% !important;
    object-fit:cover;
    display:block;
    filter: saturate(1.05) contrast(1.03);
  }
  .ms-card-photo::after{
    content:'';
    position:absolute; inset:0;
    background:linear-gradient(200deg, rgba(28,26,23,0) 45%, rgba(28,26,23,0.55) 100%);
  }

  .ms-card-caption{
    position:absolute;
    left:22px; right:22px; bottom:20px;
    z-index:3;
    color:var(--ts-white);
    transform: translateZ(30px);
  }
  .ms-card-caption .ms-cap-eyebrow{
    font-size:11px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    opacity:0.85;
    margin-bottom:4px;
    display:block;
  }
  .ms-card-caption .ms-cap-title{
    
    font-weight:600;
    font-size:20px;
  }

  .ms-chip{
    position:absolute;
    display:flex;
    align-items:center;
    gap:10px;
    background: rgba(255,255,255,0.82);
    backdrop-filter: blur(10px);
    border:1px solid rgba(255,255,255,0.6);
    border-radius:14px;
    padding:12px 16px;
    box-shadow:
      0 18px 30px -12px rgba(28,26,23,0.28),
      0 2px 6px rgba(28,26,23,0.08);
    transform: translateZ(70px);
  }
  .ms-chip-icon{
    width:34px; height:34px;
    border-radius:10px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(155deg, var(--ts-terracotta), var(--ts-terracotta-dk));
    color:var(--ts-white);
    font-size:14px;
    flex-shrink:0;
  }
  .ms-chip-text{ line-height:1.25; }
  .ms-chip-text .ms-chip-label{
    font-size:10.5px;
    color:var(--ts-body);
    text-transform:uppercase;
    letter-spacing:0.06em;
  }
  .ms-chip-text .ms-chip-value{
    font-size:13.5px;
    font-weight:700;
    color:var(--ts-ink);
    
  }

  .ms-chip-a{ top:-26px; left:-38px; }
  .ms-chip-b{ bottom:64px; right:-46px; transform: translateZ(90px); }

  .ms-badge-ring{
    position:absolute;
    top:-18px; right:-18px;
    width:74px; height:74px;
    border-radius:50%;
    background: conic-gradient(from 180deg, var(--ts-gold), var(--ts-terracotta), var(--ts-gold));
    display:flex; align-items:center; justify-content:center;
    box-shadow: 0 14px 26px -8px rgba(216,162,74,0.55);
    transform: translateZ(110px);
  }
  .ms-badge-ring-inner{
    width:60px; height:60px;
    border-radius:50%;
    background:var(--ts-cream);
    display:flex; align-items:center; justify-content:center;
    flex-direction:column;
    color:var(--ts-terracotta-dk);
    text-align:center;
    
  }
  .ms-badge-ring-inner i{ font-size:15px; margin-bottom:2px; }
  .ms-badge-ring-inner span{ font-size:8px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; }

  .ms-floor-shadow{
    position:absolute;
    bottom:-6px; left:50%;
    width:280px; height:36px;
    transform:translateX(-50%);
    background: radial-gradient(ellipse, rgba(28,26,23,0.25), transparent 70%);
    filter: blur(6px);
    z-index:-1;
  }

  @keyframes ms-float{
    0%, 100%{ transform: rotateY(-14deg) rotateX(6deg) translateY(0px); }
    50%{ transform: rotateY(-14deg) rotateX(6deg) translateY(-10px); }
  }
  @media (prefers-reduced-motion: no-preference){
    .ms-card-3d{ animation: ms-float 6s ease-in-out infinite; }
  }

  /* ============ BENEFITS ============ */
  .ms-benefits{
    position:relative;
    z-index:2;
    max-width:1280px;
    margin: 16px auto 0;
  }

  .ms-benefits-head{
    text-align:center;
    max-width:560px;
    margin:0 auto 52px;
  }
  .ms-benefits-eyebrow{
    display:block;
    font-size:12px;
    font-weight:600;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--ts-terracotta-dk);
    margin-bottom:14px;
  }
  .ms-benefits-heading{
    
    font-weight:600;
    font-size: clamp(1.7rem, 1.4vw + 1.2rem, 2.35rem);
    color:var(--ts-ink);
    letter-spacing:-0.01em;
  }

  .ms-benefits-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:22px;
  }

  .ms-benefit-card{
    position:relative;
    background: linear-gradient(180deg, var(--ts-white) 0%, var(--ts-cream-deep) 130%);
    border:1px solid rgba(193,139,87,0.18);
    border-radius:18px;
    padding:30px 26px 28px;
    box-shadow:
      0 1px 0 rgba(255,255,255,0.7) inset,
      0 18px 32px -22px rgba(28,26,23,0.28);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  }
  .ms-benefit-card:hover{
    transform: translateY(-5px);
    border-color: rgba(193,139,87,0.4);
    box-shadow:
      0 1px 0 rgba(255,255,255,0.7) inset,
      0 26px 40px -20px rgba(28,26,23,0.32);
  }

  .ms-benefit-icon{
    width:48px; height:48px;
    border-radius:13px;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(155deg, var(--ts-terracotta) 0%, var(--ts-terracotta-dk) 100%);
    color:var(--ts-white);
    font-size:18px;
    margin-bottom:20px;
    box-shadow: 0 10px 18px -8px rgba(168,114,63,0.55);
  }

  .ms-benefit-title{
    
    font-weight:600;
    font-size:17.5px;
    color:var(--ts-ink);
    margin-bottom:9px;
    letter-spacing:-0.005em;
  }

  .ms-benefit-desc{
    font-size:14.5px;
    line-height:1.6;
    color:var(--ts-body);
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 980px){
    .ms-hero-inner{ grid-template-columns:1fr; gap:56px; }
    .ms-visual-stage{ height:420px; }
    .ms-heading{ max-width:none; }
    .ms-benefits-grid{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width: 620px){
    .ms-hero-section{ padding: 20px 12px 22px; }
    
    .ms-benefits-grid{ grid-template-columns:1fr; }
    .ms-card-3d{ width:270px; height:360px; }
    .ms-chip{ padding:9px 12px; }
    .ms-chip-b{ right:-14px; }
    .ms-chip-a{ left:-14px; }
  }

  .ms-btn-primary:focus-visible,
  .ms-benefit-card:focus-visible{
    outline: 2px solid var(--ts-terracotta-dk);
    outline-offset: 3px;
  }



  .sp-section{
    position: relative;
    /* background:
      radial-gradient(ellipse 900px 520px at 10% -8%, rgba(216,162,74,0.18), transparent 60%),
      radial-gradient(ellipse 750px 520px at 102% 6%, rgba(193,139,87,0.15), transparent 55%),
      radial-gradient(ellipse 600px 400px at 50% 108%, rgba(216,162,74,0.12), transparent 60%),
      var(--ts-cream); */
    padding: 12px 24px 0px;
    overflow: hidden;
    isolation: isolate;
  }

  .sp-section::before{
    content:"";
    position:absolute;
    inset:0;
    background-image: radial-gradient(rgba(28,26,23,0.045) 1px, transparent 1px);
    background-size: 3px 3px;
    opacity:0.5;
    pointer-events:none;
    z-index:0;
  }

  .sp-container{
    position:relative;
    z-index:1;
    max-width: 1280px;
    margin: 0 auto;
  }

  /* ---------- Header ---------- */
  .sp-header{
    max-width: 720px;
    margin: 0 auto 34px;
    text-align:center;
  }

  .sp-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:600;
    font-size:12.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color: var(--ts-terracotta-dk);
    background: var(--ts-white);
    border: 1px solid var(--ts-ghost-tint);
    padding: 7px 16px 7px 13px;
    border-radius: 999px;
    box-shadow: 0 1px 2px rgba(28,26,23,0.04);
  }
  .sp-eyebrow i{ font-size: 12px; color: var(--ts-gold); }

  .sp-heading{
    
    font-weight: 600;
    font-size: clamp(32px, 4.4vw, 52px);
    line-height: 1.12;
    color: var(--ts-ink);
    margin-top: 22px;
    letter-spacing: -0.01em;
  }
  .sp-heading em{
    font-style: italic;
    font-weight: 500;
    color: var(--ts-terracotta-dk);
  }

  .sp-subhead{
    margin-top: 18px;
    font-size: 16.5px;
    line-height: 1.6;
    color: var(--ts-body);
  }

  /* stat strip */
  .sp-stats{
    display:flex;
    align-items:center;
    justify-content:center;
    gap: 28px;
    flex-wrap:wrap;
    
    padding-top: 26px;
    border-top: 1px solid var(--ts-ghost-tint);
  }
  .sp-stat{ text-align:center; }
  .sp-stat-num{
    
    font-weight:600;
    font-size: 24px;
    color: var(--ts-ink);
  }
  .sp-stat-num span{ color: var(--ts-terracotta-dk); }
  .sp-stat-label{
    font-size: 11px;
    font-weight:600;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color: var(--ts-body);
    margin-top: 2px;
  }
  .sp-stat-divider{
    width:1px; height: 30px;
    background: var(--ts-ghost-tint);
  }

  /* ---------- Filter tabs ---------- */
  .sp-filters{
    display:flex;
    align-items:center;
    justify-content:center;
    gap: 10px;
    flex-wrap:wrap;
    margin: 44px 0 40px;
  }

  .sp-filter-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    
    font-size: 13.5px;
    font-weight:600;
    color: var(--ts-terracotta-dk);
    background: var(--ts-white);
    border: 1px solid var(--ts-ghost-tint);
    padding: 10px 18px;
    border-radius: 999px;
    cursor:pointer;
    transition: all .3s ease;
  }
  .sp-filter-btn i{ font-size: 12px; }
  .sp-filter-btn:hover{
    border-color: var(--ts-terracotta);
    transform: translateY(-1px);
  }
  .sp-filter-btn.sp-active{
    background: var(--ts-terracotta-dk);
    border-color: var(--ts-terracotta-dk);
    color: var(--ts-white);
    box-shadow: 0 8px 18px -8px rgba(107,74,34,0.45);
  }

  /* ---------- Grid ---------- */
  .sp-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
  }
  @media (max-width: 980px){ .sp-grid{ grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 640px){ .sp-grid{ grid-template-columns: 1fr; } }

  @keyframes sp-rise{
    from{ opacity:0; transform: translateY(18px); }
    to{ opacity:1; transform: translateY(0); }
  }
  .sp-card{ animation: sp-rise .6s cubic-bezier(.2,.8,.2,1) both; }
  .sp-grid .sp-card:nth-child(1){ animation-delay: .02s; }
  .sp-grid .sp-card:nth-child(2){ animation-delay: .08s; }
  .sp-grid .sp-card:nth-child(3){ animation-delay: .14s; }
  .sp-grid .sp-card:nth-child(4){ animation-delay: .20s; }
  .sp-grid .sp-card:nth-child(5){ animation-delay: .26s; }
  .sp-grid .sp-card:nth-child(6){ animation-delay: .32s; }
  .sp-grid .sp-card:nth-child(7){ animation-delay: .38s; }
  .sp-grid .sp-card:nth-child(8){ animation-delay: .44s; }

  .sp-hidden{ display:none !important; }

  /* ---------- Card ---------- */
  .sp-card{
    position:relative;
    background: var(--ts-white);
    border: 1px solid var(--ts-ghost-tint);
    border-radius: 20px;
    overflow: hidden;
    display:flex;
    flex-direction: column;
    transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s cubic-bezier(.2,.8,.2,1), border-color .45s ease;
    box-shadow: 0 1px 2px rgba(28,26,23,0.04);
  }
  .sp-card:hover{
    transform: translateY(-7px);
    box-shadow: 0 28px 46px -18px rgba(107,74,34,0.32), 0 6px 14px -6px rgba(28,26,23,0.08);
    border-color: rgba(193,139,87,0.45);
  }

  .sp-media{
    position: relative;
    height: 208px;
    overflow:hidden;
    background: var(--ts-cream-deep);
  }
  .sp-media img{
    width:100%; height:100% !important;
    object-fit:cover; display:block;
    transition: transform .6s cubic-bezier(.2,.8,.2,1);
    filter: saturate(1.06) contrast(1.02);
  }
  .sp-card:hover .sp-media img{ transform: scale(1.07); }
  .sp-media::after{
    content:"";
    position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(28,26,23,0) 52%, rgba(28,26,23,0.30) 100%);
  }

  .sp-stamp{
    position:absolute; top:14px; right:14px; z-index:2;
    width: 60px; height: 60px; border-radius: 50%;
    background: var(--ts-white);
    border: 1.5px dashed var(--ts-terracotta-dk);
    display:flex; align-items:center; justify-content:center; text-align:center;
    transform: rotate(-9deg);
    transition: transform .45s cubic-bezier(.2,.8,.2,1);
    box-shadow: 0 4px 10px rgba(28,26,23,0.16);
  }
  .sp-card:hover .sp-stamp{ transform: rotate(0deg) scale(1.05); }
  .sp-stamp-inner{
    width: 48px; height: 48px; border-radius:50%;
    border: 1px solid var(--ts-terracotta);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  }
  .sp-stamp-inner i{ font-size: 10.5px; color: var(--ts-terracotta-dk); }
  .sp-stamp-inner span{
    font-weight:700; font-size: 6.5px; letter-spacing: 0.05em; text-transform: uppercase;
    color: var(--ts-terracotta-dk); line-height:1.15; max-width: 42px;
  }

  .sp-cat-chip{
    position:absolute; top:14px; left:14px; z-index:2;
    display:inline-flex; align-items:center; gap:5px;
    font-size: 10.5px; font-weight:700; letter-spacing:0.05em; text-transform:uppercase;
    color: var(--ts-terracotta-dk);
    background: rgba(241,234,224,0.94);
    padding: 5px 10px 5px 8px;
    border-radius: 999px;
  }
  .sp-cat-chip i{ font-size: 9.5px; color: var(--ts-gold); }

  .sp-origin-tag{
    position:absolute; left:14px; bottom:12px; z-index:2;
    display:flex; align-items:center; gap:6px;
    font-size: 11.5px; font-weight:600; letter-spacing:0.03em;
    color: var(--ts-white);
  }
  .sp-origin-tag i{ font-size:11px; color: var(--ts-gold); }

  /* ---------- Card body ---------- */
  .sp-body{
    padding: 20px 22px 22px;
    display:flex; flex-direction:column; flex:1;
  }
  .sp-title{
    
    font-weight:600; font-size: 19.5px;
    color: var(--ts-ink); letter-spacing: -0.01em;
  }
  .sp-desc{
    margin-top: 0px; 
	  font-size: 13.3px; 
	  line-height:1.55; 
	  color: var(--ts-body);
	  padding: 0px !important;
  }
  .sp-divider{
    height:1px;
    background: repeating-linear-gradient(90deg, var(--ts-ghost-tint) 0 6px, transparent 6px 11px);
    margin: 15px 0;
  }
  .sp-meta{
    display:grid; grid-template-columns: 1fr 1fr;
    gap: 10px 12px; margin-bottom: 18px;
  }
  .sp-meta-item{ display:flex; flex-direction:column; gap:2px; }
  .sp-meta-label{
    font-size: 9.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
    color: var(--ts-terracotta-dk);
  }
  .sp-meta-value{ font-size: 13.3px; font-weight:600; color: var(--ts-ink); }
  .sp-meta-value small{ font-weight:500; color: var(--ts-body); font-size: 11.3px; }

  .sp-actions{ margin-top:auto; display:flex; gap:10px; }
  .sp-btn{
    flex:1; display:inline-flex; align-items:center; justify-content:center; gap:7px;
    font-size: 13px; font-weight:600; padding: 11px 12px; border-radius: 10px;
    cursor:pointer; border: 1px solid transparent; transition: all .25s ease; white-space:nowrap;
  }
  .sp-btn i{ font-size: 12.5px; }
  .sp-btn-quote{ background: var(--ts-terracotta-dk); color: var(--ts-white); box-shadow: 0 1px 2px rgba(28,26,23,0.06); }
  .sp-btn-quote:hover{ background: var(--ts-ink); transform: translateY(-2px); box-shadow: 0 10px 20px -8px rgba(28,26,23,0.35); }
  .sp-btn-sample{ background: var(--ts-white); color: var(--ts-terracotta-dk); border-color: var(--ts-terracotta); }
  .sp-btn-sample:hover{ background: var(--ts-cream-deep); border-color: var(--ts-terracotta-dk); transform: translateY(-2px); }

  /* ---------- real-data additions ----------
     Supplier products are live now. The action buttons became anchors, cards gained a
     "sold by" line with plan badges, and the grid has a teaching empty state. */
  .sp-btn{ text-decoration:none; }
  .sp-btn-quote:hover{ color: var(--ts-white); text-decoration:none; }
  .sp-btn-sample:hover{ color: var(--ts-terracotta-dk); text-decoration:none; }

  .sp-title a{ color:inherit; text-decoration:none; }
  .sp-title a:hover{ color: var(--ts-terracotta-dk); }

  .sp-seller{
    display:flex; align-items:center; flex-wrap:wrap; gap:8px;
    font-size:12.5px; color: var(--ts-body); margin: 0 0 12px;
  }
  .sp-seller a{ color: var(--ts-terracotta-dk); text-decoration:none; font-weight:600; }
  .sp-seller a:hover{ text-decoration:underline; }

  .sp-empty{
    grid-column: 1 / -1;
    text-align:center; padding: 60px 30px;
    background: var(--ts-white); border: 1px dashed var(--ts-cream-deep); border-radius: 14px;
  }
  .sp-empty > i{ font-size: 34px; color: var(--ts-terracotta); opacity:.75; }
  .sp-empty h3{
    font-family:'Fraunces', Georgia, serif; font-weight:400;
    font-size: 24px; color: var(--ts-ink); margin: 18px 0 10px;
  }
  .sp-empty p{
    font-size: 14px; line-height:1.75; color: var(--ts-body);
    max-width: 56ch; margin: 0 auto;
  }
  .sp-empty-actions{
    display:flex; gap:12px; justify-content:center; flex-wrap:wrap;
    margin-top: 26px;
  }
  .sp-empty-actions .sp-btn{ flex: 0 1 auto; padding: 12px 22px; }

  /* ---------- Featured card ---------- */
  .sp-card--featured{
    grid-column: span 2;
    flex-direction: row;
  }
  .sp-card--featured .sp-media{
    width: 46%; height: auto; flex-shrink:0;
  }
  .sp-card--featured .sp-body{ padding: 26px 30px 26px 28px; }
  .sp-card--featured .sp-title{ font-size: 25px; }
  .sp-card--featured .sp-desc{ font-size: 14px; max-width: 460px; }
  .sp-card--featured .sp-meta{ grid-template-columns: repeat(4, 1fr); }
  .sp-card--featured .sp-actions{ max-width: 420px; }
  .sp-pick-ribbon{
    position:absolute; top:14px; right:14px; z-index:2;
    display:inline-flex; align-items:center; gap:6px;
    background: var(--ts-gold);
    color: var(--ts-ink);
    font-size: 11px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase;
    padding: 7px 12px; border-radius: 999px;
    box-shadow: 0 6px 14px -6px rgba(28,26,23,0.35);
  }

  @media (max-width: 860px){
    .sp-card--featured{ grid-column: span 1; flex-direction:column; }
    .sp-card--featured .sp-media{ width:100%; height:208px; }
    .sp-card--featured .sp-meta{ grid-template-columns: 1fr 1fr; }
  }

  /* ---------- Footer strip ---------- */
  .sp-footer{
    margin-top: 54px;
    display:flex; align-items:center; justify-content:center; gap: 10px; flex-wrap:wrap; text-align:center;
  }
  .sp-footer p{ font-size: 14px; color: var(--ts-body); }
  .sp-footer a{
    color: var(--ts-terracotta-dk); font-weight:700; text-decoration:none;
    border-bottom: 1.5px solid var(--ts-terracotta); padding-bottom: 1px;
  }
  .sp-footer a:hover{ color: var(--ts-ink); border-color: var(--ts-ink); }

  @media (max-width: 460px){
    .sp-actions{ flex-direction:column; }
    .sp-stats{ gap: 18px; }
  }

  :root{
    --rp-cream:        #F1EAE0;
    --rp-cream-deep:   #E7DECF;
    --rp-ghost-tint:   #E2D8C8;
    --rp-terracotta:   #C18B57;
    --rp-terracotta-dk:#A8723F;
    --rp-ink:          #1C1A17;
    --rp-body:         #5C564D;
    --rp-white:        #FFFFFF;
    --rp-gold:         #D8A24A;
  }

  .rp-section{
    background: var(--rp-cream);
    padding: 36px 24px 106px;
    
    color: var(--rp-body);
  }

  .rp-wrap{ max-width: 1080px; margin: 0 auto; }

  /* ---------- header ---------- */
  .rp-head{ max-width: 620px; margin: 0 auto 64px; text-align: center; }
  .rp-eyebrow{
    
    font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--rp-terracotta-dk); margin-bottom: 22px; font-weight: 500;
  }
  .rp-head h2{
     font-weight: 500;
    font-size: clamp(34px, 4.4vw, 52px); line-height: 1.12;
    color: var(--rp-ink); margin: 0 0 20px; letter-spacing: -0.01em;
  }
  .rp-head h2 em{ font-style: italic; font-weight: 400; color: var(--rp-terracotta-dk); }
  .rp-head p{ font-size: 16.5px; line-height: 1.75; margin: 0 auto; max-width: 460px; }

  /* ---------- tabs ---------- */
  .rp-tabs{
    display:flex; align-items:center; justify-content:center;
    gap: 28px; margin-bottom: 30px; flex-wrap: wrap;
  }
  .rp-tab{
     font-size: 14px; font-weight: 500;
    color: var(--rp-body); background: none; border: none; cursor: pointer;
    padding: 6px 2px; position: relative; transition: color 0.25s ease;
  }
  .rp-tab::after{
    content:''; position:absolute; left:0; right:0; bottom:-2px; height: 1px;
    background: var(--rp-terracotta-dk); transform: scaleX(0); transform-origin: center;
    transition: transform 0.3s ease;
  }
  .rp-tab:hover{ color: var(--rp-ink); }
  .rp-tab.rp-tab-active{ color: var(--rp-ink); }
  .rp-tab.rp-tab-active::after{ transform: scaleX(1); }

  /* ---------- rows ---------- */
  .rp-rows{ display: flex; flex-direction: column; }

  .rp-row{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
    padding: 30px 0;
    border-top: 1px solid rgba(28,26,23,0.10);
  }
  .rp-rows .rp-row:first-child{ border-top: none; padding-top: 0; }
  .rp-row.rp-hide{ display: none; }
  .pg-card.rp-hide{ display: none; }
  .rp-row-reverse .rp-row-media{ order: 2; }
  .rp-row-reverse .rp-row-content{ order: 1; }

  .rp-row-media{
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 5 / 4;
    border-radius: 22px;
  }
  .rp-row-media img{
    width: 100%; height: 100% !important; object-fit: cover;
    transition: transform 1s cubic-bezier(0.16,1,0.3,1);
  }
  .rp-row:hover .rp-row-media img{ transform: scale(1.045); }

  /* signature mark — a quiet provenance stamp resting on the photo corner */
  .rp-mark{
    position: absolute; left: 22px; bottom: 22px;
    width: 66px; height: 66px; border-radius: 50%;
    background: rgba(241,234,224,0.94);
    border: 1px solid rgba(216,162,74,0.55);
    display: flex; flex-direction: column; align-items:center; justify-content:center;
  }
  .rp-mark-val{
     font-style: italic; font-weight: 500;
    font-size: 17px; color: var(--rp-ink); line-height: 1;
  }
  .rp-mark-unit{
     font-size: 8px; letter-spacing: 0.06em;
    text-transform: uppercase; color: var(--rp-terracotta-dk); margin-top: 3px;
  }

  .rp-row-content{ max-width: 440px; }
  .rp-row-index{
     font-size: 12px; letter-spacing: 0.1em;
    text-transform: uppercase; color: var(--rp-terracotta-dk); margin-bottom: 16px;
  }
  .rp-row-content h3{
     font-weight: 500; font-size: 29px;
    color: var(--rp-ink); margin: 0 0 6px; letter-spacing: -0.005em;
  }
  .rp-row-origin{
     font-style: italic; font-weight: 400;
	  padding: 0px !important;
    font-size: 15px; color: var(--rp-terracotta-dk); margin: 0 0 18px;
  }
  .rp-row-desc{ font-size: 15px; line-height: 1.75; padding: 0px !important; margin: 0 0 16px; color: var(--rp-body); }
  .rp-row-notes{ font-size: 14px; font-style: italic; padding: 0px !important; color: var(--rp-body); margin: 0 0 26px; }
  .rp-row-notes b{ font-style: normal; font-weight: 500; color: var(--rp-ink); }

  .rp-row-divider{ height: 1px; background: rgba(28,26,23,0.10); margin-bottom: 20px; }

  .rp-row-specs{
    display: flex; flex-wrap: wrap; align-items: center; gap: 0;
     font-size: 12.5px; color: var(--rp-ink);
    margin-bottom: 22px;
  }
  .rp-row-specs span{ display:flex; align-items:center; }
  .rp-row-specs span + span::before{
    content:'·'; color: var(--rp-terracotta); margin: 0 10px; 
  }
  .rp-row-specs .rp-spec-key{ color: var(--rp-body); margin-right: 5px; }

  .rp-row-status{
    display:inline-flex; align-items:center; gap: 7px;
     font-size: 11px; letter-spacing: 0.06em;
    text-transform: uppercase; margin-bottom: 24px;
  }
  .rp-row-status i{ font-size: 6px; }
  .rp-status-available{ color: var(--rp-terracotta-dk); }
  .rp-status-limited{ color: #A8792A; }
  .rp-status-soldout{ color: var(--rp-body); }

  .rp-row-actions{ display: flex; gap: 12px; flex-wrap: wrap; }
  .rp-btn{
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
     font-size: 13px; font-weight: 500;
    padding: 12px 22px; border-radius: 100px; cursor: pointer;
    border: 1px solid transparent; transition: all 0.25s ease;
  }
  .rp-btn i{ font-size: 11px; }
  .rp-btn-primary{ background: var(--rp-ink); color: var(--rp-cream); }
  .rp-btn-primary:hover{ background: var(--rp-terracotta-dk); }
  .rp-btn-secondary{ background: transparent; border-color: rgba(28,26,23,0.28); color: var(--rp-ink); }
  .rp-btn-secondary:hover{ border-color: var(--rp-ink); background: rgba(28,26,23,0.04); }
  .rp-row.rp-soldout .rp-btn-primary{ background: rgba(28,26,23,0.35); pointer-events: none; }

  /* ---------- footer ---------- */
  .rp-footer{
    display: flex; align-items: center; justify-content: center;
    gap: 10px; margin-top: 16px; padding-top: 30px;
    border-top: 1px solid rgba(28,26,23,0.10);
  }
  .rp-footer-btn{
    display: inline-flex; align-items: center; gap: 10px;
     font-style: italic; font-weight: 500; font-size: 17px;
    color: var(--rp-ink); background: none; border: none; cursor: pointer; padding: 6px 2px;
    border-bottom: 1px solid var(--rp-ink);
  }
  .rp-footer-btn i{ font-size: 13px; transition: transform 0.25s ease; }
  .rp-footer-btn:hover i{ transform: translateX(4px); }

  /* ---------- marketplace product grid (.pg-*) ----------
     Replaces the alternating full-width .rp-row layout for the ADD Coffee products
     section. Rows read as an editorial article — one product per screen, nothing
     comparable side by side. A card grid is the conventional marketplace layout.
     The .rp-row rules above are left intact and still work. */
  .pg-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(268px, 1fr));
    gap: 26px;
    padding-top: 8px;
  }
  .pg-card{
    display: flex; flex-direction: column;
    background: var(--ts-white, #fff);
    border: 1px solid rgba(28,26,23,0.10);
    border-radius: 14px; overflow: hidden;
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  }
  .pg-card:hover{
    transform: translateY(-4px);
    border-color: rgba(193,139,87,0.45);
    box-shadow: 0 20px 44px -22px rgba(28,26,23,0.42);
  }

  .pg-media{
    position: relative; display: block;
    aspect-ratio: 4 / 3; overflow: hidden;
    background: var(--ts-cream-deep, #E7DECF);
  }
  .pg-media img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
  .pg-card:hover .pg-media img{ transform: scale(1.05); }

  .pg-source{
    position: absolute; top: 12px; left: 12px;
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 11px; border-radius: 999px;
    background: rgba(28,26,23,0.86); color: var(--ts-gold, #D8A24A);
    font-family: 'IBM Plex Mono', ui-monospace, monospace;
    font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase;
  }
  .pg-source i{ font-size: 9px; }

  .pg-stock{
    position: absolute; top: 12px; right: 12px;
    padding: 5px 10px; border-radius: 999px;
    font-family: 'IBM Plex Mono', ui-monospace, monospace;
    font-size: 9px; letter-spacing: .1em; text-transform: uppercase;
  }
  .pg-stock--low{ background: #FDF3E3; color: #8A6320; }
  .pg-stock--out{ background: #F7E6E2; color: #A8442F; }

  .pg-body{ display: flex; flex-direction: column; flex: 1; padding: 18px 19px 20px; }
  .pg-cat{
    font-family: 'IBM Plex Mono', ui-monospace, monospace;
    font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase;
    color: var(--ts-terracotta-dk, #A8723F); margin-bottom: 9px;
  }
  .pg-name{
    font-family: 'Fraunces', Georgia, serif; font-weight: 500;
    font-size: 18.5px; line-height: 1.3; margin: 0 0 7px;
  }
  .pg-name a{ color: var(--ts-ink, #1C1A17); text-decoration: none; }
  .pg-name a:hover{ color: var(--ts-terracotta-dk, #A8723F); }

  .pg-origin{
    display: flex; align-items: center; gap: 6px; padding: 0px !important;
    font-size: 12px; color: var(--ts-body, #5C564D); margin: 0 0 9px;
  }
  .pg-origin i{ color: var(--ts-terracotta, #C18B57); font-size: 11px; }

  .pg-desc{ font-size: 13px; padding: 0px !important; line-height: 1.65; color: var(--ts-body, #5C564D); margin: 0 0 12px; flex: 1; }

  .pg-rating{ display: flex; align-items: center; gap: 4px; margin-bottom: 12px; }
  .pg-rating i{ font-size: 11px; color: var(--ts-gold, #D8A24A); }
  .pg-rating span{ font-size: 11.5px; color: var(--ts-body, #5C564D); margin-left: 4px; }

  .pg-foot{ padding-top: 0px; border-top: 1px solid rgba(28,26,23,0.09); margin-bottom: 14px; }
  .pg-price{
    font-family: 'Fraunces', Georgia, serif; font-size: 21px;
    color: var(--ts-ink, #1C1A17); display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
  }
  .pg-price small{ font-size: 11.5px; color: var(--ts-body, #5C564D); font-family: inherit; }
  .pg-moq{
    margin-left: auto;
    font-family: 'IBM Plex Mono', ui-monospace, monospace;
    font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase;
    color: var(--ts-body, #5C564D);
  }

  .pg-actions{ display: flex; gap: 9px; margin-top: auto; }
  .pg-btn{
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    padding: 11px 14px; border-radius: 10px; border: 1px solid transparent;
    font-size: 12.8px; font-weight: 600; text-decoration: none;
    transition: background .22s ease, color .22s ease, border-color .22s ease, transform .22s ease;
  }
  .pg-btn:hover{ text-decoration: none; transform: translateY(-2px); }
  .pg-btn--primary{ flex: 1; background: var(--ts-terracotta-dk, #A8723F); color: var(--ts-white, #fff); }
  .pg-btn--primary:hover{ background: var(--ts-ink, #1C1A17); color: var(--ts-white, #fff); }
  .pg-btn--ghost{
    flex: 0 0 auto; width: 44px;
    background: var(--ts-white, #fff); color: var(--ts-terracotta-dk, #A8723F);
    border-color: var(--ts-terracotta, #C18B57);
  }
  .pg-btn--ghost:hover{ background: var(--ts-cream-deep, #E7DECF); color: var(--ts-terracotta-dk, #A8723F); }

  @media (max-width: 560px){
    .pg-grid{ grid-template-columns: 1fr; gap: 20px; }
  }
  @media (prefers-reduced-motion: reduce){
    .pg-card, .pg-media img, .pg-btn{ transition: none !important; }
    .pg-card:hover{ transform: none; }
    .pg-card:hover .pg-media img{ transform: none; }
  }

  /* ---------- real-data additions ----------
     ADD Coffee lots are live now; the row actions and the footer became anchors. */
  .rp-btn, .rp-footer-btn{ text-decoration:none; }
  .rp-btn:hover, .rp-footer-btn:hover{ text-decoration:none; }
  .rp-footer-btn:hover{ color: var(--rp-ink); }
  .rp-row-content h3 a{ color:inherit; text-decoration:none; }
  .rp-row-content h3 a:hover{ color: var(--ts-terracotta-dk, #A8723F); }
  .rp-status-out i{ color:#A8442F; }

  @media (max-width: 860px){
    .rp-row{ grid-template-columns: 1fr; gap: 32px; padding: 56px 0; }
    .rp-row-reverse .rp-row-media, .rp-row-reverse .rp-row-content{ order: unset; }
    .rp-row-content{ max-width: 100%; }
    .rp-tabs{ gap: 18px; }
  }
  @media (max-width: 480px){
    .rp-section{ padding: 32px 18px 80px; }
  }

  @media (prefers-reduced-motion: reduce){
    .rp-row-media img, .rp-btn, .rp-footer-btn i, .rp-tab::after{ transition: none !important; }
    .rp-row:hover .rp-row-media img{ transform: none; }
  }