/* Skip-to-content link for keyboard navigation (WCAG 2.4.1) */
.tw-skip-link {
  position: absolute;
  top: -100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 200000;
  padding: 12px 24px;
  background: var(--tw-gold, #D4AF37);
  color: #1a1a2e;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  border-radius: 0 0 6px 6px;
  transition: top 0.2s ease;
}
.tw-skip-link:focus {
  top: 0;
  outline: 2px solid #1a1a2e;
  outline-offset: 2px;
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif /*{body-font-family}*/;
  font-size: 14px /*{body-font-size}*/;
  color: #333333 /*{body-font-colour}*/;
  background-image:none /*{body-background-image}*/;
  background-color: #ffffff /*{body-background-colour}*/;
}

a {
  color: #428bca /*{link-text-colour}*/;
}
a:hover,
a:focus {
  color: #2a6496 /*{link-text-hover-colour}*/;
}
/* Visible focus ring for keyboard navigation (WCAG 2.4.7) */
input:focus-visible,
a:focus-visible,
button:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--tw-gold, #D4AF37);
	outline-offset: 2px;
}
/* Remove default outline only for mouse/touch clicks */
input:focus:not(:focus-visible),
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
	outline: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif /*{headers-font-family}*/;
  color: #333 /*{headers-colour}*/;
}

.carousel-caption h3,.carousel-caption .h3,.carousel-caption p {
    color: white /*{carousel-text-colour}*/;
}

/* -- Modern Banner Carousel: Crossfade + Ken Burns -- */
#myCarouselBanner {
  overflow: hidden;
  position: relative;
}
#myCarouselBanner.carousel-fade .carousel-inner > .item {
  opacity: 0;
  -webkit-transition: opacity 1.2s ease-in-out;
  transition: opacity 1.2s ease-in-out;
  left: 0 !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}
#myCarouselBanner.carousel-fade .carousel-inner > .active {
  opacity: 1;
}
#myCarouselBanner.carousel-fade .carousel-inner > .active.left,
#myCarouselBanner.carousel-fade .carousel-inner > .active.right {
  opacity: 0;
  z-index: 1;
}
#myCarouselBanner.carousel-fade .carousel-inner > .next.left,
#myCarouselBanner.carousel-fade .carousel-inner > .prev.right {
  opacity: 1;
  z-index: 2;
}
/* Ensure first slide is visible immediately */
#myCarouselBanner .carousel-inner > .item:first-child {
  opacity: 1;
}
#myCarouselBanner.carousel-fade .carousel-inner > .item:first-child:not(.active) {
  opacity: 0;
}
/* Subtle brightness pulse on active slide */
#myCarouselBanner .carousel-inner > .item img {
  display: block;
  width: 100%;
  height: auto;
  transition: filter 0.6s ease;
  filter: brightness(0.85);
}
#myCarouselBanner .carousel-inner > .active img {
  -webkit-animation: tw-brightpulse 6s ease-in-out forwards;
  animation: tw-brightpulse 6s ease-in-out forwards;
}
@keyframes tw-brightpulse {
  0%   { filter: brightness(0.85); }
  50%  { filter: brightness(1); }
  100% { filter: brightness(0.95); }
}
/* Modern carousel controls — always visible with arrows contained */
#myCarouselBanner .carousel-control {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 60px;
  background: none !important;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 10;
  top: 0;
  bottom: 0;
}
#myCarouselBanner .carousel-control.left {
  left: 0;
  right: auto;
}
#myCarouselBanner .carousel-control.right {
  right: 0;
  left: auto;
}
#myCarouselBanner:hover .carousel-control {
  opacity: 1;
}
/* Fix span: override app.css absolute positioning that pushes arrows outside */
#myCarouselBanner .carousel-control span {
  position: static !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  font-size: 20px;
  color: #fff;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background 0.3s ease, transform 0.3s ease;
}
#myCarouselBanner .carousel-control span:hover {
  background: rgba(212, 175, 55, 0.85);
  transform: scale(1.1);
}
/* Modern indicator dots */
#myCarouselBanner .carousel-indicators {
  bottom: 20px;
}
#myCarouselBanner .carousel-indicators li {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  transition: all 0.3s ease;
}
#myCarouselBanner .carousel-indicators li.active {
  width: 32px;
  height: 10px;
  border-radius: 5px;
  border-color: var(--tw-gold);
  background: var(--tw-gold);
}
/* Ensure overflow hidden for carousel inner */
#myCarouselBanner .carousel-inner {
  overflow: hidden;
}
/* Mobile: arrows always visible (no hover on touch), proper sizing */
@media (max-width: 767px) {
  #myCarouselBanner .carousel-control {
    width: 44px;
    opacity: 1;
  }
  #myCarouselBanner .carousel-control span {
    width: 36px;
    height: 36px;
    font-size: 16px;
  }
  #myCarouselBanner .carousel-indicators {
    bottom: 12px;
  }
}
/* Reduced motion: disable animations for users who prefer it (WCAG 2.3.3) */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  #myCarouselBanner.carousel-fade .carousel-inner > .item {
    transition: none !important;
  }
  #myCarouselBanner .carousel-inner > .item img {
    animation: none !important;
    filter: none !important;
  }
}

h1,
.h1 {
  font-size: 36px /*{header-1-font-size}*/;
}
h2,
.h2 {
  font-size: 30px /*{header-2-font-size}*/;
}
h3,
.h3 {
  font-size: 24px /*{header-3-font-size}*/;
}
h4,
.h4 {
  font-size: 18px /*{header-4-font-size}*/;
}
h5,
.h5 {
  font-size: 14px /*{header-5-font-size}*/;
}

.btn-default {
  color: #333333 /*{btn-default-text-colour}*/;
  background-color: #ffffff /*{btn-default-bg-colour}*/;
  border-color: #cccccc /*{btn-default-border-colour}*/;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open .dropdown-toggle.btn-default {
  color: #333333 /*{btn-default-text-colour-hover}*/;
  background-color: #ebebeb /*{btn-default-bg-colour-hover}*/;
  border-color: #adadad /*{btn-default-border-colour-hover}*/;
}


.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #ffffff /*{btn-default-disabled-bg-colour}*/;
  border-color: #cccccc /*{btn-default-disabled-border-colour}*/;
}


.btn-primary {
  color: #FFFFFF /*{btn-primary-text-colour}*/;
  background-color: #428bca /*{btn-primary-bg-colour}*/;
  border-color: #357ebd /*{btn-primary-border-colour}*/;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
  color: #ffffff /*{btn-primary-text-colour-hover}*/;
  background-color: #3276b1 /*{btn-primary-bg-colour-hover}*/;
  border-color: #285e8e /*{btn-primary-border-colour-hover}*/;
}

.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #428bca /*{btn-primary-disabled-bg-colour}*/;
  border-color: #357ebd /*{btn-primary-disabled-border-colour}*/;
}

.btn-warning {
  color: #ffffff  /*{btn-warning-text-colour}*/;
  background-color: #f0ad4e /*{btn-warning-bg-colour}*/;
  border-color: #eea236 /*{btn-warning-border-colour}*/;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.open .dropdown-toggle.btn-warning {
  color: #ffffff /*{btn-warning-text-colour-hover}*/;
  background-color: #ed9c28 /*{btn-warning-bg-colour-hover}*/;
  border-color: #d58512 /*{btn-warning-border-colour-hover}*/;
}

.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
  background-color: #428bca /*{btn-warning-disabled-bg-colour}*/;
  border-color: #357ebd /*{btn-warning-disabled-border-colour}*/;
}

.btn-danger {
  color: #ffffff /*{btn-danger-text-colour}*/;
  background-color: #d9534f /*{btn-danger-bg-colour}*/;
  border-color: #d43f3a /*{btn-danger-border-colour}*/;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.open .dropdown-toggle.btn-danger {
  color: #ffffff /*{btn-danger-text-colour-hover}*/;
  background-color: #d2322d /*{btn-danger-bg-colour-hover}*/;
  border-color: #ac2925 /*{btn-danger-border-colour-hover}*/;
}

.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
  background-color: #d9534f /*{btn-danger-disabled-bg-colour}*/;
  border-color: #d43f3a /*{btn-danger-disabled-border-colour}*/;
}

.btn-success {
  color: #ffffff /*{btn-success-text-colour}*/;
  background-color: #5cb85c /*{btn-success-bg-colour}*/;
  border-color: #4cae4c /*{btn-success-border-colour}*/;
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.open .dropdown-toggle.btn-success {
  color: #ffffff /*{btn-success-text-colour-hover}*/;
  background-color: #47a447 /*{btn-success-bg-colour-hover}*/;
  border-color: #398439 /*{btn-success-border-colour-hover}*/;
}

.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
  background-color: #5cb85c /*{btn-success-disabled-bg-colour}*/;
  border-color: #4cae4c /*{btn-success-disabled-border-colour}*/;
}

.btn-info {
  color: #ffffff /*{btn-info-text-colour}*/;
  background-color: #5bc0de /*{btn-info-bg-colour}*/;
  border-color: #46b8da /*{btn-info-border-colour}*/;
}
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.open .dropdown-toggle.btn-info {
  color: #ffffff /*{btn-info-text-colour-hover}*/;
  background-color: #39b3d7 /*{btn-info-bg-colour-hover}*/;
  border-color: #269abc /*{btn-info-border-colour-hover}*/;
}

.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
  background-color: #5bc0de /*{btn-info-disabled-bg-colour}*/;
  border-color: #46b8da /*{btn-info-disabled-border-colour}*/;
}

.label-default {
  background-color: #999999 /*{label-default-bg}*/;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #808080 /*{label-default-bg-hover}*/;
}
.label-primary {
  background-color: #428bca /*{label-primary-bg}*/;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #3071a9 /*{label-primary-bg-hover}*/;
}
.label-success {
  background-color: #5cb85c /*{label-success-bg}*/;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #449d44 /*{label-success-bg-hover}*/;
}
.label-info {
  background-color: #5bc0de /*{label-info-bg}*/;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #31b0d5 /*{label-info-bg-hover}*/;
}
.label-warning {
  background-color: #f0ad4e /*{label-warning-bg}*/;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #ec971f /*{label-warning-bg-hover}*/;
}
.label-danger {
  background-color: #d9534f /*{label-danger-bg}*/;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #c9302c /*{label-danger-bg-hover}*/;
}

.well {
  background-color: #f5f5f5 /*{well-bg}*/;
  border-color:#e3e3e3 /*{well-border-colour}*/;
}

.panel-default {
  border-color: #dddddd /*{panel-border-colour}*/;
}
.panel-default > .panel-heading {
  color: #333333 /*{panel-header-text-colour}*/;
  background-color: #f5f5f5 /*{panel-header-bg-colour}*/;
  border-color: #dddddd /*{panel-header-border-colour}*/;
}

.panel-title {
	color: #333333 /*{panel-header-text-colour}*/;
}
.panel-default > .panel-heading + .panel-collapse .panel-body {
  border-top-color: #dddddd /*{panel-border-colour}*/;
}

.save {
	color: #D9534F /*{sale-colour}*/;
}
.productsave {
	color: #D9534F /*{sale-colour}*/;
}

.navbar-default {
  background-color: #f8f8f8 /*{navbar-default-bg-colour}*/;
  border-color: #e7e7e7 /*{navbar-default-border-colour}*/;
}

.navbar-default .navbar-brand {
  color: #777777 /*{navbar-default-text-colour}*/;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #5e5e5e /*{navbar-default-text-colour-hover}*/;
}
.navbar-default .navbar-text {
  color: #777777 /*{navbar-default-text-colour}*/;
}
.navbar-default .navbar-nav > li > a {
  color: #777777 /*{navbar-default-link-colour}*/;
}

.navigation-list li a {
  color: #777777 /*{navbar-default-link-colour}*/;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #333333 /*{navbar-default-link-colour-hover}*/;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #292929555 /*{navbar-default-link-colour-active}*/;
  background-color: #e7e7e7 /*{navbar-default-link-bg-active}*/;
}

.navbar-default .navbar-nav >.dropdown > a .caret {
	border-top-color: #333 /*{navbar-default-link-colour}*/;
	border-bottom-color: #333 /*{navbar-default-link-colour}*/;
}

.nav .caret {
border-top-color: #428bca /*{navbar-default-link-colour}*/;
border-bottom-color: #428bca /*{navbar-default-link-colour}*/;
}

.nav .open > a .caret, .nav .open > a:hover .caret, .nav .open > a:focus .caret {
border-top-color: #333 /*{navbar-default-link-colour}*/;
}

.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #333333  /*{navbar-default-link-colour-hover}*/;
  }

.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7 /*{navbar-default-bg-colour}*/;
  color: #333333 /*{navbar-default-link-colour-hover}*/;
  }

.navbar-default .navbar-collapse, .navbar-default .navbar-form {
border-color: transparent;
}

.dropdown-menu {
  background-color: #ffffff /*{dropdown-menu-bg}*/;
  border-color: #cccccc /*{dropdown-menu-border-colour}*/;
}

.dropdown-menu .divider {
  background-color: #e5e5e5 /*{dropdown-menu-divider-colour}*/;
}
.dropdown-menu > li > a {
  color: #333333 /*{dropdown-menu-link-colour}*/;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  color: #262626 /*{dropdown-menu-link-colour-hover}*/;
  background-color: #f5f5f5 /*{dropdown-menu-link-bg-hover}*/;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #ffffff /*{dropdown-menu-link-colour-active}*/;
  background-color: #428bca /*{dropdown-menu-link-bg-active}*/;
}

/*
==============================================================================
	Begining of Override Css
==============================================================================
*/

/* = Global
----------------------------------- */ 

body {
	background:#fff;
}

.header-search {
	float:right;
	width:90%;
	margin:25px 12px 0 10px;
	padding:0px;
	background:#fff;
	border:1px solid #ddd;
	overflow:hidden;
}
.header-search .input-group {
	width:100%;
	position:relative!important;
	float:left;
	margin:0px;
	padding:0px;
}
.header-search .input-group > input{
	float:left;	
	width:100%;
	margin:0;
	padding: 7px 10px 7px 10px;
	font-size:13px;
	color:#292929;
	border:0;
	display:inline-block;
	background:none;
	height:auto;
	border-radius:0px;
	box-shadow:0px 0px 0px #000;
}
.header-search .input-group-btn  {
	position:absolute;
	right:-2px;
	top:0px;
	border:0;
	background:none;
	cursor:pointer;
	width:100px;
	z-index:2;
}
.header-search .input-group-btn button {
	border:0;
	background:rgb(161,22,22);
	cursor:pointer;
	padding-top:6px;
	padding-bottom:7px; 
	cursor:pointer;
	float:left;
	text-align:center;
	width:100%;
	color:#fff;
	margin:0px!important;
	
}
.header-search .input-group-btn > button i {
	color:#fff;
	font-size:16px;	
	display:inline-block;
}


/* = Header (logo, menu & buttons)
----------------------------------- */ 
.wrapper-header {
	float:left;
	width:100%;
	margin:0px;
	padding:0px;
}

.wrapper-logo{
	float:left;
	margin:0px;
	padding:0;
}

.wrapper-header .text-right ul{
	display:inline-block;
	width:auto;
	margin:0;
	padding:12px 0 0 0;	
	list-style:none;
}

.wrapper-header .text-right ul li{
	float:left;
	width:auto;
}

.wrapper-header .text-right li a {
	color:#000;
	float:left;
	margin-right:15px;
	padding-right:15px;
	border-right:1px solid #6d6e71;
	width:auto;

}	.wrapper-header .text-right li:last-child a{
		border-right:0px;
		margin-right:0px;	
	
	}	.wrapper-header .text-right li a i {
			margin-right:10px;
			float:left;	
			margin-top:3px;
		}
	
.wrapper-header .text-right .phone {
		float:right;
		width:100%;
		text-align:right;
		margin-top:15px;
		color:#000;
		font-size:40px;
		font-weight:normal;
		display:none;
	}

/** Navigation only **/
.menu-wrap {
	float:left;
	width:100%;	
	margin:0;
	padding:0;
	background:#292929;
}

.navbar-default {
		border:0px;
		margin:0px;
		box-shadow:0 0 0);
		padding:0px;
		background:none;
		
	}.navbar-collapse{
			padding:0px;
		} 
	 .navbar-default ul.navbar-nav, .navbar-default ul.navbar-nav li {
			float:left; 
			margin:0;
			padding:0;		
			text-transform:uppercase;
			
			
		}.navbar-default ul.navbar-nav li a {
				color:#fff;
				padding:15px 20px;
				
				
				
			}.navbar-default ul.navbar-nav li a:hover {
					color:#fff;
					background:#a11616;
				}
		
/** shipping ads **/
.shipping-ads {
	float:left;
	width:100%;	
	margin:0;
	padding:0;
	background:#fff;
	color:#292929;
	position:relative;
	z-index:3;
	
}	.shipping-ads ul{
		width:100%;
		list-style:none;
	}
	.shipping-ads ul {
		margin:0;
		padding:0;
		display:inline-block;
	
	}	.shipping-ads ul li {
			padding:12px 0px;
			color:#292929;
			
		}	.shipping-ads ul li:hover {
				color:#000;
			}
	

		

/* = Main Content (Banner & Products )
----------------------------------- */ 
#main-content, 
.banner-wrap {
	margin:0px; 
	padding:0px;
		
} .banner-wrap {
		/** background:url(images/banner-bg.jpg) top center no-repeat;	**/
		background:#292929;
	}

					
/* = Footer Box( subscription, footer )
----------------------------------- */ 
.news-subscription, 
.wrapper-footer {
	margin:0px;
	padding:0px 20px;
	float:left;
	width:100%;	
	position:relative;
	z-index:2;
}					
.news-subscription {
	background:#282828;
	padding-top:20px;
	padding-bottom:20px;
	position:relative;
	z-index:2;
}
.news-subscription h3 {
	margin:0;
	padding:0;
	width:auto;
	color:#fff;	
	display:inline-block;
	margin-top:6px;
	float: left;
	text-transform:uppercase;
	
} .news-subscription h3 > small {
	font-size:18px;
	color:#fff;	
}

/** input group **/
.news-subscription form {
	width:35%;
	padding-left:20px;	
	height:35px;
	overflow:hidden;	
}
.news-subscription .input-group {
		margin:0px;
		padding:0px;
		display:block;
		
	}  .news-subscription .input-group .form-control {
			width:65%;
			border-radius:0px;
			border:0px;
			background:#fff;
			color:#989898;
			padding:10px 15px;
			margin:0;
			height:36px;
		}	
		.news-subscription .input-group-btn {
			float:left;
			width:35%;
			display:block;
			height:36px;
		}
		.news-subscription .input-group .btn {
			width:100%;
			border-radius:0px;
			border:0px;
			background:#9f181c;
			color:#fff;
			cursor:pointer;
			margin:0;
			text-transform:uppercase;
			height:36px;
			padding:8px 12px;
			color:#fff;
			
		}	.news-subscription .input-group .btn:hover {
				background:#444;
			}
	
/** footer **/
.wrapper-footer {
	background:#444444;
	padding:30px 20px 40px 20px;
	color:#b5becb;

}	.wrapper-footer a{
		color:#fff;	
	
	}	.wrapper-footer a:hover{
			background:none;
			color:#fff;
			text-decoration:underline;
		}
	.wrapper-footer h4{
		color:#9a9a9a;
		float:left;
		width:100%;
		padding-bottom:25px;	
		text-transform:uppercase;
		margin:0;
	}	
	.wrapper-footer .nav-pills {
		float:left;
		width:100%;
		margin:0!important;
		padding:0!important;	
	
	} 	.wrapper-footer .nav-pills li a, .wrapper-footer .nav-pills li {
			margin:0px!important;
			padding:0 0 3px 0!important;
			
		}	.wrapper-footer .nav-pills li a:hover, .wrapper-footer .nav-pills li:hover {
				background:none!important;
				margin:0px!important;
				padding:0 0 3px 0!important;
			}
			
	.list-social, .list-social li {
		float:right;
		width:100%;
		margin:0px;
		padding:0px;	
	
	}	.list-social li  {
			width:100%;
			padding-bottom:12px;
			margin-top:-2px;
			float:left;
		
		}   .list-social i {
				color:#fff;
				font-size:28px;
				margin:3px 15px -3px 0px;
				float:left; 
			}
			
	
/** copy right **/
.copyright-power{ 
	padding:10px 0 10px 0;
	float:left;
	width:100%;
	color:#444;
	font-size:14px;
	border-bottom:1px solid #000;
} 	
.copyright-power ul {
		float:left;
		width:100%;
		padding:0px;
	}
.copyright-power ul li {
		float:left;
		width:auto;
		margin:0px;
		list-style:none;
	}
.copyright-power ul li a {
		margin:0 15px 0 0 ;
		display:inline-block;
		padding:0 15px 0 0;
		border-right:1px solid #3e4043;
		line-height:14px;
		font-size:14px!important;
	} .copyright-power ul li a:hover {
			font-size:14px!important;
		}
		
.copyright-power strong {
	font-weight:normal!important;
}		

.copyright-power p.small {
	font-size:14px!important;
}

/* = Inner pages Css ( bredcrumb )
---------------------------------- */ 
#main-content {
	float:left;
	width:100%;
	margin:0px;
	padding:0px;
	background:#fff;	
	overflow:hidden;

}  #n_product #main-content {
		background:#fff;
	}

/** product detail image **/
/** product detail image **/
.main-image{
	padding-right:40px;
	padding-top:0px;

}	

