/*
Theme Name: Blocksy Child
Theme URI: https://creativethemes.com/blocksy/
Description: Child theme for Blocksy - HBC Competitions
Author: HBC Competitions
Template: blocksy
Version: 1.0.0
*/



/*PWD DESIGNS - CUSTOM CSS */

/* =========================================================
   PWD DESIGNS — HBC COMPETITION CARDS
   Applies anywhere WooCommerce product cards are displayed
========================================================= */




/* =========================================================
   1. CARD
========================================================= */

:is([data-products], .products) .product {
    display: flex;
    flex-direction: column;

    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 6px;

    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}


/* Ensure correct card element order */

:is([data-products], .products) .product figure {
    order: 0;
}

:is([data-products], .products) .product .wcl-progress-meter {
    order: 1;
}

:is([data-products], .products) .product .woocommerce-loop-product__title {
    order: 2;
}

:is([data-products], .products) .product .ct-woo-card-actions {
    order: 3;
}


/* Hide old elements no longer used */

:is([data-products], .products) .product .competition-time,
:is([data-products], .products) .product .hbc-days-remaining,
:is([data-products], .products) .product .hbc-competition-stats {
    display: none !important;
}


/* =========================================================
   2. IMAGE
========================================================= */

:is([data-products], .products) .product figure {
    position: relative;
    overflow: hidden;
    margin: 0;
}


/* =========================================================
   3. COMPETITION BADGE / RIBBON
========================================================= */

:is([data-products], .products) .product .competition-bage:not(:empty),
:is([data-products], .products) .product .competition-badge:not(:empty) {
    position: absolute;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    top: 18px !important;
    left: 0 !important;
    right: auto !important;

    width: auto !important;
    height: auto !important;
    min-height: 34px;

    padding: 7px 24px 7px 16px;

    background: var(--hbc-bright-blue);
    color: #fff !important;

    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;

    clip-path: polygon(
        0 0,
        100% 0,
        calc(100% - 14px) 100%,
        0 100%
    );

    z-index: 50;
}

:is([data-products], .products) .product .competition-bage:not(:empty)::before,
:is([data-products], .products) .product .competition-badge:not(:empty)::before {
    content: none !important;
}

:is([data-products], .products) .product .competition-bage:empty,
:is([data-products], .products) .product .competition-badge:empty {
    display: none !important;
}


/* =========================================================
   4. STATUS ROW AND PROGRESS BAR
========================================================= */

:is([data-products], .products) .product .wcl-progress-meter {
    display: flex;
    flex-direction: column;
    align-self: stretch;

    width: 100%;
    margin: 0 !important;
    padding: 20px 18px 7px;

    border: 0;
    border-radius: 0;
    background: transparent;
}


/* Hide original plugin values */

:is([data-products], .products) .product .wcl-progress-meter .zero,
:is([data-products], .products) .product .wcl-progress-meter .max,
:is([data-products], .products) .product .wcl-progress-meter .sold {
    display: none !important;
}


/* Left: time remaining | Right: percentage sold */

:is([data-products], .products) .product .hbc-ticket-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    width: 100%;
    margin: 0 0 11px;

    font-size: 13px;
    line-height: 1;
}

:is([data-products], .products) .product .hbc-time-remaining {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    color: var(--hbc-navy);
    font-weight: 700;
}

:is([data-products], .products) .product .hbc-time-remaining svg {
    width: 16px;
    height: 16px;

    fill: none;
    stroke: var(--hbc-bright-blue);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    flex: 0 0 16px;
}

:is([data-products], .products) .product .hbc-progress-percentage {
    color: var(--hbc-navy);
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}


/* Progress bar */

:is([data-products], .products) .product .wcl-progress-meter progress {
    display: block;

    width: 100%;
    height: 7px;

    margin: 0;
    border: 0;
    border-radius: 999px;
    overflow: hidden;

    background: var(--hbc-progress-track);
}


/* Chrome, Edge and Safari */

:is([data-products], .products)
.product
.wcl-progress-meter
progress::-webkit-progress-bar {
    background: var(--hbc-progress-track);
    border-radius: 999px;
}

:is([data-products], .products)
.product
.wcl-progress-meter
progress::-webkit-progress-value {
    background: var(--hbc-bright-blue);
    border-radius: 999px;
    transition: width 0.6s ease;
}


/* Firefox */

:is([data-products], .products)
.product
.wcl-progress-meter
progress::-moz-progress-bar {
    background: var(--hbc-bright-blue);
    border-radius: 999px;
}


/* =========================================================
   5. COMPETITION TITLE
========================================================= */

