/*
Theme Name: SiteOrigin Corp Child
Author: SiteOrigin
Author URI: https://siteorigin.com/
Theme URI: https://siteorigin.com/theme/corp
Description: SiteOrigin Corp Child Theme
Version: 1.0.0
Template: siteorigin-corp
Text Domain: siteorigin-corp
Domain Path: /languages/
*/

/* =Theme customization starts here
-------------------------------------------------------------- */

/* CSS Custom Properties for Fonts and Colors */
:root {
	--font-primary: 'poppins', 'open sans', sans-serif;
	--font-headings: 'poppins', 'open sans', sans-serif;
	--font-body: 'poppins', 'open sans', sans-serif;
	--font-fallback: 'open sans', sans-serif;
	
	/* Colors */
	--color-primary: #575757;
	--color-secondary: #8b2e34;
	--color-text: #262a3f;
	--color-text-dark: #2d2d2d;
	--color-text-light: #151515;
	--color-border: #e6e6e6;
	--color-background-light: #F0EDD8;
	--color-white: #fff;
	--color-black: #000;
}

/* Override parent theme fonts globally */
body,
button,
input,
select,
textarea {
	font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-headings) !important;
}

/* Typography */
body {
	color: var(--color-text);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.3em;
}

p {
	margin: 0 0 20px;
}

b, strong, #content strong {
	font-weight: 600;
}

.smalltext p {
	font-size: 15px !important;
}

h1, h2, h3, h4, h5 {
	font-weight: 600;
	margin: 25px 0;
	line-height: 1.2em;
	color: inherit;
}

h1 {
	font-size: 36px;
}

h2 {
	font-size: 28px;	
	margin: 0px 0 25px;
}

h3 {
	font-size: 22px;
}

h4 {
	font-size: 16px;
	margin: 15px 0 5px;
}

.entry-title {
	font-size: 36px;
	font-weight: 600;
	line-height: 1.2em;
	margin: 0 0 30px;
	color: inherit;
}

.textwidget h3, 
h3.widget-title,
.textwidget h2, 
h2.widget-title {
	font-weight: 600;
	line-height: 1.2em;
	text-transform: none;
}

/* Widget titles in footer and widget areas */
.site-footer .widget h2.widget-title,
.site-footer .widget .widget-title,
.site-footer .widget .wp-block-group__inner-container :is(h1, h2, h3, h4, h5, h6),
.widget-area .widget h2.widget-title,
.widget-area .widget .widget-title,
.widget-area .widget .wp-block-group__inner-container :is(h1, h2, h3, h4, h5, h6) {
	font-size: 1em;
	font-weight: 600;
	letter-spacing: 1px;
	margin: 0 0 10px;
	text-transform: uppercase;
}

table, table td, table th {
	color: var(--color-primary);
	font-weight: 600;
	font-size: 18px;
}

#content i.fa,
#content i.far,
#content i.fab,
#content i.fas {
	width: 32px;
	text-align: center;
	font-size: 18px;
	margin: 5px 0;
}

.entry-content ul {
	margin: 20px 0 15px 15px;
}

.entry-content ul li {
	font-weight: 500;
	margin: 10px 0;
	line-height: 1.2em;
	padding-left: 15px;
}

blockquote {
	font-size: 24px;
	font-style: normal;
	color: var(--color-primary);
	font-weight: 400;
	line-height: 1.3em;
	padding: 5px 20px;
}

.site-footer .widget ul li, 
.widget-area .widget ul li {
	line-height: 1.3em;
}

.site-footer .widget, 
.widget-area .widget {
	margin: 0 0 30px;
}

/* ========================================
   Buttons
======================================== */


.button, button {
	text-transform: none;
}

.button, 
input[type="submit"] {
	font-weight: 600;
	font-size: 17px;
	padding: 8px 20px;
	border: 1px solid var(--color-primary);
	margin: 10px 0;
	display: inline-block;
	color: var(--color-white);
	background-color: var(--color-primary);
	text-transform: uppercase;
}

.button:hover,
button:hover,
input[type="button"]:hover, 
input[type="reset"]:hover, 
input[type="submit"]:hover {
	background: inherit;
	background-color: #262a3f !important;
	color: var(--color-white);
}

