/**
 * Single product detail page — Eggs Time brand colors
 */

.product_wrap {
    margin: 32px 0 48px;
}

.product_wrap .center {
    max-width: 1200px;
}

/* Title & subtitle */
.product-info h2,
.product_wrap h2 {
    margin: 0 0 6px;
    padding-bottom: 0 !important;
    font-family: 'Ubuntu', sans-serif;
    font-size: clamp(24px, 3vw, 30px);
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    color: #204d88 !important;
}

.product-info h3,
.product_wrap h3 {
    margin: 0 0 12px;
    font-family: 'Ubuntu', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.35;
    color: #3d5570 !important;
    text-transform: none;
}

/* Price & shipping */
.product_wrap .product_price,
.product-info .product_price,
.product_price {
    margin: 0 0 14px !important;
    padding: 0 !important;
}

.product_wrap .product_price .woocommerce-Price-amount,
.product-info .price,
.product-info .woocommerce-Price-amount {
    font-family: 'Ubuntu', sans-serif;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.15;
    color: #1a9fe0 !important;
}

.product_wrap .product_price span.shipping,
.product-info .product_price span.shipping {
    display: block;
    margin-top: 4px;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.25;
    color: #3d5570 !important;
}

/* Do not break variation / form spans */
.product_wrap .variations span,
.product_wrap .variations_form span,
.product_wrap .woocommerce-variation span,
.product_wrap select + span,
.product_wrap .woo-variation-items-wrapper span {
    display: inline !important;
    padding: 0 !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    position: static !important;
}

/* Variation dropdown — fix Name overlap */
.product_wrap table.variations {
    width: 100%;
    margin: 0 0 10px !important;
    border-collapse: separate;
    border-spacing: 0 6px;
    position: static !important;
}

.product_wrap table.variations tr {
    display: block;
    margin-bottom: 0;
}

.product_wrap table.variations td.label {
    margin-bottom: 4px;
}

.product_wrap .variations .label,
.product_wrap table.variations .label {
    position: static !important;
    display: block;
    margin: 0 0 4px;
    padding: 0 !important;
}

.product_wrap .single_variation_wrap {
    margin: 0 !important;
    padding: 0 !important;
}

.product_wrap .woocommerce-variation {
    margin: 0 !important;
    padding: 0 !important;
}

.product_wrap .variations .label label,
.product_wrap table.variations label {
    display: block;
    font-family: 'Ubuntu', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: #204d88 !important;
    text-align: left;
}

.product_wrap table.variations td {
    display: block;
    width: 100%;
    padding: 0 !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
}

.product_wrap table.variations td.value {
    margin-bottom: 0;
}
.product_wrap .variations select {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    padding: 10px 40px 10px 14px;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #ffffff;
    font-family: 'Ubuntu', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #3d5570;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23204d88' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    cursor: pointer;
}

.product_wrap table.variations select:focus {
    outline: none;
    border-color: #1a9fe0;
    box-shadow: 0 0 0 3px rgba(26, 159, 224, 0.15);
}

.product_wrap td.value.woo-variation-items-wrapper {
    position: static !important;
    top: auto !important;
    left: auto !important;
}

.product_wrap span.woo-selected-variation-item-name {
    position: static !important;
    left: auto !important;
    top: auto !important;
    display: none !important;
}

/* Quantity + Add to cart */
.product-info .woocommerce-variation-add-to-cart.variations_button,
.product-info form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 8px !important;
}

.product-info .qty_label {
    font-size: 14px;
    font-weight: 700;
    color: #204d88;
}

.product-info .quantity .input-text,
.product-info .quantity input.qty {
    min-height: 46px;
    width: 72px !important;
    border: 1px solid #d8dee8 !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #204d88 !important;
}

.product-info button.single_add_to_cart_button,
.product-info .product_wrap .payment button,
.product-info .woocommerce button.button.alt {
    min-height: 48px;
    margin: 0 !important;
    padding: 0 28px !important;
    border: 1px solid #e91e8c !important;
    border-radius: 8px !important;
    background: #e91e8c !important;
    color: #ffffff !important;
    font-family: 'Ubuntu', sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 46px !important;
    text-transform: uppercase !important;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.product-info button.single_add_to_cart_button:hover,
.product-info button.single_add_to_cart_button:focus,
.product-info .woocommerce button.button.alt:hover,
.product-info .woocommerce button.button.alt:focus {
    background: #d4177d !important;
    border-color: #d4177d !important;
    color: #ffffff !important;
}

/* Short description & body */
.product_wrap h4,
.product-info h4 {
    margin: 16px 0 8px !important;
    padding-top: 0 !important;
    font-family: 'Ubuntu', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    color: #1a9fe0 !important;
}

.product_wrap .description,
.product-info .description {
    font-family: 'Ubuntu', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.65;
    color: #3d5570;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.product_wrap .description p {
    margin-bottom: 12px;
}

/* Related items */
.related_wrap {
    margin: 0 0 80px;
    padding-top: 20px;
}

.related_wrap .title {
    margin: 0 0 28px !important;
    font-family: 'Ubuntu', sans-serif;
    font-size: clamp(24px, 3vw, 30px);
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    color: #204d88 !important;
}

.related_wrap .related__item {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(30, 58, 95, 0.1);
}

.related_wrap a.button,
.related_wrap a.button--white {
    display: inline-block;
    min-width: 120px;
    padding: 10px 28px !important;
    border: 1px solid #e91e8c !important;
    border-radius: 8px !important;
    background: #e91e8c !important;
    color: #ffffff !important;
    font-family: 'Ubuntu', sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    text-decoration: none !important;
    position: absolute;
    bottom: 28px;
    left: 28px;
    max-width: none;
}

.related_wrap a.button:hover,
.related_wrap a.button:focus,
.related_wrap a.button--white:hover,
.related_wrap a.button--white:focus {
    background: #d4177d !important;
    border-color: #d4177d !important;
    color: #ffffff !important;
}

@media screen and (max-width: 991px) {
    .product_wrap {
        margin: 28px 0 40px;
    }

    .product-info {
        padding: 24px 0 0 !important;
    }

    .related_wrap a.button,
    .related_wrap a.button--white {
        position: static;
        margin: 16px auto 0;
        display: block;
        width: fit-content;
    }
}

@media screen and (max-width: 767px) {
    .product-info .woocommerce-variation-add-to-cart.variations_button,
    .product-info form.cart {
        flex-direction: column;
        align-items: stretch;
    }

    .product-info button.single_add_to_cart_button,
    .product-info .woocommerce button.button.alt {
        width: 100%;
    }
}
