/* Scoped ecommerce layout; controls inherit shared forms.css. */
.wwm-shop {
    --color-bm-primary: #025b97;          /* Primary brand blue */
    --color-bm-primary-hover: #02406a;    /* Darker blue for hover states */
    --color-bm-text-primary: #262a3e;     /* Dark text for headings */
    --color-bm-text-secondary: #626262;   /* Medium grey for body text */
    --color-bm-text-third: #ffffff;   /* White  text */
    --color-bm-text-four: #f1f1f1;   /* White  text */
    --color-bm-text-light: #72808e;       /* Light grey for secondary elements */
    --color-bm-background: #ffffff;       /* White background */
    --color-bm-background-light: #fafafc; /* Light grey background */
    --color-bm-background-lightblue: #f7fbff; /* Light Blue Background for header Sidebar */
    
    --color-bm-border: #ddd;              /* Border color for forms */
    --color-bm-border-light: #dddee2;     /* Light border color for sections */
    --color-bm-error: #a51f18;            /* Error/validation color */
    --color-bm-cancel: #6c757d;           /* Grey for cancel operations */
    --color-bm-cancel-hover: #5a6268;     /* Darker grey for cancel hover */
    --color-bm-success: #28a745;          /* Bootstrap green for success actions */
    --color-bm-success-hover: #1e7e34;    /* Darker green for hover */
    --color-bm-secondary: #6c757d;        /* Light grey for secondary actions */
    --color-bm-secondary-hover: #545b62;  /* Dark grey for secondary hover */
    
    --color-bm-border-main: #d5e7ff;  /* Blue Border */
    
    --form-border-radius: 0.25rem;
}
.wwm-shop .shopCategory .sortPagiBar {
    display: none!important;
}.wwm-shop .shopAccount ul {
    font-size: 22px;
    font-weight: 300;
    line-height: 34px;
    list-style: none;
    margin: 10px 0;
    padding: 0;
}.wwm-shop .btn-smShop {
    font-size: 0.75rem !important;
    padding: 0.375rem 0.75rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0.25rem !important;
}.wwm-shop .btn-success {
    background-color: var(--color-bm-success) !important;
    border-color: var(--color-bm-success) !important;
    color: #fff !important;
}.wwm-shop .btn-success:hover,
.wwm-shop .btn-success:focus {
    background-color: var(--color-bm-success-hover) !important;
    border-color: var(--color-bm-success-hover) !important;
    color: #fff !important;
}.wwm-shop .btn-secondary {
    background-color: var(--color-bm-secondary) !important;
    border-color: var(--color-bm-secondary) !important;
    color: #fff !important;
}.wwm-shop .btn-secondary:hover,
.wwm-shop .btn-secondary:focus {
    background-color: var(--color-bm-secondary-hover) !important;
    border-color: var(--color-bm-secondary-hover) !important;
    color: #fff !important;
}.wwm-shop .order-status-complete {
    background-color: var(--color-bm-success);
    color: #fff;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    display: inline-block;
}.wwm-shop .order-status-cancelled {
    background-color: #dc3545;
    color: #fff;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    display: inline-block;
}.wwm-shop .order-status-pending {
    background-color: #fd7e14;
    color: #fff;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    display: inline-block;
}.wwm-shop .order-status-refunded {
    background-color: #0dcaf0;
    color: #000;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    display: inline-block;
}.wwm-shop .shopArea {}.wwm-shop .productRow {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; 
  width: 100%;
}.wwm-shop .productItem {
  flex: 0 0 100%; 
  max-width: 100%;
  box-sizing: border-box;
}


@media (min-width: 768px) and (max-width: 1023px) {.wwm-shop .productItem {
    flex: 0 0 calc(50% - 10px); 
    max-width: calc(50% - 10px);
  }
}