input[type="color"],
input[type="date"],
input[type="datetime-local"], 
input[type="datetime"],
input[type="email"],
input[type="month"], 
input[type="number"], 
input[type="password"], 
input[type="range"], 
input[type="search"],
input[type="tel"], 
input[type="text"], 
input[type="time"], 
input[type="url"],
input[type="week"], 
textarea {
	border: 1px solid var(--color-border);
	padding: 7px 13px 8px;
	width: 100%;
}

/* ========================================
   Site Layout
======================================== */

.corp-container {
	max-width: 1300px;
}

/* Keep content/sidebar proportions aligned after widening container */
.sidebar .content-area {
	margin: 0 -25% 0 0;
}

.sidebar .site-main {
	margin: 0 25% 0 0;
}

.sidebar-left .content-area {
	margin: 0 0 0 -25%;
}

.sidebar-left .site-main {
	margin: 0 0 0 25%;
}

.widget-area {
	width: 25%;
}

/* ========================================
   Site Header
======================================== */

#masthead {
	border-bottom: 0px solid var(--color-white);
}

.header-widget {
	background-image: url('/wp-content/themes/siteorigin-corp-child/images/fabric-strip.jpg');
	color: var(--color-white);
	display: block;
	opacity: 1;
	font-size: 16px;
	font-weight: 600;
	line-height: 1em;
	margin: 0 auto;
	text-align: center;
	padding: 6px 30px 7px;
	-webkit-transition: height .4s linear;
	transition: height .4s linear;
	-webkit-transition: opacity .2s linear;
	transition: opacity .2s linear;
}

.site-header .site-header-inner {
	padding: 8px 0 8px;
}


.site-header .site-branding .site-description {
	color: #fff;
	font-family: Open Sans,sans-serif;
	font-weight: 400;
	font-size: 13px;
	line-height: normal;
	margin: 0;
}

/* ========================================
   Main Navigation
======================================== */

.main-navigation ul li {
	display: inline-block;
	margin: 0px 15px 0px 0;
	position: relative;
	font-size: 16px;
	text-align: left;
	text-transform: none;
	transition: .3s;
}

.main-navigation ul li a {
	font-weight: 400;
	font-size: 14px;
	letter-spacing: .25px;
	padding: 10px 0px 5px;
	color: var(--color-primary);
	text-transform: none;
}

.main-navigation ul li a i {
	font-size: 18px;
}

.main-navigation ul .children,
.main-navigation ul .sub-menu {
	top: 38px;
}

.main-navigation ul .children li a,
.main-navigation ul .sub-menu li a {
	border-bottom: 1px solid;
	border-color: var(--color-primary);
	color: var(--color-primary);
	font-weight: 400;
	max-width: 100%;
	padding: 8px 20px;
	white-space: nowrap;
}

.main-navigation ul .sub-menu li:hover a, 
.main-navigation ul .children li:hover a,
.main-navigation ul li ul li.current-menu-item a {
	background: var(--color-secondary);
}

#mobile-menu-button {
	right: 0px;
	top: 0px;
}

#mobile-navigation ul li a {
	padding: 8px 30px;
}

.main-navigation .search-toggle, 
.main-navigation .shopping-cart {
	margin-left: 15px;
}

.site-header .shopping-cart-link .shopping-cart-count {
	right: -13px;
	top: -5px;
}

@media only screen and (max-width: 780px) {
	.site-header .shopping-cart {
		margin: 0 25px 0 20px !important;
	}
}


.main-navigation .dgwt-wcas-ico-magnifier-handler,
html:not(.dgwt-wcas-overlay-mobile-on) .dgwt-wcas-search-wrapp.dgwt-wcas-layout-icon {
	max-width: 20px;
	margin: 0 10px;
}

.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp {
	background: none;
	padding: 0px;
	border-radius: 10px;
}


/* ========================================
   Key Selling Points
======================================== */


/* ========================================
   Shopping Cart
======================================== */

.site-header .shopping-cart-dropdown .widget .woocommerce-mini-cart__empty-message {
	font-size: 16px;
	font-weight: 600;
}

/* ========================================
   Breadcrumbs
======================================== */

.home #yoast-breadcrumbs {
	display: none;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--color-secondary);
}

/* ========================================
   Page Header
======================================== */

#pageheader {
	padding: 180px 0 200px;
	background-color: #000;
	background-position: center center;
	background-size: cover;
}

