/* Category actions: a stable primary action followed by favorite and compare. */
.category-detail-page .cat-detail-products-box-cart-2 {
    display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
    padding: 12px; margin-top: 14px; min-width: 0;
}
/* Price-free special orders share the same bottom action row as priced cards. */
.category-detail-page :is(.cat-detail-products-box,.cat-detail-products-box-big) > .cat-detail-products-box-cart-2 {
    margin-top: auto;
}
.category-detail-page .cat-detail-products-box-cart-2 > form {
    flex: 1 1 110px; min-width: 0; margin: 0;
}
.category-detail-page .cat-detail-products-box-cart-2 button {
    min-height: 44px; margin: 0 !important; border-radius: 8px;
    font-size: 13px; line-height: 1.3; padding: 10px 12px;
}
.category-detail-page .cat-detail-products-box-cart-2 > button:not(.site-icon-action) {
    flex: 1 1 110px; width: auto !important;
}
.category-detail-page .cat-detail-products-box-cart-2 .site-icon-action {
    flex: 0 0 44px; width: 44px !important; height: 44px; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid #dbe3ee !important; background: #f8fafc !important; color: #334155 !important; font-size: 19px;
}
.category-detail-page .cat-detail-products-box-cart-2 .site-icon-action:hover,
.category-detail-page .cat-detail-products-box-cart-2 .site-icon-action.product-action-selected { background: #edf5ff !important; color: #2363b1 !important; }
.category-detail-page .cat-detail-products-box-cart-2 .cart-form-message {
    flex: 0 0 100%; order: 10; width: 100%; margin: 0; padding: 10px;
    font-size: 13px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere;
}
.category-detail-page .cat-detail-products-box,
.category-detail-page .cat-detail-products-box-big { container-type: inline-size; }
@container (max-width: 240px) {
    .category-detail-page .cat-detail-products-box-cart-2 > form,
    .category-detail-page .cat-detail-products-box-cart-2 > button:not(.site-icon-action) { flex-basis: 100%; }
    .category-detail-page .cat-detail-products-box-cart-2 { justify-content: center; }
}
body.catalog-options-open { overflow: hidden; }
.category-detail-page .category-pagination-out { width:100%; margin:28px 0 0; }
.category-detail-page .category-next-products { display:flex; justify-content:center; margin-bottom:20px; }
.category-detail-page .category-next-products-button {
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    min-height:48px; max-width:100%; padding:12px 24px; border:1px solid var(--site-brand-primary);
    border-radius:8px; background:var(--site-brand-primary); color:var(--site-brand-primary-text);
    font-size:14px; font-weight:600; line-height:1.4; text-align:center; text-decoration:none;
}
.category-detail-page .category-next-products-button:hover {
    background:var(--site-brand-primary-hover); border-color:var(--site-brand-primary-hover);
    color:var(--site-brand-primary-text); text-decoration:none;
}
.category-detail-page .category-next-products-button:focus-visible { outline:2px solid var(--site-brand-primary); outline-offset:3px; }
.category-detail-page .category-next-products-button svg { flex:none; }
.category-detail-page .category-pagination-out .pagination { flex-wrap:wrap; gap:6px; margin-bottom:0; }
.category-detail-page .category-pagination-out .pagination .page-link {
    display:flex; align-items:center; justify-content:center;
    min-width:36px; min-height:38px; margin-left:0; border-radius:6px;
}
@media(max-width:767px) {
    .category-detail-page .category-pagination-out { margin-top:22px; }
    .category-detail-page .category-next-products-button { width:100%; max-width:340px; }
}
.catalog-options { width:min(880px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid #e1e8eb; border-radius:22px; background:#fff; color:#233348; box-shadow:0 28px 100px #0f172a55; overflow:auto; }
.catalog-options::backdrop { background:#152a3c9c; backdrop-filter:blur(4px); }
.catalog-options [hidden] { display:none!important; }
.catalog-options *, .catalog-options *::before, .catalog-options *::after { box-sizing:border-box; }
.catalog-options-heading { display:flex; gap:16px; align-items:center; padding:22px 26px; border-bottom:1px solid #e9eef0; }
.catalog-options h2 { font-size:22px; font-weight:700; margin:0 0 5px; color:#203444; }
.catalog-options-heading p { font-size:13px; line-height:1.5; color:#73808b; margin:0; }
.catalog-options-close { flex:0 0 38px; width:38px; height:38px; margin-left:auto; border:1px solid #e3e9ed; border-radius:50%; background:#f7f9fa; color:#425363; font-size:27px; line-height:1; cursor:pointer; }
.catalog-options-close:hover { background:#eaf0f3; }
.catalog-options-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); }
.catalog-options-body { padding:26px; min-width:0; background:linear-gradient(145deg,#f4f7f8,#fafbfc); font-size:14px; border-radius:0 0 0 22px; }
.catalog-options-stage { display:flex; align-items:center; justify-content:center; height:330px; background:white; border:1px solid #edf0f2; border-radius:16px; overflow:hidden; }
.catalog-options-stage img { width:100%; height:100%; object-fit:contain; padding:12px; transition:opacity .16s; }
.catalog-options-stage.is-loading img { opacity:.35; }
.catalog-options-thumbnails { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:14px; }
.catalog-options-thumbnails button { width:56px; height:56px; padding:3px; border:1px solid #dce4e8; border-radius:9px; background:#fff; cursor:pointer; }
.catalog-options-thumbnails button[aria-pressed=true] { border:2px solid var(--site-brand-primary); }
.catalog-options-thumbnails img { width:100%; height:100%; object-fit:contain; }
.catalog-options form { margin:0; padding:26px; min-width:0; }
.catalog-options-summary { margin-bottom:24px; }
.catalog-options-product-title { display:block; color:#253e4e; font-size:19px; line-height:1.5; font-weight:600; overflow-wrap:anywhere; text-decoration:none; }
.catalog-options-product-title:hover { color:var(--site-brand-primary); }
.catalog-options-price { display:block; color:#1f3545; font-size:29px; line-height:1.3; margin-top:13px; letter-spacing:-.5px; }
.catalog-options-vat { display:block; margin-top:5px; font-size:11px; line-height:1.6; color:#73808b; }
.catalog-options-group { margin:0 0 22px; min-width:0; padding:0; border:0; }
.catalog-options-group legend { display:flex; flex-wrap:wrap; align-items:center; gap:7px; font-size:13px; font-weight:600; margin:0 0 12px; width:100%; line-height:1.5; }
.catalog-options-required { color:#84919c; font-size:10px; font-weight:400; }
.catalog-options-selected { margin-left:auto; color:var(--site-brand-primary); font-size:12px; }
.catalog-options-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.catalog-options-choice { position:relative; display:flex; align-items:center; gap:10px; min-height:52px; min-width:0; padding:10px; margin:0; border:1px solid #dce4e8; border-radius:11px; background:#fff; cursor:pointer; font-size:12px; line-height:1.4; overflow-wrap:anywhere; transition:border-color .15s,box-shadow .15s; }
.catalog-options-choice:hover { border-color:var(--site-brand-primary); }
.catalog-options-choice:has(:checked) { border-color:var(--site-brand-primary); box-shadow:inset 0 0 0 1px var(--site-brand-primary); background:color-mix(in srgb,var(--site-brand-primary) 5%,white); }
.catalog-options-choice:has(:disabled) { opacity:.4; cursor:not-allowed; }
.catalog-options-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.catalog-options-swatch { position:relative; flex:0 0 29px; width:29px; height:29px; border-radius:50%; background:var(--option-color); border:3px solid white; box-shadow:0 0 0 1px #23334826; }
.catalog-options-choice:has(:checked) .catalog-options-swatch::after { content:''; position:absolute; inset:7px; border-radius:50%; background:white; box-shadow:0 1px 3px #0004; }
.catalog-options-group select, .catalog-options-group > input { width:100%; height:46px; padding:10px 12px; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:#233348; font-size:16px; }
.catalog-options-footer { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; border-top:1px solid #e9eef0; padding-top:20px; }
.catalog-options-quantity { flex:0 0 112px; font-size:11px; }
.catalog-options-quantity label { display:block; margin:0 0 7px; color:#73808b; }
.catalog-options-quantity-control { display:flex; height:46px; border:1px solid #dce4e8; border-radius:10px; overflow:hidden; }
.catalog-options-quantity-control button { flex:0 0 30px; border:0; padding:0; background:#f7f9fa; color:#425363; font-size:18px; cursor:pointer; }
.catalog-options-quantity input { width:100%; min-width:0; padding:0; border:0; border-radius:0; text-align:center; background:#fff; color:#233348; font-size:16px; appearance:textfield; }
.catalog-options-quantity input::-webkit-inner-spin-button, .catalog-options-quantity input::-webkit-outer-spin-button { appearance:none; margin:0; }
.catalog-options-footer > button, .catalog-options [data-options-retry] { min-height:46px; padding:12px 14px; border:0; border-radius:10px; color:var(--site-brand-primary-text); background:var(--site-brand-primary); font-size:12px; font-weight:600; cursor:pointer; }
.catalog-options-footer > button { flex:1 1 140px; display:flex; align-items:center; justify-content:center; gap:8px; }
.catalog-options-cart-icon { font-size:22px; font-weight:400; line-height:18px; }
.catalog-options-footer > button:hover, .catalog-options [data-options-retry]:hover { background:var(--site-brand-primary-hover); }
.catalog-options [data-options-retry] { margin:0 26px 26px; }
.catalog-options-error { margin-top:14px; padding:12px; border:1px solid #fecaca; border-radius:8px; background:#fff1f2; color:#a32121; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.catalog-options :focus-visible, .catalog-options-choice:has(input:focus-visible) { outline:2px solid var(--site-brand-primary); outline-offset:3px; }
.catalog-options:not([data-options-state=ready]) .catalog-options-layout { display:block; }
.catalog-options:not([data-options-state=ready]) .catalog-options-body { padding:36px 26px; }
@media(max-width:640px) {
 .catalog-options { width:calc(100% - 20px); max-height:calc(100dvh - 20px); border-radius:17px; }
 .catalog-options-heading { padding:17px; gap:10px; }
 .catalog-options h2 { font-size:19px; }
 .catalog-options-heading p { font-size:12px; }
 .catalog-options-layout { grid-template-columns:minmax(0,1fr); }
 .catalog-options-body { padding:16px; border-radius:0; }
 .catalog-options-stage { height:200px; border-radius:12px; }
 .catalog-options form { padding:18px; }
 .catalog-options-summary { margin-bottom:20px; }
 .catalog-options-product-title { font-size:17px; }
 .catalog-options-price { font-size:25px; margin-top:8px; }
 .catalog-options-footer { gap:10px; padding-top:16px; }
 .catalog-options-footer > button { flex-basis:120px; font-size:11px; padding:10px; }
 .catalog-options-quantity { flex-basis:108px; }
 .catalog-options-thumbnails button { width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) { .catalog-options * { transition:none!important; } }
