/*
Theme Name:   	Ultra Tickets Child Theme
Theme URI:    	https://ultratickets.co
Author:       	Ashley Gordon
Author URI:     https://www.linkedin.com/in/ashley-gordon/
Template:     	storefront
Description:  	Child theme for the Storefront theme.
Version:      	1.0.30
*/

/* Fonts */

@font-face {
    font-family: 'DMSans';
    src: url('assets/fonts/DMSans-VariableFont.ttf') format('truetype');
    font-weight: 100 900;
    font-display: swap;
}
@font-face {
    font-family: 'Geogrotesque';
    src: url('assets/fonts/Geogrotesque.woff2') format('woff2');
    font-weight: 100 900;
    font-display: swap;
}

/* CSS Variables */

:root {
    --brand-color: #1b1464;
    --brand-color-light: #332b86;
    --text-color: #404040;
    --copy-font: 'DMSans', sans-serif;
    --heading-font: 'Geogrotesque', sans-serif;
}

/* Global Font Settings */
body,
p,
li,
input,
textarea,
select {
    font-family: var(--copy-font);
    font-weight: 400;
    font-variation-settings: 'wght' 400;
}

ul, ol {
    margin: 0;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--heading-font);
    font-weight: 700;
    font-variation-settings: 'wght' 700;
}

strong,
b {
    font-weight: 700;
    font-variation-settings: 'wght' 700;
}

/* Global */
body {
    font-family: var(--copy-font);
    color: var(--text-color);
}
a {
    color: var(--brand-color);
}
/* Formatting Classes */
.bold-text {
    font-weight: 600;
}
.light-text {
    font-weight: 200;
}
.small_text {
    font-size: 0.8rem;
}
.underline {
    text-decoration: underline;
}
.small-plain-link {
    display: inline-block;
    font-size: 0.9rem;
}
.branded-btn {
    background-color: var(--brand-color);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}
.branded-btn:hover {
    background-color: var(--brand-color-light);
}
.plain-btn {
    background-color: #efefef;
    color: #000;
    padding: 5px 10px;
    border-radius: 5px;
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}
.meta_highlight {
    font-size: 0.85rem;
    color: #C63333;
    font-weight: 600;
    margin-bottom: 5px;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-left {
    text-align: left;
}
.shortcode_text {
    font-size: 1rem !important;
}
.uppercase {
    text-transform: uppercase;
}
.payment-icons {
    flex-wrap: nowrap;
}
.border-radius-7 {
    border-radius: 7px;
}

/* Header */

.home.blog .site-header,
.home.page:not(.page-template-template-homepage) .site-header,
.home.post-type-archive-product .site-header {
  margin-bottom: 0;
}

/* Mobile Menu */

#site-navigation-menu-toggle {
    border-color: #1a1464;
    background-color: #1a1464;
    color: #fff;
}

button.menu-toggle::after, button.menu-toggle::before, button.menu-toggle span::before {
    background-color: #fff;
}

/* Event Tile */
ul.products li.product {
    box-shadow: 0 1px 5px #ddd;
}
a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
    color: unset;
}
ul.products li.product img {
    border-radius: 0;
}
.woocommerce-loop-product__title {
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
}
ul.products li.product .price {
    display: none;
}
ul.products li.product .button {
    margin-bottom: 20px;
}
.home ul.products.columns-3 li.product:only-child,
.home ul.products.columns-4 li.product:only-child {
    /* Styles for when only one product is displayed. 
       For example, making it full width: */
    width: 100% !important;
}
.home ul.products li.product img {
    border-radius: 0;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
}

/* Home Page */
.home header.entry-header {
    display: none;
}

.hentry .entry-content a {
    text-decoration: none;
}

/* Product Page */
.product_title.entry-title {
    font-size: 1.7rem;
    font-weight: bold;
    margin-bottom: 0;
}
.summary.entry-summary .price {
    display: none;
}
.sold-by-brand {
    display: inline-block;
    font-size: 0.8rem;
    margin-top: 10px;
    margin-bottom: 10px;
    background-color: #313131;
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
}