#pageheader h1 {
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.3;
	color: var(--color-white);
	border-bottom: 1px solid var(--color-primary);
}

@media only screen and (max-width: 768px) {
	#pageheader {
		padding: 100px 0 110px;
	}
}

/* ========================================
   WooCommerce Home Page
======================================== */

mark.count {
	display: none;
}

.best-sellers .woocommerce-LoopProduct-link,
.best-sellers .woocommerce-LoopProduct-link a,
.best-sellers .woocommerce .product .price,
.best-sellers .woocommerce-LoopProduct-link a:visited,	
.best-sellers .woocommerce .products .product .woocommerce-loop-product__title:hover, 
.best-sellers .woocommerce .products .product .woocommerce-loop-category__title:hover {
	color: var(--color-white);
}

/* ========================================
   WooCommerce Archive
======================================== */

#topbar p {
	margin-bottom: 0px;
	font-weight: 600;
}

.woocommerce #secondary.widget-area {
	width: 25%;
}

.woocommerce.woocommerce-sidebar .content-area {
	margin: 0 -25% 0 0;
}

.woocommerce.woocommerce-sidebar .site-main {
	margin: 0 25% 0 0;
}

.woocommerce.woocommerce-sidebar-left .content-area {
	margin: 0 0 0 -25%;
}

.woocommerce.woocommerce-sidebar-left .site-main {
	margin: 0 0 0 25%;
}

@media (max-width: 768px) {
	.woocommerce.woocommerce-sidebar .content-area {
		margin: 0;
		width: 100%;
	}
}

.widget-area .widget h2.widget-title,
.bapf_head h3 {
	font-weight: 600;
	line-height: 1.1em;
	letter-spacing: 1px;
	margin: 0 0 10px;
	text-transform: none;
	font-size: 18px;
}

.widget-area .widget .widget-title ~ *,
.widget-area .widget .wp-block-group__inner-container :is(h1, h2, h3, h4, h5, h6) ~ * {
	font-size: 16px;
}

.children {
	font-size: 14px;
}

.widget-area .widget:not(.widget_tag_cloud):not(.widget_shopping_cart) a:not(.button) {
	color: var(--color-text-dark);
}

.widget_product_categories .product-categories li a, 
.woocommerce-widget-layered-nav-list li a {
	color: var(--color-primary);
	display: inline-block;
	margin-bottom: 3px;
}



.woocommerce .products .product .woocommerce-loop-category__title, 
.woocommerce .products .product .woocommerce-loop-product__title {
	font-size: 17px;
	font-weight: 500;
	line-height: normal;
	text-transform: none;
	margin: 20px 0 2px;
}

.berocket_ajax_group_filter_title {
	font-size: 18px;
	letter-spacing: 1px;
	margin: 0 0 15px;
	color: var(--color-primary);
}

.bapf_sfilter ul li {
	line-height: 1.1em;
}

.bapf_sfilter ul li label {
	color: var(--color-text-dark);
	font-size: 16px;
}










/* ========================================
   WooCommerce Products
======================================== */

.woocommerce .product .entry-title {
	font-size: 26px;
	text-transform: none;
}

.woocommerce .product .price {
	color: var(--color-primary);
	font-size: 20px;
}

.woocommerce .product .variations .label label {
	color: var(--color-text-dark);
	font-size: 16px;
	font-weight: 600;
}

.woocommerce .product table,
.woocommerce .product table td,
.woocommerce .product table th {
	color: var(--color-text-light);
	font-weight: 600;
	font-size: 16px;
}

.filling-logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px;
	margin-bottom: 20px;
}

.filling-logos img {
	max-height: 50px;
}

.iconic-was-swatches {
	list-style: none;
	margin: 0px 0 10px 0px;
	padding: 0;
	overflow-y: hidden;
}

.woocommerce-product-details__short-description ul {
	margin: 20px 0 15px 15px;
}

.woocommerce-product-details__short-description p:not(:first-child) {
	font-weight: 500;
	margin: 10px 0 !important;
	line-height: 1.2em;
	list-style: none;
	padding: 0;
	padding-left: 25px;
	position: relative;
}