/** tab styles **/
.tabbable {
	 float:left;
	 width:100%;
	 margin:0px;
	 padding:0px;
	 margin-top:100px;

}	.tabbable  {
		padding-top:25px;
	
	}	.tabbable .nav-tabs  {
			border:0px;
		
		}	.tabbable .nav-tabs li a{
				background:#363636;	
				border-radius:0px;
				trensition:0.7s;
				font-size:17px!important;
			}
			.tabbable .nav-tabs li a,
			.tabbable .nav-tabs li.active a  {
				border:0px;
				color:#fff;
				padding:10px 25px 15px 25px; 
			
			}		
				.tabbable .nav-tabs li.active a,
				.tabbable .nav-tabs li a:hover  {
					background:#d73131;	
					padding:20px 25px 15px 25px;
					margin-top:-10px; 
				} 
				
				.tabbable .nav-tabs li.active a:hover  {
					background:#d73131;
					padding:20px 25px 15px 25px; 
					margin-top:-10px;	
				} 
						
/** tab texts and ul li  etc**/
.tabbable .tab-content,
.tabbable .tab-content ul,
.tabbable .tab-content p,
.tabbable .tab-content li  {
	float:left;
	width:100%;
	margin:0px;
	padding:0px;	

}	.tabbable .tab-content {padding:0px 0 40px 0px;}

	.tabbable .tab-content p,
	.tabbable .tab-content ul li {
		color:#292929!important;
	
	}	.tabbable .tab-content ul li {
			padding:12px 0 0 15px!important;
			list-style:none;
		}	
		.tabbable .tab-content ul li:before {
			color:#c4c4c4;
			margin-right:15px;
			content:"\f005";
			font:16px/17px 'FontAwesome';
			float:left;
			
		}	


/** featured advantages **/
/** featured advantages **/
.featured-advantages {
	padding:20px 30px 50px 30px; 	
	background:#f9f9f9;
	float:left;
	width:100%;
	

}	.featured-advantages .col-xs-6 {
		margin-bottom:30px;
	}
	.featured-advantages .title {
		float:left;
		width:100%;
		margin:0px;
		padding:25px 15px 45px 15px;
		text-align:center;
		margin-bottom:20px;
		text-transform:uppercase;
	}
	.featured-advantages h4 {
		margin-bottom:4px;	
	}
	.featured-advantages p{
		line-height:18px;	
	}
	
	.featured-advantages .icon-square {
		margin-right:20px;
		color:#fff;
		padding:5px;
		height:70px;
		width:80px;
		text-align:center;
		display:inline-block;
		line-height:51px;
		
	}	.featured-advantages .icon-square .fa-check {
			color:#777;
		}
		
		.featured-advantages .icon-square .stack > .fa {
			line-height:56px;	
		}
		
/** inner pages **/
/** inner pages **/
/** inner pages **/
/** inner pages **/
.cat-top {
	float:left;
	width:100%;
	margin:0px;
	padding:28px 0px;
	border-bottom:1px solid #ccc;
	box-shadow:0 1px 0 rgba(255,255,255,0.3);	
	margin-bottom:20px;
	
}	.cat-top h1 {
		float:left;
		width:auto;
		margin:0px;
		padding:0px;
		color:#585858;
		
	}	.cat-top form {
			float:right;
			width:auto;
			margin-top:-5px;
			margin-bottom:-20px;
			
		}	.cat-top form .control-label {
				width:auto;
				margin-right:10px;
			
			}	.cat-top .form-group > div {
					float:left;
					width:auto;
					margin-right:14px;
				}
			
		

/** index new **/		
.partner-imgs,
.partner-imgs ul, 
.partner-imgs ul li,
.partner-imgs ul li img,

.com-set,
.com-set img,
.com-set .thumbnail, 

.com-set .caption,
.com-set .caption h5,
.com-set .caption p,

.bottom-two img,
.bottom-two .thumbnail, 

.bottom-two .caption,
.bottom-two .caption h5,
.bottom-two .caption p {
	float:left;
	width:100%;
	margin:0px;
	padding:0px;
		
}	.partner-imgs ul li {
		width:25%;
		list-style:none;
		text-align:center;
		
	}	.partner-imgs ul li img {
			line-height:0px;
			width:auto;
			display:inline-block;
			
		}

.partner-imgs {
    background: #fff none repeat scroll 0 0;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.10);
	position:relative;
	z-index:1;
}

/** categoruy **/
.com-set {
	margin-top: 20px;
	margin-bottom:20px;
} 	

	.com-set .thumbnail,
	.bottom-two .thumbnail {
		border-radius:0px;
		border:0px;	
		background:none;
	}		
	
	.com-set .caption,
	.bottom-two .caption {
		padding:25px 30px;
		text-align:center;	
		position:relative;
		background:#f5f5f5;

	}
	.com-set .caption h5,
	.bottom-two .caption h5 {
		margin:20px 0 25px 0;
		padding:0px;	
		color:#333;
		font-weight:normal;
		font-size:28px;
    font-weight: 600;
		text-transform:uppercase;

	}	.com-set .caption h5 a,
		.bottom-two .caption h5 a {
			color:#333;
		} 
		
	.com-set .caption p,
	.bottom-two .caption p  {
		color:#333;
		padding-left:25px;
		padding-right:25px;
	}
	.com-set .caption p a, 
	.bottom-two .caption p a {
		display:inline-block;
		margin:35px 0 0 0;
		padding:7px 30px;
		border-radius:4px;
		width:auto;
		background:#9f181c;	
		font-size:14px;
		text-transform:uppercase;
		color:#fff;
		cursor:pointer;
	
	}	.com-set .caption p a:hover,
		.bottom-two .caption p a:hover {
			background:#444;	
			text-decoration:none;
		}
		
		/** arrow **/
		.arrow-rt {
			width: 0; 
			height: 0; 
			border-top: 25px solid transparent;
			border-bottom: 25px solid transparent; 
			border-right:25px solid #f5f5f5; 
			position:absolute;
			top:47%;
			left:-10px;
			margin:-12.5px;
		}


/** for bottom two **/
.bottom-two {
	margin:0px -12.5px 25px -12.5px;

}	.bottom-two .thumbnail  {
		padding-bottom:20px;
	
	}	.bottom-two .caption {
			background:#f5f5f5;
		}		

		
		.arrow-tp {
			width: 0; 
			height: 0; 
			border-bottom: 25px solid #f5f5f5;
			border-left: 25px solid transparent; 
			border-right:25px solid transparent; 
			position:absolute;
			top:-10px;
			left:48%;
			margin:-12.5px;
		}
		
		
/** product listing **/
/** product listing **/
/** product listing **/
.cat-content,
.cat-content .top-title,
.shop-content .top-title,
.cat-content .content-sort,

.content-sort .control-label,
.content-desc,
.content-desc img  {
	float:left;
	width:100%;
	margin:0px;
	padding:0px;	

}	.cat-content .featured-products {	
		background:none;	
		padding-bottom:0px;
		margin-bottom:0px;
	}
	
	.content-desc img {
		width:100%!important;	
		margin-bottom:10px;
	}

/** heading **/
.cat-content .top-title,
.shop-content .top-title{
	color: #282828;
    font-size: 36px;
    font-weight: bold;
    padding: 30px 0;
    text-align: center;
    text-transform: uppercase;
}	

/** sorting **/ 
.content-sort .form-group {
	margin:0;
	padding:0px;	
}
.cat-content .content-sort {
	background:#ebebeb;
	padding:15px 25px;
	margin-bottom:15px;
	
}	.content-sort .control-label{
		width:auto;
		color:#282828;
		font-size:18px;
		padding:0px;
		margin:6px 20px -4px 0;
		text-transform:uppercase;
		
	}
	
	.content-sort select,
	.content-sort input {
		float:left;
		width:auto;
		border:0px;
		border-radius:0px;
		color:#000;
		padding:10px;
		margin:0px;
		padding:5px 10px;
		background:#fff;	
	}

.thumb_list, 
.thumb_list .panel  {
	float:left;
	width:100%;
	margin:0px;
	padding:0px;

}	.thumb_list .panel {
		padding:0 0 25px 0;
		background:none;
		border:0px;
		border-radius:0px;
		margin:0 0 25px 0;
		box-shadow:0 0 0 #000;
		border-bottom:1px solid #eeeeee ;
		position:relative;
	
	}	.thumb_list .panel-body .col-xs-5 {
			margin-top:10px;
		}
		
		.thumb_list .panel-body .thumbnail-image {
			text-align:center;	
		}
		
		.thumb_list .panel .panel-body,  
		.thumb_list .panel .panel-body img{
			width:100%;
			float:left;
			margin:0;
			padding:0;
		
		}	.thumb_list .panel .panel-body img {
				padding-top:0px;
				width:80%;
				float:left;
				margin-left:30px;
			}
			
			/** rating image **/
			.thumb_list .panel .panel-body .rating img {
				width:auto;	
				float:left;
				margin:0px 6px 0px 0px;
				
			}
			
			.thumb_list .panel .panel-body h3,
			.thumb_list .panel .panel-body h3 a,
			.thumb_list .panel .panel-body p,
			.thumb_list .panel .panel-body p.price,
			.thumb_list .panel .panel-body form	{
				width:100%;
				float:left;
				margin:0;
			}
			.thumb_list .panel .panel-body h3 {
				color:#292929;
				font-size:15px;
				margin:0px;
				padding:0px;
				padding-left:0px;
					
			}
			.thumb_list .panel .panel-body h3 a {
					float:left;
					padding:5px 0px;
					color:#282828;
					text-transform:uppercase;
					
				}	.thumb_list .panel .panel-body h3 a:hover {
						color:#000;
						text-decoration:underline;
					}
			
			.thumb_list .panel .panel-body p {
					padding:0px 0px;
					color:#444444;
					margin:0;
				}	
				
			/** for small button p **/
			.thumb_list .panel .panel-body .ct-price p {
				padding:0px 0 0px 30px;	
				text-align:center;
			}
			
			.thumb_list .panel .panel-body p.price {
					padding:12px 0 25px 30px;	
					color:#303030;
					margin:0;
					color:#282828;
					
				
				}	.thumb_list .panel .panel-body p.price span {
						width:100%;
						color:#282828 ;
						margin-top:5px;
						font-weight:bold;
					}
					
			
			/** rating **/
			/** rating **/		
			/** rating **/
			.thumb_list .rating {
				float:left;
				width:100%;
				padding:35px 0px 35px 0px;
				color:#000;
				margin-left:0px;
			
			}	.thumb_list .rating a {
					float:left;
					margin:0px;
					padding:10px 0px;
					color:#000;
					margin-left:10px;
				
				}	.thumb_list .rating a:hover {
						text-decoration:none;
					}
					.thumb_list .rating a i {
						color:#000;
						font-size:17px;	
					}
			
			.thumb_list ol,
			.thumb_list ul {
				float:left;
				width:100%;
				padding:0 0 0 0px;
				margin-left:0px;
			
			}	.thumb_list ol li,
				.thumb_list ul li {
					float:left;
					width:100%;
					margin:0px;
					color:#282828;
					padding:0px 0 7px 0;
					line-height:18px;
					font-size:18px;	
				
				}	.thumb_list ul {
						list-style:none;
					}
					.thumb_list ol li:before,
					.thumb_list ul li:before {
						float:left;
						width:15px;
						height:15px;
						font-size:17px;
						color:#6c6c6d;
						font-family:'FontAwesome';
						content: "\f046";
						margin-right:10px;
						margin-top:0px;
					}	
				
				
			/** buttons **/	
			/** buttons **/	
			/** buttons **/	
			.thumb_list .panel .m-info {
				float:left;
				position:absolute;
				bottom:45px;
				right:0px;
			}
			
			.thumb_list .panel .panel-body form{
				padding:0px;	
			}
			
			.thumb_list .panel .panel-body form a.btn, 
			.thumb_list .panel .panel-body form button.btn  {
					float:right;
					width:80%;
					color:#fff;
					padding:9px 15px;
					cursor:pointer;
					border:0px;
					border-radius:0px;
					background:#292929 ;
					text-align:center;
					margin-left:15px;
				
				}	.thumb_list .panel .panel-body form a.btn:hover, 
					.thumb_list .panel .panel-body form button.btn:hover  {
						background:#A11616;
						color:#fff;
					}
					
			.thumb_list .panel .panel-body form button.btn:before {
					content:"\f07a";
					font-family:'FontAwesome';
					float:left;
					margin-right:15px;
					font-size:20px;
				}		
			.thumb_list .panel .panel-body .label{
					display:inline-block;
					width:auto;
					margin-top:5px;
				}	
			.thumb_list .more-info {
					background-color: #fff;
					border:1px solid #ccc;
					color: #333;
					float:right;
					width:80%;
					padding:8px 15px;
					text-align:center;
					margin-left:15px;
					margin-top:15px;
					margin-bottom:5px;
				}
				
			.thumb_list .more-info:hover {
					background:#ebebeb;
					color:#000;
					text-decoration:none;


				}


				
/** product page poker chips **/
/** product page poker chips **/
/** product page poker chips **/		
#main-content {
	background:none;
	border-top: none;
		
}	.pro-dtl-img .main-image {
		 margin-top:45px;
	}

/** thumbnail **/
.pro-dtl-img .row {
	padding:0px 40px 0px 0px;	

}	 

/** table **/
#multiitemadd {
	background:#e8e8e8;
	float:left;
	width:100%;
	margin:0px;
	padding:0px;	

}	#multiitemadd table {
		width:100%;	
	}
	#multiitemadd table,
	#multiitemadd table tr,
	#multiitemadd table td,
	#multiitemadd table th,
	#multiitemadd table thead  {
		border:0px;
		font-size:13px;
		color:#282828;
		vertical-align:middle;
	}	

	#multiitemadd table tr:nth-child(even) {
		background: #f5f5f5;
	}
	
	#multiitemadd table thead {
		background:#dbdbdb;
		font-size:14px;
	
	}	#multiitemadd table td {
			padding:7px 15px;
		}	
		#multiitemadd table th {
			padding:12px 15px;
			text-transform:uppercase;
		}	
		
		#multiitemadd .form-control  {
			padding:4px 12px;
			height:auto;
			width:63px;
			font-size:11px;
			color:#282828;
			border:0px;
			border-radius:0px;
		}
		
		#multiitemadd .label-important {
			background:#f00;	
		}

/** review **/
/** review **/
.pro-dtl-desc #reviews-top {
	float:left;
	width:100%;
	padding:30px 0px;	

}	.pro-dtl-desc #reviews-top a {
		color:#282828;
		font-size:14px;
		display:inline-block;
		width:100%;
	}
	.pro-dtl-desc .rate-text {
		display:inline-block;
		width:auto;	
		margin:0px;
	}
	.pro-dtl-desc #reviews-top a:hover {
		text-decoration:none;	
	}
	.pro-dtl-desc #reviews-top .empty-rate {
		display:inline-block;
		margin-top:-4px;
		margin-bottom:-5px;
		margin-left:15px;
	}
	
	
/** title **/
.pro-dtl-desc {
	margin-top:45px;	
}

.pro-dtl-desc h3.text-muted {
	color:#282828;
	font-size:18px;	
}	
.pro-dtl-desc h1 {
	padding-bottom:0px;
	margin-bottom:7px;
	text-transform:uppercase;
	font-size:24px;	
	
}	.pro-dtl-desc .wrapper-product-title {
		float:left;
		width:100%;
	}

/** shipping and buy now button **/
.cta-area {
	float:left;
	width:100%;
	padding:35px 15px 20px 15px;
	border-top:1px solid #ccc;

}	.cta-left {
		float:left;
		width:55%;
		color:#282828;
		
	
	}	.cta-left img {
			display:inline-block;
			margin-right:20px;
			margin-top:-8px;
			margin-bottom:-8px;
			float:left;
		}
		.cta-left span {
			font-size:18px;
			line-height:18px;
			display:inline-block;
		}
		.cta-left small {
			font-size:14px;
			float:left;
			margin-top:10px;
		}
		
		
	.cta-right {
		float:right;
		width:auto;
			
	}	.cta-right a, .buying-options .addtocart {
			padding:8px 35px;
			font-size:18px;
			color:#fff;
			text-transform:uppercase;

			font-weight:normal;
			float:left;
		}
	
	.dispatch {
		float:left;
		width:100%;	
		margin-top:20px;
		font-size:13px;	
	}		


/** category listing **/
/** category listing **/
/** category listing **/
.shop-cats {
	margin:0;
	padding:0;	
}
.shop-cats .category-thumbnail,
.shop-cats .category-thumbnail-in,
.shop-cats .category-thumbnail-in img,

.shop-cats .category-thumbnail-in h3,
.shop-cats .category-thumbnail-in h3 a {
	float:left;
	width:100%;
	margin:0px;
	padding:0px;	

}	.shop-cats .row {
		margin:0px -30px;
		
	}	
	
	.shop-cats .category-thumbnail {
		padding:30px 30px;
	}
	
	.shop-cats .category-thumbnail-in {
		border:1px solid #ebebeb;
		position:relative;
		height: 380px;
	}	
	.shop-cats .category-thumbnail-in img {
		padding:10px;	
	}	
	
	.shop-cats .category-thumbnail-in h3 a {
		background:#282828;
		color:#fff;
		text-transform:uppercase;
		font-size:20px;
		text-align:center;
		padding:15px;
	}
	
	.shop-cats .category-thumbnail-in h3 a:hover {
		background:#A11616; 	
		text-decoration:none;
	} 		
	
	
/** Other Products 
====================**/
.pro-dtl-desc .prc-options {
	float:left;	
	background:#ececec;
	width:100%;
	margin-top:25px;
	
}	.pro-dtl-desc .prc-options .productprice .productrrp,
	.pro-dtl-desc .prc-options .productprice .productsave  {
		width:auto!important;
		float:right!important;
		margin:0px 0px 0px 20px!important;
		font-size:14px!important;
		font-weight:bold!important;
	
	}	.pro-dtl-desc .prc-options .productprice   {
			color:#282828;
		}
	
.pro-dtl-desc .prc-options .btn-stack,
.pro-dtl-desc .prc-options .prc-shipping,
.pro-dtl-desc .prc-options .prc-availability {
	float:left;
	width:100%;
	margin-top:20px;

}	/** shipping **/
	.pro-dtl-desc .prc-options .prc-shipping {
		margin-top:30px;
	
	}	.pro-dtl-desc .prc-options .prc-shipping img {
			margin-top:-5px!important;
			
		}	.pro-dtl-desc .prc-options .prc-shipping .f-ship {
				color:#282828;
				font-size:18px;
			}
	
	.pro-dtl-desc .prc-options .btn-stack {
		margin-top:20px!important;		
	}
	
	/** buttons **/
	.pro-dtl-desc .prc-options .btn-stack .col-md-4 {width:auto;}
	.pro-dtl-desc .prc-options .btn-stack .form-control  {
		width:auto;
		float:left;
		border-radius:0px!important;
		margin-right:10px!important;
		height:	46px!important;
		border:0px!important;
	
	}	.pro-dtl-desc .prc-options .btn-stack .qty {
			width:85px;
		
		}	.pro-dtl-desc .prc-options .btn-stack .btn {
				border-radius:0px!important;
				height:46px!important;
				padding-left:50px!important;
				padding-right:50px!important;
			}	
	
	
	/** availability **/
	.pro-dtl-desc .prc-options .prc-availability div,
	.pro-dtl-desc .prc-options .prc-availability span {
		width:auto!important;
		float:left!important;
		margin:0px!important;
		margin-right:10px; 
		padding-right:10px;
		line-height:15px!important;
			
	}	.pro-dtl-desc .prc-options .prc-availability {
			margin-bottom:45px!important;
		}
		
		.pro-dtl-desc .prc-options span.dispatch {
			border-left:1px solid #000!important;
			padding-left:10px!important;
			margin-left:-10px!important;	
		
		}	.pro-dtl-desc .prc-options div.itm-in-stock {
				padding-left:0px!important;
			}
	
	
	/** share **/
	.pro-dtl-desc .prc-options .share-pay {
		float:left;
		width:100%;
		margin:0px -15px;
		padding:25px 15px;
		box-sizing:content-box;
		background:#fff;
		
	}	.pro-dtl-desc .prc-options .share-pay img {
			float:right!important;
			margin-right:-15px!important;
		}
	
	
	/** table **/
	.prc-options .extra-comments {
		font-weight:normal!important;
		font-size:13px;
		line-height:18px;
		margin-top:20px;
		margin-bottom:-5px;
		float:left;
		width:100%;
	
	}	.prc-options .extra-comments,
		.prc-options .extra-comments td,
		.prc-options .extra-comments th,
		.prc-options .extra-comments tr {
			border:0px!important;
			background:none!important;
			
		}	
		
		.prc-options .extra-comments td,
		.prc-options .extra-comments th,
		.prc-options .extra-comments tr {
			margin:0px!important;
			padding:0px!important;
				
		}	.prc-options .extra-comments textarea {
				float:left;
				width:100%;
				margin:0px;
				padding:0px;
				width:100%;
				background:#fff;
				height:150px;
				border:0px;
				border-radius:0px;
				margin-bottom:7px;
				margin-top:3px;
				box-shadow:0 0 0 rgba(0,0,0,0.0);
				padding:8px;
			}
			
			.prc-options .extra-comments label {
				font-weight:normal!important;
			}
	

/* = CMS Page (ABOUT, Info etc)
=============================== */

/** left part **/
#left-sidebar,
#left-sidebar .panel, 
#left-sidebar .panel-heading, 
#left-sidebar .list-group,

.right-content  {
	float:left;
	width:100%;
	margin:0px;
	padding:0px;	

}	#left-sidebar .panel {
		border:0px;
		padding:0px;
		margin:50px 0 0 0;
		background:none;
		box-shadow:0px 0px 0px #000;
	
	}	#left-sidebar .panel-default .panel-heading {
			background:none;
			padding:0px;
			border-bottom:0px;
		}
		
		#left-sidebar .panel-default .panel-heading h3 {
			font-size:24px;
			color:#282828;
			font-weight:normal;
			text-transform:uppercase;
			padding-bottom:22px;
		
		}
		
		#left-sidebar .panel-default  a.list-group-item {
			padding:12px 0px;
			font-size:17px;		
			border-top:0px;
			border-bottom:1px solid #ebebeb;
			
		}	#left-sidebar .panel-default  a.list-group-item:hover,
			#left-sidebar .panel-default  a:focus,
			#left-sidebar .panel-default li:hover {
				background:#ebebeb;	
				text-decoration:none;
			} 
			
			#left-sidebar {padding-bottom:50px;}
		