.sold-by-brand a {
    color: #fff;
}
.event-date {
    display: inline-block;
    margin-bottom: -10px;
}
.event-data {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 25px 0;
}
.event-data.terms_extra {
    grid-template-columns: 1fr 1fr;
}
.event-data-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    text-align: left;
    padding: 0 0 15px 0;
    line-height: 1.5rem;
}
.event-data-box img {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}
.event-data-box .seller-brand-logo {
    width: 50px;
    height: 50px;
}
.event-data p {
    margin-bottom: 5px;
}
.terms_extra {
    margin: 0;
}
.terms_extra .event-data-box {
    padding: 10px;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs::before, .single-product div.product .woocommerce-product-gallery .flex-control-thumbs::after {
    display: none;
}
ol.flex-control-nav.flex-control-thumbs {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: repeat(5, 1fr);
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 10px;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
    width: 100%;
    margin: 0;
}
.single-product div.product .woocommerce-product-gallery img {
    width: 100%;
}
.single-product div.product p.price {
    font-size: 1rem;
    margin: 0;
}
.single-product div.product table.variations label {
    font-weight: 600;
}
.single-product div.product table.variations select {
    padding: 15px;
    max-width: 100%;
    width: 100%;
}
a.reset_variations {
    margin: 10px 0 0 0;
}
.woocommerce-variation-price {
    font-size: 1.5rem;
    font-weight: bolder;
    background-color: bisque;
    display: inline-block;
}
.small-text {
    font-size: 1rem;
}
.stock {
    display: inline-block;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 15px;
    margin-bottom: 15px;
    padding: 7px;
}
.stock.in-stock {
    display: none;
    color: #fff;
    background-color: #0f834d;
}
.stock.out-of-stock {
    color: #fff;
    background-color: #e2401c;
}
.stock.in-stock::before,
.stock.out-of-stock::before {
    content: unset;
}
.deposit-notice {
    display: inline-block;
    font-weight: bold;
    background-color: #fffcbf;
    color: #000;
    padding: 15px;
    border-radius: 3px;
    margin-right: 15px;
}
.deposits-input-wrapper {
    flex-direction: column;
}
.pretty .state label {
    position: relative;
}
.pretty .state label::after, .pretty .state label::before {
    top: 0;
    left: 0;
}
input[name="deposit-mode"] + .state {
    padding: 25px !important;
    border: none !important;
    margin: 5px 0;
}
input[name="deposit-mode"]:checked + .state {
    color: #fff;
    background-color: var(--brand-color);
}
body.tickets_no_sale form.variations_form.cart {
    display: none;
}
.dashed-border-box {
    margin-top: 20px;
    text-align: center;
    color: #131313;
    border: 1px dashed #131313;
    padding: 15px;
    text-transform: uppercase;
    font-weight: bold;
}

.dashed-border-box p {
    margin: 0;
}

/* Shop Page */
.storefront-breadcrumb {
    margin-bottom: 0;
}
.wc-block-grid__products .wc-block-grid__product-image {
    margin-bottom: 0;
}
.home.page-template-template-fullwidth .hentry .entry-content h2 + .woocommerce, .home.page-template-template-fullwidth .hentry .entry-content h2 + [class*="wp-block-woocommerce-"] {
    margin-top: 0;
}
.wc-block-components-product-price.wc-block-grid__product-price.price {
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 200;
}
.wp-block-button__link.wp-element-button.add_to_cart_button.wc-block-components-product-button__button {
    font-size: 1rem;
    text-transform: uppercase;
    font-weight: bold;
}
.onsale {
    display: none;
}
.reset_variations {
    margin-bottom: 15px;
}

/* Cart */
.woocommerce-cart-form__cart-item.cart_item .product-name p {
    background-color: #faebd7;
    padding: 10px 15px;
}
.order-topay th {
    background-color: #1b1464 !important;
    color: #fff;
}
.order-topay td {
    background-color: #332b86 !important;
    color: #fff;
}

/* Checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    display: none;
}
.shop_table.woocommerce-checkout-review-order-table .product-name p {
    background-color: #faebd7;
    padding: 5px;
}
.select2-container .select2-selection--single,
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__arrow {
    line-height: 45px;
    height: 45px;
}
.wc-stripe-elements-field {
    padding: 13px;
}
.woocommerce-privacy-policy-text {
    font-size: 0.8rem;
    margin-top: 10px;
}
.wc-stripe-banner-checkout.active {
    max-width: 100% !important;
}
ul#ui-id-1 {
    max-height: 300px;
    overflow-y: scroll;
}

/* Checkout - Thank You Page */
.woocommerce-order-received .entry-header {
    display: none !important;
}
ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
    margin-top: 0;
}
.ut-thankyou-wrapper {
    max-width: 700px;
    margin: 0 auto;
    padding: 40px 20px;
    text-align: center;
}

.ut-thankyou-title {
    font-size: 2.4rem;
    font-weight: 800;
    color: #222;
    margin-bottom: 0.5rem;
}

.ut-thankyou-subtext {
    font-size: 1.1rem;
    color: #555;
    margin-bottom: 2.5rem;
}

.ut-review-card {
    background-color: #f9f9f9;
    border: 1px solid #e1e1e1;
    padding: 30px;
    border-radius: 8px;
}

.ut-review-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    color: #111;
}

.ut-review-body {
    font-size: 1rem;
    margin-bottom: 1.5rem;
    color: #333;
}

/* Account Pages */

.storefront-full-width-content.woocommerce-account .entry-header {
    padding-bottom: 25px;
}

.woocommerce-table {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce_deposits_parent_order_summary {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
}

.woocommerce-button.button.deposit-pay-button {
    background-color: #97ea97;
}

@media (min-width: 768px) {
    .storefront-full-width-content.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
        width: unset;
        margin: unset;
    }

    /* Account Page */
    .page-template-template-fullwidth-php .woocommerce-MyAccount-navigation {
        float: left;
        margin-right: 0;
    }
    .page-template-template-fullwidth-php .woocommerce-MyAccount-content {
        float: right;
        margin-left: 4.347826087%;
        margin-right: 0;
    }

    .ut-thankyou-wrapper {
        padding: 20px 0;
    }

}

@media screen and (max-width: 767px) {
    .woocommerce-table thead {
        display: none;
    }

    .woocommerce-table tbody, 
    .woocommerce-table tr, 
    .woocommerce-table td {
        display: block;
        width: 100%;
    }

    .woocommerce-table tr {
        margin-bottom: 15px;
        padding: 10px;
    }

    .woocommerce-table td {
        text-align: left;
        padding: 10px;
        position: relative;
    }

    .woocommerce-table td:before {
        content: attr(data-label); /* Add labels */
        font-weight: bold;
        display: block;
        text-transform: capitalize;
    }
}

@media screen and (max-width: 500px) {
    .product_title.entry-title {
        font-size: 1.5rem;
    }
    .event-data {
        grid-template-columns: 1fr ;
    }
}