:is([data-products], .products) .product .woocommerce-loop-product__title {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;

    min-height: 0;
    margin: 13px 18px 6px !important;
    padding: 0 0 15px;

    text-align: left;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

:is([data-products], .products)
.product
.woocommerce-loop-product__title a {
    color: var(--hbc-dark-blue);
    text-decoration: none;
}



/* =========================================================
   7. MOBILE
========================================================= */

@media (max-width: 600px) {

    :is([data-products], .products)
    .product
    .wcl-progress-meter {
        padding: 18px 16px 7px;
    }

    :is([data-products], .products)
    .product
    .hbc-ticket-summary {
        gap: 10px;
        font-size: 12px;
    }

    :is([data-products], .products)
    .product
    .hbc-time-remaining svg {
        width: 15px;
        height: 15px;
        flex-basis: 15px;
    }

    :is([data-products], .products)
    .product
    .woocommerce-loop-product__title {
        margin-inline: 16px !important;
        font-size: 17px;
    }

    :is([data-products], .products)
    .product
    .ct-woo-card-actions
    .price {
        padding-inline: 10px;
        font-size: 21px;
    }

    :is([data-products], .products)
    .product
    .ct-woo-card-actions
    .button {
        margin-right: 8px !important;
        padding-inline: 11px !important;
        font-size: 13px;
    }
}


/* =========================================================
   HBC SINGLE COMPETITION FACTS
   Single product pages only
========================================================= */

body.single-product .hbc-single-competition-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    width: 100%;
    margin: 22px 0 26px;

    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 6px;

    background: #fff;
    overflow: hidden;
}


/* Individual fact */

body.single-product .hbc-single-fact {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;

    min-width: 0;
    min-height: 92px;
    padding: 18px 16px;

    border-right: 1px solid rgba(15, 23, 42, 0.10);
}

body.single-product .hbc-single-fact:last-child {
    border-right: 0;
}


/* Small label */

body.single-product .hbc-single-fact-label {
    color: #64748b;

    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}


/* Main value */

body.single-product .hbc-single-fact-value {
    color: #102a43;

    font-size: 15px;
    font-weight: 800;
    line-height: 1.15;

    white-space: nowrap;
}


/* Cyan prize-value emphasis */

body.single-product
.hbc-single-fact-prize
.hbc-single-fact-value {
    color: var(--theme-palette-color-1);
}


/* Tablet */

@media (max-width: 900px) {

    body.single-product .hbc-single-competition-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.single-product .hbc-single-fact:nth-child(2) {
        border-right: 0;
    }

    body.single-product .hbc-single-fact:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(15, 23, 42, 0.10);
    }
}


/* Mobile */

@media (max-width: 480px) {

    body.single-product .hbc-single-competition-facts {
        margin-block: 18px 22px;
    }

    body.single-product .hbc-single-fact {
        min-height: 78px;
        padding: 14px 12px;
    }

    body.single-product .hbc-single-fact-label {
        font-size: 10px;
    }

    body.single-product .hbc-single-fact-value {
        font-size: 17px;
    }
}

/*removing single product page duplicate items */

p.competition-end  {
    display: none;
}

p.max-pariticipants {
    display: none;
}

p.cureent-participating{
	display: none;
}


/* =========================================================
   HBC SINGLE PRODUCT PROGRESS BAR
========================================================= */

body.single-product .wcl-progress-meter {
    display: flex;
    flex-direction: column;

    width: 100%;
    margin: 18px 0 0 !important;
    padding: 0;

    border: 0;
    background: transparent;
}


/* Hide original plugin labels */

body.single-product .wcl-progress-meter .zero,
body.single-product .wcl-progress-meter .max,
body.single-product .wcl-progress-meter .sold {
    display: none !important;
}


/* Sold / Available summary row */

body.single-product .hbc-single-progress-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    width: 100%;
    margin: 0 0 10px;

    color: #102a43;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

body.single-product
.hbc-single-progress-summary
span:last-child {
    text-align: right;
}


/* Progress track */

body.single-product .wcl-progress-meter progress {
    display: block;

    width: 100%;
    height: 8px;

    margin: 0;
    border: 0;
    border-radius: 999px;
    overflow: hidden;

    background: #e5e7eb;
}


/* Chrome, Edge and Safari */

body.single-product
.wcl-progress-meter
progress::-webkit-progress-bar {
    background: #e5e7eb;
    border-radius: 999px;
}

body.single-product
.wcl-progress-meter
progress::-webkit-progress-value {
    background: var(--theme-palette-color-1);
    border-radius: 999px;
    transition: width 0.6s ease;
}


/* Firefox */

body.single-product
.wcl-progress-meter
progress::-moz-progress-bar {
    background: var(--theme-palette-color-1);
    border-radius: 999px;
}

/*Comp answers left align */
ul.competition-answers li{
	margin-left:-40px;
}

/* =========================================================
   HBC SINGLE PRODUCT — ORIGINAL PLUGIN COUNTDOWN
========================================================= */

/*
 * Hide the plugin's original six-part countdown.
 * Its timestamp remains available to JavaScript.
 */
body.single-product .competition-time {
    display: none !important;
}

.min-pariticipants{
display: none;}

.ct-module-title{
	display: none !important;
}

