.mtco-slot { clear: both; width: 100%; grid-column: 1 / -1; }
.mtco-slot.mtco-independent { display: flow-root; box-sizing: border-box; background: var(--mtco-section-background, #fff); }
/* CommerceKit clones the product tabs into a fixed bar. Reveal it only after
   the independent purchase section, when the real description tabs are reached. */
body.mtco-before-product-tabs .commercekit-sticky-add-to-cart { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.mtco-slot[hidden], .mtco-card [hidden] { display: none !important; }
.mtco-card, .mtco-card * { box-sizing: border-box; }
.mtco-card {
    display: grid; grid-template-columns: minmax(0, var(--mtco-image-share)) minmax(0, 1fr);
    align-items: center; gap: var(--mtco-gap); clear: both; width: 100%;
    max-width: var(--mtco-max-width); margin: var(--mtco-margin-top) auto var(--mtco-margin-bottom);
    padding: var(--mtco-padding); border: var(--mtco-border-width) solid var(--mtco-border-color);
    border-radius: var(--mtco-radius); background: var(--mtco-background); box-shadow: var(--mtco-shadow);
    color: var(--mtco-text-color); font-weight: var(--mtco-body-weight); font-family: var(--mtco-font); text-align: var(--mtco-alignment);
    container-type: inline-size;
}
.mtco-card .mtco-content { display: flex; flex-direction: column; align-items: flex-start; gap: var(--mtco-content-gap); min-width: 0; }
.mtco-card .mtco-art { display: flex; align-items: center; justify-content: center; min-width: 0; border-radius: var(--mtco-image-radius); background: var(--mtco-image-background); overflow: hidden; }
.mtco-card .mtco-art img { display: block; width: 100%; height: auto; max-width: var(--mtco-image-max-width); aspect-ratio: var(--mtco-image-ratio); object-fit: var(--mtco-image-fit); object-position: var(--mtco-image-position); margin: 0; box-shadow: none; border: 0; border-radius: 0; }
.mtco-card .mtco-badge { display: inline-block; padding: var(--mtco-badge-padding-y) var(--mtco-badge-padding-x); border-radius: var(--mtco-badge-radius); background: var(--mtco-badge-background); color: var(--mtco-badge-color); font-size: var(--mtco-badge-size); font-weight: var(--mtco-badge-weight); line-height: 1.4; letter-spacing: var(--mtco-badge-letter-spacing); overflow-wrap: anywhere; }
.mtco-card .mtco-title { margin: 0; padding: 0; border: 0; color: var(--mtco-title-color); font-family: inherit; font-size: var(--mtco-title-size); font-weight: var(--mtco-title-weight); line-height: var(--mtco-title-line-height); letter-spacing: var(--mtco-title-letter-spacing); text-transform: none; overflow-wrap: anywhere; }
.mtco-card .mtco-body, .mtco-card .mtco-product { margin: 0; padding: 0; color: var(--mtco-text-color); font-size: var(--mtco-body-size); line-height: var(--mtco-body-line-height); white-space: pre-line; overflow-wrap: anywhere; }
.mtco-card .mtco-product { display: flex; flex-direction: column; gap: 3px; }
.mtco-card .mtco-product-label { font-size: var(--mtco-note-size); color: var(--mtco-muted-color); }
.mtco-card .mtco-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; max-width: 100%; margin: var(--mtco-button-offset) 0 0; padding: var(--mtco-button-padding-y) var(--mtco-button-padding-x); border: var(--mtco-button-border-width) solid var(--mtco-button-border-color); border-radius: var(--mtco-button-radius); background: var(--mtco-button-background); color: var(--mtco-button-color); font-family: inherit; font-size: var(--mtco-button-size); font-weight: var(--mtco-button-weight); line-height: 1.3; text-align: center; text-decoration: none; text-transform: none; white-space: normal; box-shadow: none; transition: background-color .15s, color .15s; }
.mtco-card .mtco-button span:first-child { min-width: 0; overflow-wrap: anywhere; }
.mtco-card .mtco-arrow { flex-shrink: 0; font-size: 1.25em; }
.mtco-card .mtco-button:hover { background: var(--mtco-button-hover-background); color: var(--mtco-button-hover-color); text-decoration: none; }
.mtco-card .mtco-button:focus-visible { outline: 3px solid var(--mtco-focus-color); outline-offset: 4px; }
.mtco-card .mtco-note { margin: 0; padding: 0; color: var(--mtco-muted-color); font-size: var(--mtco-note-size); line-height: var(--mtco-body-line-height); white-space: pre-line; overflow-wrap: anywhere; }
.mtco-card .mtco-purchase-note { opacity: 1; }
.mtco-card .mtco-buy-form { width: 100%; margin: 0; padding: 0; border: 0; background: transparent; }
.mtco-card .mtco-choices { display: flex; align-items: end; flex-wrap: wrap; gap: var(--mtco-content-gap); margin: 0 0 var(--mtco-content-gap); }
.mtco-card .mtco-choice { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.mtco-card .mtco-choice label { margin: 0; padding: 0; color: var(--mtco-text-color); font-size: var(--mtco-note-size); font-weight: 600; line-height: 1.4; }
.mtco-card .mtco-installation-choice { flex: 1 1 230px; }
.mtco-card .mtco-quantity-stepper { display: flex; align-items: stretch; }
.mtco-card .mtco-quantity-stepper button, .mtco-card .mtco-quantity, .mtco-card .mtco-installation { min-height: 46px; margin: 0; padding: var(--mtco-control-padding); border: 1px solid var(--mtco-control-border-color); border-radius: var(--mtco-control-radius); background: var(--mtco-control-background); color: var(--mtco-control-color); font-family: inherit; font-size: var(--mtco-body-size); line-height: 1.3; box-shadow: none; }
.mtco-card .mtco-installation { width: 100%; max-width: 100%; white-space: normal; text-overflow: ellipsis; }
.mtco-card .mtco-quantity { width: 4.5rem; text-align: center; border-radius: 0; appearance: textfield; -moz-appearance: textfield; }
.mtco-card .mtco-quantity::-webkit-inner-spin-button, .mtco-card .mtco-quantity::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.mtco-card .mtco-quantity-stepper button { min-width: 44px; cursor: pointer; font-weight: 600; text-transform: none; }
.mtco-card .mtco-quantity-stepper button:first-child { border-radius: var(--mtco-control-radius) 0 0 var(--mtco-control-radius); border-right: 0; }
.mtco-card .mtco-quantity-stepper button:last-child { border-radius: 0 var(--mtco-control-radius) var(--mtco-control-radius) 0; border-left: 0; }
.mtco-card .mtco-quantity-stepper button:disabled { opacity: .45; cursor: default; }
.mtco-card .mtco-order-summary { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 20px; padding: var(--mtco-content-gap) 0; border-top: 1px solid var(--mtco-border-color); color: var(--mtco-text-color); font-size: var(--mtco-note-size); line-height: 1.5; }
.mtco-card .mtco-total-amount { color: var(--mtco-title-color); font-size: var(--mtco-button-size); }
.mtco-card .mtco-buy-form .mtco-button { cursor: pointer; appearance: none; }
.mtco-card .mtco-buy-form .mtco-button:disabled { opacity: .7; cursor: wait; }
.mtco-preview .mtco-buy-form .mtco-button:disabled { cursor: default; opacity: 1; }
.mtco-card .mtco-quantity:focus-visible, .mtco-card .mtco-installation:focus-visible, .mtco-card .mtco-quantity-stepper button:focus-visible { outline: 2px solid var(--mtco-focus-color); outline-offset: 2px; position: relative; z-index: 1; }
.mtco-card.mtco-image-right { grid-template-columns: minmax(0, 1fr) minmax(0, var(--mtco-image-share)); }
.mtco-image-right .mtco-art { grid-column: 2; grid-row: 1; }
.mtco-image-right .mtco-content { grid-column: 1; grid-row: 1; }
.mtco-card.mtco-no-image { grid-template-columns: minmax(0, 1fr); }
.mtco-no-image .mtco-art { display: none; }
.mtco-no-image .mtco-content { grid-column: 1; grid-row: 1; }
.mtco-button-full .mtco-button { width: 100%; }
.mtco-card[style*="--mtco-alignment:center"] .mtco-content { align-items: center; }
@media (max-width: 767px) {
    .mtco-card, .mtco-card.mtco-image-right { grid-template-columns: minmax(0, 1fr); padding: var(--mtco-padding-mobile); gap: 20px; }
    .mtco-card .mtco-art, .mtco-card .mtco-content { grid-column: 1; grid-row: auto; }
    .mtco-card.mtco-mobile-content .mtco-content { grid-row: 1; }
    .mtco-card .mtco-title { font-size: var(--mtco-title-mobile-size); }
    .mtco-card .mtco-body, .mtco-card .mtco-product { font-size: var(--mtco-body-mobile-size); }
    .mtco-card .mtco-button { width: 100%; }
}
/* The admin preview uses this explicit class instead of relying on the admin viewport. */
.mtco-preview-mobile .mtco-card, .mtco-preview-mobile .mtco-card.mtco-image-right { grid-template-columns: minmax(0, 1fr); padding: var(--mtco-padding-mobile); gap: 20px; }
.mtco-preview-mobile .mtco-card .mtco-art, .mtco-preview-mobile .mtco-card .mtco-content { grid-column: 1; grid-row: auto; }
.mtco-preview-mobile .mtco-card.mtco-mobile-content .mtco-content { grid-row: 1; }
.mtco-preview-mobile .mtco-card .mtco-title { font-size: var(--mtco-title-mobile-size); }
.mtco-preview-mobile .mtco-card .mtco-body, .mtco-preview-mobile .mtco-card .mtco-product { font-size: var(--mtco-body-mobile-size); }
.mtco-preview-mobile .mtco-card .mtco-button { width: 100%; }
@media (prefers-reduced-motion: reduce) { .mtco-card .mtco-button { transition: none; } }
