/* One compact pattern chooser above complete personalization for each piece. */
.woocommerce .summary a.zk-pattern-jump { display: inline-flex; align-items: center; gap: .8rem; min-height: 46px; padding: .75rem 1.3rem; margin: 1rem 0; border: 1px solid #be4563; border-radius: 99px; background: #be4563; color: #fff; text-decoration: none; font-weight: 700; line-height: 1.4; box-sizing: border-box; }
.woocommerce .summary a.zk-pattern-jump:hover { background: #a83755; color: #fff; }
.zk-pattern-jump span { font-size: 1.35em; line-height: 1; }
.zk-pattern-jump:focus-visible { outline: 3px solid #7d2942; outline-offset: 4px; }
#zk-product-configurator { scroll-margin-top: 5rem; }
.zk-product-configurator { clear: both; width: 100%; margin: 2rem 0; padding: clamp(1rem, 3vw, 2rem); border: 1px solid #efd9d0; border-radius: 20px; background: #fffaf7; box-sizing: border-box; }
.zk-product-configurator .zk-color-patterns { margin: 0; }
.zk-product-configurator .zk-color-patterns h2 { font-size: 1.2rem; }
.zk-product-configurator .zk-color-patterns .zk-pattern-grid { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.zk-product-configurator .zk-standard-personalization { margin: 1.5rem 0 0; padding: 1.5rem 0 0; border: 0; border-top: 1px solid #efd9d0; border-radius: 0; background: transparent; }
.zk-personalization-batch { width: 100%; min-width: 0; }
.zk-personalization-batch [hidden] { display: none !important; }
.zk-batch-quantity-control { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: .75rem 0 1rem; }
.zk-batch-quantity-control .zk-batch-quantity-label { margin: 0; font-weight: 650; }
.zk-personalization-batch .quantity { margin: 0 !important; float: none !important; }
.zk-personalization-batch .quantity input.qty { width: 5.5rem !important; min-height: 44px; margin: 0; padding: .55rem; }
.zk-personalization-batch .zk-batch-same { display: flex; align-items: flex-start; gap: .65rem; margin: .75rem 0; cursor: pointer; font-weight: 500; }
.zk-personalization-batch .zk-batch-same input[type="checkbox"] { display: inline-block; flex: 0 0 20px; width: 20px; height: 20px; min-height: 0; padding: 0; margin: .15rem 0 0; accent-color: #be4563; }
.zk-batch-intro { margin: .75rem 0 1rem; font-size: .85rem; line-height: 1.6; }
.zk-personalization-batch .zk-batch-item { min-width: 0; margin: 0 0 1rem; padding: 1rem; border: 1px solid #ead7ce; border-radius: 14px; background: #fffdfb; }
.zk-batch-item legend { padding: 0 .4rem; color: #743a48; font-size: .85rem; font-weight: 700; }
.zk-personalization-batch .zk-batch-item .zk-personalization-fields { display: block; margin: 0; }
.zk-batch-item p:last-child { margin-bottom: 0; }
.zk-batch-error { color: #9e173d; font-weight: 600; }
.zk-personalization-batch input:focus-visible, .zk-personalization-batch select:focus-visible { outline: 3px solid #7d2942; outline-offset: 3px; }
@media (min-width: 600px) {
 .zk-product-configurator .zk-color-patterns .zk-pattern-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
 .zk-standard-personalization [data-batch-items] { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; }
}
@media (min-width: 1000px) { .zk-product-configurator .zk-color-patterns .zk-pattern-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .zk-product-configurator .zk-color-patterns .zk-pattern-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
