/* MGPLITKA plumbing kits — scoped catalogue UI */
.mgk-sets{margin:20px 0 30px;padding:23px 22px 22px;border-radius:18px;border:1px solid #e6e5e4;background:#fff;box-shadow:0 8px 35px rgba(35,45,52,.045);font-family:inherit}
.mgk-sets *, .mgk-sets *:before, .mgk-sets *:after{box-sizing:border-box}
.mgk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.mgk-head h2{font-size:24px;line-height:1.15;letter-spacing:-.5px;margin:6px 0;font-weight:750;color:#171c24}
.mgk-head p{margin:4px 0 0;color:#66717b;font-size:13px;line-height:1.5}
.mgk-eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:800;color:#c21d32}
.mgk-count{white-space:nowrap;align-self:center;border-radius:15px;background:#f7f5f5;padding:7px 10px;color:#747c84;font-size:12px}
.mgk-head-controls{display:flex;gap:10px;align-items:center;flex-shrink:0;align-self:center}
.mgk-nav{display:flex;gap:7px;align-items:center}
.mgk-nav[hidden]{display:none!important}
.mgk-nav-btn{display:flex;justify-content:center;align-items:center;width:34px;height:34px;border:1px solid #dde0e4;background:#fff;border-radius:50%;color:#333b46;font-size:17px;line-height:1;cursor:pointer}
.mgk-nav-btn:hover:not(:disabled){border-color:#bd2038;background:#fff3f5;color:#b21d35}
.mgk-nav-btn:focus-visible{outline:2px solid #bd2038;outline-offset:2px}
.mgk-nav-btn:disabled{opacity:.32;cursor:default}
.mgk-scroll-hint{display:none;font-size:12px;color:#747b85;text-align:right;padding:1px 3px 0}
.mgk-scroll-hint[hidden]{display:none!important}
.mgk-rail{display:flex;gap:12px;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#c7ccd2 transparent;padding:2px 0 10px}
.mgk-rail::-webkit-scrollbar{height:6px}
.mgk-rail::-webkit-scrollbar-thumb{background:#c7ccd2;border-radius:20px}
.mgk-rail:focus-visible{outline:2px solid #be1c34;outline-offset:2px}
.mgk-card{flex:0 0 calc((100% - 36px)/4);scroll-snap-align:start}
.mgk-card{min-width:0;background:#fbfbfb;border:1px solid #ececed;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.mgk-card:hover{border-color:#d2a1a8}
.mgk-gallery{display:grid;grid-template-columns:repeat(var(--mgk-gallery-cols,3),minmax(0,1fr));grid-template-rows:repeat(var(--mgk-gallery-rows,1),minmax(0,1fr));align-items:stretch;justify-items:stretch;gap:8px;height:168px;padding:13px 12px 8px}
.mgk-gallery--medium{height:192px}
.mgk-gallery--full{height:212px}
.mgk-gallery__item{display:flex;min-width:0;min-height:0;align-items:center;justify-content:center;overflow:hidden;background:#fff;border-radius:7px;padding:3px}
.mgk-gallery__item img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.mgk-card-body{padding:0 15px 16px;display:flex;flex:1;flex-direction:column}
.mgk-card-label{display:block;font-size:10px;font-weight:800;letter-spacing:1px;color:#b9233b}
.mgk-card h3{font-size:17px;margin:4px 0 4px;line-height:1.3;color:#24262b}
.mgk-card p{color:#747981;line-height:1.4;margin:0 0 8px;font-size:12px;min-height:32px}
.mgk-card strong{font-size:20px;font-weight:800;color:#1a2026;margin-top:auto}
.mgk-card-price{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:auto}
.mgk-card-price-label{font-size:13px;line-height:1.4;font-weight:500;color:#737d88}
.mgk-card-price strong{display:block;line-height:1.2;margin-top:0}
.mgk-open,.mgk-buy{border:0;border-radius:8px;background:#c21f38;color:#fff;font:inherit;font-size:13px;font-weight:750;min-height:42px;padding:10px 13px;cursor:pointer;margin-top:12px;transition:background .16s ease}
.mgk-open:hover,.mgk-buy:hover{background:#9e152c;color:white}
.mgk-open span{padding-left:7px}
.mgk-unavailable{color:#b42a33;font-size:12px;margin-top:4px}
.mgk-modal[hidden]{display:none!important}
.mgk-modal{position:fixed;inset:0;z-index:100005;display:flex;justify-content:center;align-items:center;padding:18px}
.mgk-shade{position:absolute;inset:0;background:rgba(19,25,34,.65);cursor:pointer}
.mgk-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(740px,100%);height:auto;max-height:calc(100vh - 40px);background:#fff;border-radius:18px;box-shadow:0 25px 80px rgba(0,0,0,.23);overflow:hidden}
.mgk-modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px 24px;border-bottom:1px solid #e6e9ed;font-size:19px}
.mgk-modal-head button{border:0;background:#f4f5f6;color:#303840;width:34px;height:34px;font-size:26px;line-height:1;border-radius:50%;cursor:pointer}
.mgk-lines{overflow:auto;min-height:0;flex:1;padding:7px 24px}
.mgk-line{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #e8e9ed}
.mgk-line img{width:96px;height:100px;object-fit:contain;background:#f8f9fa;border-radius:11px}
.mgk-line-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.mgk-line-body strong{font-size:14px;line-height:1.4;color:#2a323b}
.mgk-line-body .mgk-product-link{font-size:14px;line-height:1.4;font-weight:750;color:#28313c;text-decoration:none;overflow-wrap:anywhere}
.mgk-line-body .mgk-product-link[href]:hover{color:#bd1e37;text-decoration:underline}
.mgk-line-body .mgk-product-link[href]:focus-visible{outline:2px solid #bd1e37;outline-offset:2px}
.mgk-line-body .mgk-product-link:not([href]){cursor:default}
.mgk-line-note{font-size:12px;color:#89909a}
.mgk-line-body b{font-size:16px}
.mgk-select-label{display:grid;gap:4px;font-size:12px;color:#66717b;max-width:100%;margin-top:4px}
.mgk-replace{font:inherit;border:1px solid #c3cbd4;border-radius:7px;background:#fff;padding:7px;max-width:100%}
.mgk-footer{flex-shrink:0;display:grid;gap:11px;padding:17px 24px 24px;background:#fafafa;border-top:1px solid #e9e9eb}
.mgk-footer [data-mgk-message]{font-size:12px;color:#576474;line-height:1.45}
.mgk-price{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mgk-price span{color:#53606c;font-size:13px}.mgk-price strong{font-size:23px;color:#202a30}
.mgk-buy{width:100%;font-size:15px;margin:0;min-height:49px}.mgk-buy:disabled{opacity:.55;cursor:not-allowed}
.mgk-dialog-open{overflow:hidden}
@media(max-width:1300px) and (min-width:1101px){
 .mgk-card{flex-basis:calc((100% - 24px)/3)}
}
@media(max-width:1100px) and (min-width:901px){
 .mgk-card{flex-basis:calc((100% - 12px)/2)}
}
@media(max-width:900px){
 .mgk-sets{padding:18px 14px;margin:16px 0 24px}.mgk-head h2{font-size:20px}
 .mgk-rail{scroll-padding-inline:1px;padding:2px 1px 8px;gap:10px}
 .mgk-card{flex:0 0 min(265px,79vw)}
 .mgk-count{display:none}
 .mgk-scroll-hint:not([hidden]){display:block}
}
@media(max-width:600px){
 .mgk-nav{display:none!important}
}
@media(max-width:600px){
 .mgk-head h2{font-size:19px}.mgk-head p{font-size:12px}
 .mgk-modal{padding:0;align-items:stretch}
 .mgk-dialog{border-radius:0;width:100%;max-height:none;height:100dvh}
 .mgk-modal-head{padding:15px 17px;font-size:17px}
 .mgk-lines{padding:6px 17px}
 .mgk-line{gap:10px;padding:13px 0}.mgk-line img{width:76px;height:88px}
 .mgk-line-body strong{font-size:13px}.mgk-footer{padding:13px 17px calc(13px + env(safe-area-inset-bottom,0px))}
 .mgk-gallery{height:146px;gap:5px;padding:10px 9px 6px}
 .mgk-gallery--medium{height:166px}
 .mgk-gallery--full{height:186px}
 .mgk-gallery__item{padding:2px}
 .mgk-card-body{padding:0 13px 13px}
}
@media(prefers-reduced-motion:reduce){.mgk-open,.mgk-buy{transition:none}}

/* 1.1: approved product substitution within the existing kit dialog. */
.mgk-change-btn{align-self:flex-start;margin-top:4px;padding:7px 11px;min-height:34px;background:#fff;border:1px solid #c8a3ab;border-radius:7px;color:#a61c34;font:inherit;font-weight:700;font-size:12px;cursor:pointer}
.mgk-change-btn:hover,.mgk-change-btn[aria-expanded="true"]{background:#fff1f3;border-color:#b51c33}
.mgk-change-btn:focus-visible,.mgk-choice:focus-visible{outline:2px solid #b51c33;outline-offset:2px}
.mgk-choices[hidden]{display:none!important}
.mgk-choices{display:grid;gap:6px;padding:10px 0 3px;max-width:100%;width:100%}
.mgk-choice-title{margin:0 0 2px!important;font-weight:700;font-size:12px;color:#4b5662}
.mgk-choice-empty,.mgk-choice-loading{font-size:12px;line-height:1.45;color:#78818a;margin:4px 0!important}
.mgk-choice{background:#fff;border:1px solid #e0e3e7;border-radius:8px;display:flex;gap:9px;align-items:center;padding:8px;text-align:left;cursor:pointer;font:inherit;width:100%;color:#232a31}
.mgk-choice:hover{border-color:#bb4c5f;background:#fffafb}
.mgk-choice:disabled{cursor:default;opacity:.75}
.mgk-choice img{width:42px;height:48px;object-fit:contain;background:#f6f7f8;border-radius:5px;flex:none}
.mgk-choice-copy{flex:1;display:flex;flex-direction:column;min-width:0;gap:3px}
.mgk-choice-copy strong{font-size:12px;line-height:1.3;font-weight:600;overflow-wrap:anywhere}
.mgk-choice-copy small{font-size:11px;color:#66727d}
.mgk-choice-select,.mgk-choice-selected{flex:none;font-size:11px;color:#a21c35;font-weight:700;white-space:nowrap}
.mgk-choice-selected{color:#17834e}
.mgk-footer [data-mgk-message].mgk-error{color:#b22b33}
@media(max-width:600px){
 .mgk-choice{gap:7px;padding:7px}
 .mgk-choice img{width:36px;height:43px}
 .mgk-choice-copy strong{font-size:11.5px}
 .mgk-choice-copy small{font-size:10.5px}
 .mgk-change-btn{min-height:32px}
}
