.ProductDetailsItem {
    display:flex;
    flex-wrap:wrap;

    padding:0;
    margin:0;

    container-type: inline-size;
    gap:2em;
}

.side_pane {
    display: grid;

    text-align: left;

    font-size: 1em;

    box-sizing: border-box;

    width: 490px;

    gap:1em;

    grid-auto-rows: min-content;
}

.side_pane .disabled {
    display:none;
}

.side_pane .group {
    grid-column: span 2;
}

.side_pane .group[enabled="0"] {
    display:none;
}

.side_pane .group:last-child {

}

.side_pane .group .item {

}

.side_pane .group.caption {

}

.side_pane .group.caption .summary .value {
    font-size:130%;
}

.side_pane .group.caption .product_name {

    font-size: 1.3em;

    text-transform: uppercase;
    font-weight: bold;

}

.side_pane .group.caption .product_name .value {
    font-size: 1.3em;

    text-transform: uppercase;
    font-weight: bold;
}





.side_pane .group.details .item {

}

.side_pane .group.stock_amount {
    font-size:130%;
}

.side_pane .group.attributes {


}

.side_pane .group.attributes .viewport {

    font-size:130%;
    border-bottom: 1px solid #cccccc;
    border-top: 1px solid #cccccc;
    margin:0;

    padding-top:1em;
    padding-bottom:1em;

    text-align:left;

    line-height:150%;
    display: grid;
    grid-template-columns: auto auto;
    column-gap:0.5em;
    row-gap:0.5em;



}

.side_pane .group.attributes .viewport:empty {
    border:0;
    padding:0;
}

.side_pane .group.attributes .viewport .item {
    display: contents;
}

.side_pane .group.attributes .viewport .name {
    margin:0;
    text-align: right;
    align-self: center;
}

.side_pane .group.attributes .viewport .name:after {
    content: ":";
}

.side_pane .group.attributes .viewport .value {
    margin:0;
    text-align:left;
    align-self: center;
}

.side_pane .group.variants {

    text-align:left;

}

.side_pane .group.variants .viewport {
    display: block;
}
.side_pane .group.variants .viewport .item {
    display:block;
    border-bottom: 1px solid #cccccc;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
}
.side_pane .group.variants .viewport .item .name {
    display:inline-block;
}
.side_pane .group.variants .viewport .item .name:after {
    display:inline-block;
    content: ":";
    margin-right:0.5em;
}
.side_pane .group.variants .viewport .item .value {
    display:inline-block;
}
.side_pane .group.variants .viewport .item .list {
    display:block;
}
.side_pane .group.variants .viewport .item .parameter {
    display:inline-block;
    border:1px solid gray;
    padding:0.5em;
    margin:0.5em;
    cursor:pointer;
}
.side_pane .group.variants .viewport .item .parameter[selected] {
    border-color:var(--theme-accent-dark);
}



.side_pane .group.cart_link {

    grid-column: span 1;
    display: flex;
    flex-direction: column;
    gap:1em;
    /*min-width:210px;*/
}


.side_pane .group.cart_link .button {

    padding: 0.5em;

    text-decoration: none;
    color: black;

    font-size:1.5em;
    text-transform:uppercase;
    text-align:left;

    display:flex;
    flex-direction: row;
    flex-wrap: nowrap;

    align-items:center;

    border: 3px solid black;
    border-radius: 2em;

    box-sizing: border-box;
    gap:0.3em;
    line-height: 100%;
}
.side_pane .group.cart_link .button SPAN.icon {

    background-repeat:no-repeat;
    background-position: center center;
    background-size:contain;
    height:2em;
    width:2em;
    flex-grow:0;

}
.side_pane .group.cart_link .button SPAN,LABEL {
    text-wrap:wrap;
    flex-grow:1;
    max-width:190px;
    cursor:pointer;
}

.side_pane .group.cart_link .button LABEL:after {
    display:none;
}

.side_pane .group.cart_link .button.cart_add {

}
.side_pane .group.cart_link .button.cart_add .icon {
    background-image:url("../images/cart.svg");
}

.side_pane .group.cart_link .button.cart_add.fast {
    border-color: var(--theme-accent);
}

.side_pane .group.cart_link .button.cart_add.fast .icon {
    background-image:url("../images/operator.svg");
}

.side_pane .group.cart_link .button.order_phone {

}
.side_pane .group.cart_link .button.order_phone .icon {
    background-image:url("../images/phone_icon.svg");
}

.side_pane .group.cart_link .button.query_product {

}
.side_pane .group.cart_link .button.query_product .icon {
    background-image:url("../images/question_icon.svg");
}



.side_pane .group.cart_link .button.nostock {
    border-color: var(--theme-accent);
}

.side_pane .group.cart_link .button.nostock .icon {
    background-image:url("../images/notify_icon.svg");
}


.side_pane .group.query_product {
    display:block;

}
.side_pane .group.query_product FORM {
    display:none;
}
.side_pane .group.query_product FORM[shown='1'] {
    display:block;
}

