/*
Theme Name:   Bright Website Design
Theme URI:    https://www.brightwebsitedesign.co.uk
Description:  A carefully crafted child theme built with love by Bright Website Design, ensuring your site is fast, secure & easy to update.
Author:       Bright Website Design
Author URI:   https://www.brightwebsitedesign.co.uk
Template:     kadence
Version:      1.1.0
*/


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

/* Time Vault palette. Rules below use these variables; keeping them defined
   here means no dependency on any plugin. */
:root {
	--e-global-color-primary: #BE9F56;
	--e-global-color-secondary: #BE9F56;
	--e-global-color-accent: #BE9F56;
	--e-global-color-text: #2F2F33;
}

a, a > * {
	transition: color 0.2s;
}


/* Kadence Forms – custom radios/checkboxes */
.kb-form-basic-style input[type="radio"]:checked,
.kb-form-basic-style input[type="checkbox"]:checked {
  border-color: #BE9F56 !important;
  background: #BE9F56 !important;
  background-color: #BE9F56 !important;
}


/* Header mini wallet (TeraWallet) */
.wc-block-mini-wallet__link,
.wc-block-mini-wallet__link *,
a.woo-wallet-menu-contents,
a.woo-wallet-menu-contents * {
	color: #ffffff !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	text-decoration: none !important;
}

.wc-block-mini-wallet__icon,
.woo-wallet-icon-wallet {
	display: none !important;
}

.wc-block-mini-wallet__link::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: middle;
	margin-right: 4px;
	background-color: #ffffff;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* Show/hide helpers used in content */
body:not(.logged-in) .logged-in {
	display: none;
}

body.logged-in .logged-out {
	display: none;
}

.tdc-heading:not(p), p.tdc-heading b {
	font-weight: 700;
	color: var( --e-global-color-primary );
	text-transform: uppercase;
	font-style: italic;
}

/* --------------------------------------------------------------
   WooCommerce product loop cards (related products, accessories shop)
-------------------------------------------------------------- */

.woocommerce .products ul, .woocommerce ul.products {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	box-shadow: 5px 5px 5px 0px rgb(0 0 0 / 10%);
	border-radius: 4px;
	background-color: #fff;
	overflow: hidden;
	transition: box-shadow 0.4s;
	display: flex;
}

.woocommerce ul.products li.product:hover, .woocommerce-page ul.products li.product:hover {
	box-shadow: 5px 5px 15px 0px rgb(0 0 0 / 30%);
}

.woocommerce-loop-product__link > *, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3, .woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price {
	margin: 0.35rem auto;
	padding: 0 1rem;
	color: #212529;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
	font-size: 1.3rem;
	margin-top: 1rem;
}

.woocommerce-loop-product__link .lty-lottery-short-description {
	font-size: 0.85em;
	margin-bottom: 1rem;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
	height: 100%;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.woocommerce ul.products li.product .button {
	margin: 0 auto 1rem;
}

@media (max-width: 768px) {
	.woocommerce ul.products[class*=columns-] li.product:nth-child(2n), .woocommerce-page ul.products[class*=columns-] li.product:nth-child(2n) {
		margin-left: auto;
	}
	.woocommerce-loop-product__link .lty-lottery-short-description {
		font-size: 0.8rem;
	}
	.woocommerce-cart table.cart td.actions .input-text {
		width: 48%;
	}
	.woocommerce-checkout #payment div.form-row {
		display: flex;
		justify-content: center;
	}
}

@media (max-width: 575px) {
	.woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product {
		width: 100%;
		max-width: 380px;
		float: none!important;
		margin-left: auto;
		margin-right: auto;
	}
}

/* --------------------------------------------------------------
   Giveaway (Lottery) plugin elements
-------------------------------------------------------------- */

.lty-shop-timer-wrapper .lty-shop-timer-container {
	display: block;
}

.lty-shop-timer-wrapper .lty-shop-timer-container .lty-shop-timer-section {
	width: 25%;
	font-size: inherit;
}