@media (min-width: 1024px) {.wwm-shop .productItem {
    flex: 0 0 calc(33.333% - 14px); 
    max-width: calc(33.333% - 14px);
  }
}.wwm-shop .shopCategory .product-image img,
.wwm-shop .shopProduct .product-image img {
    width: 100%;
}.wwm-shop .shopCategoryProductItem {
    text-align: center;
    margin-bottom: 0;
    border: 1px solid #efefef;
    padding: 10px;
    line-height: 1.4;
}.wwm-shop .shopCategoryProductItem .eshop-info-block {
    padding:0 10px;
    text-align: center;
}.wwm-shop .shopCategoryProductItem .eshop-info-block h5 {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
}.wwm-shop .shopCategoryProductItem span.price {
    font-size: 1.4rem;
}.wwm-shop .shopCategoryProductItem .eshop-product-price {
    margin-bottom: 0.5rem;
}.wwm-shop .shopCategoryProductItem .eshop-info-block p {
    margin: 0;
}.wwm-shop .shopCategoryProductItem .eshop-product-desc p,
.wwm-shop .shopCategoryProductItem .eshop-product-price small {
    font-size: 0.75rem;
    display: block;
}.wwm-shop .shopCategoryProductItem .eshop-cart-area {
    margin: 0;
}.wwm-shop .shopProduct h3 {
    line-height: 1.1;
}.wwm-shop .shopProduct .eshop-quantity {
    margin: 0 0 1rem;
    display: flex;
    align-content: center;
}.wwm-shop .shopProduct .eshop-quantity-value {
    margin: 0 1px;
    border-radius: var(--form-border-radius);
}.wwm-shop .shopProduct .nav-tabs {
    margin: 0 0 1rem!important;
    padding: 8px 8px!important;
    border: 0;
    background-color: #f1f1f1;
    border-radius: var(--form-border-radius);
}.wwm-shop .shopProduct a.nav-link.active {
    padding: 0;
    margin: 0;
    font-size: 1.4rem;
    font-weight: 600;
    border: 0;
    background-color: transparent!important;
}.wwm-shop .shopProduct .product-info .tab-content {
    margin-bottom: 0;
    padding: 0 5px!important;
    border: 0;
    border-top: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
}.wwm-shop .shopProduct #productContent h3 {
    background-color: #f1f1f1;
    padding: 8px 8px;
    margin: 0 0 1rem;
    font-size: 1.4rem;
    font-weight: 600;
    border: 0;
    border-radius: var(--form-border-radius);
    color: #000;
}.wwm-shop #colorbox:not(.wwm-cart-dialog) #cboxMiddleLeft,
.wwm-shop #colorbox:not(.wwm-cart-dialog) #cboxMiddleRight {
    display: none!important;
}.wwm-shop div#cboxOverlay:not(.wwm-cart-dialog) {
    display: block;
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #000000c2;
    opacity: 1!important;
}.wwm-shop div#colorbox:not(.wwm-cart-dialog) {
    background-color: #fff;
}.wwm-shop #colorbox:not(.wwm-cart-dialog) #cboxWrapper {
    background-color: #fff;
    padding: 15px;
}.wwm-shop #colorbox:not(.wwm-cart-dialog) #cboxContent #cboxLoadedContent {
    padding: 0!important;
    background: #fff!important;
    margin: 0!important;
    overflow: hidden!important;
}.wwm-shop #colorbox:not(.wwm-cart-dialog) #cboxWrapper,
.wwm-shop #colorbox:not(.wwm-cart-dialog) #cboxContent,
.wwm-shop #colorbox:not(.wwm-cart-dialog) #cboxContent #cboxLoadedContent {
    float: none!important;
    width: 100%!important;
    height: auto!important;
}.wwm-shop #colorbox:not(.wwm-cart-dialog) #cboxContent h1 {
    margin: 0!important;
    padding: 5px 5px!important;
    font-size: 1.4rem!important;
}.wwm-shop #colorbox:not(.wwm-cart-dialog) .cart-info,
.wwm-shop #colorbox:not(.wwm-cart-dialog) .quote-info {
    margin: 1rem 0 0!important;
    line-height: 1.1;
}.wwm-shop .cart-info:not(.wwm-full-cart-scroll) table th,
.wwm-shop .cart-info:not(.wwm-full-cart-scroll) table td {
    padding: .3rem .3rem!important;
    text-align: left;
}.wwm-shop .cart-info:not(.wwm-full-cart-scroll) .button-plus,
.wwm-shop .cart-info:not(.wwm-full-cart-scroll) .button-minus {
    padding: 0!important;
    margin: 0!important;
    background-color: var(--color-bm-primary)!important;
    border: 0.0625rem solid var(--color-bm-primary)!important;
}.wwm-shop .cart-info .eshop-quantity input {
    margin: 0 !important;
    height: unset !important;
    padding: 5px 5px !important;
    line-height: 1;
}
/* Product detail. Neutralise the inherited grid only within this view. */
/* Cart-only Colorbox skin; photo and quote dialogs keep their own treatment. */
#cboxOverlay.wwm-cart-dialog { position: fixed; inset: 0; background: #15273e; opacity: .45 !important; }
#colorbox.wwm-cart-dialog { background: #fff; border-radius: 12px; box-shadow: 0 16px 60px #12243b40; outline: none; }
#colorbox.wwm-cart-dialog :is(#cboxTopLeft,#cboxTopCenter,#cboxTopRight,#cboxMiddleLeft,#cboxMiddleRight,#cboxBottomLeft,#cboxBottomCenter,#cboxBottomRight) { width: 0; height: 0; background: none; }
#colorbox.wwm-cart-dialog #cboxWrapper { padding: 0; background: #fff; }
#colorbox.wwm-cart-dialog #cboxContent { background: #fff; margin: 0; }
#colorbox.wwm-cart-dialog #cboxLoadedContent { padding: 0; margin: 0; overflow: auto !important; background: #fff; }
#colorbox.wwm-cart-dialog #cboxClose { position: absolute; top: 12px; right: 16px; width: auto; height: 36px; padding: 0 10px; border: 1px solid #ccd8e6; border-radius: 7px; background: #fff; color: #005e99; font: inherit; text-indent: 0; }
#colorbox.wwm-cart-dialog #cboxClose:focus-visible { outline: 2px solid #a76500; outline-offset: 2px; }
.wwm-cart-popup { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; margin: 0; padding: 24px; color: var(--wwm-text, #252d3d); font: inherit; line-height: 1.5; }
.wwm-cart-popup *, .wwm-cart-popup *::before, .wwm-cart-popup *::after { box-sizing: border-box; }
#colorbox.wwm-cart-dialog :is(#cboxWrapper,#cboxContent,#cboxLoadedContent) { border: 0; padding: 0; }
.wwm-cart-popup :is(.success,.warning) { width: auto; max-width: 100%; margin: 0 0 16px; padding: 12px 16px; border-radius: 7px; overflow-wrap: anywhere; }
.wwm-cart-popup .warning { background: #fff1ef; color: #9d2828; border: 1px solid #ecc4c4; }
.wwm-cart-popup .success { background: #ebf8ef; color: #216c3d; border: 1px solid #c5e4ce; }
.wwm-cart-popup #wwm-cart-title { margin: 0 90px 16px 0; padding: 0; background: none; font-size: 1.4rem; font-weight: 700; overflow-wrap: anywhere; }
.wwm-cart-popup .wwm-cart-status:empty { display: none; }
.wwm-cart-popup .wwm-cart-status { margin: 0 0 16px; }
.wwm-cart-popup .wwm-cart-table-scroll { overflow-x: auto; }
.wwm-cart-popup .wwm-cart-table { width: 100%; border-collapse: collapse; margin: 0; }
.wwm-shop .wwm-cart-popup .cart-info .wwm-cart-table :is(th,td) { padding: 12px !important; text-align: left; border: 0; border-bottom: 1px solid #dce4ef; background: #fff; font-size: .9rem; line-height: 1.5; }
.wwm-shop .wwm-cart-popup .cart-info .wwm-cart-table th { background: #f1f6fc; font-weight: 600; }
.wwm-cart-popup .wwm-cart-table img { max-width: 64px; height: auto; }
.wwm-cart-popup .eshop-quantity { display: inline-flex; align-items: center; gap: 4px; margin: 0; white-space: nowrap; }
.wwm-shop .wwm-cart-popup .cart-info .eshop-quantity input { width: 54px; text-align: center; min-height: 44px; }
.wwm-cart-popup .eshop-quantity .wwm-button { min-width: 36px; padding: .5rem; }
.wwm-cart-popup .wwm-cart-remove { font-size: 1.25rem; padding: .25rem .75rem; color: #a32121; border-color: #e2bcc0; }
.wwm-cart-popup .wwm-cart-totals { margin: 20px 0 20px auto; max-width: 320px; padding: 12px 16px; background: #f1f6fc; border-radius: 8px; }
.wwm-cart-popup .wwm-cart-totals > div { display: flex; justify-content: space-between; gap: 24px; padding: 5px 0; }
.wwm-cart-popup .wwm-cart-totals > div:last-child { border-top: 1px solid #cad8e8; margin-top: 6px; padding-top: 10px; font-size: 1.1rem; }
.wwm-cart-popup .wwm-cart-actions > .controls { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin: 0; }
.wwm-cart-popup .wwm-cart-continue { margin-right: auto; }
@media (max-width: 600px) {
    .wwm-cart-popup { padding: 16px; }
    .wwm-cart-popup .wwm-cart-table { min-width: 620px; }
    .wwm-cart-popup .wwm-cart-actions .wwm-button { flex: 1 1 45%; margin: 0; }
    .wwm-cart-popup .wwm-cart-totals { max-width: none; }
}
.wwm-shop .wwm-product-page { max-width: 1120px; margin-inline: auto; }
.wwm-shop .wwm-product-page > .row { display: block; margin: 0; }
.wwm-shop .wwm-product-content { width: 100%; padding: 0; }
.wwm-shop .shopProduct .product-info { display: flex; flex-direction: column; }
.wwm-shop .shopProduct .product-info > h1 { order: -2; margin: 0 0 .5rem; color: var(--wwm-text); }
.wwm-shop .shopProduct .product-sku { order: -1; margin-bottom: 1.5rem; color: var(--wwm-muted); font-size: .875rem; }
.wwm-shop .productImagePrice > .row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 2rem; margin: 0; }
.wwm-shop .wwm-product-visual, .wwm-shop .wwm-product-purchase { width: auto; min-width: 0; padding: 1.5rem; border: 1px solid var(--wwm-border); border-radius: .75rem; }
.wwm-shop .wwm-product-visual { display: grid; place-items: center; background: #fff; }
.wwm-shop .wwm-product-purchase { background: #edf6ff; }
/* Keep the purchase details on one left edge at every viewport width. */
.wwm-shop .shopProduct .wwm-product-purchase,
.wwm-shop .shopProduct .wwm-product-purchase :is(.product-price, .product-cart, .product-cart > div, .product-cart label, .input-append, .input-prepend, .input-group-append, .input-group-prepend) { text-align: left !important; }
.wwm-shop .shopProduct .wwm-product-purchase .product-cart > div,
.wwm-shop .shopProduct .wwm-product-purchase .product-cart > div > div { display: block; padding-inline: 0; margin-inline: 0; }
.wwm-shop .shopProduct .wwm-product-purchase .eshop-quantity { justify-content: flex-start; margin-inline: 0; padding-inline: 0; }
.wwm-shop .shopProduct .wwm-product-purchase :is(#add-to-cart, #add-to-quote) { margin-inline: 0; float: none; }
.wwm-shop .productImage img { display: block; max-width: 100%; max-height: 340px; object-fit: contain; }
.wwm-shop .shopProduct .product-price h3 { margin: 0 0 1rem; font-size: 1.75rem; line-height: 1.3; color: var(--wwm-text); }
.wwm-shop .shopProduct .product-price small { display: block; margin-top: .25rem; font-size: .875rem; font-weight: 400; font-style: normal; }
.wwm-shop .product-cart, .wwm-shop .product-cart > div { float: none; width: 100%; margin: 1rem 0 0; }
.wwm-shop .product-cart label { display: block; font-weight: 600; margin-bottom: .4rem; }
.wwm-shop .eshop-quantity { display: inline-flex; align-items: stretch; gap: .35rem; margin-bottom: 1rem; }
.wwm-shop .shopProduct .eshop-quantity input { width: 4.5rem; text-align: center; margin: 0; }
.wwm-shop .shopProduct .productTabs { margin-top: 2rem; }
.wwm-shop .shopProduct .productTabs p, .wwm-shop .shopProduct .productTabs li { letter-spacing: normal; line-height: 1.65; }
.wwm-shop .shopProduct .productTabs h2, .wwm-shop .shopProduct .productTabs h3 { background: none; color: var(--wwm-text); padding: 0; margin-top: 1.5rem; }
/* Persistent plugin content: deliberately separate from system notifications. */
.wwm-shop .productExtraInformation {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin-block: 1.5rem;
    padding: 1.5rem;
    border: 1px solid var(--wwm-border);
    border-radius: .75rem;
    background: #f6f9fd;
    color: var(--wwm-text);
    text-align: left;
    overflow-wrap: anywhere;
}
.wwm-shop .productExtraInformation p {
    margin: 0 0 1rem;
    font-size: 1rem;
    line-height: 1.65;
    letter-spacing: normal;
}
.wwm-shop .productExtraInformation > :last-child { margin-bottom: 0; }
.wwm-shop .productExtraInformation .alert-warning {
    padding: 1rem;
    border: 1px solid #ead7ab;
    border-left: 3px solid #bd841b;
    border-radius: .5rem;
    background: #fffaf0;
    color: #59451f;
}
.wwm-shop .productExtraInformation a {
    color: var(--wwm-accent);
    text-decoration: underline;
    text-underline-offset: .15em;
}
.wwm-shop .productExtraInformation a:focus-visible {
    outline: 2px solid var(--wwm-accent);
    outline-offset: 3px;
    border-radius: 2px;
}
@media (max-width: 639px) {
    .wwm-shop .productExtraInformation { padding: 1rem; }
    .wwm-shop .productExtraInformation .alert-warning { padding: .75rem; }
}
.wwm-shop .product-discount-price { font-size: .875rem; line-height: 1.8; }
.wwm-shop .wwm-shop-feedback { margin-top: 1rem; font-weight: 600; overflow-wrap: anywhere; }
.wwm-shop .wwm-shop-feedback:empty { display: none; }
@media(max-width: 767px) { .wwm-shop .productImagePrice > .row { grid-template-columns: minmax(0, 1fr); gap: 1rem; } .wwm-shop .productImage img { max-height: 230px; } }
.wwm-shop .product-discount-price { width: 100%; border-collapse: collapse; margin-block: 1rem; } .wwm-shop .product-discount-price th, .wwm-shop .product-discount-price td { padding: .4rem .65rem; border-bottom: 1px solid var(--wwm-border); text-align: left; }

/* Shared category/list cards, independent of inherited Bootstrap grid rules. */
/* Cart sizing must not depend on Colorbox's cached frame measurements. */
#colorbox.wwm-cart-dialog { position: fixed !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%); width: min(960px, calc(100vw - 24px)) !important; height: auto !important; max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); padding: 0 !important; border: 0 !important; box-sizing: border-box; overflow: hidden !important; }
#colorbox.wwm-cart-dialog #cboxWrapper { position: relative; width: 100% !important; height: auto !important; max-width: 100%; margin: 0 !important; padding: 0 !important; box-sizing: border-box; }
#colorbox.wwm-cart-dialog #cboxWrapper > div:first-child,
#colorbox.wwm-cart-dialog #cboxWrapper > div:last-child { display: none !important; }
#colorbox.wwm-cart-dialog :is(#cboxTopLeft,#cboxTopCenter,#cboxTopRight,#cboxMiddleLeft,#cboxMiddleRight,#cboxBottomLeft,#cboxBottomCenter,#cboxBottomRight) { display: none !important; }
#colorbox.wwm-cart-dialog #cboxContent { float: none !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 44px 0 0 !important; box-sizing: border-box; }
#colorbox.wwm-cart-dialog #cboxLoadedContent { width: 100% !important; height: auto !important; max-width: 100%; max-height: calc(100vh - 68px); max-height: calc(100dvh - 68px); margin: 0 !important; padding: 0 !important; box-sizing: border-box; overflow: auto !important; overscroll-behavior: contain; }
#colorbox.wwm-cart-dialog #cboxClose { top: 8px; right: 12px; height: 32px; }
#colorbox.wwm-cart-dialog :is(#cboxTitle,#cboxCurrent) { display: none !important; }
#colorbox.wwm-cart-dialog .wwm-cart-popup { padding: 8px 16px 16px; }
#colorbox.wwm-cart-dialog .wwm-cart-popup #wwm-cart-title { margin: 0 0 12px; }
#colorbox.wwm-cart-dialog .wwm-cart-table :is(th,td) { padding: 8px !important; }
#colorbox.wwm-cart-dialog .wwm-cart-popup .wwm-button { padding: .4rem .65rem; min-height: 44px; }
#colorbox.wwm-cart-dialog .wwm-cart-totals { margin-block: 12px; padding: 8px 12px; }
#colorbox.wwm-cart-dialog .wwm-cart-popup :is(.success,.warning) { margin-bottom: 12px; padding: 8px 12px; }
@media(max-width:600px) { #colorbox.wwm-cart-dialog .wwm-cart-popup { padding-inline: 12px; } }
.wwm-shop .wwm-product-list #products-list > :not(.productRow) { grid-column: 1 / -1; }
.wwm-shop .wwm-product-list #products-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.wwm-shop .wwm-product-list .productRow { display: contents; }
.wwm-shop .wwm-product-list .productItem { display: flex; width: auto; max-width: none; min-width: 0; padding: 0; margin: 0; }
.wwm-shop .wwm-product-list .shopCategoryProductItem { display: flex; flex-direction: column; width: 100%; padding: 24px; border: 1px solid #d7e2ef; border-radius: 12px; background: #f6f9fd; text-align: left; }
.wwm-shop .wwm-product-list .eshop-info-block { display: flex; flex: 1; flex-direction: column; padding: 0; text-align: left; }
.wwm-shop .wwm-product-list .wwm-product-card-title { margin: 0 0 12px; padding: 0; background: none; font-size: 1.2rem; line-height: 1.4; }
.wwm-shop .wwm-product-list .wwm-product-card-title a { color: var(--wwm-accent); text-decoration: none; }
.wwm-shop .wwm-product-list .wwm-product-card-title a:hover { text-decoration: underline; }
.wwm-shop .wwm-product-list .eshop-product-desc, .wwm-shop .wwm-product-list .eshop-product-desc p { font-size: 1rem; line-height: 1.6; margin: 0 0 12px; }
.wwm-shop .wwm-product-list .eshop-product-price { margin-top: auto; padding-top: 12px; margin-bottom: 16px; }
.wwm-shop .wwm-product-list .eshop-product-price > p { margin: 0; }
.wwm-shop .wwm-product-list .eshop-product-price :is(.price,.eshop-sale-price) { font-size: 1.5rem; font-weight: 600; }
.wwm-shop .wwm-product-list .eshop-product-price small, .wwm-shop .wwm-product-list .eshop-product-price small span { display: inline; font-size: .875rem; font-weight: 400; font-style: normal; }
.wwm-shop .wwm-product-list .eshop-product-price small { display: block; margin-top: 4px; }
.wwm-shop .wwm-product-list .eshop-buttons { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.wwm-shop .wwm-product-list .eshop-cart-area { order: -1; margin: 0; }
.wwm-shop .wwm-product-list .wwm-product-details { font-size: .875rem; }
@media(max-width:1023px) { .wwm-shop .wwm-product-list #products-list { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:639px) { .wwm-shop .wwm-product-list #products-list { grid-template-columns: minmax(0,1fr); } }
/* Customer addresses: native EShop fields, shared Minimal controls. */
.wwm-shop .wwm-address-book, .wwm-shop .wwm-address-editor { width: 100%; max-width: 960px; margin-inline: auto; box-sizing: border-box; }
.wwm-shop .wwm-address-book h1, .wwm-shop .wwm-address-editor h1 { margin: 0 0 1.5rem; }
.wwm-address-book #button-new-address { margin-bottom: 1.25rem; }
.wwm-address-book .order-list { display: grid; gap: 1rem; }
.wwm-address-book .address-row { display: flex; align-items: start; justify-content: space-between; gap: 1.5rem; padding: 1.5rem; border: 1px solid #d2dfec; border-radius: 12px; background: #f6faff; line-height: 1.7; overflow-wrap: anywhere; }
.wwm-address-book .address-row > div { min-width: 0; }
.wwm-address-book .wwm-address-name { font-weight: 700; margin-bottom: .5rem; }
.wwm-address-actions { display: flex; gap: .5rem; flex-wrap: wrap; flex-shrink: 0; }
.wwm-shop .wwm-address-actions .button-delete-address { color: #a82121; border-color: #d5a1a1; }
.wwm-address-editor { padding: 2rem; border: 1px solid #d2dfec; border-radius: 12px; background: #fff; }
.wwm-address-editor #process-address { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; }
.wwm-address-editor #process-address :is(.row, .row-fluid, [class*="span"], [class*="col-"]):has(.control-group, .form-group, .mb-3) { display: contents; }
.wwm-address-editor #process-address :is(.control-group, .form-group, .mb-3) { width: auto; min-width: 0; margin: 0; padding: 0; float: none; }
.wwm-address-editor #process-address :is(.control-label, label:not(.radio):not(.radio-inline)) { display: block; float: none; width: auto; text-align: left; font-weight: 600; margin: 0 0 .4rem; }
.wwm-address-editor #process-address :is(.controls, .docs-input-sizes) { margin: 0; width: auto; }
.wwm-address-editor #process-address :is(input:not([type=hidden]):not([type=button]):not([type=radio]):not([type=checkbox]), select, textarea) { width: 100%; }
.wwm-address-editor #process-address > .wwm-default-address, .wwm-address-editor #process-address .form-actions, .wwm-address-editor #process-address .warning,
.wwm-address-editor #process-address :is(.control-group, .form-group, .mb-3):has([name="address_1"], [name="address_2"]) { grid-column: 1 / -1; }
.wwm-address-editor #process-address > .control-group:has(input[type=radio]) { padding-top: .5rem; border-top: 1px solid #d2dfec; }
.wwm-address-editor #process-address input[type=radio] { accent-color: var(--wwm-accent); margin-right: .4rem; }
.wwm-address-editor .form-actions { display: flex; gap: .75rem; flex-wrap: wrap; padding-top: .5rem; }
.wwm-address-editor .error, .wwm-address-editor .required { color: #a82121; }
.wwm-address-editor .error { display: block; margin-top: .4rem; }
@media (max-width: 639px) {
    .wwm-address-editor { padding: 1.25rem; }
    .wwm-address-editor #process-address { grid-template-columns: minmax(0, 1fr); }
    .wwm-address-book .address-row { flex-direction: column; padding: 1.25rem; gap: 1rem; }
}
.wwm-shop .wwm-orders { max-width: 1120px; margin-inline: auto; }
.wwm-orders h1 { margin: 0 0 1.75rem; }
.wwm-orders .order-list { display: grid; gap: 1rem; }
.wwm-orders .order-row { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem; border: 1px solid #d2dfec; border-radius: 12px; background: #f6faff; }
.wwm-orders .order-row > div { min-width: 0; }
.wwm-orders .order-title { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin: 0 0 .75rem; font-size: 1.15rem; }
.wwm-orders .order-details { margin: .25rem 0; overflow-wrap: anywhere; }
.wwm-orders .order-label { font-weight: 600; }
.wwm-orders .order-total { margin-top: .75rem; font-size: 1.125rem; font-weight: 700; }
.wwm-orders .wwm-order-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; max-width: 50%; }
.wwm-shop .wwm-orders .wwm-order-status { display: inline-block; padding: .3rem .7rem; border-radius: 999px; font-size: .8rem; line-height: 1.5; font-weight: 600; background: #e9eef5; color: #34445a; }
.wwm-shop .wwm-orders .order-status-complete { background: #e3f4eb; color: #11632f; }
.wwm-shop .wwm-orders .order-status-cancelled { background: #fce9eb; color: #a82132; }
.wwm-shop .wwm-orders .order-status-pending { background: #fff1d6; color: #80520b; }
.wwm-shop .wwm-orders .order-status-refunded { background: #e4f2fb; color: #075986; }
.wwm-orders.orderDetail h2 { font-size: 1.2rem; margin: 1.75rem 0 1rem; }
.wwm-order-table-scroll { max-width: 100%; overflow-x: auto; margin-bottom: 1.25rem; border: 1px solid #d2dfec; border-radius: 12px; background: #fff; }
.wwm-shop .wwm-orders .wwm-order-table { width: 100%; margin: 0; border: 0; border-collapse: collapse; line-height: 1.65; }
.wwm-shop .wwm-orders .wwm-order-table :is(th, td) { padding: .85rem 1rem; border: 0; border-bottom: 1px solid #e1e8f0; vertical-align: top; text-align: left; }
.wwm-shop .wwm-orders .wwm-order-table th { background: #eff6fc; font-weight: 600; }
.wwm-shop .wwm-orders .wwm-order-table .right { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wwm-orders .wwm-order-table-1 { min-width: 480px; }
.wwm-orders .wwm-order-table-4 { min-width: 620px; }
.wwm-orders .wwm-order-table-2, .wwm-orders .wwm-order-table-3 { table-layout: fixed; overflow-wrap: anywhere; }
.wwm-shop .wwm-orders .wwm-order-table tfoot { background: #f6faff; }
.wwm-shop .wwm-orders .wwm-order-table tfoot tr:last-child td { font-size: 1.125rem; font-weight: 700; border-top: 2px solid #d2dfec; }
@media (max-width: 767px) {
    .wwm-orders .order-row { flex-direction: column; align-items: stretch; padding: 1.25rem; gap: 1rem; }
    .wwm-orders .wwm-order-actions { max-width: none; justify-content: flex-start; }
    .wwm-shop .wwm-orders .wwm-order-table-2 :is(tbody, tr, td) { display: block; width: auto !important; }
    .wwm-shop .wwm-orders .wwm-order-table :is(th, td) { padding: .75rem; }
}
.wwm-shop .wwm-cart-page { max-width: 1120px; margin-inline: auto; }
.wwm-cart-page h1 { margin: 0 0 1.75rem; }
.wwm-full-cart-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #d2dfec; border-radius: 12px; }
.wwm-cart-page .wwm-full-cart-table { width: 100%; min-width: 700px; border-collapse: collapse; }
.wwm-shop .wwm-cart-page .cart-info .wwm-full-cart-table :is(th,td) { padding: 1rem; border: 0; border-bottom: 1px solid #e1e8f0; text-align: left; }
.wwm-cart-page .wwm-full-cart-table th { background: #eff6fc; }
.wwm-cart-page .wwm-full-cart-table td:nth-last-child(-n+2) { white-space: nowrap; font-variant-numeric: tabular-nums; }
.wwm-shop .wwm-cart-page .cart-info .eshop-quantity { display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; margin: 0; }
.wwm-shop .wwm-cart-page .cart-info .eshop-quantity input { width: 54px; margin: 0; text-align: center; }
.wwm-shop .wwm-cart-page .cart-info :is(.button-plus,.button-minus,.eshop-remove-item-cart) { min-width: 44px; min-height: 44px; padding: .5rem; background: #fff; color: var(--wwm-accent); border: 1px solid var(--wwm-accent); font-size: 1rem; }
.wwm-cart-page .wwm-full-cart-table img { max-width: 80px; height: auto; }
.wwm-full-cart-totals { margin: 1.25rem 0 1rem auto; padding: 1rem 1.25rem; max-width: 360px; background: #eff6fc; border-radius: 12px; }
.wwm-full-cart-totals > div { display: flex; justify-content: space-between; gap: 1rem; padding: .5rem 0; }
.wwm-full-cart-totals > div:last-child { border-top: 1px solid #cdddec; margin-top: .25rem; font-size: 1.15rem; }
.wwm-full-cart-manage { display: flex; justify-content: flex-end; gap: .5rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.wwm-cart-page .wwm-cart-service { width: 100%; border: 1px solid #d2dfec; border-radius: 12px; background: #f6faff; margin: 1rem 0; border-spacing: 0; }
.wwm-cart-page .wwm-cart-service :is(td,th) { padding: 1.25rem; text-align: left; }
.wwm-cart-page .wwm-cart-service label { display: block; margin-bottom: .5rem; }
.wwm-cart-page .wwm-cart-service .controls { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }
.wwm-cart-page .wwm-cart-service input[type=text] { width: min(100%,360px); }
.wwm-full-cart-actions { display: flex; justify-content: space-between; gap: .75rem; flex-wrap: wrap; margin-top: 1.5rem; }
@media (max-width: 639px) {
    .wwm-shop .wwm-cart-page .cart-info .wwm-full-cart-table :is(th,td) { padding: .75rem; }
    .wwm-full-cart-totals { max-width: none; }
    .wwm-full-cart-actions > a { flex: 1 1 100%; }
}
/* Checkout presentation only. Native scripts own step visibility and payment state. */
.wwm-shop .wwm-checkout { max-width: 1120px; margin-inline: auto; }
.wwm-checkout h1 { margin: 0 0 1.75rem; }
.wwm-checkout .checkoutFlow > div { margin-bottom: 1rem; border: 1px solid #d2dfec; border-radius: 12px; background: #fff; }
.wwm-checkout .checkout-heading { padding: 1rem 1.25rem; background: #eff6fc; border-radius: 12px; font-size: 1rem; font-weight: 700; }
.wwm-checkout .checkout-heading a { float: right; margin-left: .75rem; color: var(--wwm-accent); text-decoration: underline; cursor: pointer; }
.wwm-checkout .checkout-content { padding: 1.25rem; }
.wwm-checkout .checkout-content:empty { padding: 0; }
.wwm-checkout .checkout-content::after { content: ''; display: block; clear: both; }
.wwm-checkout :is(label.radio,label.checkbox) { display: flex; align-items: baseline; gap: .6rem; margin: .75rem 0; line-height: 1.6; }
.wwm-checkout input:is([type=radio],[type=checkbox]) { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; accent-color: var(--wwm-accent); }
.wwm-checkout :is(#payment-existing,#shipping-existing) { margin: 1rem 0; }
.wwm-checkout :is(#payment-existing,#shipping-existing) select { width: 100%; max-width: 100%; }
.wwm-checkout :is(#payment-existing,#shipping-existing) select[size] { height: 8rem; }
.wwm-checkout-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; margin: 1rem 0; }
.wwm-checkout-fields :is(.row,.row-fluid,[class*="span"],[class*="col-"]):has(.control-group,.form-group) { display: contents; }
.wwm-checkout-fields :is(.control-group,.form-group) { min-width: 0; width: auto; margin: 0; float: none; }
.wwm-checkout-fields :is(.control-group,.form-group):has([name="address_1"],[name="address_2"]) { grid-column: 1 / -1; }
.wwm-checkout-fields .controls { margin: 0; }
.wwm-checkout-fields .control-label { display: block; width: auto; float: none; margin-bottom: .4rem; text-align: left; font-weight: 600; }
.wwm-checkout-fields :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea) { width: 100%; }
.wwm-checkout :is(.no_margin_left,.no_margin_right) { margin-top: 1rem; }
.wwm-checkout .warning { padding: 1rem; border-left: 3px solid #946200; background: #fff8e9; color: #694700; margin-bottom: 1rem; }
.wwm-checkout .error { display: block; color: #a82121; margin-top: .35rem; }
.wwm-checkout .wwm-checkout-table { max-width: 100%; overflow-x: auto; }
.wwm-checkout .wwm-checkout-table table { width: 100%; min-width: 580px; border-collapse: collapse; }
.wwm-shop .wwm-checkout .cart-info table :is(th,td) { padding: .85rem !important; border: 0; border-bottom: 1px solid #d2dfec; text-align: left; }
.wwm-checkout .cart-info th { background: #eff6fc; }
.wwm-checkout .cart-info td:last-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.wwm-checkout .cart-info tr:last-child { font-weight: 700; }
@media (max-width: 639px) {
    .wwm-checkout .checkout-content,.wwm-checkout .checkout-heading { padding: 1rem; }
    .wwm-checkout-fields { grid-template-columns: minmax(0,1fr); }
    .wwm-checkout .checkout-content .wwm-button { max-width: 100%; white-space: normal; }
}
.wwm-checkout textarea[name="comment"] { display: block; width: 100%; max-width: 100%; box-sizing: border-box; resize: vertical; }
.wwm-checkout :is(.control-group, .form-group):has(textarea[name="comment"]) { width: 100%; grid-column: 1 / -1; }
.wwm-checkout :is(.controls, .col-md-9):has(> textarea[name="comment"]) { width: 100%; margin-inline: 0; }
.wwm-checkout-result { width: 100%; max-width: 1120px; margin-inline: auto; }
.wwm-result-banner { padding: 1.5rem; border: 1px solid #d2dfec; border-left: 4px solid var(--wwm-accent); border-radius: 12px; background: #eff6fc; overflow-wrap: anywhere; }
.wwm-result-banner h1 { margin: 0; }
.wwm-result-banner p { margin: .75rem 0 0; }
.wwm-result-success { border-left-color: #218450; background: #eef8f2; }
.wwm-result-warning { border-left-color: #946200; background: #fff8e9; }
.wwm-result-error { border-left-color: #b4232c; background: #fff2f3; }
.wwm-result-intro { margin: 1.25rem 0; }
.wwm-result-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.wwm-result-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid #d2dfec; border-radius: 12px; margin: 1.25rem 0; }
.wwm-result-table { width: 100%; border-collapse: collapse; line-height: 1.65; }
.wwm-result-table :is(th,td) { padding: 1rem; border-bottom: 1px solid #d2dfec; vertical-align: top; text-align: left; }
.wwm-result-table th { background: #eff6fc; font-weight: 600; }
.wwm-result-table-1, .wwm-result-table-2 { table-layout: fixed; overflow-wrap: anywhere; }
.wwm-result-table-3 { min-width: 580px; }
.wwm-result-table-3 td:nth-last-child(-n+2) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wwm-result-table img { max-width: 80px; height: auto; }
.wwm-result-table tfoot { background: #f6faff; }
.wwm-result-table tfoot tr:last-child { font-size: 1.125rem; font-weight: 700; }
@media (max-width: 639px) {
    .wwm-result-banner { padding: 1rem; }
    .wwm-result-table :is(th,td) { padding: .75rem; }
    .wwm-result-table-1, .wwm-result-table-1 :is(thead,tbody,tr,th,td) { display: block; width: 100%; box-sizing: border-box; }
    .wwm-result-actions > a { flex: 1 1 100%; }
}

/* Order comments retain safe editor formatting without extra table-cell spacing. */
.wwm-orders .wwm-order-comment { overflow-wrap: anywhere; }
.wwm-orders .wwm-order-comment > :first-child { margin-top: 0; }
.wwm-orders .wwm-order-comment > :last-child { margin-bottom: 0; }
