/* DYSTRICT configurator - final CYKL-inspired layout */
.cy-page.container{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.cy-page>.dys-config{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:0!important}
.cy-form{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.cy-source{display:none!important}
.cy-layout{display:grid!important;grid-template-columns:minmax(0,58vw) minmax(560px,42vw)!important;width:100vw!important;max-width:none!important;min-height:calc(100vh - 78px);padding-bottom:70px;background:#fff;overflow:visible}

/* LEFT BIKE */
.cy-bike-panel{position:sticky;top:78px;height:calc(100vh - 148px);min-height:620px;background:#fafaf7;border-right:1px solid #dedfd9;overflow:hidden}
.cy-bike-tools{position:absolute;z-index:30;left:24px;top:18px;display:flex;gap:8px}
.cy-bike-tools button{appearance:none;width:42px;height:42px;border:0;background:transparent;color:#1a1c19;font-size:24px;cursor:pointer}
.cy-bike-tools button:hover{background:#fff}
.cy-bike-stats{position:absolute;z-index:30;right:22px;top:18px;display:grid;grid-template-columns:1fr 1fr;border:1px solid #d6d9d1;background:#d6d9d1;gap:1px}
.cy-bike-stats>div{min-width:158px;padding:14px 20px;background:#fafaf7}
.cy-bike-stats span{display:block;font-size:9px;font-weight:800;letter-spacing:1.6px;color:#7c8178}
.cy-bike-stats strong{display:block;margin-top:5px;font:800 34px/.95 'Barlow Condensed',sans-serif;letter-spacing:-.02em;white-space:nowrap}

.cy-bike-stage{position:absolute;inset:72px 26px 92px;display:grid;place-items:center;transition:opacity .16s ease}
.cy-bike-img{grid-area:1/1;width:min(94%,980px);height:min(70vh,630px);object-fit:contain;filter:drop-shadow(0 24px 18px rgba(16,17,14,.08));transition:opacity .17s ease,transform .17s ease}
.cy-bike-base{z-index:1}
.cy-bike-focus{z-index:2;opacity:0;pointer-events:none;filter:drop-shadow(0 18px 15px rgba(16,17,14,.05))}
.cy-bike-panel.is-zoomed .cy-bike-img{transform:scale(1.16)}
.cy-bike-stage.is-changing .cy-bike-img{opacity:0!important;transform:scale(.985)}
.cy-bike-stage[data-highlight] .cy-bike-base{opacity:.16;filter:grayscale(.75) contrast(.9) brightness(1.08)}
.cy-bike-stage[data-highlight] .cy-bike-focus{opacity:1}
.cy-bike-stage[data-highlight="frame"] .cy-bike-focus{clip-path:polygon(28% 28%,70% 24%,72% 70%,30% 72%)}
.cy-bike-stage[data-highlight="fork"] .cy-bike-focus{clip-path:polygon(61% 22%,77% 22%,76% 77%,61% 77%)}
.cy-bike-stage[data-highlight="front-wheel"] .cy-bike-focus{clip-path:circle(18% at 76% 70%)}
.cy-bike-stage[data-highlight="rear-wheel"] .cy-bike-focus{clip-path:circle(18% at 25% 70%)}
.cy-bike-stage[data-highlight="cockpit"] .cy-bike-focus{clip-path:ellipse(18% 15% at 73% 25%)}
.cy-bike-stage[data-highlight="saddle"] .cy-bike-focus{clip-path:ellipse(13% 10% at 37% 24%)}
.cy-bike-stage[data-highlight="couplers"] .cy-bike-focus{clip-path:polygon(42% 27%,76% 23%,72% 50%,45% 53%)}

.cy-zone{position:absolute;z-index:14;appearance:none;border:0;background:transparent;border-radius:999px;cursor:pointer;outline:0}
.cy-zone span{position:absolute;left:50%;top:-5px;transform:translate(-50%,-100%);opacity:0;pointer-events:none;background:#171916;color:#fff;padding:6px 8px;font-size:8px;font-weight:800;letter-spacing:1px;white-space:nowrap;transition:.13s}
.cy-zone:hover span{opacity:1}
.z-frame{left:34%;top:32%;width:36%;height:33%;border-radius:34%}.z-fork{left:62%;top:31%;width:11%;height:38%}.z-front{left:68%;top:47%;width:25%;height:40%}.z-rear{left:7%;top:47%;width:28%;height:40%}.z-cockpit{left:65%;top:22%;width:19%;height:16%}.z-saddle{left:28%;top:21%;width:17%;height:14%}.z-travel{left:43%;top:33%;width:32%;height:20%}
.cy-bike-caption{position:absolute;left:32px;right:32px;bottom:18px;border-top:1px solid #dcded7;padding-top:12px;display:flex;align-items:end;justify-content:space-between;gap:24px}
.cy-bike-caption span{display:block;font-size:8px;font-weight:800;letter-spacing:1.3px;color:#667526}.cy-bike-caption strong{display:block;margin-top:3px;font:800 50px/.88 'Barlow Condensed',sans-serif}.cy-bike-caption small{display:block;margin-top:5px;font-size:9px;letter-spacing:1px;color:#777d73}.cy-bike-caption p{margin:0;font-size:9px;color:#858b81}

/* RIGHT CONFIG */
.cy-config-panel{min-width:0;height:calc(100vh - 148px);overflow-y:auto;overscroll-behavior:contain;background:#fff;padding:28px 38px 110px;scrollbar-width:thin}
.cy-config-header{padding-bottom:24px;border-bottom:1px solid #dedfd9}.cy-config-header p{margin:0 0 8px;font-size:9px;font-weight:800;letter-spacing:1.4px;color:#68762c}.cy-config-header h1{margin:0;font-size:clamp(3.1rem,4.4vw,5.2rem);line-height:.92}
.cy-config-block{padding:26px 0 30px;border-bottom:1px solid #dcded7;scroll-margin-top:8px}
.cy-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-bottom:14px;border-bottom:1px solid #dedfd9;margin-bottom:18px}
.cy-block-head strong{font-size:18px;line-height:1;letter-spacing:-.02em}.cy-block-head span{font-size:16px;color:#7b7e79;text-align:right;max-width:56%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cy-note{margin:0 0 22px;font-size:14px;line-height:1.45;color:#20221f}.cy-small-note{margin:12px 0 0;font-size:9px;line-height:1.45;color:#777d73}
.cy-inline-title{margin:28px 0 14px;padding-bottom:10px;border-bottom:1px solid #e0e2dc;font-size:12px;letter-spacing:.02em}
.cy-custom-note{padding:18px;background:#f5f6f1}.cy-custom-note strong{font-size:13px}.cy-custom-note p{margin:6px 0 0;font-size:10px;line-height:1.45;color:#70766c}

/* CYKL selection behaviour: unselected choices are visually quiet */
.cy-select-grid{display:grid;gap:12px;margin-bottom:8px}
.cy-select-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cy-select-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cy-select-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cy-select-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.cy-choice{appearance:none;position:relative;min-height:88px;border:1px solid #d8dad4;background:#fff;padding:0;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;color:#1b1d19;cursor:pointer;transition:border-color .12s ease,transform .12s ease}
.cy-choice:hover{border-color:#8c9188}
.cy-choice.is-selected{border:4px solid #20221f}
.cy-select-grid.is-plain{gap:8px 18px}
.cy-select-grid.is-plain .cy-choice{min-height:76px;border-color:transparent;background:transparent}
.cy-select-grid.is-plain .cy-choice:hover{border-color:#d5d8d1}
.cy-select-grid.is-plain .cy-choice.is-selected{border:4px solid #20221f;background:#fff}
.cy-choice-copy{padding:14px;min-width:0}.cy-choice-copy strong{display:block;font-size:14px;line-height:1.15}.cy-choice-copy small{display:block;margin-top:6px;font-size:9px;line-height:1.35;color:#747a70}
.cy-choice em{position:absolute;right:9px;bottom:7px;background:#1d1f1c;color:#fff;border-radius:10px;padding:3px 6px;font-size:8px;font-style:normal;white-space:nowrap}
.cy-choice-img{flex:0 0 43%;align-self:stretch;display:grid;place-items:center;min-height:112px;background:#f6f6f2;border-right:1px solid #e3e5df}
.cy-choice-img img{width:100%;height:100%;max-height:124px;object-fit:contain;padding:12px}
.cy-choice:has(.cy-choice-img){min-height:116px;justify-content:flex-start;text-align:left}
.cy-choice:disabled{opacity:.4;cursor:not-allowed}

/* COLOURS */
.cy-swatches{display:grid;grid-template-columns:repeat(5,minmax(68px,1fr));gap:22px 12px}
.cy-swatch{appearance:none;border:0;background:transparent;padding:0;position:relative;display:grid;justify-items:center;gap:7px;cursor:pointer}
.cy-swatch>span{width:74px;height:74px;border-radius:50%;border:4px solid transparent;box-shadow:inset -10px -10px 18px rgba(0,0,0,.11),inset 10px 10px 20px rgba(255,255,255,.38)}
.cy-swatch:hover>span{outline:1px solid #8b9188}.cy-swatch.is-selected>span{border-color:#1c1e1b;outline:3px solid #fff;outline-offset:-7px}
.cy-swatch small{font-size:8px;color:#5f655c;text-align:center}.cy-swatch em{position:absolute;top:58px;right:0;background:#1c1e1b;color:#fff;border-radius:11px;padding:3px 6px;font-size:8px;font-style:normal;white-space:nowrap}

/* MULTI MOUNTS only where multi selection is intentional */
.cy-multi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.cy-multi{appearance:none;border:1px solid #d8dad4;background:#fff;padding:15px;text-align:left;cursor:pointer}
.cy-multi:hover{border-color:#8c9188}.cy-multi.is-selected{border:4px solid #20221f;background:#f8f9f3}
.cy-multi strong{display:block;font-size:13px}.cy-multi span{display:block;margin-top:5px;font-size:10px;color:#657128}.cy-multi small{display:block;margin-top:4px;font-size:9px;font-weight:700}.cy-multi p{margin:6px 0 0;font-size:9px;line-height:1.35;color:#777d73}
.cy-mount-price{margin:0 0 14px;font-size:10px;font-weight:700;color:#657128}

/* CURRENCY + COUNTRY */
.cy-currency-row,.cy-country-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}
.cy-currency-select,.cy-country-select{appearance:none;width:100%;min-height:58px;border:2px solid #20221f;border-radius:0;background:#fff;padding:0 16px;font:700 17px/1 'DM Sans',Arial,sans-serif;cursor:pointer}
.cy-country-row{grid-template-columns:1fr}
.cy-fx-meta{min-width:145px;border:1px solid #d8dad4;padding:9px 13px;display:flex;flex-direction:column;justify-content:center;text-align:right}
.cy-fx-meta strong{font-size:14px}.cy-fx-meta small{margin-top:3px;font-size:8px;color:#777d73}

/* FORM + BREAKDOWN */
.cy-field{display:grid!important;gap:7px!important;margin:16px 0 0!important;font-size:11px!important;font-weight:800!important}
.cy-field input,.cy-field select,.cy-field textarea{width:100%!important;border:1px solid #d4d7d0!important;border-radius:0!important;background:#fff!important;min-height:52px!important;padding:12px!important;font:500 15px/1.3 'DM Sans',Arial,sans-serif!important}
.cy-field textarea{min-height:130px!important}.cy-block-body .dys-consent{display:flex!important;gap:8px!important;align-items:flex-start;margin:14px 0!important;font-size:9px!important}.cy-block-body .notice{font-size:8px;color:#777d73}
.cy-breakdown{margin-top:22px;border-top:2px solid #20221f;border-bottom:2px solid #20221f}
.cy-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #e0e2dc;font-size:10px}.cy-breakdown>div strong{text-align:right}.cy-breakdown .is-discount strong{color:#657128}.cy-breakdown p{margin:10px 0;font-size:8px;line-height:1.45;color:#777d73}
.cy-final-copy{background:#f4f5ef;padding:18px;margin-bottom:16px}.cy-final-copy strong{font-size:13px}.cy-final-copy p{margin:7px 0 0;font-size:10px;line-height:1.45;color:#6d7369}
.cy-final-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.cy-final-actions button{min-height:62px;border:2px solid #1b1d19;background:#fff;font-size:10px;font-weight:800;cursor:pointer}.cy-final-actions .cy-pay{background:var(--signal);color:#111}.cy-final-actions .cy-pay strong{display:block;margin-top:3px;font-size:15px}.cy-final-actions .cy-pay small{display:block;margin-top:4px;font-size:8px;font-weight:600}.cy-final-actions .cy-pay:disabled{background:#eceee8;border-color:#d8dad4;color:#777d73;cursor:not-allowed}.cy-final-actions .cy-final-quote{background:#1b1d19!important;color:#fff!important}

/* BOTTOM BAR */
.cy-bottom{position:fixed;left:0;right:0;bottom:0;z-index:95;min-height:70px;display:grid;grid-template-columns:190px 85px 125px 1fr 170px 170px;background:#fff;border-top:1px solid #d0d4cb;box-shadow:0 -8px 24px rgba(16,17,14,.08)}
.cy-bottom button{appearance:none;border:0;border-right:1px solid #d9dcd4;background:#fff;font-size:9px;font-weight:800;cursor:pointer}.cy-summary{background:#555854!important;color:#fff!important;display:flex;align-items:center;gap:10px;padding-left:20px!important;text-align:left}.cy-summary span{font-size:18px}
.cy-bottom-weight{display:flex;flex-direction:column;justify-content:center;padding:0 14px;border-right:1px solid #d9dcd4}.cy-bottom-weight span,.cy-bottom-price span{font-size:7px;font-weight:800;letter-spacing:1px;color:#777d73}.cy-bottom-weight strong{margin-top:4px;font-size:13px}
.cy-bottom-price{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 18px;border-right:1px solid #d9dcd4}.cy-bottom-price strong{font:800 31px/.9 'Barlow Condensed',sans-serif;white-space:nowrap}.cy-bottom-price small{font-size:7px;color:#858a81;max-width:110px}
.cy-bottom-pay{background:var(--signal)!important;color:#111!important}.cy-bottom-pay:disabled{background:#eceee8!important;color:#858a81!important;cursor:not-allowed}.cy-bottom-quote{background:#1b1d19!important;color:#fff!important;border-right:0!important}

/* SUMMARY */
.cy-lock{overflow:hidden}.cy-modal{position:fixed;inset:0;z-index:130;visibility:hidden;pointer-events:none}.cy-modal.is-open{visibility:visible;pointer-events:auto}.cy-modal-bg{position:absolute;inset:0;border:0;background:rgba(16,17,14,.72);opacity:0;transition:.18s}.cy-modal.is-open .cy-modal-bg{opacity:1}
.cy-modal-card{position:absolute;left:50%;top:50%;width:min(1380px,92vw);max-height:88vh;overflow:auto;background:#f5f5f2;transform:translate(-50%,-47%) scale(.99);opacity:0;transition:.2s}.cy-modal.is-open .cy-modal-card{transform:translate(-50%,-50%) scale(1);opacity:1}.cy-modal-close{position:absolute;top:14px;right:18px;z-index:4;border:0;background:transparent;font-size:34px;cursor:pointer}
.cy-modal-card>header{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:28px 40px;background:#fff;border-bottom:1px solid #d9dcd4}.cy-modal-card>header>div:first-child>span{display:block;font-size:8px;font-weight:800;letter-spacing:1.2px;color:#777d73}.cy-modal-card h2{margin:6px 0 0;font:700 clamp(2.8rem,4vw,4.6rem)/.92 'Barlow Condensed',sans-serif}.cy-modal-card>header>div:last-child{text-align:right;padding-right:38px}.cy-modal-card>header>div:last-child span,.cy-modal-card>header>div:last-child small{display:block;font-size:8px;color:#777d73}.cy-modal-card>header>div:last-child strong{font:800 34px/1 'Barlow Condensed',sans-serif}
.cy-modal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:30px 40px 24px}.cy-modal-grid article{cursor:pointer}.cy-modal-grid article>span{display:inline-block;background:#676a64;color:#fff;padding:6px 9px;font-size:8px;font-weight:800;letter-spacing:1px}.cy-modal-grid article>div{height:145px;background:#fff;border:1px solid #eaebe6;display:grid;place-items:center}.cy-modal-grid article img{width:100%;height:100%;object-fit:contain;padding:14px}.cy-modal-grid article i{width:76px;height:76px;border-radius:50%;background:#d8d8d3}.cy-modal-grid article h3{margin:10px 0 5px;font:600 14px/1.15 'DM Sans',Arial,sans-serif;text-transform:none}.cy-modal-grid article p{margin:0;font-size:9px;color:#777d73}.cy-modal-grid article button{margin-top:8px;border:0;background:transparent;padding:0;font-size:8px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.cy-modal-card>footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 40px;background:#fff;border-top:1px solid #d9dcd4}.cy-modal-card>footer button{min-height:40px;border:1px solid #1b1d19;background:#fff;padding:0 14px;font-size:9px;font-weight:800}.cy-modal-pay{background:var(--signal)!important}.cy-modal-pay:disabled{background:#eceee8!important;color:#858a81!important}.cy-modal-quote{background:#1b1d19!important;color:#fff!important}

@media(max-width:1150px){
  .cy-layout{grid-template-columns:minmax(0,54vw) minmax(500px,46vw)!important}
  .cy-bike-stats>div{min-width:125px;padding:12px 14px}.cy-bike-stats strong{font-size:28px}
  .cy-config-panel{padding-left:24px;padding-right:24px}.cy-swatches{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:860px){
  .cy-page>.dys-config{width:100%!important;margin:0!important}.cy-layout{display:block!important;width:100%!important;padding-bottom:66px}
  .cy-bike-panel{position:relative;top:auto;height:auto;min-height:390px;border-right:0;border-bottom:1px solid #dedfd9}
  .cy-bike-tools{top:10px;left:10px}.cy-bike-tools button{width:34px;height:34px}
  .cy-bike-stats{top:10px;right:10px}.cy-bike-stats>div{min-width:96px;padding:8px 9px}.cy-bike-stats span{font-size:6px;letter-spacing:.9px}.cy-bike-stats strong{font-size:21px}
  .cy-bike-stage{position:relative;inset:auto;min-height:280px;padding:42px 10px 16px}.cy-bike-img{height:245px;width:96%}.cy-zone span{display:none}
  .cy-bike-caption{position:relative;left:auto;right:auto;bottom:auto;margin:0 14px;padding:10px 0 14px}.cy-bike-caption strong{font-size:38px}.cy-bike-caption p{display:none}
  .cy-config-panel{height:auto;overflow:visible;padding:20px 14px 86px}.cy-config-header h1{font-size:3.6rem}
  .cy-select-grid.cols-2,.cy-select-grid.cols-3,.cy-select-grid.cols-4,.cy-select-grid.cols-5{grid-template-columns:1fr 1fr}
  .cy-choice:has(.cy-choice-img){min-height:102px}.cy-choice-img{min-height:100px}
  .cy-swatches{grid-template-columns:repeat(4,1fr)}.cy-swatch>span{width:58px;height:58px}.cy-swatch em{top:44px}
  .cy-multi-grid{grid-template-columns:1fr}.cy-final-actions{grid-template-columns:1fr}.cy-currency-row{grid-template-columns:1fr}.cy-fx-meta{text-align:left}
  .cy-bottom{min-height:66px;grid-template-columns:58px 1fr 105px 105px}.cy-summary{font-size:0!important;justify-content:center;padding:0!important}.cy-summary span{font-size:20px}.cy-bottom-share,.cy-bottom-weight{display:none}.cy-bottom-price{flex-direction:column;align-items:flex-end;justify-content:center;gap:1px;padding:0 9px}.cy-bottom-price strong{font-size:25px}.cy-bottom-price small{max-width:none}.cy-bottom-pay,.cy-bottom-quote{font-size:8px!important;padding:0 7px!important}
  .cy-modal-card{left:0;right:0;top:auto;bottom:0;width:100%;max-height:92vh;transform:translateY(100%);border-radius:14px 14px 0 0}.cy-modal.is-open .cy-modal-card{transform:translateY(0);opacity:1}.cy-modal-card>header{display:block;padding:20px 15px 16px}.cy-modal-card h2{font-size:34px;padding-right:36px}.cy-modal-card>header>div:last-child{text-align:left;padding-right:0;margin-top:12px}.cy-modal-grid{grid-template-columns:1fr 1fr;gap:12px;padding:18px 14px}.cy-modal-grid article>div{height:110px}.cy-modal-card>footer{padding:14px;flex-wrap:wrap}
}
@media(max-width:430px){
  .cy-select-grid.cols-2,.cy-select-grid.cols-3,.cy-select-grid.cols-4,.cy-select-grid.cols-5{grid-template-columns:1fr}
  .cy-swatches{grid-template-columns:repeat(3,1fr)}.cy-modal-grid{grid-template-columns:1fr 1fr}
}

/* Feedback refinements - preserve the CYKL layout */
.cy-choice em{
  right:10px;
  bottom:9px;
  padding:6px 9px;
  border-radius:14px;
  font-size:12px;
  font-weight:800;
  line-height:1
}
.cy-swatch em{
  top:55px;
  right:-3px;
  padding:5px 8px;
  border-radius:13px;
  font-size:10px;
  font-weight:800
}
.cy-bike-stats strong{font-size:38px}
.cy-bottom-price strong{font-size:35px}

.cy-choice[data-tooltip]{overflow:visible}
.cy-choice[data-tooltip]:after{
  content:attr(data-tooltip);
  position:absolute;
  z-index:70;
  left:50%;
  bottom:calc(100% + 10px);
  width:max-content;
  max-width:270px;
  transform:translate(-50%,5px);
  padding:9px 11px;
  background:#191b18;
  color:#fff;
  font-size:9px;
  font-weight:600;
  line-height:1.4;
  text-align:left;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.14s ease;
  box-shadow:0 10px 24px rgba(0,0,0,.14)
}
.cy-choice[data-tooltip]:hover:after{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0)
}
.cy-config-block[data-block="size"] .cy-choice{min-height:94px}
.cy-config-block[data-block="build"] .cy-choice{min-height:108px}
.cy-config-block[data-block="dna"] .cy-choice{min-height:124px}
.cy-config-block[data-block="dna"] .cy-choice-copy small b{
  display:block;
  margin-top:9px;
  color:#20221f;
  font-size:9px
}
.cy-mount-explainer{
  margin:0 0 16px;
  padding:14px 16px;
  background:#f5f6ef;
  border-left:4px solid var(--signal)
}
.cy-mount-explainer strong{display:block;font-size:11px}
.cy-mount-explainer p{margin:6px 0 0;font-size:9px;line-height:1.45;color:#6f756c}
.cy-payment-note{
  margin-top:10px!important;
  padding-top:10px;
  border-top:1px solid #d9dcd4;
  font-size:9px!important
}
.cy-final-actions .cy-pay,.cy-bottom-pay,.cy-modal-pay{
  background:var(--signal)!important;
  color:#111!important
}
.cy-final-actions .cy-pay:not(:disabled):hover,.cy-bottom-pay:not(:disabled):hover,.cy-modal-pay:not(:disabled):hover{filter:brightness(.96)}

@media(max-width:860px){
  .cy-choice[data-tooltip]:after{display:none}
  .cy-choice em{font-size:10px;padding:5px 7px}
  .cy-bike-stats strong{font-size:23px}
  .cy-bottom-price strong{font-size:27px}
}

/* October stability / component-choice patch: preserve left-bike/right-options layout */
html{overflow-y:scroll}
.cy-page.container{overflow-x:clip!important}
.cy-page>.dys-config{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
.cy-form,.cy-layout{max-width:100%!important;box-sizing:border-box}
.cy-layout{
  width:100%!important;
  grid-template-columns:minmax(0,58%) minmax(0,42%)!important;
  overflow-x:clip!important
}
.cy-bike-panel,.cy-config-panel,.cy-config-stream,.cy-config-block,.cy-block-body{min-width:0!important;box-sizing:border-box}
.cy-config-panel{
  overflow-x:hidden!important;
  overflow-y:scroll!important;
  scrollbar-gutter:stable!important;
  width:100%!important;
}
.cy-select-grid{min-width:0!important}
.cy-select-grid .cy-choice{
  box-sizing:border-box;
  min-width:0!important;
  overflow:hidden;
  border-width:2px;
}
.cy-select-grid .cy-choice:has(.cy-choice-img){
  display:grid;
  grid-template-columns:minmax(92px,40%) minmax(0,60%);
  grid-template-rows:1fr auto;
  min-height:176px;
  gap:0;
  justify-content:stretch;
  text-align:left
}
.cy-select-grid .cy-choice:has(.cy-choice-img) .cy-choice-img{
  grid-column:1;grid-row:1 / 3;
  align-self:stretch;min-width:0;min-height:100%;height:100%
}
.cy-select-grid .cy-choice:has(.cy-choice-img) .cy-choice-img img{
  max-width:100%;max-height:148px;height:auto;
  object-fit:contain
}
.cy-select-grid .cy-choice:has(.cy-choice-img) .cy-choice-copy{
  grid-column:2;grid-row:1;padding:18px 16px 6px;
  align-self:center;overflow-wrap:anywhere;min-width:0
}
.cy-select-grid .cy-choice:has(.cy-choice-img) .cy-choice-copy strong{
  font-size:clamp(12px,1.15vw,16px);line-height:1.2;overflow-wrap:anywhere
}
.cy-select-grid .cy-choice:has(.cy-choice-img) .cy-choice-copy small{
  font-size:11px;line-height:1.35;margin-top:7px
}
.cy-select-grid .cy-choice:has(.cy-choice-img) em{
  position:static!important;
  grid-column:2;grid-row:2;
  justify-self:end;align-self:end;
  margin:2px 11px 11px 4px;
  max-width:calc(100% - 14px);
  white-space:normal;text-align:center;
  font-size:12px;line-height:1.2;overflow-wrap:anywhere;
}
.cy-select-grid.is-plain{gap:10px!important}
.cy-select-grid.is-plain .cy-choice{
  min-height:76px!important;
  border:1px solid #d8dad4!important;
  border-radius:2px;
  padding:8px 5px;
}
.cy-select-grid.is-plain .cy-choice:hover{border-color:#7e8579!important;background:#fafbf6}
.cy-select-grid.is-plain .cy-choice.is-selected{
  border:3px solid #1b1d19!important;
  background:#fff
}
.cy-select-grid.is-plain .cy-choice-copy{padding:10px 8px!important}
.cy-select-grid.is-plain .cy-choice-copy strong{font-size:12px!important;line-height:1.25}
.cy-select-grid.is-plain .cy-choice-copy small{font-size:10px!important}
.cy-config-block[data-block="size"] .cy-select-grid{
  grid-template-columns:repeat(auto-fit,minmax(88px,1fr))!important
}
.cy-config-block[data-block="dna"] .cy-select-grid{
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important
}
.cy-config-block[data-block="cockpit"] .cy-select-grid.is-plain,
.cy-config-block[data-block="tyres"] .cy-select-grid.is-plain{
  grid-template-columns:repeat(2,minmax(0,1fr))!important
}
.cy-swatches{grid-template-columns:repeat(auto-fit,minmax(74px,1fr))!important}
.cy-currency-row,.cy-country-row{position:relative}
.cy-currency-row:before,.cy-country-row:before{
  content:"";position:absolute;z-index:2;pointer-events:none;
  right:calc(145px + 29px);top:23px;
  width:10px;height:10px;border-right:2px solid #191b18;border-bottom:2px solid #191b18;
  transform:rotate(45deg)
}
.cy-country-row:before{right:22px}
.cy-currency-select,.cy-country-select{
  appearance:none;-webkit-appearance:none;
  padding:0 45px 0 16px!important;
  background:#fff!important;
}
@media(min-width:861px) and (max-width:1150px){
  .cy-layout{grid-template-columns:minmax(0,53%) minmax(0,47%)!important}
  .cy-select-grid .cy-choice:has(.cy-choice-img){grid-template-columns:minmax(80px,36%) minmax(0,64%)}
}
@media(max-width:860px){
  .cy-layout{display:block!important;width:100%!important}
  .cy-config-panel{overflow:visible!important;scrollbar-gutter:auto!important}
  .cy-currency-row:before{right:22px}
  .cy-select-grid .cy-choice:has(.cy-choice-img){min-height:156px;grid-template-columns:minmax(95px,34%) minmax(0,66%)}
}
@media(max-width:520px){
  .cy-select-grid .cy-choice:has(.cy-choice-img){grid-template-columns:minmax(95px,38%) minmax(0,62%);min-height:155px}
}

/* Product configurator: desktop is a single viewport, only the options pane scrolls */
@media(min-width:861px){
  html:has(.cy-layout),body:has(.cy-layout){height:100%!important;overflow:hidden!important}
  body:has(.cy-layout) .wp-site-blocks{
    display:flex!important;flex-direction:column!important;height:100dvh!important;overflow:hidden!important
  }
  body:has(.cy-layout) .wp-site-blocks>header{flex:0 0 auto!important}
  body:has(.cy-layout) .wp-site-blocks>main{
    flex:1 1 auto!important;min-height:0!important;overflow:hidden!important
  }
  body:has(.cy-layout) footer.wp-block-template-part{display:none!important}
  body:has(.cy-layout) .cy-page.container,
  body:has(.cy-layout) .cy-page>.dys-config,
  body:has(.cy-layout) .cy-form{height:100%!important;min-height:0!important}
  body:has(.cy-layout) .cy-layout{
    height:100%!important;min-height:0!important;overflow:hidden!important;
    padding-bottom:70px!important
  }
  body:has(.cy-layout) .cy-bike-panel{
    position:relative!important;top:0!important;height:100%!important;min-height:0!important
  }
  body:has(.cy-layout) .cy-config-panel{
    height:100%!important;overflow-y:scroll!important;overscroll-behavior:contain
  }
}
.cy-mount-option-price{
  display:inline-block;margin-top:8px;padding:5px 8px;border-radius:12px;
  background:#1d1f1c;color:#fff;font-size:11px;font-style:normal
}
.cy-engineering-note{
  padding:14px;border-left:4px solid #9a7a28;background:#fcf8ed;
  line-height:1.5;font-size:12px
}
.cy-breakdown{background:#f8f9f5;padding:18px 22px;border:2px solid #222}
.cy-breakdown .is-discount{font-weight:700}
.cy-final-actions button{font-size:13px!important}
@media(max-width:860px){
  body:has(.cy-layout) footer.wp-block-template-part{display:none!important}
}

/* CYKL-like mobile: fixed bike preview, one step at a time, bottom quote action */
.cy-mobile-step-nav{display:none}
.cy-estimate-total{align-items:center;background:#f0f3e4;margin:0 -10px 8px;padding:15px 10px!important}
.cy-estimate-total span{font-weight:800;letter-spacing:.04em}
.cy-estimate-total strong{font:800 clamp(23px,2vw,34px)/1 'Barlow Condensed',sans-serif}
.cy-quote-only .cy-bottom .cy-bottom-pay,.cy-quote-only .cy-modal-pay{display:none!important}
.cy-quote-only .cy-final-actions{grid-template-columns:1fr}
.cy-quote-only .cy-final-quote{font-size:15px!important;min-height:64px!important;background:var(--signal)!important;color:#171915!important}
@media(max-width:860px){
  html:has(.cy-layout),body:has(.cy-layout){
    height:100%!important;min-height:0!important;overflow:hidden!important;
    overscroll-behavior:none
  }
  body:has(.cy-layout) .wp-site-blocks{
    height:100dvh!important;display:flex!important;flex-direction:column!important;
    overflow:hidden!important
  }
  body:has(.cy-layout) header.wp-block-template-part,
  body:has(.cy-layout) footer.wp-block-template-part{display:none!important}
  body:has(.cy-layout) .wp-site-blocks>main{
    flex:1 1 auto!important;min-height:0!important;height:100%!important;
    overflow:hidden!important;padding:0!important;margin:0!important
  }
  body:has(.cy-layout) .entry-content,
  body:has(.cy-layout) .cy-page.section.container,
  body:has(.cy-layout) .cy-page>.dys-config,
  body:has(.cy-layout) .cy-form{
    width:100%!important;height:100%!important;min-height:0!important;
    max-width:none!important;padding:0!important;margin:0!important;
    overflow:hidden!important
  }
  body:has(.cy-layout) .cy-layout{
    height:calc(100dvh - 66px)!important;min-height:0!important;
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:minmax(160px,35%) minmax(0,1fr)!important;
    padding:0!important;gap:0!important;overflow:hidden!important
  }
  body:has(.cy-layout) .cy-bike-panel{
    position:relative!important;top:0!important;height:100%!important;
    min-height:0!important;width:100%!important;overflow:hidden!important;
    border-right:0!important;border-bottom:1px solid #e0e2da!important
  }
  .cy-bike-tools{top:8px!important;left:auto!important;right:8px!important;gap:2px!important}
  .cy-bike-tools button{width:31px!important;height:31px!important;font-size:19px!important}
  .cy-bike-stats{
    top:9px!important;left:9px!important;right:auto!important;
    border:0!important;background:transparent!important;gap:2px!important;
    grid-template-columns:auto auto!important
  }
  .cy-bike-stats>div{
    background:rgba(250,250,247,.92)!important;border-right:1px solid #ddd!important;
    min-width:0!important;padding:4px 7px!important
  }
  .cy-bike-stats span{font-size:7px!important;letter-spacing:.06em!important}
  .cy-bike-stats strong{font-size:19px!important;margin-top:2px!important}
  .cy-bike-stage{
    position:absolute!important;inset:44px 0 0!important;
    min-height:0!important;height:auto!important;padding:0 6px 6px!important;
    display:grid!important;place-items:center!important
  }
  .cy-bike-img{
    height:100%!important;max-height:100%!important;
    width:100%!important;max-width:100%!important;
    object-fit:contain!important;padding:0!important;
    filter:none!important
  }
  .cy-zone span{display:none!important}
  .cy-bike-caption{display:none!important}
  .cy-config-panel{
    min-height:0!important;height:100%!important;width:100%!important;
    display:flex!important;flex-direction:column!important;
    overflow:hidden!important;padding:0!important;gap:0!important
  }
  .cy-config-header{display:none!important}
  .cy-config-stream{
    flex:1 1 auto!important;min-height:0!important;
    height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding:12px 13px 22px!important
  }
  .cy-config-block{display:none!important;padding:10px 0 16px!important;border:0!important}
  .cy-config-block.is-mobile-active{display:block!important}
  .cy-block-head{margin-bottom:15px!important;padding-bottom:12px!important;gap:8px!important}
  .cy-block-head strong{font-size:19px!important}
  .cy-block-head span{font-size:12px!important}
  .cy-select-grid,
  .cy-config-block[data-block="dna"] .cy-select-grid{grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
  .cy-config-block[data-block="size"] .cy-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cy-config-block[data-block="tyres"] .cy-select-grid.is-plain,
  .cy-config-block[data-block="cockpit"] .cy-select-grid.is-plain,
  .cy-config-block[data-block="stem"] .cy-select-grid.is-plain,
  .cy-config-block[data-block="cassette"] .cy-select-grid.is-plain{
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }
  .cy-select-grid .cy-choice:has(.cy-choice-img){
    min-height:102px!important;
    grid-template-columns:minmax(94px,33%) minmax(0,67%)!important
  }
  .cy-select-grid .cy-choice:has(.cy-choice-img) .cy-choice-img img{max-height:110px!important}
  .cy-select-grid .cy-choice:has(.cy-choice-img) .cy-choice-copy{padding:9px 10px 4px!important}
  .cy-select-grid .cy-choice:has(.cy-choice-img) .cy-choice-copy strong{font-size:15px!important}
  .cy-select-grid .cy-choice:has(.cy-choice-img) .cy-choice-copy small{font-size:11px!important}
  .cy-select-grid .cy-choice:has(.cy-choice-img) em{font-size:11px!important;margin:0 8px 8px!important}
  .cy-swatches{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px 8px!important}
  .cy-swatch>span{width:min(64px,17vw)!important;height:min(64px,17vw)!important}
  .cy-multi-grid{grid-template-columns:1fr!important}
  .cy-mobile-step-nav{
    display:grid!important;flex:0 0 53px!important;min-height:53px!important;
    grid-template-columns:54px minmax(0,1fr) 108px;
    align-items:center;background:#fff;border-top:1px solid #d6d9d1;
    box-shadow:0 -2px 6px rgba(0,0,0,.035)
  }
  .cy-mobile-step-nav button{
    appearance:none;height:53px;border:0;background:#fff;
    font-size:11px;font-weight:850;color:#20221f;cursor:pointer
  }
  .cy-mobile-step-nav .cy-mobile-prev{border-right:1px solid #ddd;font-size:22px}
  .cy-mobile-step-nav .cy-mobile-next{background:#20221f;color:#fff;letter-spacing:.03em}
  .cy-mobile-step-nav button:disabled{opacity:.32;cursor:default}
  .cy-mobile-step-info{text-align:center;min-width:0;padding:0 5px}
  .cy-mobile-step-info strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cy-mobile-step-info small{font-size:9px;color:#7c8275;display:block;margin-top:2px}
  .cy-bottom{
    grid-template-columns:48px 48px minmax(0,1fr) 128px!important;
    min-height:66px!important;height:66px!important;
    padding-bottom:env(safe-area-inset-bottom,0)!important;
  }
  .cy-bottom .cy-summary{grid-column:1;display:flex!important}
  .cy-bottom .cy-bottom-share{grid-column:2;display:block!important;font-size:10px!important}
  .cy-bottom .cy-bottom-weight{display:none!important}
  .cy-bottom .cy-bottom-price{grid-column:3;min-width:0!important;padding:0 8px!important}
  .cy-bottom .cy-bottom-price strong{font-size:22px!important}
  .cy-bottom .cy-bottom-price small{display:none!important}
  .cy-bottom .cy-bottom-pay{display:none!important}
  .cy-bottom .cy-bottom-quote{
    grid-column:4;padding:0 8px!important;font-size:10px!important;
    background:var(--signal)!important;color:#121412!important
  }
  .cy-breakdown{padding:13px!important}
}
@media(max-width:370px){
  body:has(.cy-layout) .cy-layout{grid-template-rows:minmax(150px,32%) minmax(0,1fr)!important}
  .cy-bottom{grid-template-columns:43px 43px minmax(0,1fr) 113px!important}
  .cy-bottom .cy-bottom-price strong{font-size:19px!important}
}

/* Audit fixes: use one scroll container at a time; avoid nested page-height traps. */
@media(min-width:861px){
  body:has(.cy-layout) .cy-page.section.container{
    position:fixed!important;
    top:var(--cy-header-height,118px)!important;
    bottom:70px!important;left:0!important;right:0!important;
    z-index:2!important;
    margin:0!important;padding:0!important;
    width:100%!important;max-width:none!important;
    height:auto!important;min-height:0!important;overflow:hidden!important
  }
  body:has(.cy-layout) .cy-page>.dys-config,
  body:has(.cy-layout) .cy-page .cy-form{
    height:100%!important;max-height:100%!important;min-height:0!important;
    overflow:hidden!important
  }
  body:has(.cy-layout) .cy-layout{
    display:grid!important;grid-template-columns:minmax(0,58%) minmax(0,42%)!important;
    width:100%!important;height:100%!important;min-height:0!important;
    padding:0!important;overflow:hidden!important
  }
  body:has(.cy-layout) .cy-bike-panel{
    position:relative!important;height:100%!important;min-height:0!important;top:0!important
  }
  body:has(.cy-layout) .cy-config-panel{
    position:relative!important;height:100%!important;min-height:0!important;
    overflow-x:hidden!important;overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain;
    padding-bottom:130px!important
  }
  .cy-config-panel .cy-config-stream{overflow:visible!important;height:auto!important}
}
.cy-modal-grid{display:block!important;padding:8px 32px 26px!important}
.cy-summary-row{
  display:grid;grid-template-columns:minmax(125px,24%) minmax(0,1fr) 66px;
  gap:14px;align-items:center;padding:13px 4px;
  border-bottom:1px solid #dfe2db;min-height:58px
}
.cy-summary-key{font-size:10px!important;font-weight:800;letter-spacing:.035em;color:#646b5f}
.cy-summary-choice{min-width:0;overflow-wrap:anywhere}
.cy-summary-choice strong{
  display:block;font:700 13px/1.35 'DM Sans',Arial,sans-serif;color:#141713
}
.cy-summary-choice small{
  display:block;margin-top:4px;font:400 11px/1.4 'DM Sans',Arial,sans-serif;
  color:#747a6e;overflow-wrap:anywhere
}
.cy-summary-row>button{
  border:0;background:transparent;color:#38471c;cursor:pointer;
  text-align:right;font-size:10px;font-weight:800;min-height:40px
}
.cy-summary-row>button:hover{text-decoration:underline;text-underline-offset:3px}
.cy-modal-card>header{position:sticky;top:0;z-index:2}
.cy-modal-card>footer{
  position:sticky;bottom:0;z-index:2;box-shadow:0 -5px 14px rgba(0,0,0,.04)
}
.cy-modal-price{white-space:nowrap}
.cy-share-notice{
  position:fixed;z-index:180;right:18px;bottom:88px;
  width:min(480px,calc(100vw - 26px));background:#fff;
  border:2px solid #20251b;padding:15px;box-shadow:0 14px 45px rgba(0,0,0,.22);
  display:grid;grid-template-columns:1fr auto;gap:9px;align-items:center
}
.cy-share-notice[hidden]{display:none!important}
.cy-share-notice>div{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}
.cy-share-notice strong{font:800 14px/1.2 'DM Sans',Arial,sans-serif}
.cy-share-notice .cy-share-close{
  appearance:none;background:#fff;border:0;font-size:27px;cursor:pointer
}
.cy-share-notice p{
  margin:0;grid-column:1/-1;color:#596054;font:400 12px/1.4 'DM Sans',Arial,sans-serif
}
.cy-share-notice input{
  width:100%;min-width:0;border:1px solid #cbd0c4;padding:10px;
  font:500 12px/1.4 'DM Sans',Arial,sans-serif
}
.cy-share-notice .cy-share-copy{
  border:0;background:var(--signal,#e8fa4a);color:#111;
  font-weight:800;cursor:pointer;padding:12px 10px
}
@media(max-width:860px){
  body:has(.cy-layout) .cy-layout{
    grid-template-rows:minmax(195px,38%) minmax(0,1fr)!important
  }
  body:has(.cy-layout) .cy-bike-panel{
    height:100%!important;min-height:0!important
  }
  body:has(.cy-layout) .cy-bike-stage{
    display:block!important;position:absolute!important;
    inset:44px 8px 4px!important;width:auto!important;height:auto!important;
    min-width:0!important;min-height:0!important;
    max-width:none!important;max-height:none!important;
    padding:0!important;overflow:hidden!important
  }
  body:has(.cy-layout) .cy-bike-img{
    display:block!important;position:absolute!important;
    top:0!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;height:100%!important;min-height:0!important;
    max-width:100%!important;max-height:100%!important;
    object-fit:contain!important;object-position:center center!important;
    transform:none!important;filter:none!important
  }
  body:has(.cy-layout) .cy-bike-panel.is-zoomed .cy-bike-img{transform:scale(1.1)!important}
  body:has(.cy-layout) .cy-config-panel{
    height:100%!important;min-height:0!important;
    overflow:hidden!important
  }
  body:has(.cy-layout) .cy-config-stream{
    overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    min-height:0!important;height:0!important;flex:1 1 auto!important;
    touch-action:pan-y!important;overscroll-behavior-y:contain!important
  }
  .cy-modal-grid{display:block!important;padding:6px 15px 24px!important}
  .cy-summary-row{grid-template-columns:minmax(72px,27%) minmax(0,1fr) 46px;gap:8px;padding:10px 0}
  .cy-summary-key{font-size:9px!important}
  .cy-summary-choice strong{font-size:12px}
  .cy-summary-choice small{font-size:10px}
  .cy-summary-row>button{font-size:9px}
  .cy-modal-card>header{padding:18px 15px!important}
  .cy-modal-card>footer{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .cy-modal-card>footer button{width:100%;min-height:44px!important}
  .cy-modal-card>footer .cy-modal-quote{grid-column:1/-1}
  .cy-share-notice{bottom:75px;right:8px;left:8px;width:auto;padding:12px;gap:8px}
}


