/* Scoped to the main product summary; catalog, cart and checkout are unchanged. */
.woocommerce div.product .msh-product-media-column {
    width: 54%;
    float: left;
    min-width: 0;
    margin-bottom: 32px;
}
.woocommerce.single-product div.product .msh-product-media-column div.images,
.woocommerce.single-product div.product .msh-product-media-column .msh-icecat-gallery-column {
    width: 100%;
    float: none;
    margin-bottom: 18px;
}
.woocommerce.single-product div.product .msh-product-media-column ~ .summary { width: 40%; }
.woocommerce div.product .msh-product-media-column .msh-service-package {
    clear: both;
    margin: 22px 0 0;
    padding: 20px 0 0;
    border: 0;
    border-top: 3px solid #ffc324;
    background: transparent;
}
.woocommerce div.product .msh-product-media-column .msh-service-title { font-size: 17px; }
.woocommerce div.product .msh-product-media-column .msh-service-package ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.woocommerce div.product .msh-product-media-column .msh-service-package li { margin: 0; }
.woocommerce div.product .msh-product-media-column .msh-service-package li strong,
.woocommerce div.product .msh-product-media-column .msh-service-package li span { font-size: 14px; }
.woocommerce div.product .msh-product-media-column .msh-service-extra { font-size: 13px; }
.woocommerce div.product .summary .msh-buy-summary {
    color: #12344b;
    letter-spacing: 0;
    min-width: 0;
}
.woocommerce div.product .summary .msh-buy-summary h1.product_title {
    font-size: 30px;
    line-height: 1.22;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0 0 16px;
    overflow-wrap: anywhere;
}
.woocommerce div.product .summary .msh-buy-summary .msh-product-condition {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
    margin: -8px 0 16px;
    color: #48616f;
}
.woocommerce div.product .summary .msh-buy-summary .woocommerce-product-details__short-description {
    font-size: 16px;
    line-height: 1.55;
    margin: 0 0 18px;
}
.woocommerce div.product .summary .msh-buy-summary .woocommerce-product-details__short-description p {
    font-size: inherit;
    line-height: inherit;
    margin: 0 0 10px;
}
.woocommerce div.product .summary .msh-buy-summary .msh-service-brief {
    margin: 0 0 20px;
    padding: 12px 0 12px 14px;
    border-left: 3px solid #ffc324;
    font-size: 14px;
    line-height: 1.5;
    color: #314e60;
}
.woocommerce div.product .summary .msh-buy-summary .msh-service-brief strong {
    display: block;
    margin: 0 0 2px;
    color: #12344b;
    font-size: 15px;
}
.woocommerce div.product .summary .msh-buy-summary .msh-purchase-panel > .price {
    display: block;
    margin: 0 0 14px;
    padding: 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
    color: #09213d;
    letter-spacing: 0;
}
.woocommerce div.product .summary .msh-buy-summary .price .amount,
.woocommerce div.product .summary .msh-buy-summary .price bdi,
.woocommerce div.product .summary .msh-buy-summary .price .woocommerce-Price-currencySymbol {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    vertical-align: baseline;
    margin: 0;
    padding: 0;
    letter-spacing: 0;
}
.woocommerce div.product .summary .msh-buy-summary .price bdi { white-space: nowrap; }
.woocommerce div.product .summary .msh-buy-summary .price del { font-size: 20px; color: #526773; }
.woocommerce div.product .summary .msh-buy-summary .price ins { text-decoration: none; }
.woocommerce div.product .summary .msh-buy-summary .price .woocommerce-price-suffix {
    display: block;
    margin: 5px 0 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    color: #48616f;
}
.woocommerce div.product .summary .msh-buy-summary .stock {
    margin: 0 0 12px;
    padding: 0;
    font-size: 14px;
    line-height: 1.5;
    border: 0;
    box-shadow: none;
    color: #314e60;
}
.woocommerce div.product .summary .msh-buy-summary .stock.out-of-stock { color: #9b2929; }
.woocommerce div.product .summary .msh-buy-summary .stock::after { content: none; }
.woocommerce div.product .summary .msh-buy-summary form.cart {
    margin: 0 0 20px;
    padding: 0;
}
.woocommerce div.product.product-type-simple .summary .msh-buy-summary form.cart {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 10px;
}
.woocommerce div.product.product-type-simple .summary .msh-buy-summary form.cart .quantity {
    flex: 0 0 82px;
    width: 82px;
    margin: 0;
    float: none;
}
.woocommerce div.product.product-type-simple .summary .msh-buy-summary form.cart .qty {
    width: 82px;
    min-height: 52px;
    height: 52px;
    padding: 10px 24px 10px 12px;
    font-size: 16px;
    border: 1px solid #c8d7df;
    border-radius: 4px;
    box-shadow: none;
}
.woocommerce div.product .summary .msh-buy-summary .single_add_to_cart_button {
    min-height: 52px;
    padding: 14px 22px;
    border-radius: 4px;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0;
}
.woocommerce div.product.product-type-simple .summary .msh-buy-summary form.cart .single_add_to_cart_button {
    flex: 1 1 190px;
    width: auto;
    margin: 0;
    float: none;
}
.woocommerce div.product .summary .msh-buy-summary .msh-service-package {
    background: transparent;
    border: 0;
    border-top: 1px solid #dbe4e9;
    padding: 0;
    margin: 0 0 20px;
}
.woocommerce div.product .summary .msh-buy-summary .msh-service-package summary {
    cursor: pointer;
    padding: 14px 0;
    color: #12344b;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.5;
}
.woocommerce div.product .summary .msh-buy-summary .msh-service-package summary::marker { color: #0864a2; }
.woocommerce div.product .summary .msh-buy-summary .msh-service-package summary:focus-visible {
    outline: 2px solid #0864a2;
    outline-offset: 3px;
}
.woocommerce div.product .summary .msh-buy-summary .msh-service-package .msh-service-title { font-size: 16px; margin: 0 0 12px; }
.woocommerce div.product .summary .msh-buy-summary .msh-service-package p { margin: 0 0 12px; }
.woocommerce div.product .summary .msh-buy-summary .msh-service-package .msh-service-extra { padding-top: 12px; }
.woocommerce div.product .summary .msh-buy-summary .product_meta {
    margin: 0;
    padding-top: 14px;
    border-top: 1px solid #dbe4e9;
    font-size: 13px;
    line-height: 1.6;
    color: #48616f;
}
@media (max-width: 767px) {
    .woocommerce div.product .summary .msh-buy-summary h1.product_title { font-size: 25px; }
    .woocommerce div.product .summary .msh-buy-summary .msh-purchase-panel > .price { font-size: 29px; }
}
@media (max-width: 1023px) {
    .woocommerce.single-product div.product:has(> .msh-product-media-column) { display: flex; flex-direction: column; }
    .woocommerce.single-product div.product:has(> .msh-product-media-column) > * { order: 4; }
    .woocommerce.single-product div.product .msh-product-media-column { display: contents; }
    .woocommerce.single-product div.product .msh-product-media-column > * { order: 0; }
    .woocommerce.single-product div.product > .msh-product-media-column > .msh-icecat-gallery-column { display: contents; }
    .woocommerce.single-product div.product > .msh-product-media-column > .msh-icecat-gallery-column > .woocommerce-product-details__short-description { order: 2; }
    .woocommerce.single-product div.product .msh-product-media-column > .msh-service-package { order: 2; margin: 4px 0 28px; }
    .woocommerce.single-product div.product .msh-product-media-column ~ .summary { order: 1; }
    .woocommerce.single-product div.product .msh-product-media-column ~ .woocommerce-tabs { order: 3; }
    .woocommerce.single-product div.product .msh-product-media-column,
    .woocommerce.single-product div.product .msh-product-media-column ~ .summary { width: 100%; float: none; }
}
@media (max-width: 480px) {
    .woocommerce div.product .msh-product-media-column .msh-service-package ul { grid-template-columns: 1fr; gap: 10px; }
}

.woocommerce div.product .summary .msh-buy-summary .msh-purchase-panel {
    padding: 22px;
    margin: 0 0 22px;
    border: 1px solid #cbd9df;
    border-top: 3px solid #0864a2;
    border-radius: 4px;
    background: #f6f8f9;
    min-width: 0;
}
.woocommerce div.product .summary .msh-buy-summary .msh-purchase-panel > .stock {
    padding-top: 14px;
    margin: 0;
    border-top: 1px solid #d5e0e5;
}
.woocommerce div.product.product-type-simple .summary .msh-buy-summary .msh-purchase-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
}
.woocommerce div.product.product-type-simple .summary .msh-buy-summary .msh-purchase-panel > .price { order: 0; margin: 0; }
.woocommerce div.product.product-type-simple .summary .msh-buy-summary .msh-purchase-panel > form.cart { order: 1; margin: 0; }
.woocommerce div.product.product-type-simple .summary .msh-buy-summary .msh-purchase-panel > .stock { order: 2; }
.woocommerce div.product .summary .msh-buy-summary .msh-service-brief { margin-bottom: 16px; padding: 0; border: 0; }
.woocommerce div.product.product-type-simple .summary .msh-buy-summary .msh-purchase-panel form.cart {
    flex-wrap: nowrap;
    min-width: 0;
}
.woocommerce div.product.product-type-simple .summary .msh-buy-summary .msh-purchase-panel form.cart .single_add_to_cart_button {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 12px;
}
@media (max-width: 480px) {
    .woocommerce div.product .summary .msh-buy-summary .msh-purchase-panel { padding: 16px; }
}