/** right part **/
.right-content {
	padding:0px 0 50px 25px;	

}	.right-content h1 {
		font-size:24px;
		color:#282828;
		font-weight:normal;
		margin-top:50px;
		margin-bottom:22px;
		text-transform:uppercase;
	}
	
	.right-content p {
		color:#282828;
		margin-botom:20px;
	}
	
	.right-content .breadcrumb {
		display:none!important;
	}



/* Beau's Additions */

/* Shoping Cart Page */

#cart-table td {
	vertical-align: middle;
}

#cart-table a:hover {
	text-decoration: none;
}

#cart-table .img-column {
    max-width: 50px;
    min-width: 25px;
}

#cart-table .cart-config {
	color: #000;
}

/* Popup thumbnail cart */


.thumb_cart button {
    margin-top: 16px;
    width: 50%;
}

#cartcontents .viewcart {
    border-radius: 3px 0 0 3px;
}

#cartcontents .checkout {
    border-radius: 0 3px 3px 0;
}

/* Product Pages */

/* ## Additional Options Table */

table.additional-options {
	width: auto;
}
	table.additional-options tr td {
		display: inline-block;
		height: 50px;
	}
	
table.additional-options label {
	width: 50px;
	padding-top: 5px;
	text-align: right;
}

table.additional-options .form-control {
	width: 50px;
}

.prc-options .productprice {
	padding: 10px;
}
.prc-messages .prc-inner {
    margin-bottom: 0;
   
    padding: 10px;
    background-color: #f9cfcf;
    border: 1px solid #a93333;
}
.prc-messages.col-xs-12 {
    padding: 0;
    margin-top: 20px;
}
.prc-messages .prc-inner p{
     font-size: 14px;
     text-align: center;
     margin-bottom:0px;
}
.prc-messages .prc-inner p a{
    border-bottom: 1px solid ;
}
}



/*==============================Popup=================================*/
div#mce-responses {
    padding: 0 5px;
}
div#mce-error-response {
    font-size: 16px;
    color: red;
}
div#mce-success-response {
    font-size: 16px;
    font-weight: 700;
    color: green;
    padding: 5px 0;
}

.popup-hedding h1, .popup-hedding p {
    font-family: 'Archivo', sans-serif;
}
.popup-hedding h1{
	font-weight: 400;
	margin-top: 50px !important;
}
.popup-hedding span {
    color: #9f2124;
    font-size: 46px;
    font-weight: 900;
}
.popup-hedding h1 .faq{
	font-size: 46px;
	 font-weight: 900;
	 color: #000 !important;
}
.mvp-dialog .modal-body input {
    width: 100%;
    height: 42px;
    border-radius: 0 !important;
    padding-left: 20px;
    border: 1px solid #000;
}
.mvp-dialog .modal-body .row .mb-2{
	padding: 0 5px;
	margin-bottom: 10px;
}
.mvp-dialog .modal-body .col-xs-12{
	padding: 0 5px;
}
.mvp-dialog .modal-body {
	position: relative;
	padding: 15px;
	padding-right: 50px;
}
/*.mvp-dialog .mvp-sing {*/
/*	width: 198px;*/
/*	padding-left: 5px;*/
/*	margin-top: 9px;*/
/*	display: inline-block;*/
/*}*/
.mvp-dialog .mvp-sing {
    width: 100%;
    padding-left: 5px;
    margin-top: 9px;
    text-align: center;
    display: inline-block;
}
.mvp-sing input#mc-embedded-subscribe {
    background: #000;
    color: #fff;
    border: none;
    padding: 0;
    width: 198px;
    text-align: center;
}
.mvp-dialog .close {
    float: right;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
    text-shadow: 0 1px 0 #fff;
     opacity: 100%;
    color: #fff !important;
    position: absolute;
    top: 36px;
    right: 73px;
}
.mvp-sing input#mc-embedded-subscribe:hover{

background-color: #9f2124;
}
@media screen and (min-width: 992px) {
.mvp-dialog {
    background-image: url(../img/Pop_up_des.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.mvp-dialog .modal-content{
min-height: 486px;
}
.mvp-dialog .modal-content{
background-color: transparent;
}
.modal.in .modal-dialog {
    transform: translate(0,50%) !important;
    margin: auto !important;
}
}

@media only screen and (max-width: 991px) and (min-width: 768px) {
	.mvp-dialog .modal-content{
background-color: transparent;
}
.mvp-dialog {
    background-image: url(../img/Pop_up_tab.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.mvp-maxcontain {
	max-width: 390px;
	margin: 0 auto;
}
.mvp-dialog .modal-body {
    padding-right: 15px;
    margin-bottom: 35px;
}


.mvp-dialog .close {
    top: -20px;
    right: -64px;
}
.mvp-dialog .modal-content {
    box-shadow: none;
    border: none;
}
.modal.in .modal-dialog {
    transform: translate(0,50%) !important;
    margin: auto !important;
}
}
@media only screen and (max-width: 767px){
	.mvp-dialog {
    background-image: url(../img/Pop_up_mob.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
        max-width: 385px;
    margin: 0 auto !important;
    top: 20px;
    border-radius: 0px !important;
}
.mvp-dialog .modal-body .mb-2 {
    margin-bottom: 10px;
}
.mvp-dialog .modal-body {
    position: relative;
    padding: 15px !important;
}
.mvp-dialog .modal-body .col-xs-12 {
    padding: 0 15px !important;
}
.mvp-dialog .mvp-sing {
    width: 100%;
   padding: 0 15px;
    margin-top: 9px;
}
.mvp-dialog .modal-body input {
    height: 50px;
}
.mvp-dialog .modal-body {
    position: relative;
    padding: 15px!important;
    margin-bottom: 120px;
}
.col-md-7.col-md-offset-5.mvp-maxcontain {
    max-width: 400px;
    margin: 0 auto;
}
/*.modal-dialog.mvp-dialog {
    max-width: 576px;
    margin: 0 auto;
}*/
.mvp-dialog .close {
    float: right;
    font-size: 30px;
    font-weight: 400;
    line-height: 1;
    text-shadow: 0 1px 0 #fff;
     opacity: 100%;
    color: #000 !important;
    position: absolute;
        top: -53px;
    right: 15px;
}
.mvp-dialog .modal-content {
   border-radius: 0 !important;
}
div#mce-error-response {
    font-size: 16px;
    color: red;
    padding: 0 10px;
}
div#mce-success-response {
    padding: 0px 10px;
}
  .mvp-dialog .modal-content{
background-color: transparent !important;
}
.mvp-sing input#mc-embedded-subscribe {
 
   width: 100% !important;
 
}

}
@media (min-width: 992px){
.mvp-dialog {
    width: 800px !important;
    margin: 30px auto;
    
}
}

@media only screen and (max-width: 400px){
  .mvp-dialog {
    background-image: url(../img/popup-sm.jpg) !important;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
.mvp-dialog {
   
    max-width: 320px;
    margin: 0 auto !important;
    top: 20px;
    border-radius: 0px !important;
}
.mvp-dialog .close {
    top: -53px;
    right: 25px;
}
}

/*==================================================================================*/

/* ==========================================================================
   TOKEN WORKS REDESIGN — HEADER
   ========================================================================== */

/* -- Base Header -- */
header {
  margin-bottom: 0 !important;
  background-color: #ffffff !important;
  position: relative !important;
  z-index: 100 !important;
  width: 100% !important;
  height: auto !important;
  padding-top: 0 !important;
}

.header-inner {
  display: none !important;
}

.newHeader {
  background-color: #ffffff !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* -- Promo Bar: override position:absolute from app.css -- */
.newHeader .promo-bar {
  position: relative !important;
  background-color: #000000 !important;
  width: 100% !important;
  padding: 8px 0;
}
.newHeader .promo-bar .container-fluid {
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.newHeader .promo-bar .promo-bar-inner {
  text-align: center;
  padding: 0;
}
.newHeader .promo-bar .promo-bar-inner p {
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* -- Main Header Row -- */
.newHeader .main-header {
  background-color: #ffffff !important;
  border-bottom: none !important;
  margin: 0 !important;
  width: 100% !important;
  position: relative !important;
  padding: 0 !important;
}

/* Center the row content */
.newHeader .main-header.row {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* -- Logo -- */
.newHeader .main-header .logo {
  background-color: #ffffff !important;
}
.newHeader .main-header .logo img {
  max-width: 100px !important;
  width: auto;
  height: auto !important;
  padding: 10px 0 !important;
  background: none !important;
  margin-top: 0 !important;
}

/* -- Menu Container -- */
.newHeader .main-header .menu-container {
  background-color: #ffffff !important;
}

/* -- Control Panel: override position:absolute from app.css -- */
.newHeader .main-header .hd-control-panel {
  position: relative !important;
  bottom: auto !important;
  right: auto !important;
  background-color: #ffffff !important;
}
.newHeader .main-header .hd-control-panel > nav {
  float: right;
}
.newHeader .hd-control-panel .header-icons {
  color: #333333 !important;
}
.newHeader .hd-control-panel .header-icons:hover {
  color: #D4AF37 !important;
}
/* Reset button appearance for icon buttons (search, account, menu) to match cart icon */
.hd-control-panel button.header-icons {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* -- Hide Old DDM Poker Menu -- */
.main-menu,
.main-menu .nav.navbar-nav,
.ddm-main.shop-products-main,
.shop-products-wrap {
  display: none !important;
}

/* -- Navigation Styling -- */
.cbp-hrmenu {
  width: 100% !important;
  background-color: #ffffff !important;
}
.cbp-hrmenu > ul {
  background-color: #ffffff;
  padding-bottom: 0;
  max-width: 1400px !important;
  margin: 0 auto !important;
  width: 100% !important;
}
.cbp-hrmenu > ul > li > a {
  color: #333333 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 10px 0;
}
.cbp-hrmenu > ul > li > a:hover,
.cbp-hrmenu > ul > li > a:focus {
  color: #D4AF37 !important;
  text-decoration: none !important;
}
.cbp-hrmenu:hover > ul > li > a {
  opacity: 0.6;
}
.cbp-hrmenu:hover > ul > li > a:hover {
  opacity: 1;
}

/* -- Mega Dropdown -- */
.cbp-hrmenu .cbp-hrsub {
  border-top: 3px solid #D4AF37 !important;
  background-color: #ffffff !important;
  top: 100% !important;
  padding-top: 0 !important;
}
/* Invisible hover bridge so mouse can travel from menu item to dropdown */
.cbp-hrmenu .cbp-hrsub::before {
  content: '';
  position: absolute;
  top: -15px;
  left: 0;
  width: 100%;
  height: 15px;
  background: transparent;
}
.cbp-hrmenu .cbp-hrsub-inner {
  background-color: #ffffff;
  padding: 0 20px 30px;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.cbp-hrmenu .cbp-hrsub-inner > div {
  min-width: 12%;
  max-width: 14%;
  padding: 0 10px;
}
.cbp-hrsub h4 {
  color: #333333;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid #333333;
  padding: 1.5em 0 8px;
  margin-bottom: 8px;
}
.cbp-hrmenu .cbp-hrsub-inner > div a {
  color: #333333;
  font-size: 13px;
  font-weight: 400;
  line-height: 26px;
  text-decoration: none;
}
.cbp-hrmenu .cbp-hrsub-inner > div a:hover {
  color: #D4AF37;
  text-decoration: none;
}

/* -- Search Overlay (fullscreen) -- */
.newHeader .header-search {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  float: none !important;
  background: rgba(26, 26, 46, 0.97) !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
body.tw-search-open .newHeader .header-search {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
body.tw-search-open {
  overflow: hidden;
}
.newHeader .header-search form {
  width: 90%;
  max-width: 700px;
  position: relative;
}
.newHeader .header-search .input-group {
  width: 100% !important;
  position: relative !important;
  float: none !important;
  display: flex;
  align-items: center;
  border-bottom: 2px solid rgba(212, 175, 55, 0.5);
  transition: border-color 0.3s ease;
}
.newHeader .header-search .input-group:focus-within {
  border-bottom-color: #D4AF37;
}
.newHeader .header-search input[type="text"].form-control {
  background: transparent !important;
  border: none !important;
  color: #ffffff !important;
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 28px !important;
  font-weight: 300;
  letter-spacing: 1px;
  padding: 15px 5px !important;
  height: auto !important;
  width: 100% !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.newHeader .header-search input[type="text"].form-control::placeholder {
  color: rgba(255, 255, 255, 0.4);
  font-weight: 300;
}
.newHeader .header-search .input-group-btn {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  width: auto !important;
}
.newHeader .header-search .input-group-btn button {
  background: transparent !important;
  border: none !important;
  color: #D4AF37 !important;
  font-size: 22px;
  padding: 10px 15px !important;
  cursor: pointer;
  transition: color 0.3s ease, transform 0.3s ease;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.newHeader .header-search .input-group-btn button:hover {
  color: #ffffff !important;
  background: transparent !important;
  transform: scale(1.15);
}
.newHeader .header-search .input-group-btn > button i {
  color: inherit !important;
  font-size: 22px !important;
}
/* Make close button visible on all viewports inside overlay */
.newHeader .header-search .search-close {
  display: block !important;
  position: fixed !important;
  top: 30px !important;
  right: 35px !important;
  bottom: auto !important;
  left: auto !important;
  font-size: 32px !important;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  z-index: 100000;
  transition: color 0.3s ease, transform 0.3s ease;
  float: none !important;
  width: auto !important;
}
.newHeader .header-search .search-close:hover {
  color: #D4AF37;
  transform: rotate(90deg);
}
/* Overlay hint text */
.newHeader .header-search form::after {
  content: 'Press ESC to close';
  display: block;
  text-align: center;
  color: rgba(255, 255, 255, 0.25);
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: 25px;
}

/* Search overlay mobile adjustments */
@media (max-width: 767px) {
  .newHeader .header-search input[type="text"].form-control {
    font-size: 20px !important;
  }
  .newHeader .header-search .search-close {
    top: 20px !important;
    right: 20px !important;
    font-size: 28px !important;
  }
  .newHeader .header-search form {
    width: 85%;
  }
  .newHeader .header-search form::after {
    content: 'Tap X to close';
  }
}

/* -- Search Autocomplete Suggestions (jQuery UI) -- */
body.tw-search-open .ui-autocomplete,
.header-search .ui-autocomplete,
.ui-autocomplete {
  z-index: 100001 !important;
  background: #ffffff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25) !important;
  padding: 8px 0 !important;
  max-height: none !important;
  overflow: visible !important;
  margin-top: 12px !important;
  width: 100% !important;
  max-width: 700px !important;
}
body.tw-search-open .ui-autocomplete .ui-menu-item,
.header-search .ui-autocomplete .ui-menu-item {
  padding: 0 !important;
  border: none !important;
  list-style: none !important;
}
body.tw-search-open .ui-autocomplete .ui-menu-item a,
body.tw-search-open .ui-autocomplete .ui-menu-item .ui-menu-item-wrapper,
.header-search .ui-autocomplete .ui-menu-item a,
.header-search .ui-autocomplete .ui-menu-item .ui-menu-item-wrapper {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--tw-black, #1a1a2e) !important;
  padding: 12px 20px !important;
  display: block !important;
  border: none !important;
  border-radius: 0 !important;
  transition: all 0.15s ease !important;
  line-height: 1.5 !important;
  white-space: normal !important;
}
body.tw-search-open .ui-autocomplete .ui-menu-item a:hover,
body.tw-search-open .ui-autocomplete .ui-menu-item .ui-menu-item-wrapper.ui-state-active,
body.tw-search-open .ui-autocomplete .ui-state-focus,
.header-search .ui-autocomplete .ui-menu-item a:hover,
.header-search .ui-autocomplete .ui-state-focus {
  background: var(--tw-offwhite, #f0efeb) !important;
  color: var(--tw-gold, #D4AF37) !important;
  border: none !important;
  border-left: 3px solid var(--tw-gold, #D4AF37) !important;
  margin: 0 !important;
}
/* Limit visible suggestions to ~5 items */
body.tw-search-open .ui-autocomplete .ui-menu-item:nth-child(n+6),
.header-search .ui-autocomplete .ui-menu-item:nth-child(n+6) {
  display: none !important;
}

/* -- Cart Badge -- */
.newHeader .cart-wrap .cart-count {
  background-color: #D4AF37 !important;
  color: #000000 !important;
}

/* -- User Dropdown (Modern) -- */
.newHeader .hd-control-panel .user-icon-wrap nav {
  background-color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  width: 200px !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  padding: 8px 0 !important;
  overflow: visible !important;
}
/* Arrow pointer on dropdown */
.newHeader .hd-control-panel .user-icon-wrap nav::before {
  content: '';
  position: absolute;
  top: -6px;
  right: 18px;
  width: 12px;
  height: 12px;
  background: #ffffff;
  transform: rotate(45deg);
  box-shadow: -2px -2px 4px rgba(0, 0, 0, 0.04);
}
.newHeader .hd-control-panel .user-icon-wrap nav a {
  color: var(--tw-black, #1a1a2e) !important;
  font-family: var(--tw-font-body, 'Montserrat', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  padding: 10px 20px !important;
  display: block !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  border-left: 3px solid transparent !important;
}
.newHeader .hd-control-panel .user-icon-wrap nav a:hover {
  color: var(--tw-gold, #D4AF37) !important;
  background-color: var(--tw-offwhite, #f0efeb) !important;
  border-left-color: var(--tw-gold, #D4AF37) !important;
}

/* -- Cart Dropdown (Modern) -- */
.newHeader .hd-control-panel .dropdown-menu {
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  width: 340px !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  background: #ffffff !important;
}
.newHeader .hd-control-panel > nav.open .dropdown-menu {
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  overflow: visible !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
}
/* Arrow pointer on cart dropdown */
.newHeader .hd-control-panel .dropdown-menu::before {
  content: '';
  position: absolute;
  top: -6px;
  right: 22px;
  width: 12px;
  height: 12px;
  background: #ffffff;
  transform: rotate(45deg);
  box-shadow: -2px -2px 4px rgba(0, 0, 0, 0.04);
  z-index: 1;
}
.newHeader .hd-control-panel #neto-dropdown {
  padding: 0 !important;
  width: 100% !important;
}
/* Cart items area — dynamic height, scroll only when >4 items */
.newHeader .hd-control-panel #neto-dropdown .body.padding {
  padding: 16px !important;
  max-height: 420px;
  overflow-y: auto;
  overflow-x: hidden;
}
/* Smooth scrollbar for cart items */
.newHeader .hd-control-panel #neto-dropdown .body.padding::-webkit-scrollbar {
  width: 4px;
}
.newHeader .hd-control-panel #neto-dropdown .body.padding::-webkit-scrollbar-track {
  background: transparent;
}
.newHeader .hd-control-panel #neto-dropdown .body.padding::-webkit-scrollbar-thumb {
  background: #ddd;
  border-radius: 4px;
}
/* Cart item rows */
.newHeader .hd-control-panel #neto-dropdown .left img {
  width: 55px !important;
  height: 55px !important;
  object-fit: contain;
  border-radius: 6px;
  border: 1px solid #f0f0f0;
}
.newHeader .hd-control-panel #neto-dropdown .title,
.newHeader .hd-control-panel #neto-dropdown .title a {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--tw-black, #1a1a2e) !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}
.newHeader .hd-control-panel #neto-dropdown .title a:hover {
  color: var(--tw-gold, #D4AF37) !important;
}
.newHeader .hd-control-panel #neto-dropdown .price {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-weight: 600;
  color: var(--tw-black, #1a1a2e);
}
.newHeader .hd-control-panel #neto-dropdown hr {
  border-top: 1px solid #f0f0f0;
  margin: 10px 0;
}
/* Cart total & buttons footer */
.newHeader .hd-control-panel #neto-dropdown .footer {
  background: var(--tw-offwhite, #f0efeb);
  padding: 14px 16px;
  border-top: 1px solid #eee;
}
.newHeader .hd-control-panel #neto-dropdown .total {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 15px;
  font-weight: 700;
  color: var(--tw-black, #1a1a2e);
  margin-bottom: 10px;
}
/* All buttons in cart dropdown: full width, same size */
.newHeader .hd-control-panel #neto-dropdown .footer .btn,
.newHeader .hd-control-panel #neto-dropdown .checkout,
.newHeader .hd-control-panel #neto-dropdown .btn {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border-radius: 6px !important;
  padding: 11px 20px !important;
  transition: all 0.25s ease !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  box-sizing: border-box !important;
  margin-bottom: 8px !important;
}
/* Last button remove bottom margin */
.newHeader .hd-control-panel #neto-dropdown .footer .btn:last-child,
.newHeader .hd-control-panel #neto-dropdown .footer a.btn:last-of-type {
  margin-bottom: 0 !important;
}
/* Checkout button — primary (charcoal, gold on hover) */
.newHeader .hd-control-panel #neto-dropdown .checkout {
  background-color: var(--tw-black, #1a1a2e) !important;
  border: 2px solid var(--tw-black, #1a1a2e) !important;
  color: #ffffff !important;
}
.newHeader .hd-control-panel #neto-dropdown .checkout:hover {
  background-color: var(--tw-gold, #D4AF37) !important;
  border-color: var(--tw-gold, #D4AF37) !important;
  color: var(--tw-black, #1a1a2e) !important;
}
/* View Cart button — outline style */
.newHeader .hd-control-panel #neto-dropdown .footer a[href*="cart"],
.newHeader .hd-control-panel #neto-dropdown .footer .btn:not(.checkout) {
  background-color: transparent !important;
  border: 2px solid var(--tw-black, #1a1a2e) !important;
  color: var(--tw-black, #1a1a2e) !important;
}
.newHeader .hd-control-panel #neto-dropdown .footer a[href*="cart"]:hover,
.newHeader .hd-control-panel #neto-dropdown .footer .btn:not(.checkout):hover {
  background-color: var(--tw-black, #1a1a2e) !important;
  color: #ffffff !important;
}
/* General links in cart dropdown */
.newHeader .hd-control-panel #neto-dropdown a {
  color: var(--tw-black, #1a1a2e);
  text-decoration: none;
  transition: color 0.2s ease;
}
.newHeader .hd-control-panel #neto-dropdown a:hover {
  color: var(--tw-gold, #D4AF37);
}
/* Empty cart message */
.newHeader .hd-control-panel #neto-dropdown .body.padding:empty::after {
  content: 'Your cart is empty';
  display: block;
  text-align: center;
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 14px;
  color: #999;
  padding: 30px 0;
}

/* -- Featured Image in Mega Menu -- */
/* -- Featured Slider in Shop Menu -- */
.featured-slider {
  position: relative;
  max-width: 260px;
}
.featured-slider .carousel-inner {
  overflow: hidden;
  border-radius: 4px;
}
.featured-slide-link {
  display: block;
  text-decoration: none;
}
.featured-slide-link img {
  width: 100%;
  display: block;
  border-radius: 4px;
}
.featured-slide-link b {
  display: block;
  text-align: left;
  margin-top: 10px;
  padding-bottom: 4px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #D4AF37;
}
.featured-slide-link:hover b {
  color: #333333;
}
/* Arrow Controls — override Bootstrap defaults (full-height gradient + global display:none) */
#menuSlider .carousel-control {
  display: block !important;
  position: absolute;
  top: 50%;
  bottom: auto;
  left: auto;
  right: auto;
  width: 30px;
  height: 30px;
  margin-top: -15px;
  padding: 0;
  background: rgba(255, 255, 255, 0.92) !important;
  background-image: none !important;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
  opacity: 0;
  filter: none;
  text-shadow: none;
  text-align: center;
  line-height: 30px;
  transition: opacity 0.2s ease, box-shadow 0.2s ease;
  z-index: 5;
}
#menuSlider .carousel-control.left {
  left: 8px;
}
#menuSlider .carousel-control.right {
  right: 8px;
}
#menuSlider:hover .carousel-control {
  opacity: 1;
}
#menuSlider .carousel-control i {
  position: static;
  font-size: 13px;
  color: #333333;
  line-height: 30px;
  display: block;
  width: 100%;
  margin: 0;
}
#menuSlider .carousel-control:hover {
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
}
#menuSlider .carousel-control:hover i {
  color: #D4AF37;
}
/* Indicator Dots — override Bootstrap defaults from app.css */
#menuSlider .featured-slider__dots {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  margin: 12px 0 0 !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  padding-top: 0 !important;
  text-align: center;
  width: 100%;
}
#menuSlider .featured-slider__dots li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 4px !important;
  background: #d0d0d0;
  background-color: #d0d0d0 !important;
  border: none !important;
  border-radius: 50%;
  cursor: pointer;
  text-indent: -999px;
  transition: background 0.2s ease;
}
#menuSlider .featured-slider__dots li.active {
  background: #D4AF37;
  background-color: #D4AF37 !important;
  width: 10px !important;
  height: 10px !important;
}
/* Legacy fallback */
.featured-image-container img {
  max-width: 190px;
  width: 100%;
  display: block;
}
.featured-image-container b {
  display: block;
  text-align: center;
  margin-top: 8px;
  font-size: 12px;
  text-transform: uppercase;
  color: #333333;
}

/* -- Top Picks Gallery Menu - Brand Aligned -- */
.gallery-menu-item {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.gallery-menu-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}
.gallery-menu-item img {
  transition: transform 0.4s ease;
}
.gallery-menu-item:hover img {
  transform: scale(1.06);
}
.gallery-menu-item h3 {
  background: var(--tw-black, #1a1a2e);
  color: #ffffff;
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-bottom: 3px solid var(--tw-gold, #D4AF37);
  transition: background 0.3s ease;
}
.gallery-menu-item:hover h3 {
  background: var(--tw-gold, #D4AF37);
  color: var(--tw-black, #1a1a2e);
}
.cbp-hrmenu .gallery-menu .gallery-menu-container a {
  width: 18%;
  margin-right: 2%;
}

/* -- Mobile Header -- */
.newHeader .hd-control-panel.left .header-icons {
  color: #333333 !important;
}
.cd-dropdown {
  background-color: #ffffff !important;
}
.cd-dropdown-content {
  background-color: #ffffff !important;
}
.cd-dropdown-content > li > a {
  color: #333333 !important;
  font-weight: 600 !important;
}
/* Hide red divider line on first-level mobile menu (only show in submenus) */
.cd-dropdown > .cd-dropdown-content > .cd-divider:not(.alt) {
  display: none;
}

/* -- Mobile/Tablet: Single-line header layout -- */
@media (max-width: 991px) {
  .newHeader .main-header {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .newHeader .main-header > .hd-control-panel.left {
    flex: 0 0 auto !important;
    width: auto !important;
  }
  .newHeader .main-header > .logo {
    flex: 1 1 auto !important;
    width: auto !important;
    text-align: center !important;
  }
  .newHeader .main-header .logo a {
    display: inline-block !important;
  }
  .newHeader .main-header .logo img {
    max-width: 60px !important;
    margin: 0 auto !important;
  }
  .newHeader .main-header > .menu-container {
    flex: 0 0 0px !important;
    width: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .newHeader .main-header > .hd-control-panel:not(.left) {
    flex: 0 0 auto !important;
    width: auto !important;
  }
}

/* ==========================================================================
   PHASE 1: GLOBAL COLOR PALETTE OVERRIDES
   Replace JACKS red (#a93333) with Token Works gold (#D4AF37) + charcoal (#333)
   ========================================================================== */

/* -- 1a. Text Selection -- */
::selection {
  background: #D4AF37;
  color: #333333;
  text-shadow: none;
}
::-moz-selection {
  background: #D4AF37;
  color: #333333;
  text-shadow: none;
}

/* -- 1b. Link Hover Color -- */
a:hover,
a:focus {
  color: #D4AF37;
}

/* -- 1c. Header Border -- */
header {
  border-bottom-color: #D4AF37;
}

/* -- 1d. Buttons -- */
.container-fluid .btn:hover {
  color: #333333;
  border-color: #333333;
}
.container-fluid .btn.red-btn {
  background-color: #333333;
  border-color: transparent;
}
.container-fluid .btn.red-btn:hover {
  background-color: #222222;
}
.btn-primary {
  background-color: #333333;
  border-color: #333333;
  color: #ffffff;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
  background-color: #222222;
  border-color: #222222;
  color: #ffffff;
}
.btn-submit.btn-submit {
  background-color: #333333;
}
.btn-submit.btn-submit:hover {
  background-color: #222222;
}
.pp-addtocart-btn.pp-addtocart-btn,
.cta-area .pp-addtocart-btn {
  background-color: #333333;
}
.pp-addtocart-btn.pp-addtocart-btn:hover,
.cta-area .pp-addtocart-btn:hover {
  background-color: #222222;
}

/* -- 1e. Cart Badge -- */
.cart-wrap .cart-count {
  background-color: #D4AF37;
  color: #333333;
}

/* -- 1f. Checkout Button (cart dropdown) -- */
#neto-dropdown .checkout {
  background-color: #333333;
  border-color: #333333;
}
#neto-dropdown .checkout:hover {
  background-color: #222222;
  border-color: #222222;
}

/* -- 1g. Labels -- */
.label-danger {
  color: #D4AF37;
  border-color: #D4AF37;
}

/* -- 1h. Navigation Hover Underline (old menu) -- */
.main-menu > ul > li:after {
  background-color: #D4AF37;
}
.ddm-main > li > a:hover {
  background: #333333;
}
.ddm-main > li.ddm-main-title span {
  border-bottom-color: #D4AF37;
}
.ddm-main > li ul li a.sc-view-all:hover {
  border-color: #D4AF37;
  color: #D4AF37;
}

/* -- 1i. Search Button -- */
.header-search .btn:hover {
  background-color: #333333;
}

/* -- 1j. Footer -- */
.footer-links h4 {
  border-bottom-color: #D4AF37;
}
.news-subscription form .input-group-btn .btn:hover {
  color: #D4AF37;
  border-color: #D4AF37;
}

/* -- 1k. Pagination -- */
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  background-color: #333333;
  border-color: #333333;
}
.pagination > li > a,
.pagination > li > span,
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  color: #333333;
}

/* -- 1l. Product Cards -- */
.thumb-product .promo-label {
  background-color: #D4AF37;
  color: #333333;
}
.thumb-product .promo-each {
  color: #D4AF37;
}
.pp-thumb:hover {
  border-color: #D4AF37;
}

/* -- 1m. Product Page -- */
.pp-top-header .rate-text {
  color: #D4AF37;
}
.productsave {
  color: #D4AF37;
}
#_cpy_login_link {
  color: #333333;
}
.availability-wrap .label {
  color: #D4AF37;
}

/* -- 1n. Misc UI -- */
blockquote {
  background: #f5f0e1;
  border-left-color: #D4AF37;
}
.mto-div {
  background-color: #f5f0e1;
  border-color: #333333;
}
.mto-div span:hover {
  color: #D4AF37;
}
.top-warning-msg .btn {
  background-color: #333333;
  border-color: #333333;
}
.top-warning-msg .btn:hover {
  background-color: #4d4d4d;
}

/* -- 1o. Editable Kit Styles -- */
.ek-running-total.incomplete span {
  color: #D4AF37;
}
.ekt-wrap .pro-dtl-desc #reviews-top .rate-text {
  color: #D4AF37;
}
.ekt-wrap .pro-dtl-desc #reviews-top .rate-text:hover {
  color: #e0c45c;
}

/* -- Draw Border (brands hover effect) -- */
.draw-border:hover::before,
.draw-border:hover::after {
  border-color: #D4AF37 !important;
}

/* -- DDM menu remaining red overrides -- */
.ddm-main > li {
  border-right-color: #D4AF37;
}

/* ==========================================================================
   PHASE 3: HOMEPAGE STYLES
   ========================================================================== */

/* -- Top Picks Category Tiles -- */
.tw-top-categories {
  padding: 40px 0;
}
.tw-category-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  padding: 20px 0;
}
.tw-category-tile {
  float: none;
  width: auto;
  padding: 0;
}
.tw-category-tile a {
  display: block;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
.tw-tile-img-wrap {
  overflow: hidden;
  aspect-ratio: 1 / 1;
}
.tw-tile-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.tw-category-tile a:hover .tw-tile-img-wrap img {
  transform: scale(1.05);
}
.tw-tile-label {
  background-color: #000000;
  text-align: center;
  padding: 10px 0;
}
.tw-tile-label span {
  color: #ffffff;
  font-family: "brandon-grotesque", sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .tw-category-grid {
    flex-wrap: nowrap;
  }
  .tw-category-tile {
    flex: 1 1 0;
    max-width: 20%;
  }
}
@media (max-width: 991px) {
  .tw-category-tile {
    width: calc(33.333% - 15px);
    flex: 0 0 calc(33.333% - 15px);
  }
}
@media (max-width: 767px) {
  .tw-top-categories .container-fluid {
    position: relative;
  }
  .tw-category-grid {
    flex-wrap: nowrap;
    overflow: hidden;
    justify-content: flex-start;
    gap: 12px;
    padding: 20px 0 24px;
  }
  .tw-category-tile {
    width: calc(50% - 6px);
    flex: 0 0 calc(50% - 6px);
    transition: transform 0.4s ease;
  }
  /* Disable fade-in animation on tiles so slider translateX works.
     CSS animation fill-mode:forwards overrides inline styles,
     which prevents the JS slider from controlling tile positions. */
  .tw-top-categories .tw-category-tile.tw-animate,
  .tw-top-categories .tw-category-tile.tw-animate.tw-animate--visible {
    animation: none !important;
    opacity: 1 !important;
    transform: translateX(0); /* no !important — JS inline style can override */
  }
  /* Arrow navigation for mobile category slider */
  .tw-cat-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #e0e0e0;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    z-index: 5;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    transition: background 0.2s ease, box-shadow 0.2s ease;
  }
  .tw-cat-arrow:hover,
  .tw-cat-arrow:active {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
  }
  .tw-cat-arrow i {
    font-size: 14px;
    color: #333;
  }
  .tw-cat-arrow:hover i {
    color: #D4AF37;
  }
  .tw-cat-arrow--prev {
    left: 4px;
  }
  .tw-cat-arrow--next {
    right: 4px;
  }
}
@media (min-width: 768px) {
  .tw-cat-arrow {
    display: none !important;
  }
}

/* ==========================================================================
   PHASE 4: ABOUT PAGE STYLES
   ========================================================================== */

/* -- About Hero Banner -- */
.tw-about-hero {
  position: relative;
  width: 100%;
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.tw-about-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.tw-about-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.tw-about-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    160deg,
    rgba(26, 26, 46, 0.80) 0%,
    rgba(0, 0, 0, 0.55) 40%,
    rgba(26, 26, 46, 0.75) 100%
  );
  z-index: 1;
}
.tw-about-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 80px 30px;
  max-width: 800px;
}
.tw-about-hero__accent {
  width: 60px;
  height: 3px;
  background: var(--tw-gold);
  margin: 0 auto 30px;
}
.tw-about-hero__title {
  font-family: var(--tw-font-display);
  font-size: 3.4em;
  font-weight: 900;
  color: var(--tw-white);
  margin: 0 0 20px;
  line-height: 1.1;
  letter-spacing: 1px;
}
.tw-about-hero__subtitle {
  font-family: var(--tw-font-body);
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* About Hero — Tablet */
@media (max-width: 991px) {
  .tw-about-hero {
    min-height: 420px;
  }
  .tw-about-hero__title {
    font-size: 2.6em;
  }
  .tw-about-hero__subtitle {
    font-size: 16px;
  }
}

/* About Hero — Mobile */
@media (max-width: 767px) {
  .tw-about-hero {
    min-height: 360px;
  }
  .tw-about-hero__content {
    padding: 50px 20px;
  }
  .tw-about-hero__title {
    font-size: 2em;
  }
  .tw-about-hero__subtitle {
    font-size: 14px;
    letter-spacing: 1px;
  }
}

/* -- Core Values Section -- */
.tw-about-values {
  background-color: var(--tw-offwhite);
  padding: 80px 20px;
  text-align: center;
}
.tw-about-values__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.tw-about-values__title {
  font-family: var(--tw-font-display);
  font-size: 2.8em;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--tw-black);
  margin: 0 0 10px;
  line-height: 1.1;
}
.tw-about-values__subtitle {
  font-family: var(--tw-font-body);
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--tw-gray);
  margin: 0 0 60px;
}
.tw-about-values__grid {
  display: flex;
  justify-content: center;
  gap: 40px;
  flex-wrap: wrap;
}
.tw-about-values__item {
  flex: 0 0 280px;
  text-align: center;
  padding: 30px 20px 40px;
  background: var(--tw-white);
  border-radius: var(--tw-radius-card);
  transition: transform var(--tw-transition), box-shadow var(--tw-transition);
}
.tw-about-values__item:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 35px rgba(212, 175, 55, 0.12);
}
.tw-about-values__icon-wrap {
  width: 100px;
  height: 100px;
  margin: 0 auto 24px;
  border: 3px solid var(--tw-yellow);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color var(--tw-transition), background var(--tw-transition);
}
.tw-about-values__item:hover .tw-about-values__icon-wrap {
  border-color: var(--tw-gold);
  background: var(--tw-gold);
}
.tw-about-values__icon-wrap i {
  font-size: 36px;
  color: var(--tw-gold);
  transition: color var(--tw-transition);
}
.tw-about-values__item:hover .tw-about-values__icon-wrap i {
  color: var(--tw-white);
}
.tw-about-values__label {
  font-family: var(--tw-font-display);
  font-size: 1.6em;
  font-weight: 700;
  color: var(--tw-black);
  margin: 0 0 12px;
  letter-spacing: 1px;
}
.tw-about-values__desc {
  font-family: var(--tw-font-body);
  font-size: 14px;
  line-height: 1.7;
  color: var(--tw-gray);
  margin: 0;
}