.woocommerce-product-details__short-description p:not(:first-child)::before {
	content: "";
	width: 8px;
	height: 8px;
	background-color: var(--color-primary);
	position: absolute;
	left: 5px;
	top: 50%;
	border-radius: 50%;
	transform: translateY(-50%);
}



.woocommerce form .corp-variations-wrapper .ordering-selector-wrapper,
.woocommerce form.woocommerce-ordering .ordering-selector-wrapper {
	cursor: pointer;
	font-size: 15px;
	line-height: normal;
}

.woocommerce .product .variations {
	margin-bottom: 0px;
}

.woocommerce .button.single_add_to_cart_button {
	font-weight: 400;
	font-size: 15px;
	padding: 5px 35px 6px;
	border: 0px solid var(--color-accent);
	margin: 10px 0;
	display: inline-block;
	color: var(--color-white);
	background-color: var(--color-secondary);
	text-transform: none;
}

.woocommerce .button.single_add_to_cart_button:hover {
	border: 0px solid var(--color-accent);
	color: var(--color-white);
	background-color: var(--color-text) !important;
}

.infotabs h3 {
	margin: 0 0 15px 0;
	padding: 15px 0;
	border-bottom: 1px solid var(--color-secondary);
}

.infotabs p {
	margin: 0 0 15px 0;
}

/* Match reviews and related products titles to widget/infotabs styling */
.woocommerce .product .related > h2,
.woocommerce-Reviews-title {
	margin: 0 0 15px 0;
	padding: 15px 0;
	border-bottom: 1px solid var(--color-secondary);
	font-size: 22px;
	text-transform: none;
}

.woocommerce .product .related > h2 {
	border-bottom: 0px solid var(--color-secondary);
}

.woocommerce-error,
.woocommerce-info, 
.woocommerce-message, 
.woocommerce-store-notice {
	background: var(--color-secondary);
	color: var(--color-white);
	font-size: 16px;
	line-height: 55px;
	margin: 0 0 25px;
	min-height: 30px;
	padding: 15px 20px;
	position: relative;
	word-wrap: break-word;
}

.woocommerce-store-notice {
	background: #160a1f;
}

/* Style links within WooCommerce messages */
.woocommerce-error a:not(.button),
.woocommerce-info a:not(.button), 
.woocommerce-message a:not(.button), 
.woocommerce-store-notice a:not(.button) {
	color: var(--color-white) !important;
	text-decoration: none;
	font-weight: 700;
	margin-left: 5px;
}

.woocommerce-error a:not(.button):hover,
.woocommerce-info a:not(.button):hover, 
.woocommerce-message a:not(.button):hover, 
.woocommerce-store-notice a:not(.button):hover {
	color: var(--color-white) !important;
	text-decoration: underline;
}


.entry-content ul.woocommerce-error {
	margin: 15px 0 15px 0;
}

.entry-content ul li {
	font-weight: 500;
	line-height: 1em;
}

.woocommerce .product .images .flex-control-thumbs li {
	cursor: pointer;
	float: left;
	margin: 15px 10px 0 0;
	width: 14.3%;
}

.woocommerce .product .images .flex-control-thumbs li:nth-of-type(4n+4) {
	margin-right: 10px;
}

.woocommerce .product .images .flex-control-thumbs li:nth-of-type(6n+6) {
	margin-right: 0px;
}



/* ========================================
   WooCommerce OnSale Badge
======================================== */


/* Customise WooCommerce sale badge */
.woocommerce span.onsale {
    background-color: var(--color-secondary);
    color: #fff;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 50%;
    text-align: center;
    font-weight: bold;
    font-size: 13px;
    padding: 0;
    margin: 0;
    top: 10px;
    right: 10px;
    left: auto;
    bottom: auto;
    transform: rotate(-15deg);
    min-height: auto;
    min-width: auto;
}




/* ========================================
   WooCommerce Cart
======================================== */

.site-header .shopping-cart-dropdown {
	width: 350px;
}

/* ========================================
   WooCommerce Basket/Checkout
======================================== */

.woocommerce-cart table.cart tr td, 
.woocommerce-cart table.cart tr th {
	text-transform: none;
	color: var(--color-primary);
}

.woocommerce-cart table.cart .cart_item a {
	color: var(--color-primary);
	font-weight: 600;
}

body:not(.single) .entry-content p.form-row.notes {
	margin-bottom: 15px;
}