/* =========================================================
   HBC SINGLE PRODUCT — STATUS AND PROGRESS
========================================================= */

body.single-product .wcl-progress-meter {
    display: flex;
    flex-direction: column;

    width: 100%;
    margin: 22px 0 0 !important;
    padding: 0;

    border: 0;
    background: transparent;
}

body.single-product .wcl-progress-meter .zero,
body.single-product .wcl-progress-meter .max,
body.single-product .wcl-progress-meter .sold {
    display: none !important;
}

body.single-product .hbc-single-progress-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;

    width: 100%;
    margin: 0 0 10px;

    color: #102a43;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
}

body.single-product .hbc-single-time-remaining {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

body.single-product .hbc-single-time-remaining svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: var(--theme-palette-color-1);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 16px;
}

body.single-product .hbc-single-percentage-sold {
    text-align: right;
    white-space: nowrap;
}

body.single-product .wcl-progress-meter progress {
    display: block;

    width: 100%;
    height: 8px;

    margin: 0;
    border: 0;
    border-radius: 999px;
    overflow: hidden;

    background: #e5e7eb;
}

body.single-product
.wcl-progress-meter
progress::-webkit-progress-bar {
    background: #e5e7eb;
    border-radius: 999px;
}

body.single-product
.wcl-progress-meter
progress::-webkit-progress-value {
    background: var(--theme-palette-color-1);
    border-radius: 999px;
    transition: width 0.6s ease;
}

body.single-product
.wcl-progress-meter
progress::-moz-progress-bar {
    background: var(--theme-palette-color-1);
    border-radius: 999px;
}


/* =========================================================
   HBC SINGLE PRODUCT — LARGE COUNTDOWN PANEL
========================================================= */

body.single-product .hbc-final-countdown {
    width: 100%;
    margin: 22px 0 16px;

    padding: 24px 22px 22px;

    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 6px;

    background: #fff;
}


/* Heading */

body.single-product .hbc-final-countdown-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    margin-bottom: 22px;

    color: #102a43;

    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.single-product .hbc-final-countdown-heading svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: var(--theme-palette-color-1);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    flex: 0 0 23px;
}


/* Countdown values */

body.single-product .hbc-final-countdown-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
}

body.single-product .hbc-final-countdown-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-width: 0;
    min-height: 62px;

    padding: 0 16px;

    border-right: 1px solid rgba(15, 23, 42, 0.10);

    text-align: center;
}

body.single-product .hbc-final-countdown-unit:last-child {
    border-right: 0;
}


/*
 * Same approximate size as the Prize Value number.
 */
body.single-product .hbc-final-countdown-unit strong {
    color: #ED6926 !important;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

body.single-product .hbc-final-countdown-unit span {
    color: #102a43;

    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}


/* Ended state */

body.single-product
.hbc-final-countdown.hbc-countdown-ended
.hbc-final-countdown-unit strong {
    color: #64748b;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    body.single-product .hbc-final-countdown {
        margin-top: 18px;
        padding: 20px 12px 18px;
    }

    body.single-product .hbc-final-countdown-heading {
        margin-bottom: 18px;
        font-size: 12px;
    }

    body.single-product .hbc-final-countdown-unit {
        padding-inline: 8px;
    }

    body.single-product .hbc-final-countdown-unit strong {
        font-size: 21px;
    }

    body.single-product .hbc-final-countdown-unit span {
        font-size: 9px;
    }
}

a.added_to_cart.wc-forward {
    margin-left: 10px;
}


/* Archive hero title colour */
/* Archive hero title */
.wp-block-cover .ct-dynamic-data.has-white-color {
	color: #192a3d !important;
}

/* Archive hero breadcrumbs */
.wp-block-cover .ct-breadcrumbs,
.wp-block-cover .ct-breadcrumbs a,
.wp-block-cover .ct-breadcrumbs span {
	color: #14253d !important;
	--theme-text-color: #14253d !important;
}

/*Mobile Menu spacer*/
.mobile-menu-section {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 2px solid rgba(255, 255, 255, 0.4)
}

/*My Ticket Button Control - Size*/

.woocommerce-products-header .mytickets {
    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
    padding: 12px 24px;
    margin: 0;
}

.woocommerce-products-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 16px;
}

.woocommerce-products-header .mytickets.active {
    background: #f2f2f2;
}

.ct-account-welcome {
    display: none;
}



/* =========================================================
   CUSTOMIZER CSS EXCEPTIONS
   ---------------------------------------------------------
   The following HBC styles intentionally remain in:

   Appearance → Customize → Additional CSS

   1. Competition card price / Enter Now row
      - Moving this block to child style.css affects the
        WooCommerce/Blocksy cascade and changes the layout.

   2. Single product price
      - .hbc-main-product-price
      - Customizer version currently required to maintain
        the correct price colour/cascade.

   Do not duplicate these rules in this stylesheet unless
   the cascade has been re-tested.
========================================================= */