/* Values — Tablet */
@media (max-width: 991px) {
  .tw-about-values {
    padding: 60px 20px;
  }
  .tw-about-values__title {
    font-size: 2.2em;
  }
  .tw-about-values__item {
    flex: 0 0 240px;
  }
}

/* Values — Mobile */
@media (max-width: 767px) {
  .tw-about-values {
    padding: 50px 15px;
  }
  .tw-about-values__title {
    font-size: 1.8em;
  }
  .tw-about-values__subtitle {
    font-size: 13px;
    letter-spacing: 1.5px;
    margin-bottom: 40px;
  }
  .tw-about-values__grid {
    gap: 20px;
  }
  .tw-about-values__item {
    flex: 0 0 calc(100% - 20px);
    max-width: 320px;
  }
}

/* -- About Quote Section Override -- */
.tw-about-quote {
  min-height: 480px;
}

/* -- About Categories Spacing -- */
.tw-about-categories {
  padding: 60px 0 70px;
}

/* ==========================================================================
   PHASE 5: CONTACT PAGE STYLES
   ========================================================================== */

/* -- Page Container -- */
.tw-contact-page {
  background: linear-gradient(165deg, #000000, #1a1a1a);
  padding: 60px 0 80px;
  margin: -20px 0 0;
  min-height: 80vh;
}

/* -- Hero Section -- */
.tw-contact-hero {
  margin-bottom: 50px;
  padding: 0 15px;
}
.tw-contact-hero h1 {
  color: #D4AF37;
  font-size: 2.8em;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: 15px;
}
.tw-contact-subtitle {
  color: #999999;
  font-size: 1.1em;
  line-height: 1.8;
  max-width: 600px;
  margin: 0 auto;
}

/* -- Equal-height columns -- */
.tw-contact-page .row {
  display: flex;
  flex-wrap: wrap;
}
.tw-contact-info,
.tw-contact-form-wrap {
  display: flex;
}

/* -- Info Card -- */
.tw-info-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(212,175,55,0.15);
  padding: 40px 30px;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.tw-contact-info .tw-contact-item {
  text-align: center;
  margin-bottom: 35px;
  color: #ffffff;
}
.tw-contact-icon {
  width: 50px;
  height: 50px;
  line-height: 50px;
  margin: 0 auto 12px;
  border: 1px solid #D4AF37;
  border-radius: 50%;
  color: #D4AF37;
  font-size: 1.2em;
  transition: all 0.3s ease;
}
.tw-contact-item:hover .tw-contact-icon {
  background-color: #D4AF37;
  color: #000000;
}
.tw-contact-info .tw-contact-item h4 {
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 0.85em;
  font-weight: 700;
  margin-bottom: 6px;
}
.tw-contact-info .tw-contact-item p {
  color: #999999;
  font-size: 0.95em;
  margin: 0;
}
.tw-contact-item a {
  color: #999999;
  text-decoration: none;
  transition: color 0.25s ease;
}
.tw-contact-item a:hover {
  color: #D4AF37;
}

/* -- Social Links -- */
.tw-contact-social {
  text-align: center;
  padding-top: 15px;
  border-top: 1px solid rgba(255,255,255,0.08);
  margin-top: 10px;
}
.tw-contact-social a {
  display: inline-block;
  width: 38px;
  height: 38px;
  line-height: 38px;
  text-align: center;
  color: #999999;
  border: 1px solid #444444;
  border-radius: 50%;
  margin: 0 6px;
  font-size: 1em;
  transition: all 0.3s ease;
  text-decoration: none;
}
.tw-contact-social a:hover {
  color: #D4AF37;
  border-color: #D4AF37;
}

/* -- Form Card -- */
.tw-form-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(212,175,55,0.15);
  padding: 40px;
  width: 100%;
}
.tw-form-card h2 {
  color: #ffffff;
  font-size: 1.4em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* -- Form Groups & Inputs -- */
.tw-form-group {
  margin-bottom: 20px;
}
.tw-form-group label {
  display: block;
  color: #999999;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 0.8em;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
}
.tw-form-input {
  display: block;
  width: 100%;
  background-color: rgba(255,255,255,0.04);
  border: 1px solid #444444;
  color: #ffffff;
  border-radius: 0;
  padding: 12px 15px;
  font-size: 0.95em;
  transition: border-color 0.25s ease, background-color 0.25s ease;
  -webkit-appearance: none;
  outline: none;
}
.tw-form-input:focus {
  border-color: #D4AF37;
  background-color: rgba(212,175,55,0.04);
  box-shadow: none;
}
.tw-form-input::placeholder {
  color: #666666;
}
textarea.tw-form-input {
  min-height: 130px;
  resize: vertical;
}
select.tw-form-input {
  cursor: pointer;
}

/* -- CMS Form Content (target any CMS-rendered form) -- */
.tw-cms-form-content input[type="text"],
.tw-cms-form-content input[type="email"],
.tw-cms-form-content input[type="tel"],
.tw-cms-form-content input[type="number"],
.tw-cms-form-content input[type="url"],
.tw-cms-form-content select,
.tw-cms-form-content textarea {
  display: block;
  width: 100%;
  background-color: rgba(255,255,255,0.04);
  border: 1px solid #444444;
  color: #ffffff;
  border-radius: 0;
  padding: 12px 15px;
  font-size: 0.95em;
  margin-bottom: 15px;
  transition: border-color 0.25s ease;
  -webkit-appearance: none;
  outline: none;
}
.tw-cms-form-content input:focus,
.tw-cms-form-content textarea:focus,
.tw-cms-form-content select:focus {
  border-color: #D4AF37;
  background-color: rgba(212,175,55,0.04);
}
.tw-cms-form-content label {
  display: block;
  color: #999999;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 0.8em;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
}
.tw-cms-form-content .form-control {
  background-color: rgba(255,255,255,0.04) !important;
  border: 1px solid #444444 !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  padding: 12px 15px !important;
  height: auto !important;
}
.tw-cms-form-content .form-control:focus {
  border-color: #D4AF37 !important;
  box-shadow: none !important;
}
.tw-cms-form-content input[type="submit"],
.tw-cms-form-content button,
.tw-cms-form-content .btn {
  background-color: #333333;
  border: 2px solid #333333;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  padding: 14px 30px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.tw-cms-form-content input[type="submit"]:hover,
.tw-cms-form-content button:hover,
.tw-cms-form-content .btn:hover {
  background-color: #D4AF37;
  border-color: #D4AF37;
  color: #333333;
}
.tw-cms-form-content input[type="radio"] {
  width: auto;
  display: inline;
  margin-right: 5px;
}

/* -- Submit Button -- */
.tw-form-submit {
  width: 100%;
  margin-top: 10px;
  padding: 15px 30px !important;
  font-size: 0.95em;
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--tw-black, #1a1a2e) !important;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.tw-form-submit:hover,
.tw-form-submit:focus {
  background-color: var(--tw-gold, #D4AF37) !important;
  border-color: var(--tw-gold, #D4AF37) !important;
  color: var(--tw-black, #1a1a2e) !important;
}
.tw-form-submit i {
  margin-left: 8px;
}

/* -- Responsive -- */
@media (max-width: 767px) {
  .tw-contact-page {
    padding: 40px 0 60px;
  }
  .tw-contact-page .row {
    flex-direction: column;
  }
  .tw-contact-hero h1 {
    font-size: 2em;
  }
  .tw-info-card {
    margin-bottom: 30px;
    padding: 30px 20px;
  }
  .tw-form-card {
    padding: 30px 20px;
  }
  .tw-form-card h2 {
    font-size: 1.2em;
  }
}

/* ==========================================================================
   PHASE 6: PRODUCT CARDS & CATEGORY PAGE STYLES
   ========================================================================== */

/* -- Product Grid (flexbox equal height) -- */
.product-grid {
  display: flex;
  flex-wrap: wrap;
}
.product-grid::after {
  content: '';
  display: table;
  clear: both;
}

/* -- Product Cards -- */
.thumb-product {
  text-align: center;
  border: none;
  padding: 0 15px;
  padding-bottom: 25px;
  margin-bottom: 10px;
  background-color: transparent;
  display: flex;
  flex-direction: column;
}
.hp-bs-inner .thumb-product {
  height: auto !important;
}
/* Equalize card heights so the Add to Cart buttons align across the row,
   even when some cards have no RRP/SAVE block. .thumb-product is already
   flex-column with margin-top:auto on .buying-options — this just makes
   each card stretch to the tallest sibling. Scope to .active/.next/.prev
   only — Bootstrap toggles these classes on visible slides. Inactive
   .item must stay display:none so the slider cycles correctly. */
#bsCarousel .carousel-inner > .item {
  display: none;
}
#bsCarousel .carousel-inner > .item.active,
#bsCarousel .carousel-inner > .item.next,
#bsCarousel .carousel-inner > .item.prev {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
}
.product-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

/* -- Product Image with Hover Swap -- */
.thumb-product .thumbnail-image {
  display: block;
  overflow: hidden;
  position: relative;
  margin-bottom: 10px;
  background-color: transparent;
  aspect-ratio: auto;
}
.thumb-product .thumbnail-image .product-image-primary {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  transition: transform 0.4s ease;
}
.thumb-product:hover .thumbnail-image .product-image-primary {
  transform: scale(1.03);
}
.thumb-product .thumbnail-image .product-image-hover {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain;
  opacity: 0;
  z-index: 2;
  display: block !important;
  transition: opacity 0.5s ease;
}
.thumb-product:hover .thumbnail-image .product-image-hover {
  opacity: 1;
}
/* Hide hover image if alt_1 doesn't exist or returns na.gif placeholder */
.thumb-product .thumbnail-image.no-alt-image .product-image-hover,
.thumb-product .thumbnail-image .product-image-hover[src$="/na.gif"],
.thumb-product .thumbnail-image .product-image-hover[src$="/na.png"],
.thumb-product .thumbnail-image .product-image-hover[src*="/assets/na."] {
  display: none !important;
}

.thumb-product h3 {
  font-size: 0.95em;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-top: 12px;
}
.thumb-product h3 a {
  color: #333333;
  text-decoration: none;
}
.thumb-product .subtitle {
  font-size: 0.85em;
  color: #888888;
  display: block;
  margin-top: 3px;
}
.thumb-product .pricing {
  margin-top: 8px;
  flex-grow: 0;
  height: auto;
}
.thumb-product .price span {
  font-weight: 600;
}

/* -- Rating Stars -- */
.thumb-product .rating {
  margin: 5px 0;
}
.thumb-product .rating .star {
  color: var(--tw-gold);
  font-size: 16px;
  margin: 0 1px;
}
.thumb-product .rating .star--empty {
  color: #ccc;
}
.thumb-product .buying-options {
  margin-top: auto;
  padding-top: 10px;
}

/* -- "More Info" / CTA outline button -- */
.btn-tw-outline {
  background-color: transparent;
  border: 2px solid #333333;
  color: #333333;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  font-size: 0.85em;
  padding: 8px 24px;
  transition: all 0.25s ease;
}
.btn-tw-outline:hover {
  background-color: #333333;
  color: #ffffff;
  border-color: #333333;
}
.buying-options .btn-tw-outline,
.buying-options .addtocart.btn-tw-outline {
  color: #333333;
  background-color: transparent;
}
.buying-options .btn-tw-outline:hover,
.buying-options .addtocart.btn-tw-outline:hover {
  color: #ffffff;
  background-color: #333333;
}

/* -- Category Page Header -- */
.cat-header {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}
.cat-header .cat-header-inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  background: rgba(0, 0, 0, 0.15);
}
.cat-header .cat-header-inner h1 {
  color: #ffffff;
  font-size: 3em;
  font-weight: 700;
  letter-spacing: 5px;
  text-transform: uppercase;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  margin: 0;
  text-align: center;
  padding: 0 20px;
}
.cat-header .cat-header-imgwrap {
  max-height: 350px;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.cat-header .cat-header-imgwrap img {
  width: 100%;
  object-fit: cover;
}

/* -- Sort Bar -- */
.sort_container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 15px 0;
  border-bottom: 1px solid #eeeeee;
  margin-bottom: 20px;
}
.sort_container form {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sort_container .sort-label {
  font-size: 0.85em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #333333;
  white-space: nowrap;
  margin: 0;
}
.sort-select-wrap {
  position: relative;
  display: inline-block;
}
.sort_container .sort-select {
  display: inline-block;
  width: auto;
  min-width: 200px;
  border: 1px solid #cccccc;
  border-radius: 0;
  font-size: 0.9em;
  height: 38px;
  color: #333333;
  background-color: #ffffff;
  padding-right: 35px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}
.sort_container .sort-select:focus {
  border-color: #333333;
  outline: none;
  box-shadow: none;
}
.sort-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: #333333;
  font-size: 0.75em;
  transition: transform 0.25s ease;
}
.sort-select-wrap.is-open .sort-arrow {
  color: #D4AF37;
}

/* ==========================================================================
   SEARCH RESULTS PAGE — Breadcrumb, Header, Empty State, Pagination
   ========================================================================== */

/* -- Breadcrumb (reusable) -- */
.tw-breadcrumb {
  padding: 20px 0 10px;
}
.tw-breadcrumb__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  border-radius: 0;
}
.tw-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.tw-breadcrumb__item + .tw-breadcrumb__item::before {
  content: '\f054';
  font-family: 'FontAwesome';
  font-size: 8px;
  color: #cccccc;
  margin: 0 10px;
}
.tw-breadcrumb__link {
  color: #999999;
  text-decoration: none;
  transition: color 0.2s ease;
}
.tw-breadcrumb__link:hover {
  color: var(--tw-gold, #D4AF37);
  text-decoration: none;
}
.tw-breadcrumb__link--active {
  color: var(--tw-black, #1a1a2e);
  pointer-events: none;
}

/* -- Search Results Header -- */
.tw-search-results__header {
  padding: 10px 0 20px;
  margin-bottom: 0;
}
.tw-search-results__title {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 2em;
  font-weight: 700;
  color: var(--tw-black, #1a1a2e);
  margin: 0 0 5px;
  line-height: 1.2;
}
.tw-search-results__query {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 14px;
  color: #888888;
  margin: 0;
}
.tw-search-results__query strong {
  color: var(--tw-black, #1a1a2e);
  font-weight: 600;
}

/* -- Search Results Empty State -- */
.tw-search-results__empty {
  text-align: center;
  padding: 60px 20px;
}
.tw-search-results__empty-icon {
  font-size: 48px;
  color: #cccccc;
  display: block;
  margin-bottom: 20px;
}
.tw-search-results__empty h3 {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 1.5em;
  font-weight: 700;
  color: var(--tw-black, #1a1a2e);
  margin-bottom: 10px;
}
.tw-search-results__empty p {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 15px;
  color: #888888;
  max-width: 500px;
  margin: 0 auto 25px;
  line-height: 1.6;
}
.tw-search-results__empty .btn-tw-outline {
  margin-top: 5px;
}

/* -- Pagination (Brand-Aligned) -- */
.tw-pagination-wrap {
  padding: 30px 0;
  border-top: 1px solid #eeeeee;
  margin-top: 20px;
}
.tw-pagination-wrap .pagination,
.tw-search-results .pagination {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin: 0;
}
.tw-pagination-wrap .pagination > li > a,
.tw-pagination-wrap .pagination > li > span,
.tw-search-results .pagination > li > a,
.tw-search-results .pagination > li > span {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 13px;
  font-weight: 600;
  color: var(--tw-black, #1a1a2e);
  border: 1px solid #e0e0e0;
  border-radius: 6px !important;
  padding: 8px 14px;
  min-width: 40px;
  text-align: center;
  transition: all 0.2s ease;
  background: #ffffff;
}
.tw-pagination-wrap .pagination > li > a:hover,
.tw-search-results .pagination > li > a:hover {
  background-color: var(--tw-offwhite, #f0efeb);
  border-color: var(--tw-gold, #D4AF37);
  color: var(--tw-gold, #D4AF37);
}
.tw-pagination-wrap .pagination > .active > a,
.tw-pagination-wrap .pagination > .active > a:hover,
.tw-pagination-wrap .pagination > .active > a:focus,
.tw-search-results .pagination > .active > a,
.tw-search-results .pagination > .active > a:hover,
.tw-search-results .pagination > .active > a:focus {
  background-color: var(--tw-black, #1a1a2e);
  border-color: var(--tw-black, #1a1a2e);
  color: #ffffff;
}

/* -- Override old Bootstrap breadcrumb on search page -- */
.tw-search-results .breadcrumb {
  display: none !important;
}

/* -- Sort container search page: reuse category styles -- */
.tw-search-results .sort_container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 15px 0;
  border-bottom: 1px solid #eeeeee;
  margin-bottom: 20px;
}
.tw-search-results .sort_container form {
  display: flex;
  align-items: center;
  gap: 10px;
}

@media (max-width: 767px) {
  .tw-search-results__title {
    font-size: 1.5em;
  }
  .tw-search-results .sort_container {
    justify-content: flex-start;
  }
  .tw-breadcrumb__item {
    font-size: 11px;
  }
  .tw-search-results__empty {
    padding: 40px 15px;
  }
}

/* ==========================================================================
   FOOTER & BODY LAYOUT
   ========================================================================== */

/* -- Footer Background (Full Width Black) -- */
footer {
  background-color: #000000 !important;
  width: 100% !important;
}
footer > .container-fluid {
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.news-subscription {
  background-color: #000000 !important;
  width: 100% !important;
}
.news-subscription > .container-fluid {
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.footer-links,
ul.footer-links {
  background-color: transparent !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.copyright {
  background-color: #000000 !important;
  color: #ffffff !important;
  width: 100% !important;
}
.copyright > .container-fluid {
  max-width: 1400px !important;
  margin: 0 auto !important;
}
.copyright .copy-text {
  color: #ffffff !important;
}
footer h4 {
  color: #D4AF37 !important;
}
footer ul li a {
  color: #ffffff !important;
}
footer ul li a:hover {
  color: #D4AF37 !important;
}

/* -- Body & Main Content -- */
body {
  background-color: #ffffff !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
#main-content {
  background-color: #ffffff !important;
  margin-top: 0 !important;
  float: none !important;
}
main#main-content {
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
}

/* -- Center body content -- */
main#main-content,
main.container-fluid {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* -- Keep header/footer containers full width -- */
header .container-fluid,
footer .container-fluid,
.newHeader > .container-fluid {
  max-width: 100% !important;
  width: 100% !important;
}

/* -- Page content spacing -- */
.cat-content,
.shop-content,
.cms-content {
  padding-top: 20px !important;
}

/* -- Footer responsive padding -- */
footer .footer-links {
  padding: 40px !important;
}
@media (max-width: 991px) {
  footer .footer-links {
    padding: 30px !important;
  }
}
@media (max-width: 767px) {
  footer .footer-links {
    padding: 20px !important;
  }
}

/* ==========================================================================
   DESIGN SYSTEM — CSS VARIABLES
   ========================================================================== */
:root {
  --tw-black: #1a1a2e;
  --tw-gold: #D4AF37;
  --tw-yellow: #E8E363;
  --tw-yellow-hover: #d4cf4e;
  --tw-white: #ffffff;
  --tw-offwhite: #f0efeb;
  --tw-gray: #333333;
  --tw-font-display: "Fraunces", Georgia, serif;
  --tw-font-body: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --tw-radius-pill: 50px;
  --tw-radius-card: 16px;
  --tw-transition: 0.3s ease;
  --tw-max-width: 1400px;
}

/* ==========================================================================
   SCROLL ANIMATIONS
   ========================================================================== */
@keyframes twFadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.tw-animate {
  opacity: 0;
  transform: translateY(30px);
}
.tw-animate--visible {
  animation: twFadeInUp 0.6s ease forwards;
}
.tw-animate-delay-1 { animation-delay: 0.1s; }
.tw-animate-delay-2 { animation-delay: 0.2s; }
.tw-animate-delay-3 { animation-delay: 0.3s; }
.tw-animate-delay-4 { animation-delay: 0.4s; }

@media (prefers-reduced-motion: reduce) {
  .tw-animate {
    opacity: 1;
    transform: none;
  }
  .tw-animate--visible {
    animation: none;
  }
}

/* ==========================================================================
   HOMEPAGE SECTIONS
   ========================================================================== */

/* -- Best Sellers Polish -- */
.home-section h2 {
  font-family: var(--tw-font-display);
  color: var(--tw-black);
}
.home-section .carousel-indicators li {
  background-color: #ccc;
  border: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin: 0 4px;
}
.home-section .carousel-indicators li.active {
  background-color: var(--tw-gold);
  width: 12px;
  height: 12px;
}

/* -- Why Token Works Polish -- */
.tw-why-section {
  padding: 60px 0 70px;
  background-color: var(--tw-white);
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
}
.tw-why-section .hp-why-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
}
.tw-why-section .hp-why-wrap > div {
  padding: 20px 25px;
}
.tw-why-section .why-icon {
  font-size: 56px !important;
  color: var(--tw-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  margin: 0 auto 15px;
  transition: transform var(--tw-transition);
}
.tw-why-section .hp-why-wrap > div:hover .why-icon {
  transform: scale(1.15);
}
.tw-why-section h4 {
  font-family: var(--tw-font-display);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  color: var(--tw-black);
  margin-bottom: 8px;
}
.tw-why-section p {
  font-family: var(--tw-font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--tw-gray);
}

/* -- Sections 1-5: Split Hero Blocks -- */
.tw-hero-split {
  width: 100%;
  overflow: hidden;
}
.tw-hero-split__inner {
  display: flex;
  width: 100%;
  min-height: 500px;
}
.tw-hero-split__text {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 60px 50px;
}
.tw-hero-split__text--yellow {
  background-color: var(--tw-yellow);
}
.tw-hero-split__title {
  font-family: var(--tw-font-display);
  font-size: 3em;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--tw-black);
  margin: 0 0 20px;
  letter-spacing: 2px;
  line-height: 1.1;
}
.tw-hero-split__desc {
  font-family: var(--tw-font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--tw-black);
  margin: 0 0 10px;
  max-width: 420px;
}
.tw-hero-split__btn {
  display: inline-block;
  margin-top: 30px;
  padding: 16px 50px;
  font-family: var(--tw-font-display);
  font-size: 1.4em;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-decoration: none;
  border-radius: var(--tw-radius-pill);
  transition: all var(--tw-transition);
}
.tw-hero-split__btn--dark {
  color: var(--tw-black);
  border: 3px solid var(--tw-black);
  background: transparent;
}
.tw-hero-split__btn--dark:hover,
.tw-hero-split__btn--dark:focus-visible {
  background: var(--tw-black);
  color: var(--tw-yellow);
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(26, 26, 46, 0.3);
}
.tw-hero-split__image {
  flex: 0 0 50%;
  overflow: hidden;
}
.tw-hero-split__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.tw-hero-split:hover .tw-hero-split__image img {
  transform: scale(1.03);
}

/* Reverse layout: image left, text right */
.tw-hero-split--reverse .tw-hero-split__inner {
  flex-direction: row-reverse;
}

/* Split Hero — Tablet */
@media (max-width: 991px) {
  .tw-hero-split__inner {
    min-height: 400px;
  }
  .tw-hero-split__text {
    padding: 40px 30px;
  }
  .tw-hero-split__title {
    font-size: 2.2em;
  }
  .tw-hero-split__desc {
    font-size: 14px;
  }
  .tw-hero-split__btn {
    font-size: 1.1em;
    padding: 12px 35px;
  }
}

/* Split Hero — Mobile */
@media (max-width: 767px) {
  .tw-hero-split__inner {
    flex-direction: column-reverse;
    min-height: auto;
  }
  .tw-hero-split--reverse .tw-hero-split__inner {
    flex-direction: column-reverse;
  }
  .tw-hero-split__text,
  .tw-hero-split__image {
    flex: 0 0 auto;
    width: 100%;
  }
  .tw-hero-split__image {
    min-height: 300px;
  }
  .tw-hero-split__text {
    padding: 40px 20px;
  }
  .tw-hero-split__title {
    font-size: 2em;
  }
}

/* -- Section 6: The Tokens Process -- */
.tw-process {
  background-color: var(--tw-offwhite);
  padding: 60px 20px;
  text-align: center;
}
.tw-process__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.tw-process__title {
  font-family: var(--tw-font-display);
  font-size: 2.8em;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--tw-black);
  margin: 0 0 10px;
  line-height: 1.1;
}
.tw-process__subtitle {
  font-family: var(--tw-font-body);
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--tw-gray);
  margin: 0 0 50px;
}
.tw-process__grid {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
}
.tw-process__item {
  flex: 0 0 220px;
  text-align: center;
  position: relative;
}
.tw-process__icon-wrap {
  width: 200px;
  height: 200px;
  margin: 0 auto 15px;
  border: 3px solid var(--tw-yellow);
  border-radius: var(--tw-radius-card);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--tw-white);
  transition: border-color var(--tw-transition), box-shadow var(--tw-transition);
}
.tw-process__item:hover .tw-process__icon-wrap {
  border-color: var(--tw-gold);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.15);
}
.tw-process__icon-wrap img {
  width: 180px;
  height: 180px;
  object-fit: contain;
}
.tw-process__label {
  font-family: var(--tw-font-body);
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--tw-gray);
  font-style: italic;
}

/* Process — Tablet */
@media (max-width: 991px) {
  .tw-process__title {
    font-size: 2.2em;
  }
  .tw-process__item {
    flex: 0 0 180px;
  }
  .tw-process__icon-wrap {
    width: 160px;
    height: 160px;
  }
}

/* Process — Mobile */
@media (max-width: 767px) {
  .tw-process {
    padding: 40px 20px;
  }
  .tw-process__title {
    font-size: 1.8em;
  }
  .tw-process__grid {
    gap: 20px;
  }
  .tw-process__item {
    flex: 0 0 calc(50% - 20px);
  }
  .tw-process__icon-wrap {
    width: 140px;
    height: 140px;
  }
  .tw-process__icon-wrap img {
    width: 100px;
    height: 100px;
  }
}

/* -- Section 7: Branding & Design CTA Hero -- */
.tw-cta-hero {
  width: 100%;
  overflow: hidden;
}
.tw-cta-hero__inner {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.tw-cta-hero__parallax-bg {
  position: absolute;
  top: -30%;
  left: 0;
  width: 100%;
  height: 160%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  will-change: transform;
  z-index: 0;
}
.tw-cta-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    rgba(26, 26, 46, 0.70) 0%,
    rgba(0, 0, 0, 0.40) 50%,
    rgba(26, 26, 46, 0.70) 100%
  );
  z-index: 1;
}
.tw-cta-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 80px 30px;
  max-width: 700px;
}
.tw-cta-hero__accent {
  width: 50px;
  height: 3px;
  background: var(--tw-gold);
  margin: 0 auto 24px;
}
.tw-cta-hero__title {
  font-family: var(--tw-font-display);
  font-size: 3em;
  font-weight: 900;
  color: var(--tw-white);
  margin: 0 0 20px;
  line-height: 1.1;
}
.tw-cta-hero__desc {
  font-family: var(--tw-font-body);
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
  margin: 0 0 30px;
}
.tw-cta-hero__btn {
  display: inline-block;
  padding: 16px 50px;
  font-family: var(--tw-font-display);
  font-size: 1.4em;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-decoration: none;
  border-radius: var(--tw-radius-pill);
  background: var(--tw-yellow);
  color: var(--tw-black);
  transition: all var(--tw-transition);
}
.tw-cta-hero__btn:hover,
.tw-cta-hero__btn:focus-visible {
  background: var(--tw-yellow-hover);
  color: var(--tw-black);
  text-decoration: none;
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(232, 227, 99, 0.4);
}

/* CTA Hero — Tablet */
@media (max-width: 991px) {
  .tw-cta-hero__inner {
    min-height: 400px;
  }
  .tw-cta-hero__title {
    font-size: 2.4em;
  }
  .tw-cta-hero__desc {
    font-size: 16px;
  }
}

/* CTA Hero — Mobile */
@media (max-width: 767px) {
  .tw-cta-hero__inner {
    min-height: 350px;
  }
  .tw-cta-hero__title {
    font-size: 1.8em;
  }
  .tw-cta-hero__desc {
    font-size: 15px;
  }
  .tw-cta-hero__btn {
    font-size: 1.1em;
    padding: 14px 35px;
  }
}

/* -- Section 8: What Our Customers Say -- */
.tw-testimonials {
  position: relative;
  overflow: hidden;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tw-testimonials__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.tw-testimonials__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at center, rgba(26, 26, 46, 0.65) 0%, rgba(0, 0, 0, 0.80) 100%);
}
.tw-testimonials__inner {
  position: relative;
  z-index: 2;
  max-width: 850px;
  margin: 0 auto;
  padding: 80px 40px;
  text-align: center;
  width: 100%;
}
.tw-testimonials__title {
  font-family: var(--tw-font-display);
  font-size: 2.4em;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--tw-gold);
  margin: 0 0 10px;
  line-height: 1.1;
  letter-spacing: 3px;
}
.tw-testimonials__quote-icon {
  font-family: var(--tw-font-display);
  font-size: 5em;
  line-height: 1;
  color: var(--tw-gold);
  opacity: 0.6;
  margin-bottom: 5px;
}
.tw-testimonials__quote {
  font-family: var(--tw-font-display);
  font-size: 20px;
  font-style: italic;
  font-weight: 300;
  color: var(--tw-white);
  line-height: 1.75;
  margin: 0 0 8px;
  letter-spacing: 0.3px;
}
.tw-testimonials__divider {
  width: 60px;
  height: 2px;
  background: var(--tw-gold);
  margin: 28px auto 24px;
}
.tw-testimonials__author {
  font-family: var(--tw-font-body);
  font-size: 15px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.tw-testimonials__dash {
  color: var(--tw-gold);
  margin-right: 6px;
}
/* Crossfade effect */
.tw-testimonials .carousel-inner {
  min-height: 220px;
}
.tw-testimonials .carousel-inner .item {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.tw-testimonials .carousel-inner .active {
  opacity: 1;
}
.tw-testimonials .carousel-inner .active.left,
.tw-testimonials .carousel-inner .active.right {
  left: 0;
  opacity: 0;
  z-index: 1;
}
.tw-testimonials .carousel-inner .next.left,
.tw-testimonials .carousel-inner .prev.right {
  opacity: 1;
}
.tw-testimonials .carousel-inner .next,
.tw-testimonials .carousel-inner .prev,
.tw-testimonials .carousel-inner .active.left,
.tw-testimonials .carousel-inner .active.right {
  left: 0;
  transform: translate3d(0, 0, 0);
}
.tw-testimonials .carousel-indicators {
  bottom: 25px;
}
.tw-testimonials .carousel-indicators li {
  border: none;
  background-color: rgba(255, 255, 255, 0.35);
  width: 28px;
  height: 3px;
  border-radius: 2px;
  margin: 0 5px;
  transition: all 0.3s ease;
}
.tw-testimonials .carousel-indicators li.active {
  background-color: var(--tw-gold);
  width: 40px;
  height: 3px;
  border: none;
}

/* Testimonials — Tablet */
@media (max-width: 991px) {
  .tw-testimonials {
    min-height: 500px;
  }
  .tw-testimonials__title {
    font-size: 2em;
  }
  .tw-testimonials__quote-icon {
    font-size: 4em;
  }
  .tw-testimonials__quote {
    font-size: 18px;
  }
}

/* Testimonials — Mobile */
@media (max-width: 767px) {
  .tw-testimonials {
    min-height: 450px;
  }
  .tw-testimonials__inner {
    padding: 50px 25px;
  }
  .tw-testimonials__title {
    font-size: 1.5em;
    letter-spacing: 2px;
    margin-bottom: 5px;
  }
  .tw-testimonials__quote-icon {
    font-size: 3.5em;
    margin-bottom: 0;
  }
  .tw-testimonials__quote {
    font-size: 16px;
    line-height: 1.65;
  }
  .tw-testimonials__divider {
    width: 40px;
    margin: 20px auto 18px;
  }
  .tw-testimonials__author {
    font-size: 13px;
    letter-spacing: 1.5px;
  }
  .tw-testimonials .carousel-inner {
    min-height: 200px;
  }
}

/* -- Section 9: Industry Trusted -- */
.tw-trusted {
  background-color: var(--tw-white);
  padding: 60px 20px;
  text-align: center;
}
.tw-trusted__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.tw-trusted__title {
  font-family: var(--tw-font-display);
  font-size: 2.8em;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--tw-black);
  margin: 0 0 10px;
  line-height: 1.1;
}
.tw-trusted__subtitle {
  font-family: var(--tw-font-body);
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--tw-gray);
  margin: 0 0 50px;
}
.tw-trusted__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 40px 60px;
}
.tw-trusted__logo {
  flex: 0 0 auto;
}
.tw-trusted__logo img {
  max-height: 100px;
  max-width: 180px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Trusted — Tablet */
@media (max-width: 991px) {
  .tw-trusted__title {
    font-size: 2.2em;
  }
  .tw-trusted__grid {
    gap: 30px 40px;
  }
  .tw-trusted__logo img {
    max-height: 80px;
    max-width: 150px;
  }
}

/* Trusted — Mobile */
@media (max-width: 767px) {
  .tw-trusted {
    padding: 40px 20px;
  }
  .tw-trusted__title {
    font-size: 1.8em;
  }
  .tw-trusted__grid {
    gap: 25px 30px;
  }
  .tw-trusted__logo img {
    max-height: 60px;
    max-width: 120px;
  }
}

/* ==========================================================================
   ACCESSIBILITY — FOCUS STATES
   ========================================================================== */
.tw-hero-split__btn:focus-visible,
.tw-cta-hero__btn:focus-visible,
.tw-category-tile a:focus-visible,
.tw-trusted__logo a:focus-visible {
  outline: 3px solid var(--tw-gold);
  outline-offset: 3px;
}

/* ==========================================================================
   Search Bar — Visibility controlled by .tw-search-open class on body
   (overlay styles defined in the Search Overlay section above)
   ========================================================================== */

/* ==========================================================================
   FIX: Product Card Layout — Prevent cut-off, auto height, visible buttons
   ========================================================================== */
.thumb-product {
  position: relative;
  overflow: visible;
}
.thumb-product .savings-container {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 2;
}
.thumb-product .savings-container .label {
  display: block;
  margin-bottom: 3px;
  font-size: 0.75em;
}
.thumb-product .buying-options {
  padding: 0 5px;
}
.thumb-product .buying-options .btn-tw-outline,
.thumb-product .buying-options .addtocart {
  display: block;
  width: 100%;
}

/* -- Qty Selector (base component — matches btn-tw-outline theme) -- */
.tw-qty-selector {
  display: inline-flex;
  align-items: stretch;
  border: 2px solid var(--tw-gray, #333333);
  border-radius: 0;
  overflow: hidden;
  flex-shrink: 0;
}
.tw-qty-btn {
  width: 32px;
  background: transparent;
  border: none;
  color: var(--tw-gray, #333333);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 1;
}
.tw-qty-btn:hover {
  background: var(--tw-gray, #333333);
  color: #fff;
}
.tw-qty-input {
  width: 34px;
  text-align: center;
  border: none;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 13px;
  font-weight: 700;
  color: var(--tw-gray, #333333);
  background: #fff;
  padding: 0;
  -moz-appearance: textfield;
  appearance: textfield;
}
.tw-qty-input::-webkit-outer-spin-button,
.tw-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.tw-qty-input:focus {
  outline: none;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--tw-gold, #D4AF37);
}

/* -- Qty Row on Product Cards (hover-to-reveal) -- */
.tw-qty-row {
  display: flex;
  align-items: stretch;
  width: 100%;
}
/* Button fills full width by default — reset margin-top from app.css .thumb-product .btn */
.tw-qty-row .addtocart,
.tw-qty-row .btn-tw-outline {
  flex: 1 1 100%;
  width: 100% !important;
  white-space: nowrap;
  font-size: 11px;
  padding: 10px 8px;
  margin-top: 0;
  transition: flex 0.3s ease;
  min-width: 0;
  box-sizing: border-box;
}
/* Qty selector hidden by default */
.tw-qty-row > .tw-qty-selector {
  display: flex;
  align-self: stretch;
  max-width: 0;
  opacity: 0;
  border-width: 0;
  margin-right: 0;
  transition: max-width 0.3s ease, opacity 0.25s ease 0.05s, border-width 0.3s ease, margin 0.3s ease;
  pointer-events: none;
}
/* Match qty internal elements to button's vertical sizing for equal height */
.tw-qty-row .tw-qty-btn {
  padding: 10px 4px;
  font-size: 11px;
  line-height: 1.42857;
}
.tw-qty-row .tw-qty-input {
  padding: 10px 2px;
  font-size: 11px;
  line-height: 1.42857;
  width: 30px;
}
/* Reveal qty on hover of the buying-options area */
.buying-options:hover .tw-qty-row > .tw-qty-selector,
.tw-qty-row > .tw-qty-selector.tw-qty-visible {
  max-width: 110px;
  opacity: 1;
  border-width: 2px;
  margin-right: 6px;
  pointer-events: auto;
}
/* Shrink button when qty is visible */
.buying-options:hover .tw-qty-row .addtocart,
.buying-options:hover .tw-qty-row .btn-tw-outline,
.tw-qty-row > .tw-qty-selector.tw-qty-visible ~ .addtocart,
.tw-qty-row > .tw-qty-selector.tw-qty-visible ~ .btn-tw-outline {
  flex: 1 1 0;
}

/* Touch devices: show qty selector by default since hover isn't available */
@media (hover: none) {
  .tw-qty-row > .tw-qty-selector {
    max-width: 110px;
    opacity: 1;
    border-width: 2px;
    margin-right: 6px;
    pointer-events: auto;
  }
  .tw-qty-row .addtocart,
  .tw-qty-row .btn-tw-outline {
    flex: 1 1 0;
  }
}

/* Mobile: stack qty + button vertically */
@media (max-width: 767px) {
  .tw-qty-row {
    flex-wrap: wrap;
    gap: 6px;
  }
  /* Override desktop hover-reveal: always show qty, full width, stacked */
  .tw-qty-row > .tw-qty-selector,
  .tw-qty-row > .tw-qty-selector.tw-qty-visible,
  .buying-options:hover .tw-qty-row > .tw-qty-selector {
    max-width: none !important;
    width: 100% !important;
    opacity: 1 !important;
    border-width: 2px !important;
    margin-right: 0 !important;
    pointer-events: auto !important;
    justify-content: center;
    transition: none;
  }
  .tw-qty-row .tw-qty-btn {
    width: 36px;
    padding: 8px 4px;
  }
  .tw-qty-row .tw-qty-input {
    width: 40px;
    padding: 8px 0;
  }
  /* Button always full width — override desktop shrink on .tw-qty-visible */
  .tw-qty-row .addtocart,
  .tw-qty-row .btn-tw-outline,
  .tw-qty-row > .tw-qty-selector.tw-qty-visible ~ .addtocart,
  .tw-qty-row > .tw-qty-selector.tw-qty-visible ~ .btn-tw-outline,
  .buying-options:hover .tw-qty-row .addtocart,
  .buying-options:hover .tw-qty-row .btn-tw-outline {
    flex: 1 1 100% !important;
    width: 100% !important;
    font-size: 11px;
    padding: 10px 8px;
    white-space: nowrap;
    transition: none;
  }
}

/* ==========================================================================
   FIX: Products Wrap — Clearfix and layout for category product grid
   ========================================================================== */
.products-wrap {
  padding: 0 15px;
}
.products-wrap::after {
  content: "";
  display: table;
  clear: both;
}

/* ==========================================================================
   FIX: Sort Container — Mobile responsive
   ========================================================================== */
@media (max-width: 767px) {
  .sort_container {
    justify-content: center;
  }
  .sort_container .sort-select {
    min-width: 140px;
  }
}

/* ==========================================================================
   PHASE 7: PRODUCT DETAIL PAGE — Token Works Brand Alignment
   ========================================================================== */

/* -- 7a. Product Page Wrapper -- */
.tw-product {
  padding-top: 10px;
}
.tw-product .pro-dtl {
  margin-bottom: 30px;
}

/* -- 7b. Product Header & Title -- */
.pro-dtl-desc .wrapper-product-title {
  float: left;
  width: 100%;
  border-bottom: 1px solid #eeeeee;
  padding-bottom: 15px;
  margin-bottom: 0;
  text-align: left;
}
.pro-dtl-desc h1 {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 1.8em;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.5px;
  color: var(--tw-gray, #333333);
  margin-bottom: 5px;
  padding-bottom: 0;
  line-height: 1.2;
}
.pro-dtl-desc .pp-subtitle {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 1em;
  font-weight: 400;
  color: #888888;
  margin-top: 0;
  margin-bottom: 10px;
}

/* -- 7c. Star Rating (Product Page Header) -- */
#reviews-top {
  float: left;
  width: 100%;
  padding: 12px 0;
}
#reviews-top a.reviews {
  color: var(--tw-gray, #333333);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
}
#reviews-top a.reviews:hover {
  text-decoration: none;
}
#reviews-top .pp-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
#reviews-top .star {
  color: var(--tw-gold, #D4AF37);
  font-size: 20px;
  line-height: 1;
}
#reviews-top .star--empty {
  color: #cccccc;
}
#reviews-top .pp-review-count {
  font-size: 0.85em;
  color: #888888;
  margin-left: 8px;
  font-weight: 400;
}
#reviews-top .rate-text {
  font-size: 0.85em;
  color: var(--tw-gold, #D4AF37);
  margin-left: 8px;
  font-weight: 500;
  transition: color 0.25s ease;
}
#reviews-top a.reviews:hover .rate-text {
  color: #c9a030;
}
#reviews-top .empty-rate {
  display: inline-flex;
  gap: 2px;
}

/* -- 7d. Wishlist -- */
.pp-wishlist {
  float: left;
  width: 100%;
  padding: 8px 0;
}
.pp-wishlist a {
  color: #888888;
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  transition: color 0.25s ease;
}
.pp-wishlist a:hover {
  color: var(--tw-gold, #D4AF37);
  text-decoration: none;
}
.pp-wishlist .fa-heart {
  color: var(--tw-gold, #D4AF37);
}

/* -- 7e. Pricing Box (prc-options) -- */
.pro-dtl-desc .prc-options {
  background: var(--tw-offwhite, #f0efeb);
  border: 2px solid var(--tw-gray, #333333);
  padding: 25px 20px;
  margin-top: 20px;
  text-align: center;
  border-radius: 4px;
}
.pro-dtl-desc .prc-options .productpricetext {
  margin-bottom: 10px;
}
.pp-price {
  display: block;
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 2.5em;
  font-weight: 700;
  color: var(--tw-gray, #333333);
  letter-spacing: 0.5px;
}
.pro-dtl-desc .prc-options .productrrp {
  font-size: 0.9em;
  color: #999999;
  text-decoration: line-through;
}
.pro-dtl-desc .prc-options .productsave {
  font-size: 0.9em;
  color: var(--tw-gold, #D4AF37);
  font-weight: 600;
}
.pro-dtl-desc .prc-options .productwasprice {
  font-size: 1em;
  color: #999999;
  text-decoration: line-through;
}
.pro-dtl-desc .prc-options .productpromo {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 2.5em;
  font-weight: 700;
  color: var(--tw-gold, #D4AF37);
}

/* -- 7f. Primary CTA Button (Add to Cart, Pre-Order) -- */
.btn-tw-primary {
  background-color: var(--tw-gray, #333333);
  border: 2px solid var(--tw-gray, #333333);
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  font-size: 1em;
  padding: 14px 30px;
  transition: all 0.3s ease;
  cursor: pointer;
  border-radius: 0;
}
.btn-tw-primary:hover,
.btn-tw-primary:focus {
  background-color: var(--tw-gold, #D4AF37);
  border-color: var(--tw-gold, #D4AF37);
  color: var(--tw-gray, #333333);
}
.btn-tw-primary:active {
  background-color: #c9a030;
  border-color: #c9a030;
  color: var(--tw-gray, #333333);
}

/* Override old pp-addtocart-btn red styles */
.pp-addtocart-btn.btn-tw-primary {
  background-color: var(--tw-gray, #333333);
  border-color: var(--tw-gray, #333333);
  color: #ffffff;
  max-width: none;
  width: 100%;
}
.pp-addtocart-btn.btn-tw-primary:hover {
  background-color: var(--tw-gold, #D4AF37);
  border-color: var(--tw-gold, #D4AF37);
  color: var(--tw-gray, #333333);
}

/* Outline button */
.btn-tw-outline {
  background-color: transparent;
  border: 2px solid var(--tw-gray, #333333);
  color: var(--tw-gray, #333333);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  font-size: 1em;
  padding: 14px 30px;
  transition: all 0.3s ease;
  cursor: pointer;
  border-radius: 0;
}
.btn-tw-outline:hover,
.btn-tw-outline:focus {
  background-color: var(--tw-gray, #333333);
  color: #ffffff;
}

/* Notify/Out of stock button */
.pp-addtocart-btn.btn-tw-outline {
  background-color: transparent;
  border: 2px solid var(--tw-gray, #333333);
  color: var(--tw-gray, #333333);
  max-width: none;
  width: 100%;
}
.pp-addtocart-btn.btn-tw-outline:hover {
  background-color: var(--tw-gray, #333333);
  color: #ffffff;
}

/* -- 7g. Quantity Input & Cart Row -- */
.pp-buying-form .pp-cart-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  margin-top: 15px;
}
.pp-buying-form .pp-qty-wrap {
  flex: 0 0 80px;
}
.pp-buying-form .pp-qty-input {
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: 1.1em;
  font-weight: 600;
  border: 2px solid var(--tw-gray, #333333);
  border-radius: 0;
  min-height: 52px;
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
}
.pp-buying-form .pp-qty-input:focus {
  border-color: var(--tw-gold, #D4AF37);
  outline: none;
  box-shadow: none;
}
.pp-buying-form .pp-btn-wrap {
  flex: 1;
  min-width: 200px;
}
.pp-buying-form .pp-btn-wrap .btn {
  width: 100%;
  height: 100%;
  min-height: 52px;
}

/* -- 7h. Features List -- */
.feat-list {
  margin-bottom: 15px;
  font-size: 0.9em;
  color: #555555;
  line-height: 1.7;
}
.feat-list ul {
  padding-left: 20px;
}

/* -- 7i. Availability -- */
.availability-wrap {
  margin-top: 15px;
  float: left;
  width: 100%;
}
.availability-wrap .label {
  font-size: 0.85em;
  font-weight: 600;
  padding: 6px 12px;
  letter-spacing: 0.5px;
  border-radius: 2px;
}
.availability-wrap .itm-in-stock {
  background-color: #48a868;
}
.availability-wrap .label-danger {
  background-color: #c0392b;
}
.availability-wrap .label-warning {
  background-color: var(--tw-gold, #D4AF37);
  color: #1a1a2e;
}

/* -- 7j. Variation Selectors -- */
._itmspec_listopt {
  margin-bottom: 15px;
}
._itmspec_listopt .variation-name {
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--tw-gray, #333333);
  margin-bottom: 8px;
}
._itmspec_listopt .specific {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
._itmspec_lnk {
  display: inline-block;
  padding: 8px 14px;
  border: 2px solid #ddd;
  background: #fff;
  color: var(--tw-gray, #333333);
  font-size: 0.85em;
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
}
._itmspec_lnk:hover {
  border-color: var(--tw-gold, #D4AF37);
  text-decoration: none;
  color: var(--tw-gray, #333333);
}
._itmspec_lnk._itmspec_selected {
  border-color: var(--tw-gold, #D4AF37);
  background: var(--tw-offwhite, #f0efeb);
  font-weight: 600;
}
._itmspec_lnk img {
  max-width: 50px;
  max-height: 50px;
}
._itmspec_opt.form-control {
  border: 2px solid #ddd;
  border-radius: 0;
  font-size: 0.9em;
  padding: 10px 12px;
  height: auto;
  transition: border-color 0.25s ease;
}
._itmspec_opt.form-control:focus {
  border-color: var(--tw-gold, #D4AF37);
  box-shadow: none;
  outline: none;
}
._itmspec_listitm .btn-default {
  border: 2px solid #ddd;
  border-radius: 0;
  font-size: 0.85em;
  padding: 8px 14px;
  transition: all 0.25s ease;
}
._itmspec_listitm .btn-default:hover,
._itmspec_listitm .btn-default.active {
  border-color: var(--tw-gold, #D4AF37);
  background: var(--tw-offwhite, #f0efeb);
}

/* -- 7k. Tabs — Brand Aligned -- */
.tabbable {
  margin-top: 40px;
}
.tabbable .nav-tabs {
  border-bottom: 2px solid #eeeeee !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 0;
  padding-left: 0 !important;
  margin: 0;
}
.tabbable .nav-tabs > li {
  margin-bottom: -2px;
  float: none !important;
  border: none !important;
  order: 0 !important;
}
.tabbable .nav-tabs > li > a,
.tabbable .nav-tabs > li > a:hover,
.tabbable .nav-tabs > li > a:focus,
.tabbable .nav-tabs > li > a:active {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 0.8em !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #888888 !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  padding: 14px 22px !important;
  margin: 0 !important;
  transition: all 0.3s ease;
  background: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.tabbable .nav-tabs > li > a:hover {
  color: var(--tw-gray, #333333) !important;
  border-bottom-color: var(--tw-gold, #D4AF37) !important;
  background: none !important;
}
.tabbable .nav-tabs > li.active > a,
.tabbable .nav-tabs > li.active > a:hover,
.tabbable .nav-tabs > li.active > a:focus {
  color: var(--tw-gray, #333333) !important;
  border: none !important;
  border-bottom: 2px solid var(--tw-gold, #D4AF37) !important;
  background: none !important;
}

/* Stars in the Reviews tab label */
.tabbable .nav-tabs .pro-review a .fa-star {
  color: var(--tw-gold, #D4AF37);
  font-size: 0.9em;
}
.tabbable .nav-tabs .pro-review a .fa-star-o {
  color: #cccccc;
  font-size: 0.9em;
}

/* Tab content area */
.tabbable .tab-content {
  padding: 30px 0;
}
.tabbable .tab-content .productdetails {
  font-size: 0.95em;
  line-height: 1.8;
  color: #555555;
}
.tabbable .tab-content .productdetails h2,
.tabbable .tab-content .productdetails h3 {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  color: var(--tw-gray, #333333);
  margin-top: 25px;
  margin-bottom: 12px;
}

/* Specifications table */
.tabbable .tab-content .table {
  border-collapse: separate;
  border-spacing: 0;
}
.tabbable .tab-content .table td {
  padding: 12px 18px;
  font-size: 0.9em;
  border-color: #eeeeee;
}
.tabbable .tab-content .table tr:nth-child(even) td {
  background: var(--tw-offwhite, #f0efeb);
}
.tabbable .tab-content .table td strong {
  color: var(--tw-gray, #333333);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 0.85em;
}

/* -- 7l. Reviews — Card Style -- */
.tw-reviews__summary {
  font-size: 1em;
  color: #555;
  padding: 15px 0;
  border-bottom: 1px solid #eee;
  margin-bottom: 20px;
}
.tw-reviews__summary strong {
  color: var(--tw-gray, #333333);
}
.tw-review-card {
  background: #ffffff;
  border: 1px solid #eeeeee;
  padding: 20px 24px;
  margin-bottom: 16px;
  border-left: 3px solid var(--tw-gold, #D4AF37);
  transition: box-shadow 0.3s ease;
}
.tw-review-card:hover {
  box-shadow: 0 4px 15px rgba(0,0,0,0.06);
}
.tw-review-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.tw-review-card__title {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 1.1em;
  font-weight: 700;
  color: var(--tw-gray, #333333);
  margin: 0;
}
.tw-review-card__stars .fa-star {
  color: var(--tw-gold, #D4AF37);
  font-size: 0.9em;
}
.tw-review-card__stars .fa-star-o {
  color: #cccccc;
  font-size: 0.9em;
}
.tw-review-card__meta {
  font-size: 0.8em;
  color: #999;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.tw-review-card__author {
  font-weight: 600;
  color: var(--tw-gray, #333333);
}
.tw-review-card__body {
  font-size: 0.95em;
  color: #555;
  line-height: 1.7;
  margin: 0;
}
.tw-reviews__cta {
  margin-top: 20px;
}
.tw-reviews__empty {
  text-align: center;
  padding: 30px 20px;
  background: var(--tw-offwhite, #f0efeb);
  border-radius: 4px;
}
.tw-reviews__empty h4 {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  color: var(--tw-gray, #333333);
  margin-bottom: 10px;
}
.tw-reviews__empty p {
  color: #666;
  margin-bottom: 15px;
}

/* -- 7m. Trust Bar (Shipping Info) -- */
.tw-trust-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  padding: 18px 0;
  margin-top: 20px;
  border-top: 1px solid #eee;
}
.tw-trust-bar__item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.tw-trust-bar__icon {
  font-size: 24px;
  color: var(--tw-gold, #D4AF37);
  flex-shrink: 0;
}
.tw-trust-bar__text strong {
  display: block;
  font-size: 0.85em;
  color: var(--tw-gray, #333333);
  letter-spacing: 0.3px;
}
.tw-trust-bar__text small {
  font-size: 0.75em;
  color: #999;
}
.tw-trust-bar__link {
  margin-left: auto;
}
.tw-trust-bar__link a {
  font-size: 0.8em;
  color: var(--tw-gold, #D4AF37);
  text-decoration: none;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: color 0.25s ease;
}
.tw-trust-bar__link a:hover {
  color: #c9a030;
}
.tw-trust-bar__link a .fa {
  margin-left: 4px;
  transition: transform 0.25s ease;
}
.tw-trust-bar__link a:hover .fa {
  transform: translateX(3px);
}

/* -- 7n. Shipping Table (freight items) -- */
.pp-shipping-table {
  margin: 15px auto 0;
  width: 100%;
  border-collapse: collapse;
}
.pp-shipping-table th {
  background: var(--tw-gray, #333333);
  color: #ffffff;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 10px 12px;
}
.pp-shipping-table td {
  padding: 8px 12px;
  font-size: 0.85em;
  border: 1px solid #eee;
  color: #555;
}
.pp-shipping-table tr:nth-child(even) td {
  background: var(--tw-offwhite, #f0efeb);
}

/* -- 7o. Bonus / Discount Products Section -- */
.tw-bonus-section {
  background: var(--tw-offwhite, #f0efeb);
  padding: 25px;
  margin-bottom: 25px;
  border-radius: 4px;
}
.tw-bonus-section__header {
  text-align: center;
  margin-bottom: 20px;
}
.tw-bonus-section__badge {
  display: inline-block;
  background: var(--tw-gold, #D4AF37);
  color: var(--tw-black, #1a1a2e);
  padding: 4px 14px;
  font-size: 0.75em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
  border-radius: 2px;
}
.tw-bonus-section__badge .fa {
  margin-right: 4px;
}
.tw-bonus-section__title {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 1.3em;
  color: var(--tw-gray, #333333);
  margin: 0;
}
.tw-bonus-card {
  text-align: center;
  padding: 15px;
  background: #ffffff;
  border: 1px solid #eee;
  border-radius: 4px;
  transition: box-shadow 0.3s ease;
  margin-bottom: 15px;
}
.tw-bonus-card:hover {
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}
.tw-bonus-card__image img {
  max-width: 100%;
  height: auto;
  max-height: 120px;
  display: inline-block;
}
.tw-bonus-card__title {
  font-size: 0.85em;
  margin: 10px 0 5px;
  line-height: 1.3;
}
.tw-bonus-card__title a {
  color: var(--tw-gray, #333333);
  text-decoration: none;
}
.tw-bonus-card__title a:hover {
  color: var(--tw-gold, #D4AF37);
}
.tw-bonus-card__free {
  display: inline-block;
  background: var(--tw-gold, #D4AF37);
  color: var(--tw-black, #1a1a2e);
  font-weight: 700;
  font-size: 0.75em;
  padding: 3px 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  border-radius: 2px;
}

/* -- 7p. Product Image Gallery -- */
.tw-product-gallery {
  margin-bottom: 20px;
}
.tw-product-gallery__main {
  position: relative;
  border: 1px solid #eeeeee;
  padding: 10px;
  background: #ffffff;
  margin-bottom: 12px;
  overflow: hidden;
}
.tw-product-gallery__image {
  width: 100%;
  height: auto;
  display: block;
}
.tw-product-gallery__zoom-link {
  display: block;
  position: relative;
}
.tw-product-gallery__zoom-icon {
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.9);
  border: 1px solid #eee;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: var(--tw-gray, #333333);
  transition: all 0.3s ease;
  opacity: 0;
}
.tw-product-gallery__main:hover .tw-product-gallery__zoom-icon {
  opacity: 1;
}
.tw-product-gallery__zoom-icon:hover {
  background: var(--tw-gold, #D4AF37);
  border-color: var(--tw-gold, #D4AF37);
  color: #fff;
}
.tw-product-gallery__thumbs {
  margin-top: 5px;
}
.tw-product-gallery__thumb {
  border: 2px solid #eeeeee;
  padding: 4px;
  display: block;
  margin-bottom: 10px;
  transition: border-color 0.3s ease;
  background: #ffffff;
}
.tw-product-gallery__thumb:hover {
  border-color: var(--tw-gold, #D4AF37);
}
.tw-product-gallery__thumb-img {
  width: 100%;
  height: auto;
}
/* Override old styles for compatibility */
.pro-dtl-img .main-image {
  border: none;
  padding: 0;
  background: none;
}
.pro-dtl-img .pp-thumb {
  border: 2px solid #eeeeee;
  padding: 4px;
  display: block;
  margin-bottom: 10px;
  transition: border-color 0.3s ease;
}
.pro-dtl-img .pp-thumb:hover {
  border-color: var(--tw-gold, #D4AF37);
}
/* Fix: main product image collapses to 0x0 on mobile. Neto's zoom plugin
   injects inline `height:100%;width:100%` on div.zoom before the image has
   computed width, so it sizes to 100% of a 0-tall anchor. Force the anchor
   to stretch and let the image drive height (override inline with !important). */
.pro-dtl-img .tw-product-gallery__main,
.pro-dtl-img .tw-product-gallery__zoom-link {
  display: block;
  width: 100%;
}
.pro-dtl-img .tw-product-gallery__main .zoom {
  display: block;
  width: 100% !important;
  height: auto !important;
}
.pro-dtl-img .tw-product-gallery__image,
.pro-dtl-img #main-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

/* -- 7q. Notify Modal -- */
.notifymodal .modal-content {
  border-radius: 4px;
  border: none;
  box-shadow: 0 10px 40px rgba(0,0,0,0.15);
}
.notifymodal .modal-header {
  border-bottom: 2px solid #eeeeee;
  padding: 18px 20px;
}
.notifymodal .modal-title {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-weight: 700;
  font-size: 1.2em;
  color: var(--tw-gray, #333333);
}
.notifymodal .modal-body .form-control {
  border: 2px solid #ddd;
  border-radius: 0;
  padding: 10px 12px;
  height: auto;
  font-size: 0.9em;
  transition: border-color 0.25s ease;
}
.notifymodal .modal-body .form-control:focus {
  border-color: var(--tw-gold, #D4AF37);
  box-shadow: none;
}
.notifymodal .modal-body label {
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--tw-gray, #333333);
  font-weight: 600;
}
.notifymodal .modal-footer {
  border-top: 2px solid #eeeeee;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 15px 20px;
}

/* -- 7r. Custom Order Box -- */
.custom-order-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 18px;
  background: var(--tw-offwhite, #f0efeb);
  border-radius: 4px;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 20px;
  border: 1px solid #e0ddd5;
  color: var(--tw-gray, #333333);
}
.order-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}

/* -- 7s. Design Templates Section -- */
.ct-wrap {
  margin-top: 25px;
  margin-bottom: 20px;
}
.ct-head h3 {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 1.2em;
  color: var(--tw-gray, #333333);
  margin-bottom: 15px;
}
.ct-list {
  padding: 0;
  margin: 0;
  list-style: none;
}
.ct-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  border: 2px solid #eee;
  border-radius: 4px;
  background: #fff;
  margin-bottom: 16px;
  transition: border-color 0.3s ease;
}
.ct-item:hover {
  border-color: var(--tw-gold, #D4AF37);
}
.ct-img {
  flex: 0 0 50%;
  max-width: 50%;
}
.ct-img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}
.ct-body {
  flex: 0 0 50%;
  max-width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-left: 15px;
}
.ct-title {
  font-weight: 600;
  margin: 0 0 10px;
  font-size: 0.9em;
  color: var(--tw-gray, #333333);
}
.ct-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  max-width: 90%;
}
.ct-btn {
  display: inline-block;
  border: none;
  background: none;
  padding: 0;
}
.ct-btn img {
  max-width: 100%;
  height: auto;
  display: block;
  transition: all 0.3s ease;
  border-radius: 6px;
  box-shadow: 0 1px 6px rgba(0,0,0,0);
}
.ct-btn:hover img {
  box-shadow: 0 3px 12px rgba(0,0,0,0.15);
  transform: translateY(-2px);
}

/* Process summary */
.process-summary {
  margin-top: 25px;
  padding: 20px;
  background: var(--tw-offwhite, #f0efeb);
  border: 1px solid #e0ddd5;
  border-radius: 4px;
}
.process-step {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.process-step:last-child {
  margin-bottom: 0;
}
.process-step img {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.process-step p {
  margin: 0;
  font-size: 0.9em;
  color: #555;
}
.process-step a {
  color: var(--tw-gold, #D4AF37);
  font-weight: 600;
}

/* Old customise download template */
.cu-download-template .holder {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.cu-download-template .holder > div {
  width: 100%;
  margin-bottom: 10px;
}
@media (min-width: 991px) {
  .cu-download-template .holder > div {
    width: 49%;
    margin-bottom: 0;
  }
}

/* -- 7t. Child Products Table -- */
#buy-child-list .table {
  border-collapse: separate;
  border-spacing: 0;
}
#buy-child-list .table thead th {
  background: var(--tw-gray, #333333);
  color: #ffffff;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 10px 12px;
  border: none;
}
#buy-child-list .table tbody td {
  padding: 10px 12px;
  font-size: 0.9em;
  border-color: #eee;
  vertical-align: middle;
}
#buy-child-list .table tbody tr:nth-child(even) td {
  background: var(--tw-offwhite, #f0efeb);
}
#buy-child-list .table .form-control {
  border: 2px solid #ddd;
  border-radius: 0;
  text-align: center;
  width: 80px;
  padding: 8px;
  transition: border-color 0.25s ease;
}
#buy-child-list .table .form-control:focus {
  border-color: var(--tw-gold, #D4AF37);
  box-shadow: none;
}
#buy-child-list .child-price {
  font-weight: 700;
  color: var(--tw-gray, #333333);
}
.cta-area {
  margin-top: 20px;
  padding: 15px 0;
}
.cta-area .pp-addtocart-btn,
.cta-area .multi-add {
  background-color: var(--tw-gray, #333333);
  color: #ffffff;
  border: 2px solid var(--tw-gray, #333333);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  font-size: 1.1em;
  padding: 16px 40px;
  transition: all 0.3s ease;
}
.cta-area .pp-addtocart-btn:hover,
.cta-area .multi-add:hover {
  background-color: var(--tw-gold, #D4AF37);
  border-color: var(--tw-gold, #D4AF37);
  color: var(--tw-gray, #333333);
}

/* -- 7u. Made to Order Notice -- */
.mto-div {
  display: none;
  background: var(--tw-offwhite, #f0efeb);
  border: 1px solid #e0ddd5;
  border-left: 3px solid var(--tw-gold, #D4AF37);
  padding: 14px 18px;
  margin-bottom: 20px;
  border-radius: 0 4px 4px 0;
  position: relative;
}
.mto-div p {
  margin: 0;
  font-size: 0.9em;
  color: #555;
  padding-right: 40px;
}
.mto-div span {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8em;
  font-weight: 700;
  color: var(--tw-gold, #D4AF37);
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* -- 7v. Customise Your Purchase -- */
.tw-product h2 {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  color: var(--tw-gray, #333333);
}

/* -- 7w. Multilevel Pricing Table -- */
.pro-dtl-desc .prc-options .table-striped > tbody > tr:nth-of-type(odd) {
  background: var(--tw-offwhite, #f0efeb);
}
.pro-dtl-desc .prc-options .table thead th {
  background: var(--tw-gray, #333333);
  color: #fff;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: none;
}
.pro-dtl-desc .prc-options .table td {
  border-color: #eee;
  padding: 10px 12px;
  font-size: 0.9em;
}

/* -- 7x. Recommended Products Popup -- */
.pp-rec-extras .pp-rec-continue-btn {
  margin-right: 10px;
}
.pp-rec-extras .pp-rec-checkout-btn .fa {
  margin-left: 5px;
}

/* -- 7y. Brochure Download -- */
.broucher-download {
  display: block;
  width: 100%;
  border-top: 1px solid #eee;
  margin-top: 20px;
  padding-top: 15px;
  text-align: center;
}
.broucher-download a {
  display: inline-block;
  max-width: 400px;
}
.broucher-download img {
  max-width: 100%;
  height: auto;
  transition: opacity 0.3s ease;
}
.broucher-download a:hover img {
  opacity: 0.85;
}

/* -- 7z. Extra Options Table -- */
.extra-options-tbl {
  width: auto;
  margin: 20px auto 0;
  float: none;
}
.extra-options-tbl td {
  padding: 6px 10px;
}
.extra-options-tbl label {
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--tw-gray, #333333);
  font-weight: 600;
}
.extra-options-tbl .form-control {
  border: 2px solid #ddd;
  border-radius: 0;
  transition: border-color 0.25s ease;
}
.extra-options-tbl .form-control:focus {
  border-color: var(--tw-gold, #D4AF37);
  box-shadow: none;
}
.extra-options-tbl textarea.form-control {
  text-align: left !important;
  font-size: 0.9em !important;
  max-width: 100%;
  min-height: 70px;
}
.extra-options-tbl .btm-note {
  font-weight: 300;
  font-size: 0.8em;
  color: #999;
}

/* MOQ label */
.moq-label {
  background: var(--tw-offwhite, #f0efeb) !important;
  color: var(--tw-gray, #333333) !important;
  border: 1px solid #e0ddd5;
  font-size: 0.8em;
  padding: 6px 12px;
  margin-top: 10px;
  display: inline-block;
}

/* -- 7-responsive. Mobile Responsive -- */
@media (max-width: 767px) {
  .pro-dtl-desc h1 {
    font-size: 1.4em;
  }
  .pp-price {
    font-size: 2em;
  }
  .pro-dtl-desc .prc-options .productpromo {
    font-size: 2em;
  }
  .pp-buying-form .pp-cart-row {
    flex-direction: column;
  }
  .pp-buying-form .pp-qty-wrap {
    flex: 0 0 auto;
    width: 100%;
  }
  .pp-buying-form .pp-qty-input {
    min-height: 46px;
  }
  .pp-buying-form .pp-btn-wrap {
    min-width: auto;
    width: 100%;
  }
  .tabbable .nav-tabs > li > a,
  .tabbable .nav-tabs > li > a:hover,
  .tabbable .nav-tabs > li.active > a {
    padding: 10px 12px !important;
    font-size: 0.7em !important;
    letter-spacing: 1px;
  }
  .tw-trust-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .tw-trust-bar__link {
    margin-left: 0;
  }
  .ct-item {
    flex-direction: column;
  }
  .ct-img, .ct-body {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
  }
  .ct-body {
    margin-top: 12px;
  }
  .process-step {
    justify-content: flex-start;
  }
  .process-step p {
    font-size: 0.8em;
  }
  .tw-bonus-section {
    padding: 18px 15px;
  }
}
@media (min-width: 768px) {
  .pro-dtl-desc h1 {
    font-size: 1.8em;
  }
  .pp-buying-form .pp-cart-row {
    flex-direction: row;
  }
}
@media (min-width: 992px) {
  .pro-dtl-desc h1 {
    font-size: 2em;
  }
}

/* ==========================================================================
   PHASE 8: BLOG & CONTENT PAGE STYLES
   ========================================================================== */

/* -- Blog Listing Hero -- */
.tw-blog-hero {
  position: relative;
  width: 100%;
  min-height: 380px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(135deg, #1a1a2e 0%, #0d0d1a 50%, #1a1a2e 100%);
}
.tw-blog-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at 30% 50%, rgba(212, 175, 55, 0.08) 0%, transparent 60%);
  z-index: 1;
}
.tw-blog-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 80px 30px;
  max-width: 700px;
}
.tw-blog-hero__accent {
  width: 50px;
  height: 3px;
  background: var(--tw-gold);
  margin: 0 auto 28px;
}
.tw-blog-hero__title {
  font-family: var(--tw-font-display);
  font-size: 3.2em;
  font-weight: 900;
  color: var(--tw-white);
  margin: 0 0 16px;
  line-height: 1.1;
}
.tw-blog-hero__subtitle {
  font-family: var(--tw-font-body);
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

/* Blog Hero — Responsive */
@media (max-width: 991px) {
  .tw-blog-hero { min-height: 300px; }
  .tw-blog-hero__title { font-size: 2.4em; }
}
@media (max-width: 767px) {
  .tw-blog-hero { min-height: 260px; }
  .tw-blog-hero__content { padding: 50px 20px; }
  .tw-blog-hero__title { font-size: 2em; }
  .tw-blog-hero__subtitle { font-size: 13px; }
}

/* -- Blog Listing Grid -- */
.tw-blog-listing {
  background-color: var(--tw-offwhite);
  padding: 60px 0 80px;
}
.tw-blog-listing__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}
.tw-blog-grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

/* -- Blog Post Card -- */
.tw-blog-card {
  padding: 0 15px;
  margin-bottom: 30px;
  display: flex;
}
.tw-blog-card__link {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: var(--tw-white);
  border-radius: var(--tw-radius-card);
  overflow: hidden;
  text-decoration: none;
  transition: transform var(--tw-transition), box-shadow var(--tw-transition);
}
.tw-blog-card__link:hover,
.tw-blog-card__link:focus {
  text-decoration: none;
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}
.tw-blog-card__image-wrap {
  position: relative;
  overflow: hidden;
  padding-top: 62%;
}
.tw-blog-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.tw-blog-card__link:hover .tw-blog-card__image {
  transform: scale(1.06);
}
.tw-blog-card__image-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 0%, transparent 100%);
  z-index: 1;
}
.tw-blog-card__date {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  background: var(--tw-gold);
  color: var(--tw-white);
  font-family: var(--tw-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 3px;
}
.tw-blog-card__body {
  padding: 24px 24px 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.tw-blog-card__title {
  font-family: var(--tw-font-display);
  font-size: 1.25em;
  font-weight: 700;
  color: var(--tw-black);
  margin: 0 0 8px;
  line-height: 1.35;
}
.tw-blog-card__author {
  font-family: var(--tw-font-body);
  font-size: 12px;
  color: var(--tw-gray);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 14px;
  opacity: 0.6;
}
.tw-blog-card__excerpt {
  font-family: var(--tw-font-body);
  font-size: 14px;
  line-height: 1.65;
  color: #555;
  margin: 0 0 auto;
  padding-bottom: 18px;
}
.tw-blog-card__read-more {
  font-family: var(--tw-font-body);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--tw-gold);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: gap var(--tw-transition);
}
.tw-blog-card__link:hover .tw-blog-card__read-more {
  gap: 14px;
}

/* Blog Card — Responsive */
@media (max-width: 767px) {
  .tw-blog-card__body {
    padding: 18px 18px 22px;
  }
  .tw-blog-card__title {
    font-size: 1.1em;
  }
}

/* -- Blog Pagination -- */
.tw-blog-pagination {
  text-align: center;
  padding-top: 30px;
}
.tw-blog-pagination .pagination {
  display: inline-flex;
  gap: 4px;
  margin: 0;
}
.tw-blog-pagination .pagination > li > a,
.tw-blog-pagination .pagination > li > span {
  border: none;
  background: var(--tw-white);
  color: var(--tw-gray);
  font-family: var(--tw-font-body);
  font-size: 14px;
  font-weight: 600;
  padding: 10px 16px;
  border-radius: 6px;
  transition: all var(--tw-transition);
}
.tw-blog-pagination .pagination > li > a:hover {
  background: var(--tw-gold);
  color: var(--tw-white);
}
.tw-blog-pagination .pagination > li.active > a,
.tw-blog-pagination .pagination > li.active > a:hover {
  background: var(--tw-black);
  color: var(--tw-white);
  border: none;
}

/* -- Blog Empty State -- */
.tw-blog-empty {
  text-align: center;
  padding: 80px 30px;
}
.tw-blog-empty i {
  font-size: 48px;
  color: var(--tw-gold);
  margin-bottom: 20px;
  display: block;
}
.tw-blog-empty h3 {
  font-family: var(--tw-font-display);
  font-size: 1.8em;
  color: var(--tw-black);
  margin: 0 0 10px;
}
.tw-blog-empty p {
  font-family: var(--tw-font-body);
  font-size: 15px;
  color: var(--tw-gray);
  margin: 0 0 30px;
}
.tw-blog-empty__btn {
  display: inline-block;
  padding: 14px 40px;
  font-family: var(--tw-font-display);
  font-size: 1em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-decoration: none;
  border-radius: var(--tw-radius-pill);
  background: var(--tw-gold);
  color: var(--tw-white);
  transition: all var(--tw-transition);
}
.tw-blog-empty__btn:hover {
  background: var(--tw-black);
  color: var(--tw-yellow);
  text-decoration: none;
}

/* -- Blog CTA Spacing Override -- */
.tw-blog-cta {
  margin-top: 0;
}

/* ==========================================================================
   SINGLE ARTICLE / CMS POST STYLES
   ========================================================================== */

/* -- Article Hero -- */
.tw-article-hero {
  position: relative;
  width: 100%;
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(145deg, #1a1a2e 0%, #0d0d1a 40%, #1a1a2e 100%);
}
.tw-article-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at 70% 40%, rgba(212, 175, 55, 0.06) 0%, transparent 60%);
  z-index: 1;
}
.tw-article-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 70px 30px;
  max-width: 800px;
}
.tw-article-hero__accent {
  width: 50px;
  height: 3px;
  background: var(--tw-gold);
  margin: 0 auto 24px;
}
.tw-article-hero__title {
  font-family: var(--tw-font-display);
  font-size: 2.8em;
  font-weight: 900;
  color: var(--tw-white);
  margin: 0 0 18px;
  line-height: 1.15;
}
.tw-article-hero__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
.tw-article-hero__author,
.tw-article-hero__date {
  font-family: var(--tw-font-body);
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 1px;
  text-transform: uppercase;
}
.tw-article-hero__author i,
.tw-article-hero__date i {
  color: var(--tw-gold);
  margin-right: 6px;
}

/* Article Hero — Responsive */
@media (max-width: 991px) {
  .tw-article-hero { min-height: 280px; }
  .tw-article-hero__title { font-size: 2.2em; }
}
@media (max-width: 767px) {
  .tw-article-hero { min-height: 240px; }
  .tw-article-hero__content { padding: 45px 20px; }
  .tw-article-hero__title { font-size: 1.7em; }
  .tw-article-hero__meta { gap: 12px; }
  .tw-article-hero__author,
  .tw-article-hero__date { font-size: 11px; }
}

/* -- Article Body -- */
.tw-article {
  background: var(--tw-white);
  padding: 50px 0 30px;
}
.tw-article__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
.tw-article__featured-image {
  margin-bottom: 30px;
  border-radius: var(--tw-radius-card);
  overflow: hidden;
}
.tw-article__featured-image--alt {
  margin-bottom: 40px;
}
.tw-article__image {
  width: 100%;
  height: auto;
  display: block;
}
.tw-article__intro {
  font-family: var(--tw-font-body);
  font-size: 18px;
  line-height: 1.75;
  color: var(--tw-gray);
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #eaeaea;
  font-weight: 400;
}
.tw-article__content {
  font-family: var(--tw-font-body);
  font-size: 16px;
  line-height: 1.8;
  color: #444;
  margin-bottom: 40px;
}
.tw-article__content h2,
.tw-article__content h3,
.tw-article__content h4 {
  font-family: var(--tw-font-display);
  color: var(--tw-black);
  margin-top: 35px;
  margin-bottom: 15px;
}
.tw-article__content h2 { font-size: 1.8em; }
.tw-article__content h3 { font-size: 1.4em; }
.tw-article__content h4 { font-size: 1.15em; }
.tw-article__content p {
  margin-bottom: 18px;
}
.tw-article__content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 20px 0;
}
.tw-article__content a {
  color: var(--tw-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.tw-article__content a:hover {
  color: var(--tw-black);
}
.tw-article__content blockquote {
  border-left: 3px solid var(--tw-gold);
  margin: 30px 0;
  padding: 15px 25px;
  background: var(--tw-offwhite);
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: var(--tw-gray);
}
.tw-article__content ul,
.tw-article__content ol {
  padding-left: 24px;
  margin-bottom: 18px;
}
.tw-article__content li {
  margin-bottom: 6px;
}

/* -- Social Sharing -- */
.tw-article__share {
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
  padding: 24px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 40px;
}
.tw-article__share-label {
  font-family: var(--tw-font-body);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--tw-gray);
}
.tw-article__share-links {
  display: flex;
  gap: 10px;
}
.tw-article__share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--tw-offwhite);
  color: var(--tw-gray);
  font-size: 16px;
  text-decoration: none;
  transition: all var(--tw-transition);
}
.tw-article__share-btn:hover {
  text-decoration: none;
  transform: translateY(-2px);
}
.tw-article__share-btn--fb:hover {
  background: #1877F2;
  color: var(--tw-white);
}
.tw-article__share-btn--tw:hover {
  background: #1DA1F2;
  color: var(--tw-white);
}
.tw-article__share-btn--pin:hover {
  background: #E60023;
  color: var(--tw-white);
}
.tw-article__share-btn--email:hover {
  background: var(--tw-gold);
  color: var(--tw-white);
}

/* -- Related Content (More Articles) -- */
.tw-article-related-content {
  background: var(--tw-offwhite);
  padding: 60px 0 50px;
}
.tw-article-related-content__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}
.tw-article-related-content__title {
  font-family: var(--tw-font-display);
  font-size: 2em;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--tw-black);
  text-align: center;
  margin: 0 0 40px;
}

/* -- Related Products -- */
.tw-article-products {
  padding: 60px 0;
  background: var(--tw-white);
}
.tw-article-products__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}
.tw-article-products__title {
  font-family: var(--tw-font-display);
  font-size: 2em;
  font-weight: 900;
  text-transform: uppercase;
  color: var(--tw-black);
  text-align: center;
  margin: 0 0 40px;
}

/* -- Comments Section -- */
.tw-article-comments {
  background: var(--tw-offwhite);
  padding: 60px 0 80px;
}
.tw-article-comments__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
.tw-article-comments__title {
  font-family: var(--tw-font-display);
  font-size: 1.8em;
  font-weight: 900;
  color: var(--tw-black);
  margin: 0 0 30px;
}
.tw-article-comments__count {
  font-weight: 400;
  color: var(--tw-gray);
  font-size: 0.7em;
}

/* Individual Comment */
.tw-comment {
  background: var(--tw-white);
  border-radius: var(--tw-radius-card);
  padding: 28px 28px 24px;
  margin-bottom: 16px;
}
.tw-comment__header {
  margin-bottom: 14px;
}
.tw-comment__title {
  font-family: var(--tw-font-display);
  font-size: 1.1em;
  font-weight: 700;
  color: var(--tw-black);
  margin: 0 0 6px;
  font-style: italic;
}
.tw-comment__meta {
  font-family: var(--tw-font-body);
  font-size: 12px;
  color: var(--tw-gray);
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.7;
}
.tw-comment__sep {
  margin: 0 6px;
}
.tw-comment__body {
  font-family: var(--tw-font-body);
  font-size: 15px;
  line-height: 1.7;
  color: #444;
}
.tw-comment__response {
  margin-top: 16px;
  padding: 16px 20px;
  background: var(--tw-offwhite);
  border-radius: 8px;
  border-left: 3px solid var(--tw-gold);
}
.tw-comment__response-label {
  font-family: var(--tw-font-body);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--tw-gold);
  display: block;
  margin-bottom: 6px;
}
.tw-comment__response-label i {
  margin-right: 4px;
}
.tw-comment__response p {
  font-family: var(--tw-font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--tw-gray);
  margin: 0;
}

/* Comment Form */
.tw-comment-form {
  margin-top: 40px;
  background: var(--tw-white);
  border-radius: var(--tw-radius-card);
  padding: 35px 30px;
}
.tw-comment-form__title {
  font-family: var(--tw-font-display);
  font-size: 1.4em;
  font-weight: 700;
  color: var(--tw-black);
  margin: 0 0 24px;
}
.tw-comment-form__field {
  margin-bottom: 20px;
}
.tw-comment-form__field label {
  display: block;
  font-family: var(--tw-font-body);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--tw-gray);
  margin-bottom: 8px;
}
.tw-comment-form__input {
  width: 100%;
  padding: 12px 16px;
  font-family: var(--tw-font-body);
  font-size: 14px;
  color: var(--tw-gray);
  background: var(--tw-offwhite);
  border: 2px solid transparent;
  border-radius: 8px;
  outline: none;
  transition: border-color var(--tw-transition), background var(--tw-transition);
  -webkit-appearance: none;
}
.tw-comment-form__input:focus {
  border-color: var(--tw-gold);
  background: var(--tw-white);
}
textarea.tw-comment-form__input {
  resize: vertical;
  min-height: 120px;
}
.tw-comment-form__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.tw-comment-form__note {
  font-family: var(--tw-font-body);
  font-size: 12px;
  color: var(--tw-gray);
  opacity: 0.6;
  margin: 0;
}

/* Comment Form — Mobile */
@media (max-width: 767px) {
  .tw-comment-form {
    padding: 24px 20px;
  }
  .tw-comment {
    padding: 20px;
  }
}

/* ==========================================================================
   SHOPPING CART PAGE
   ========================================================================== */

/* -- Cart Layout -- */
.tw-cart {
  padding-bottom: 40px;
}
.tw-cart__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 0 20px;
  border-bottom: 2px solid var(--tw-offwhite, #f0efeb);
  margin-bottom: 24px;
}
.tw-cart__title {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 28px;
  font-weight: 700;
  color: var(--tw-black, #1a1a2e);
  margin: 0;
}
.tw-cart__header-action .btn {
  padding: 10px 28px;
  font-size: 14px;
}

/* -- Cart Items List -- */
.tw-cart__items {
  border: 1px solid #eee;
  border-radius: 8px;
  overflow: hidden;
}

/* -- Individual Cart Item -- */
.tw-cart-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  border-bottom: 1px solid #f0f0f0;
  position: relative;
}
.tw-cart-item:last-child {
  border-bottom: none;
}
.tw-cart-item__image {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
}
.tw-cart-item__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 6px;
  background: var(--tw-offwhite, #f0efeb);
}
.tw-cart-item__details {
  flex: 1;
  min-width: 0;
}
.tw-cart-item__name {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 4px;
  line-height: 1.3;
}
.tw-cart-item__name a {
  color: var(--tw-black, #1a1a2e);
  text-decoration: none;
}
.tw-cart-item__name a:hover {
  color: var(--tw-gold, #D4AF37);
}
.tw-cart-item__variant {
  display: block;
  font-size: 13px;
  color: #888;
  margin-bottom: 6px;
}
.tw-cart-item__badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 3px 8px;
  border-radius: 3px;
  margin-top: 4px;
}
.tw-cart-item__badge--success {
  background: #e8f5e9;
  color: #2e7d32;
}
.tw-cart-item__badge--warning {
  background: #fff8e1;
  color: #f57f17;
}
.tw-cart-item__badge--info {
  background: #e3f2fd;
  color: #1565c0;
}
.tw-cart-item__components {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
  font-size: 13px;
  color: #666;
}
.tw-cart-item__components li {
  padding: 2px 0;
}
.tw-cart-item__comp-qty {
  width: 40px;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 2px 4px;
  font-size: 13px;
}
.tw-cart-item__comp-qty.readonly {
  background: var(--tw-offwhite, #f0efeb);
  cursor: not-allowed;
}

/* Cart Item — Qty */
.tw-cart-item__qty {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.tw-cart-item__qty .tw-qty-selector {
  border-width: 1px;
}
.tw-cart-item__qty .tw-qty-btn {
  width: 28px;
  font-size: 13px;
}
.tw-cart-item__qty .tw-qty-input {
  width: 36px;
  font-size: 12px;
}

/* Cart Item — Price */
.tw-cart-item__price {
  flex-shrink: 0;
  text-align: right;
  min-width: 90px;
}
.tw-cart-item__unit-price {
  display: block;
  font-size: 12px;
  color: #999;
}
.tw-cart-item__discount {
  display: block;
  font-size: 12px;
  color: #d32f2f;
  font-weight: 600;
}
.tw-cart-item__subtotal {
  display: block;
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: var(--tw-black, #1a1a2e);
  margin-top: 2px;
}

/* Cart Item — Remove */
.tw-cart-item__remove {
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  padding-top: 2px;
}
.tw-cart-item__remove-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #bbb;
  font-size: 14px;
  transition: all 0.2s ease;
  text-decoration: none;
}
.tw-cart-item__remove-btn:hover {
  background: #fdecea;
  color: #d32f2f;
  text-decoration: none;
}

/* Cart Item — Free Gifts */
.tw-cart-item__gifts {
  margin-top: 12px;
  padding: 12px;
  background: #f9fbe7;
  border-radius: 6px;
}
.tw-cart-item__gifts h4 {
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 8px;
  color: #558b2f;
}
.tw-cart-item__gift-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.tw-cart-item__gift-option {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  padding: 6px 10px;
  border-radius: 4px;
  font-size: 12px;
}
.tw-cart-item__gift-option img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 3px;
}

/* -- Cart Actions Bar -- */
.tw-cart__actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  gap: 12px;
}
.tw-cart__actions .btn {
  padding: 10px 24px;
  font-size: 13px;
}

/* -- Order Summary Sidebar -- */
.tw-cart-summary {
  background: var(--tw-offwhite, #f0efeb);
  border-radius: 10px;
  padding: 28px 24px;
  position: sticky;
  top: 20px;
}
.tw-cart-summary__title {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 22px;
  font-weight: 700;
  color: var(--tw-black, #1a1a2e);
  margin: 0 0 20px;
}
.tw-cart-summary__section {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #e0dfdb;
}
.tw-cart-summary__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 14px;
  color: #555;
  padding: 6px 0;
}
.tw-cart-summary__row--discount {
  color: #d32f2f;
}
.tw-cart-summary__row--discount span:first-child {
  flex: 1;
  padding-right: 10px;
}
.tw-cart-summary__free {
  color: #2e7d32;
  font-weight: 600;
}
.tw-cart-summary__remove-coupon {
  color: #d32f2f;
  margin-left: 6px;
  font-size: 12px;
}
.tw-cart-summary__remove-coupon:hover {
  color: #b71c1c;
}

/* Summary — Total */
.tw-cart-summary__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  margin-bottom: 16px;
  border-bottom: 1px solid #e0dfdb;
}
.tw-cart-summary__total span:first-child {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 16px;
  font-weight: 700;
  color: var(--tw-black, #1a1a2e);
}
.tw-cart-summary__total span:last-child {
  font-family: var(--tw-font-body, 'Montserrat', sans-serif);
  font-size: 22px;
  font-weight: 800;
  color: var(--tw-black, #1a1a2e);
}

/* Summary — Shipping Message */
.tw-cart-summary__shipping-msg {
  padding: 10px 14px;
  background: #fff;
  border-radius: 6px;
  margin-bottom: 16px;
}
.tw-cart-summary__shipping-msg p {
  margin: 0;
  font-size: 13px;
  color: #555;
}
.tw-cart-summary__shipping-msg .fa-check-circle {
  color: #2e7d32;
  margin-right: 4px;
}
.tw-cart-summary__shipping-msg .fa-truck {
  color: var(--tw-gold, #D4AF37);
  margin-right: 4px;
}

/* Summary — Coupon Code */
.tw-cart-summary__coupon {
  margin-bottom: 20px;
}
.tw-cart-summary__coupon h4 {
  font-size: 13px;
  font-weight: 600;
  color: var(--tw-black, #1a1a2e);
  margin: 0 0 10px;
}
.tw-cart-summary__coupon-form {
  display: flex;
  gap: 8px;
}
.tw-cart-summary__coupon-form .tw-form-input {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 13px;
  background: #fff;
}
.tw-cart-summary__coupon-form .btn {
  padding: 8px 16px;
  font-size: 12px;
  white-space: nowrap;
}

/* Summary — Checkout Buttons */
.tw-cart-summary__checkout {
  margin-top: 20px;
}
.tw-cart-summary__checkout-btn {
  display: block;
  width: 100%;
  padding: 14px 20px !important;
  font-size: 15px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 10px;
}
.tw-cart-summary__paypal-btn {
  display: block;
  width: 100%;
  padding: 12px 20px;
  background: #ffc439;
  color: #111;
  border: none;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-bottom: 8px;
}
.tw-cart-summary__paypal-btn:hover {
  background: #f0b000;
  color: #111;
  text-decoration: none;
}
.tw-cart-summary__paypal-btn .fa-cc-paypal {
  font-size: 20px;
  vertical-align: middle;
  margin-left: 4px;
}
.tw-cart-summary__alt-btn {
  display: block;
  text-align: center;
  margin-top: 8px;
}
.tw-cart-summary__alt-btn img {
  max-height: 34px;
}

/* Summary — Payment Plan Select */
.tw-cart-summary__section h4 {
  font-size: 13px;
  font-weight: 600;
  color: var(--tw-black, #1a1a2e);
  margin: 0 0 8px;
}
.tw-cart-summary__section .tw-form-input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 13px;
  background: #fff;
}

/* -- Empty Cart State -- */
.tw-cart-empty {
  padding: 60px 15px 80px;
}
.tw-cart-empty__inner {
  text-align: center;
  max-width: 460px;
  margin: 0 auto;
}
.tw-cart-empty__icon {
  font-size: 56px;
  color: #ddd;
  margin-bottom: 20px;
}
.tw-cart-empty__title {
  font-family: var(--tw-font-display, 'Fraunces', serif);
  font-size: 28px;
  font-weight: 700;
  color: var(--tw-black, #1a1a2e);
  margin: 0 0 12px;
}
.tw-cart-empty__text {
  font-size: 15px;
  color: #777;
  line-height: 1.6;
  margin-bottom: 28px;
}

/* -- Cart Page — Mobile -- */
@media (max-width: 991px) {
  .tw-cart-summary {
    margin-top: 24px;
    position: static;
  }
}
@media (max-width: 767px) {
  .tw-cart__header {
    padding: 16px 0 12px;
  }
  .tw-cart__title {
    font-size: 22px;
  }
  .tw-cart-item {
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px;
  }
  .tw-cart-item__image {
    width: 72px;
    height: 72px;
  }
  .tw-cart-item__details {
    flex-basis: calc(100% - 88px);
  }
  .tw-cart-item__qty {
    order: 3;
  }
  .tw-cart-item__price {
    order: 4;
    text-align: left;
    min-width: auto;
  }
  .tw-cart-item__remove {
    position: absolute;
    top: 12px;
    right: 12px;
  }
  .tw-cart__actions {
    flex-direction: column;
  }
  .tw-cart__actions .btn {
    width: 100%;
    text-align: center;
  }
  .tw-cart-summary {
    padding: 20px 16px;
  }
  .tw-cart-empty {
    padding: 40px 15px 60px;
  }
  .tw-cart-empty__title {
    font-size: 22px;
  }
}

/* -- Override old cart table styles -- */
.tw-cart .table,
.tw-cart .table-bordered,
.tw-cart .cart-table,
.tw-cart .cartTable {
  display: none !important;
}
.tw-cart .panel,
.tw-cart .well {
  display: none !important;
}