.payment_method_stripe fieldset {
	border: 0px solid silver;
	margin: 0 2px;
	padding: .35em .625em .75em;
}


/* ========================================
   WooCommerce Fix Password Icons
======================================== */



/* WooCommerce Password Toggle Button Fix */
.woocommerce form .show-password-input {
    position: absolute;
    right: 0.5em;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    cursor: pointer;
    width: 2em;
    height: 2em;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.woocommerce form .show-password-input::before {
    content: "";
    display: block;
    width: 1.5em;
    height: 1.5em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.woocommerce form .show-password-input.display-password::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpath d='M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24'/%3E%3Cline x1='1' y1='1' x2='23' y2='23'/%3E%3C/svg%3E");
}

.woocommerce form .password-input {
    position: relative;
    display: block;
}

/* ========================================
   WooCommerce Checkout Account Creation Enhancement
======================================== */


p.form-row.create-account {
	border:1px solid #8B2E34;
	padding:10px;
	background-color:#f8f8f8;
	border-radius:5px;
}

p.form-row.create-account label {
	font-size:15px;
}

/* Homepage login: keep "Remember me" copy readable on dark backgrounds */
body.home .entry-content .woocommerce-form-login label.woocommerce-form__label-for-checkbox,
body.home .entry-content .woocommerce-form-login label.woocommerce-form__label-for-checkbox span,
body.home .entry-content .woocommerce-form-login label[for="rememberme"],
body.home .entry-content .woocommerce-form-login p.woocommerce-form-row label,
body.home .entry-content .woocommerce-form-login .lost_password a {
	color: #fff !important;
}


/* ========================================
   Single Posts
======================================== */

.single .entry-header {
	display: none;
}

.entry-meta {
	font-size: 15px;
	color: #444;
}

.blog-layout-grid article .corp-content-wrapper {
	padding: 20px 25px 28px;
}

.blog-layout-grid article .entry-content {
	font-size: 16px;
}

h2.entry-title {
	color: var(--color-text-dark);
	font-size: 20px;
	font-family: var(--font-headings);
	font-weight: 300;
	line-height: normal;
	margin: 0 0 15px;
	border-bottom: 1px solid var(--color-primary);
	padding: 0 0 5px 0;
}

h2.entry-title a {
	font-size: 20px;
	font-weight: 400;
}

.more-link.excerpt {
	display: inline-block;
	margin-top: 26px;
}

.single .attachment-post-thumbnail,
.single .attachment-siteorigin-corp-720x480-crop {
	max-width: 60%;
	float: right;
	margin: 0 0 20px 20px;
}

.post-navigation {
	clear: both;
	margin: 20px 0;
	border-top: 1px solid var(--color-border);
	padding: 40px 0;
}

.post-navigation a div {
	color: var(--color-text-dark);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 15px;
	line-height: normal;
	transition: .3s;
}

/* ========================================
   Call To Action
======================================== */

#calltoaction {
	padding: 10px 25px;
	color: var(--color-white);
	text-align: center;
}

#calltoaction p {
	font-size: 40px;
	line-height: 1.2em;
}

#calltoaction a {
	display: inline-block;
	color: var(--color-white);
	font-weight: 400;
	font-size: 20px;
	border: 2px solid var(--color-white);
	padding: 7px 25px;
}

#calltoaction a:hover {
	background-color: var(--color-white);
	color: var(--color-primary);
}

@media only screen and (max-width: 768px) {
	#calltoaction p {
		font-size: 24px;
		line-height: 1.2em;
	}
}

/* ========================================
   Related Posts Section
======================================== */

.related-posts-section .attachment-siteorigin-corp-720x480-crop {
	max-width: 100%;
	float: left;
	margin: 0 0 20px 0px;
}

p.related-post-date {
	display: none;
}

.related-posts-section, 
.yarpp-related {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 35px;
	margin-top: 60px;
	padding-top: 10px;
	border-top: 1px solid var(--color-primary);
}

.comment-reply-title, 
.comments-title, 
.related-posts-section .related-posts,
.related-projects-section h3, 
.site-content #jp-relatedposts .jp-relatedposts-headline,
.site-content #primary .sharedaddy h3, 
.sub-heading, 
.yarpp-related .related-posts {
	color: inherit;
	font-size: inherit;
	line-height: normal;
	margin: 10px;
	text-transform: uppercase;
}