.side_pane .group.query_product FORM [field='query'] {
    min-height:5em;
    height:5em;
}

.side_pane .summary {

}



.side_pane .group .item.color_chooser {
    display: block;
}

.side_pane .group.colors .current_color {
    display: block;
    margin-bottom: 0.5em;
}

.color_chooser .color_button {
    display: inline-block;
    border: 1px solid #cccccc;

    margin-right:0.25em;
    margin-bottom:0.25em;

    cursor: pointer;

    vertical-align: top;

    padding: 0.25em;

}

.color_chooser .color_button[active="1"] {
    outline: 1px dashed var(--theme-accent);
}

.color_chooser .color_button IMG {

    display: block;
    width: 64px;
    height: 64px;

}

.color_chooser .color_button SPAN {
    cursor: pointer;
    vertical-align: top;
    display: inline-block;
    width: 64px;
    height: 64px;
}

.side_pane .group.sizing {

}

.size_chooser {

    display: block;
    vertical-align: top;

}

.size_chooser .value {

}

.size_chooser .label {
    display: block;
    margin-bottom: 0.5em;
}

.side_pane .group.stock_amount .label {
    text-transform: uppercase;
}

.size_chooser .product_size {

    font-size: 1em;

}
.side_pane .group.sizing .current_size {
    display: block;
    margin-bottom: 0.5em;
}
.size_chooser .size_button {
    display: inline-block;
    border: 1px solid #cccccc;

    margin-right:0.25em;
    margin-bottom:0.25em;

    cursor: pointer;

    vertical-align: top;

    padding: 0.25em;
    min-width:2em;
    box-sizing:border-box;
    text-align:center;

    font-size:160%;
}

.size_chooser .size_button[active="1"] {
    outline: 1px dashed var(--theme-accent);
}

.side_pane FORM progress {
    display:none;
}
.side_pane FORM[working='1'] progress {
    display:inherit;
}
.side_pane FORM[working='1'] button {
    display:none;
}



.tabs {
    text-align:left;
    display:block;
    clear:both;
    flex-grow:1;
    font-size:130%
}
.tabs .item {
    display:block;
}

.tabs .item.description {


}

.tabs .item.description .contents {
    /*margin-top:2em;*/
    /*margin-bottom:2em;*/
    word-break: break-word;
    /*white-space: break-spaces;*/
    /*font-size:1.1em;*/
    line-height:160%;
}

.tabs .item.description IFRAME {

    margin-top:20px;
    margin-bottom:20px;
}
.tabs .item.description OBJECT {

    margin-top:20px;
    margin-bottom:20px;

}
.tabs .item.description EMBED {

    margin-top:20px;
    margin-bottom:20px;

}
.tabs .item.description IMG {
    max-width:100%;
}


.side_pane .group.cart_link .module.UniCreditPaymentButton .button {
    border-color: red;
    padding:0.2em;
    height:62px;
    flex-direction: column;
}
.side_pane .group.cart_link .module.UniCreditPaymentButton .button SPAN.icon {
    background-image:url("../images/unicredit-logo.png");
    background-repeat:no-repeat;
    background-size:contain;
    display:block;
    height:24px;
    width:100%;
}
.side_pane .group.cart_link .module.UniCreditPaymentButton .button SPAN.label {
    font-size:70%;
    display:block;
    width:100%;
    text-align:center;
    padding:0;
    margin:0;

}
.side_pane .group.cart_link .module.UniCreditPaymentButton .button SPAN.label:after {
    content:"";
}
.side_pane .group.cart_link .module.UniCreditPaymentButton .button:hover {
    background-color:red;
    color:white;
}

.side_pane .group.cart_link .module.TBICreditPaymentButton {
    border:0;
    padding:0;
    margin:0;
}
.side_pane .group.cart_link .module.TBICreditPaymentButton .button {
    border:0;
    padding:0;
    margin:0;
}

.side_pane .group:empty {
    display:none;
}

.side_pane .group.cart_link #tbiButton {
    height:62px;
    max-height:62px;
    box-sizing:border-box;
    margin-top:30px;
}

.side_pane .group.pricing {
    display:flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap:0.5em;
    grid-column: span 1;
}

.side_pane .group.pricing .PriceLabel {

    font-size:2em;
    font-weight:bold;
    flex-grow:0;
}


@media screen and (max-width: 640px) {
    .tabs .item.description OBJECT {
        max-width:100% !important;
        width:100% !important;
    }
    .tabs .item.description IFRAME {
        max-width:100% !important;
        width:100% !important;
    }
    .tabs .item.description EMBED {
        max-width:100% !important;
        width:100% !important;
    }
    .tabs .item.description TABLE {
        max-width:100% !important;
        width:100% !important;
    }
}

@media screen and (max-width: 490px) {
    .side_pane .group.pricing {

        grid-column: span 2;
        align-content: center;
    }
    .side_pane .group.cart_link {

        flex-wrap: wrap;
        grid-column: span 2;
        align-content: center;

    }
}