.lty-shop-timer-wrapper .lty-shop-timer-container .lty-shop-timer-section span {
	font-weight: bold;
}

.lty-shop-timer-wrapper .lty-shop-timer-container .lty-shop-timer-section::before {
	display: none;
}

.lty_lottery_products {
	text-align: center;
}

.lty-progress-bar-notice {
	color: var( --e-global-color-primary );
	text-transform: uppercase;
	font-weight: 700;
	font-style: italic;
}

.lty-progress-bar-start, .lty-progress-bar-end, .lty-progress-remaining-count {
	font-weight: 600;
}

.lty-progress-remaining-count {
	text-align: center!important;
}

.lty-lottery-product-summary .lty-lottery-date-ranges {
	margin: 15px 0;
	font-size: 1rem;
}

.lty-lottery-end-time-label {
	text-align: center;
}

.lty-lottery-progress-bar {
	margin: 0 0 15px;
	font-size: 1rem;
}

.woocommerce table.shop_table.lty-winner-logs-table {
	margin-top: 1em;
}

.lty-dashboard-contents mark {
	padding: 0;
}

.lty-frontend-table thead th, .lty-frontend-table tbody td {
	word-break: normal;
}

.lty-frontend-table tbody td a {
	color: var( --e-global-color-primary );
}

.lty-frontend-table tbody td .lty_lottery_started_status span {
	color: #5b841b;
}

.lty-frontend-table tbody td .lty_lottery_failed_status span {
	color: #761919;
}

.lty-frontend-table tbody td .lty_lottery_finished_status span {
	color: #2e4453;
}

@media (max-width: 768px) {
	.lty_lottery_not_started_status span, .lty_lottery_started_status span, .lty_lottery_failed_status span, .lty_lottery_finished_status span, .lty_lottery_closed_status span {
		display: inline;
		float: none;
	}
	.lty-dashboard-wrapper {
		margin-top: 30px;
	}
	.lty-frontend-table tr td::before {
		margin-right: 1em;
	}
}

/* --------------------------------------------------------------
   WooCommerce general
-------------------------------------------------------------- */

.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background-color: var( --e-global-color-secondary )!important;
	border: 1px solid var( --e-global-color-secondary )!important;
	color: #ffffff !important;
	font-size: 1rem;
}

.woocommerce #respond input#submit:hover, .woocommerce #respond input#submit:focus, .woocommerce a.button:hover, .woocommerce a.button:focus, .woocommerce button.button:hover, .woocommerce button.button:focus, .woocommerce input.button:hover, .woocommerce input.button:focus, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background-color: #ffffff!important;
	color: var( --e-global-color-secondary )!important;
	border: 1px solid var( --e-global-color-secondary )!important;
	box-shadow: none;
}

.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button.disabled {
	color: #ffffff !important;
}

.woocommerce div.product h2 {
	margin: 0 0 0.8em;
}

.woocommerce h3, .woocommerce-page h3 {
	margin: 0 0 0.8em;
}

.woocommerce-cart .wc-proceed-to-checkout {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
}

.woocommerce div.product .product_title {
	margin-bottom: 15px;
}

@media (max-width: 575px) {
	.woocommerce div.product .product_title {
		font-size: 1.7rem;
	}
	.woocommerce h3, .woocommerce-page h3 {
		font-size: 1.3rem;
	}
}

.woocommerce form .form-row label.checkbox, .woocommerce-page form .form-row label.checkbox {
	line-height: 1.5;
}

.woocommerce div.widget_shopping_cart_content .woocommerce-mini-cart__buttons a:not(.checkout) {
	color: #fff;
}

.woocommerce div.widget_shopping_cart_content .amount {
	display: inline;
}

.woocommerce div.widget_shopping_cart_content .woocommerce-mini-cart__buttons a {
	flex-basis: auto;
}

.woocommerce-MyAccount-content .woocommerce-Address {
	max-width: 100%;
}