.related-posts-section ol li .related-post-title, 
.yarpp-related ol li .related-post-title {
	font-size: 18px;
	line-height: normal;
	margin: 0 0 3px;
	transition: .3s;
}

.related-posts-section ol li .corp-content-wrapper, 
.yarpp-related ol li .corp-content-wrapper {
	background: var(--color-white);
	border: 1px solid var(--color-border);
	padding: 20px 25px;
}

/* ========================================
   Footer
======================================== */

#colophon table td, 
table th {
	border: 0px solid var(--color-border);
	padding: 8px 16px;
}

.site-footer .widgets .widget,
.site-footer .widgets .widget a {
	font-weight: 400;
	font-size: 16px;
	line-height: 1.3em;
}

.site-footer .widgets .widget .widget-title {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 1px;
	margin: 0 0 10px !important;
	padding: 0 0 10px;
	text-transform: none;
}

.site-footer p {
	margin: 0 0 5px 0;
	font-size: 15px;
	padding: 5px 0 5px;
	line-height: 1.3em;
}

.site-footer i {
	width: 40px;
	text-align: center;
	font-size: 20px;
	vertical-align: middle;
}

.site-footer ul.sub-menu {
	padding-left: 15px;
}







/* ==========================================================================
   PRODUCT TABLE STYLES — Barn2 WooCommerce Product Table
   Drop into child theme style.css or functions.php wp_enqueue
   ========================================================================== */

/* --- Brand variables — adjust to match site palette --- */
:root {
    --dd-header-bg: #2d2d2d;
    --dd-header-text: #ffffff;
    --dd-row-even: #f9f9f9;
    --dd-row-odd: #ffffff;
    --dd-row-hover: #f0f0f0;
    --dd-border: #e0e0e0;
    --dd-text: #333333;
    --dd-text-light: #666666;
    --dd-link: #2d2d2d;
    --dd-link-hover: #555555;
    --dd-in-stock: #4a8c3f;
    --dd-out-of-stock: #c33;
    --dd-btn-bg: #2d2d2d;
    --dd-btn-text: #ffffff;
    --dd-btn-hover: #444444;
    --dd-input-border: #ccc;
    --dd-input-focus: #2d2d2d;
}

/* --- Wrapper & controls --- */
.wc-product-table-wrapper { font-size: 14px; color: var(--dd-text); }

.wc-product-table-controls.wc-product-table-above {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 0; margin-bottom: 4px;
}
.wc-product-table-controls .dataTables_filter label {
    font-size: 14px; font-weight: 400; color: var(--dd-text-light);
    display: flex; align-items: center; gap: 8px;
}
.wc-product-table-controls .dataTables_filter input[type="search"] {
    border: 1px solid var(--dd-input-border); border-radius: 3px;
    padding: 6px 10px; font-size: 14px; min-width: 220px;
    outline: none; transition: border-color 0.2s;
}
.wc-product-table-controls .dataTables_filter input[type="search"]:focus {
    border-color: var(--dd-input-focus);
}
.wc-product-table-controls .dataTables_info { font-size: 13px; color: var(--dd-text-light); }
.wc-product-table-reset a.reset {
    font-size: 12px; color: var(--dd-text-light);
    text-decoration: none; margin-left: 8px;
}
.wc-product-table-reset a.reset:hover { color: var(--dd-text); }

/* --- Table base --- */
.wc-product-table {
    border-collapse: collapse;
    border: 1px solid var(--dd-border);
    width: 100% !important;
}

/* --- Header --- */
.wc-product-table thead th {
    background: var(--dd-header-bg); color: var(--dd-header-text);
    font-size: 12px; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.05em;
    padding: 8px 10px; border-bottom: 2px solid var(--dd-header-bg);
    text-align: center; white-space: nowrap;
}
/* Override plugin's multicart left-align */
.wc-product-table.multicart-enabled thead th {
    text-align: center !important;
}
.wc-product-table thead th.sorting::before,
.wc-product-table thead th.sorting::after,
.wc-product-table thead th.sorting_asc::before,
.wc-product-table thead th.sorting_asc::after,
.wc-product-table thead th.sorting_desc::before,
.wc-product-table thead th.sorting_desc::after { opacity: 0.5; }
.wc-product-table thead th.sorting_asc::after,
.wc-product-table thead th.sorting_desc::before { opacity: 1; }

