.woocommerce .woocommerce-breadcrumb {
	margin: 100px 0 20px;
	padding: 0 10px;
	color: #000;
font-family: Roboto;
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: normal;
}

.woocommerce-breadcrumb span {
	color: #808080
}

.o2-product-page {
    background: #fff;
}

.o2-product-summary {
    max-width: 620px;
}

.sku {
	text-transform: uppercase;
	font-size: 16px;
	color: #7F7F7F;
}

.o2-product-summary h1 {
	font-size: 42px;
	line-height: normal;
	color: #000
}

.o2-title-line {
    width: 260px;
    height: 3px;
    background: #111;
}

.o2-product-price .price {
    font-size: 42px;
    line-height: 1;
    font-weight: 800;
    color: #000;
}

.o2-product-gallery {
    text-align: center;
}

.o2-product-gallery .woocommerce-product-gallery {
    width: 100%;
}

.o2-product-gallery .woocommerce-product-gallery__image img {
    max-height: 560px;
    width: auto;
    object-fit: contain;
    margin-left: auto;
    margin-right: auto;
}

.o2-benefit-icon,
.o2-klarna {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    height: 42px;
    padding: 0 12px;
    border-radius: 10px;
    background: #eaf2ff;
    font-weight: 700;
}

.o2-klarna {
    background: #ffb3d1;
    color: #111;
}

/* WooCommerce add to cart button */
.o2-product-page .single_add_to_cart_button {
    min-width: 340px;
    height: 52px;
    border-radius: 999px;
    background: #21a322;
    border: 0;
    font-weight: 700;
    font-size: 18px;
}

/* Quantity */
.o2-product-page .quantity input.qty {
    width: 70px;
    height: 44px;
    border-radius: 8px;
    border: 1px solid #ddd;
    text-align: center;
}

/* Attribute dropdowns αν δεν κάνεις swatches */
.o2-product-page table.variations {
    margin-bottom: 24px;
}

.o2-product-page table.variations th,
.o2-product-page table.variations td {
    display: block;
    padding: 0;
}

.o2-product-page table.variations label {
    font-size: 13px;
    color: #777;
    margin-bottom: 8px;
}

.o2-product-page table.variations select {
    max-width: 100%;
    border-radius: 8px;
    border: 1px solid #ddd;
    padding: 8px 12px;
}

@media (max-width: 991.98px) {
    .o2-product-summary {
        max-width: 100%;
    }

    .o2-product-page .single_add_to_cart_button {
        min-width: 100%;
    }

    .o2-product-price .price {
        font-size: 34px;
    }
}

/* Product variations wrapper */
.single-product .variations {
    margin: 24px 0 32px;
}

.single-product .variations .row {
    row-gap: 18px;
}

/* Attribute title: Χρώμα, Διάσταση κτλ */
.single-product .variations > .row > .col-12 > .label {
    margin-bottom: 8px;
}

.single-product .variations > .row > .col-12 > .label label {
    display: block;
    margin: 0;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 500;
    color: #8a8a8a;
}

/* Options group */
.single-product .variations .value .selector {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: center;
}

/* Each option */
.single-product .variations .value label.option {
    display: inline-flex;
    margin: 0;
    padding: 0;
    cursor: pointer;
    user-select: none;
}

/* Hide radio */
.single-product .variations .value label.option input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* Pill style */
.single-product .variations .value label.option > .label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid #d9e0e8;
    border-radius: 7px;
    background: #fff;
    color: #7d838c;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 500;
    white-space: nowrap;
    transition: border-color .18s ease, color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

/* Option text */
.single-product .variations .value label.option .name {
    display: inline-block;
}

/* Hover */
.single-product .variations .value label.option:hover > .label {
    border-color: #9ecff5;
    color: #111;
}

/* Checked / selected state */
.single-product .variations .value label.option:has(input[type="radio"]:checked) > .label,
.single-product .variations .value label.option.selected > .label,
.single-product .variations .value label.option.active > .label {
    border-color: #0097e8;
    color: #111;
    background: #fff;
    box-shadow: 0 0 0 1px #0097e8 inset;
}

/* Disabled / unavailable variations */
.single-product .variations .value label.option.disabled,
.single-product .variations .value label.option:has(input[type="radio"]:disabled) {
    cursor: not-allowed;
    opacity: .45;
}

.single-product .variations .value label.option.disabled > .label,
.single-product .variations .value label.option:has(input[type="radio"]:disabled) > .label {
    background: #f8f9fb;
    color: #a0a5ad;
    border-color: #e2e6eb;
}

/* Focus accessibility */
.single-product .variations .value label.option:has(input[type="radio"]:focus-visible) > .label {
    outline: 2px solid #0097e8;
    outline-offset: 2px;
}

/* Reset variations link */
.single-product .variations .reset_variations {
    display: inline-flex;
    margin-top: 8px;
    font-size: 13px;
    line-height: 1;
    color: #0097e8;
    text-decoration: none;
}

.single-product .variations .reset_variations:hover {
    text-decoration: underline;
}

/* Mobile */
@media (max-width: 575.98px) {
    .single-product .variations .value .selector {
        gap: 7px;
    }

    .single-product .variations .value label.option > .label {
        min-height: 34px;
        padding: 7px 10px;
        font-size: 14px;
        white-space: normal;
        text-align: center;
    }
}