.woocommerce div.product form.cart div.quantity {
	margin-top: 1.5rem;
}

/* Non-var attributes selector on product pages */
.nonvar-attributes {
	display: inline-block;
	clear: both;
	width: 100%;
	margin: 10px 0;
}

/* Free postal entry link under add to basket */
.postal-entry-link {
	float: left;
	clear: both;
	display: block;
	margin-top: 2rem;
	color: #515151;
}

/* Numbered lists in Terms pages */
.decimal-list ol {
	counter-reset: item;
}

.decimal-list ol li {
	display: block;
	position: relative;
}

.decimal-list ol li:before {
	content: counters(item, ".")".";
	counter-increment: item;
	position: absolute;
	margin-right: 100%;
	right: 10px;
}

.decimal-list div > ol > li:before {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.2;
}


/* --------------------------------------------------------------
   Competitions grid for [tdc_giveaway_grid]
-------------------------------------------------------------- */

.tdc-giveaway-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 24px 0;
}

.tdc-giveaway-grid-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.tdc-giveaway-grid-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 900px) {
	.tdc-giveaway-grid,
	.tdc-giveaway-grid-columns-2,
	.tdc-giveaway-grid-columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.tdc-giveaway-grid,
	.tdc-giveaway-grid-columns-2,
	.tdc-giveaway-grid-columns-4 {
		grid-template-columns: 1fr;
	}
}

.tdc-giveaway-card {
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	text-align: center;
	padding-bottom: 20px;
}

.tdc-giveaway-card__link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.tdc-giveaway-card__image img {
	width: 100%;
	height: auto;
	display: block;
}

.tdc-giveaway-card__title {
	font-size: 1.2rem;
	margin: 16px 20px 8px;
}

.tdc-giveaway-card__excerpt {
	margin: 0 20px 12px;
	font-size: 0.95rem;
	color: #555;
}

.tdc-giveaway-card__ends {
	margin: 8px 0;
	white-space: nowrap;
}

.tdc-giveaway-card__ends .tdc-ends-label {
	color: var( --e-global-color-primary );
	font-weight: 700;
	font-style: italic;
}

.tdc-giveaway-card__ends .tdc-ends-date {
	color: #000000;
	font-weight: 400;
	font-style: normal;
}

.tdc-giveaway-card__countdown .lty-lottery-time-left-label-shop-page {
	display: none;
}

.tdc-giveaway-card__countdown .lty-shop-timer-wrapper {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 8px;
}

.tdc-giveaway-card__countdown .lty-shop-timer-section {
	text-align: center;
	font-weight: 400;
	white-space: nowrap;
	font-size: 0.9rem;
}

.tdc-giveaway-card__countdown .lty-shop-timer-section span[id^="lty_lottery_"] {
	display: block;
	font-weight: 700;
	font-size: 1.4rem;
}

.tdc-giveaway-card__progress {
	margin: 16px 20px 0;
}

.tdc-giveaway-card__progress .lty-progress-count,
.tdc-giveaway-card__progress .lty-progress-count-loop {
	display: flex;
	justify-content: space-between;
	font-weight: 700;
}

.tdc-giveaway-card__progress .lty-progress-bar-notice {
	color: var( --e-global-color-primary );
	text-transform: uppercase;
	font-weight: 700;
	font-style: italic;
	font-size: 0.75rem;
	white-space: nowrap;
}

.tdc-giveaway-card__progress .lty-progress-bar {
	background: #e0e0e0;
	border-radius: 20px;
	height: 10px;
	overflow: hidden;
	margin: 8px 0;
}

.tdc-giveaway-card__progress .lty-progress-fill {
	display: block;
	height: 10px;
	background: var( --e-global-color-primary );
	border-radius: 20px;
}

.tdc-giveaway-card__progress .lty-progress-remaining-count {
	font-size: 0.9rem;
	color: #555;
	margin: 4px 0 0;
}

.tdc-giveaway-card__button {
	margin-top: 16px;
}