/* --- Rows & cells --- */
.wc-product-table tbody tr.odd td { background: var(--dd-row-odd); }
.wc-product-table tbody tr.even td { background: var(--dd-row-even); }
.wc-product-table tbody tr:hover td { background: var(--dd-row-hover); }
.wc-product-table tbody td {
    padding: 8px 10px; border-bottom: 1px solid var(--dd-border);
    vertical-align: middle; font-size: 13px; line-height: 1.4;
}

/* --- Image column — size controlled by Product Table admin setting --- */
.wc-product-table td.col-image {
    padding: 6px !important; text-align: center;
}
.wc-product-table td.col-image img.product-thumbnail {
    object-fit: cover; border-radius: 3px;
    border: 1px solid var(--dd-border);
}

/* --- Name column --- */
.wc-product-table td.col-name { font-weight: 600; font-size: 16px; }
.wc-product-table td.col-name a {
    color: var(--dd-link); text-decoration: none; transition: color 0.2s;
}
.wc-product-table td.col-name a:hover {
    color: var(--dd-link-hover); text-decoration: underline;
}

/* --- Stock column --- */
.wc-product-table th.col-stock,
.wc-product-table td.col-stock {
    width: 55px !important; max-width: 55px !important;
    padding-left: 4px !important; padding-right: 4px !important;
    text-align: center; white-space: normal !important;
}
.wc-product-table-wrapper .wc-product-table td.col-stock .stock {
    margin: 0; font-size: 10px !important; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.03em;
    line-height: 1.3; white-space: normal !important;
}
.wc-product-table td.col-stock .in-stock { color: var(--dd-in-stock); }
.wc-product-table td.col-stock .out-of-stock { color: var(--dd-out-of-stock); }

/* --- Price column — ex VAT suffix drops below --- */
.wc-product-table td.col-price {
    min-width: 100px; font-weight: 600; font-size: 14px;
}
.wc-product-table td.col-price ins { text-decoration: none; }
.wc-product-table td.col-price .woocommerce-price-suffix {
    display: block; font-size: 10px; font-weight: 400;
    color: var(--dd-text-light); margin-top: 1px;
    letter-spacing: 0.02em;
}

/* --- Buy column: variation selector, qty & add to cart --- */
.wc-product-table td.col-buy { min-width: 200px; }
.wc-product-table .add-to-cart-wrapper {
    display: flex; flex-direction: column; align-items: flex-end; gap: 4px;
}

/* Kill the variations table layout — force SIZE + pills onto one row */
.wc-product-table .variations,
.wc-product-table .variations tbody {
    display: block; margin: 0; border: none; width: auto;
}
.wc-product-table .variations tr {
    display: flex; align-items: center; justify-content: flex-end; gap: 5px;
    margin: 0; border: none;
}
.wc-product-table .variations td,
.wc-product-table .variations th,
.woocommerce .wc-product-table .variations tr td,
.woocommerce .wc-product-table .variations tr th {
    display: block; padding: 0 !important; border: none;
    background: transparent !important;
}
.wc-product-table .variations th.label {
    flex-shrink: 0; display: flex; align-items: center;
}

/* Size/attribute label — small, vertically centred with pills */
.wc-product-table-wrapper.siteorigin-corp .variations th.label,
.wc-product-table-wrapper.siteorigin-corp .variations th.label label {
    font-size: 10px !important; font-weight: 600 !important;
    color: var(--dd-text-light) !important;
    text-transform: uppercase !important; letter-spacing: 0.06em !important;
    white-space: nowrap !important; margin: 0 !important;
    padding: 0 !important; line-height: 1 !important;
}

/* Tighten the single_variation_wrap (price + qty + button area) */
.wc-product-table .single_variation_wrap { margin: 0; padding: 0; }
.wc-product-table .woocommerce-variation { margin: 0 0 2px 0; text-align: right; }
.wc-product-table .variations_button { margin: 0; }

/* Qty + button row — right-aligned with gap above pills */
.wc-product-table .add-to-cart-button {
    display: flex; align-items: center; justify-content: flex-end; gap: 6px;
    margin-top: 5px;
}

/* --- Custom variation pill buttons (built by JS from variation data) --- */

/* Pills container */
.wpt-pills-wrap {
    display: flex; flex-wrap: wrap; gap: 4px;
    margin: 0; justify-content: flex-end;
}

/* Individual pill */
.wpt-pill {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 4px 10px; margin: 0;
    font-size: 12px; font-weight: 500; line-height: 1.3;
    color: var(--dd-text); background: #f5f5f5;
    border: 1px solid var(--dd-border); border-radius: 3px;
    cursor: pointer; white-space: nowrap;
    min-width: 28px; text-align: center;
    transition: all 0.15s ease;
    user-select: none;
}

.wpt-pill:hover {
    background: var(--dd-header-bg); color: var(--dd-header-text);
    border-color: var(--dd-header-bg);
}

/* Selected pill */
.wpt-pill.wpt-pill-active {
    background: var(--dd-header-bg); color: var(--dd-header-text);
    border-color: var(--dd-header-bg); font-weight: 600;
}

/* Out of stock pill */
.wpt-pill.wpt-pill-oos {
    opacity: 0.4; text-decoration: line-through;
    cursor: default; background: #f0f0f0;
}
.wpt-pill.wpt-pill-oos:hover {
    background: #f0f0f0; color: var(--dd-text);
    border-color: var(--dd-border);
}

/* Hide Corp's dropdown — our pills replace it */
.wc-product-table .ordering-selector-wrapper { display: none !important; }

/* Hide "Clear" link */
.wc-product-table .reset_variations { display: none !important; }

/* Qty input */
.wc-product-table .quantity input.qty {
    width: 52px; padding: 5px 4px; text-align: center;
    border: 1px solid var(--dd-input-border); border-radius: 3px; font-size: 14px;
}
.wc-product-table .quantity input.qty:focus { border-color: var(--dd-input-focus); outline: none; }

/* Add to cart button */
.wc-product-table .single_add_to_cart_button {
    background: var(--dd-btn-bg) !important; color: var(--dd-btn-text) !important;
    border: none !important; border-radius: 3px;
    padding: 6px 14px; font-size: 13px; font-weight: 500;
    cursor: pointer; transition: background 0.2s;
    white-space: nowrap; text-transform: none; letter-spacing: 0; line-height: 1.4;
}
.wc-product-table .single_add_to_cart_button:hover { background: var(--dd-btn-hover) !important; }
.wc-product-table .single_add_to_cart_button.disabled { opacity: 0.5; cursor: not-allowed; }

/* --- Bottom controls --- */
.wc-product-table-controls.wc-product-table-below {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 0; font-size: 13px; color: var(--dd-text-light);
    flex-wrap: wrap; gap: 8px;
}
.wc-product-table-controls .dataTables_length label {
    font-size: 13px; display: flex; align-items: center; gap: 4px;
}
.wc-product-table-controls .dataTables_paginate .paginate_button {
    display: inline-block; padding: 4px 10px; margin: 0 2px;
    border: 1px solid var(--dd-border); border-radius: 3px;
    font-size: 13px; color: var(--dd-text); text-decoration: none; cursor: pointer;
}
.wc-product-table-controls .dataTables_paginate .paginate_button.current {
    background: var(--dd-header-bg); color: var(--dd-header-text);
    border-color: var(--dd-header-bg);
}
.wc-product-table-controls .dataTables_paginate .paginate_button:hover:not(.current) {
    background: var(--dd-row-even);
}

/* --- Out of stock row dimming --- */
.wc-product-table tbody tr.outofstock td { opacity: 0.65; }
.wc-product-table tbody tr.outofstock:hover td { opacity: 1; }

/* --- Responsive expand icon --- */
.wc-product-table.dtr-inline > tbody > tr > td.dtr-control::before,
.wc-product-table.dtr-column > tbody > tr > td.control::before {
    background-color: var(--dd-header-bg); border: none; box-shadow: none;
}













/* ========================================
   Responsive
======================================== */

@media only screen and (max-width: 780px) {
	img.alt-logo,
	img.alt-logo-scroll {
		width: 60px !important;
	}

	body {
		font-size: 16px;
	}

	h1 {
		font-size: 24px;
	}

	h2 {
		font-size: 22px;
	}

	h3 {
		font-size: 20px;
	}
}