.tdc-giveaway-card__button .tdc-enter-button {
	display: inline-block;
	background: var( --e-global-color-primary );
	color: #ffffff;
	padding: 12px 24px;
	border-radius: 30px;
	text-decoration: none;
	font-weight: 700;
}

.tdc-giveaway-card__button .tdc-enter-button:hover {
	background: #2F2F33;
	color: #ffffff;
}

/* --------------------------------------------------------------
   Competitions filter pills
-------------------------------------------------------------- */

.tdc-filter-tabs {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: center;
	align-items: center;
	gap: 12px;
	margin: 0 0 28px;
}

button.tdc-filter-tab {
	background: #987F44 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 8px;
	padding: 10px 28px !important;
	font-weight: 400 !important;
	font-size: 0.9rem;
	text-transform: capitalize !important;
	letter-spacing: 0.04em;
	line-height: 1.4;
	cursor: pointer;
	transition: background 0.2s;
}

button.tdc-filter-tab:hover {
	background: #BE9F56 !important;
	color: #ffffff !important;
}

button.tdc-filter-tab.is-active {
	background: #BE9F56 !important;
	color: #ffffff !important;
}

.tdc-filter-empty {
	text-align: center;
	font-weight: 600;
	margin: 24px 0;
}

.tdc-filter-empty .tdc-filter-reset {
	background: none;
	border: none;
	color: var( --e-global-color-primary );
	font-weight: 700;
	cursor: pointer;
	text-decoration: underline;
	padding: 0;
}

/* --------------------------------------------------------------
   Featured competition card in the mega menu (tv-featured-slot)
-------------------------------------------------------------- */

li.tv-featured-slot {
	list-style: none;
}

.tv-menu-feat {
	display: block;
	background: #faf7f1;
	padding: 18px 20px;
	border-radius: 8px;
	min-width: 240px;
	text-align: left;
}

.tv-menu-feat__label {
	display: block;
	font-size: 12px;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-weight: 700;
	color: #987F44;
	margin-bottom: 10px;
}

.tv-menu-feat__img {
	display: block;
	margin-bottom: 10px;
}

.tv-menu-feat__img img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	display: block;
}

.tv-menu-feat__title {
	display: block;
	font-size: 16px;
	color: #2F2F33;
	text-decoration: none;
	margin-bottom: 4px;
}

.tv-menu-feat__title:hover {
	color: #987F44;
}

.tv-menu-feat__meta {
	display: block;
	font-size: 12px;
	color: #777;
	margin-bottom: 12px;
}

.tv-menu-feat__btn {
	display: inline-block;
	background: #987F44;
	color: #ffffff !important;
	font-size: 13px;
	text-decoration: none;
	padding: 9px 20px;
	border-radius: 8px;
	transition: background 0.2s;
}

.tv-menu-feat__btn:hover {
	background: #BE9F56;
}

/* Featured Competition on homepage */
.tv-feat-progress {
	padding: 16px 28px;
}

.tv-feat-button {
	text-align: center;
	padding: 18px 28px;
}

.tv-feat-countdown {
	padding: 24px 28px 24px;
	margin-top: -10px;
}

.tv-feat-title {
	font-size: 1.2rem;
	margin: 0 10px 10px;
}

/* --------------------------------------------------------------
   Single competition page: All Competitions button (outline style)
   Shown under the summary on lottery products only.
   Partner PHP lives at the bottom of inc/tv-competitions.php
-------------------------------------------------------------- */
.tv-all-comps { margin-top: 12px; }
.tv-all-comps a.tv-all-comps-btn {
    background: transparent !important;
    color: #987F44 !important;
    border: 1px solid #987F44 !important;
}
.tv-all-comps a.tv-all-comps-btn:hover {
    background: #987F44 !important;
    color: #ffffff !important;
}

/* --------------------------------------------------------------
   Boutique: product cards (Product Collection block)
-------------------------------------------------------------- */
li.wc-block-product {
    background: #fff;
    border: 1px solid #BE9F56;
    border-radius: 10px;
    padding: 18px 18px 26px;
    box-shadow: 0 8px 28px rgba(47, 47, 51, .07);
}

/* image corners softened inside the card */
li.wc-block-product img {
    border-radius: 6px;
}

/* spacing: image to title, and around the price */
li.wc-block-product .wp-block-post-title {
    margin-top: 16px;
}
li.wc-block-product .wc-block-components-product-price {
    display: block;
    margin: 8px 0 16px;
}

/* --------------------------------------------------------------
   Competitions grid: countdown as a row of 4 (days/hrs/mins/secs)
-------------------------------------------------------------- */
.tdc-giveaway-card__countdown .lty-lottery-countdown-timer {
    display: flex;
    justify-content: center;
    gap: 20px;
}
.tdc-giveaway-card__countdown .lty-lottery-timer {
    display: inline-block;
    text-align: center;
    font-size: 12.5px;      /* the Days / Hours / Mins / Secs labels */
    color: #5c5c60;
}
.tdc-giveaway-card__countdown .lty-lottery-timer > span {
    display: block;          /* number sits above its label */
    font-size: 22px;         /* the numbers */
    font-weight: 600;
    color: #2F2F33;
    line-height: 1.1;
}
.tdc-giveaway-card__countdown .lty-lottery-timer br {
    display: none;           /* plugin's stray line break */
}

/* --------------------------------------------------------------
   Competitions grid: mobile polish (ends date + progress numbers)
-------------------------------------------------------------- */

/* "34  TICKETS SOLD  100" on one line, numbers at each end */
.tdc-giveaway-card__progress .lty-progress-count {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    white-space: nowrap;
}

/* Ends date: let it wrap instead of clipping off the card edge */
.tdc-giveaway-card__ends {
    text-align: center;
    white-space: normal;
    overflow-wrap: break-word;
    font-size: 14px;
}

@media (max-width: 600px) {
    .tdc-giveaway-card__excerpt { font-size: 13.5px; }
}

/* --------------------------------------------------------------
   Homepage featured comp: countdown as a row of 4 (all screens)
-------------------------------------------------------------- */
.tv-feat-countdown .lty-lottery-countdown-timer {
    display: flex;
    justify-content: center;
    gap: 20px;
}
.tv-feat-countdown .lty-lottery-timer {
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    font-size: 12.5px;
    color: #5c5c60;
}
.tv-feat-countdown .lty-lottery-timer > span {
    display: block;
    font-size: 22px;
    font-weight: 600;
    color: #2F2F33;
    line-height: 1.1;
}
.tv-feat-countdown .lty-lottery-timer br {
    display: none;
}

/* Countdown block with class "tv-days-only": "20" over "DAYS LEFT", matched to the "1 / WINNER" block */
.tv-days-only.kb-countdown-container {
    padding: 0 !important;
    margin: 0 !important;
}
.tv-days-only .kb-countdown-timer {
    justify-content: center;
}
.tv-days-only .kb-countdown-item {
    display: none !important;
}
.tv-days-only .kb-countdown-date-item-days {
    display: flex !important;
    flex-direction: column;
    align-items: center !important;
    margin: 0;
    padding: 0;
    font-family: var(--global-body-font-family);
    font-weight: 300;
}
.tv-days-only .kb-countdown-date-item-days .kb-countdown-number {
    margin: 0;
    font-size: 48px;
    font-weight: 300;
    line-height: 1.6;
}
/* Hide the block's own "Days" text and print "Days Left" in its place */
.tv-days-only .kb-countdown-date-item-days .kb-countdown-label {
    margin: 0;
    font-size: 0;
    line-height: 1.5;
}
.tv-days-only .kb-countdown-date-item-days .kb-countdown-label::after {
    content: "Days Left";
    font-size: 20px;
    font-weight: 300;
    line-height: 1.5;
    text-transform: uppercase;
    white-space: nowrap;
}