/* IPC RS3 Booking — pixel match from index.html */
.ipc-rs3-widget,
.ipc-rs3-widget * ,
.ipc-rs3-widget *::before,
.ipc-rs3-widget *::after { box-sizing: border-box; }
.ipc-rs3-widget {
  --page-max: 1400px;
  --page-gutter: clamp(24px, 3.5vw, 40px);
  font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.elementor-widget-ipc-rs3-booking,
.elementor-widget-ipc-rs3-booking > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
}
@keyframes rs3-pulseRing { 0% { transform: scale(0.7); opacity: 0.7; } 100% { transform: scale(2.4); opacity: 0; } }
@keyframes rs3-glowPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(0,144,220,0.4); } 50% { box-shadow: 0 0 0 14px rgba(0,144,220,0); } }
@keyframes rs3-fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.ipc-rs3-widget .repair-section.rs3-section{
  --rs3-navy:#0A2E4F;
  --rs3-blue:#0090DC;
  --rs3-blue-hover:#007BBE;
  --rs3-tint:#E5F4FC;
  --rs3-soft:#F3F8FC;
  --rs3-soft2:#E8F3FB;
  --rs3-muted:#6B7C8C;
  --rs3-muted2:#9AACBE;
  /* Match .section-title / .section-sub / .section-tag (Laptop Repair) */
  --rs3-fs-title:clamp(26px, 2.4vw + 1rem, 48px); /* mobile 26 â†’ desktop 48 */
  --rs3-fs-sub:clamp(14px, 0.4vw + 0.8rem, 17px); /* mobile 14 â†’ desktop 17 */
  --rs3-fs-body:clamp(0.875rem,0.84rem + 0.2vw,0.9375rem); /* 14â€“15 service rows */
  --rs3-fs-label:clamp(0.6875rem,0.65rem + 0.15vw,0.8125rem); /* 11â€“13 */
  --rs3-fs-card:clamp(14px, 0.35vw + 0.75rem, 16px); /* secondary to title */
  --rs3-fs-btn:clamp(0.875rem,0.84rem + 0.15vw,0.9375rem);
  --rs3-fs-eyebrow:11px;
  --rs3-fs-svc-title:clamp(22px, 1.6vw + 0.75rem, 32px); /* step label â€” below section-title */
  padding:0 0 clamp(32px,3.5vw,52px);
  background:#ffffff;
  font-family:'Montserrat','Segoe UI',Arial,sans-serif;
  overflow-x:clip;
  scroll-margin-top:88px;
}
.ipc-rs3-widget .rs3-screen.rs3-services{
  scroll-margin-top:88px;
}
.ipc-rs3-widget .rs3-section .section-container{
  max-width:var(--page-max);
  margin:0 auto;
  padding-left:var(--page-gutter);
  padding-right:var(--page-gutter);
  width:100%;
  box-sizing:border-box;
}
.ipc-rs3-widget .rs3-root{
  width:100%;
  max-width:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  box-sizing:border-box;
  gap:0;
  overflow-x:clip;
}
/* Stack steps; only the active screen drives height (inactive are absolute) */
.ipc-rs3-widget .rs3-stage{
  display:grid;
  grid-template-areas:"stack";
  width:100%;
  flex:1 1 auto;
  min-height:0;
  position:relative;
  align-items:stretch;
}
.ipc-rs3-widget .rs3-screen{
  grid-area:stack;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  z-index:0;
  position:absolute;
  left:0;
  right:0;
  top:0;
  box-sizing:border-box;
}
.ipc-rs3-widget .rs3-screen.is-active{
  position:relative;
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  z-index:1;
  min-height:0;
  height:auto;
}
.ipc-rs3-widget .rs3-pick{gap:0;}
.ipc-rs3-widget .rs3-header{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  width:100%;
  max-width:720px;
  margin:0 auto;
  padding:0 8px;
  position:relative;
  z-index:2;
  flex-shrink:0;
}
.ipc-rs3-widget .rs3-eyebrow{
  display:inline-block;
  font-size:var(--rs3-fs-eyebrow);
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--rs3-blue);
  margin:0 0 16px;
  padding:0;
  border:none;
  background:transparent;
  line-height:1.2;
}
.ipc-rs3-widget .rs3-pick-title{
  font-size:var(--rs3-fs-title);
  font-weight:800;
  color:var(--rs3-navy);
  text-align:center;
  line-height:1.12;
  letter-spacing:-0.02em;
  max-width:18ch;
  margin:0;
  text-wrap:balance;
}
.ipc-rs3-widget .rs3-pick-sub{
  font-size:var(--rs3-fs-sub);
  font-weight:400;
  color:var(--rs3-muted);
  text-align:center;
  line-height:1.7;
  max-width:34em;
  margin:20px 0 0;
}
.ipc-rs3-widget .rs3-pick-sub .rs3-link{
  display:inline;
  font-weight:700;
  color:var(--rs3-blue);
  cursor:pointer;
  background:none;border:none;padding:0;font:inherit;
  letter-spacing:0.04em;
  margin-left:0.4em;
}
.ipc-rs3-widget .rs3-pick-sub .rs3-link:hover{color:var(--rs3-blue-hover);}
.ipc-rs3-widget .rs3-pick-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  max-width:100%;
  width:100%;
  margin-top:24px;
  align-items:end;
  position:relative;
  z-index:1;
  box-sizing:border-box;
  padding:0;
}
.ipc-rs3-widget .rs3-card{
  display:none;
  flex-direction:column;
  align-items:center;
  gap:12px;
  padding:16px 12px 18px;
  border-radius:24px;
  cursor:pointer;
  transition:background .2s, background-color .2s, transform .2s;
  border:none;
  background:transparent;
  background-color:transparent;
  font:inherit;
  width:100%;
  overflow:visible;
  min-width:0;
}
.ipc-rs3-widget .rs3-card.is-visible{display:flex;}
.ipc-rs3-widget .rs3-card:hover,
.ipc-rs3-widget .rs3-card:focus-visible{
  background:#F3F8FC;
  background-color:#F3F8FC;
  transform:translateY(-4px);
}
/* Size emphasis only — selected/hover tint appears on hover for every card */
.ipc-rs3-widget .rs3-card.is-mid{background:transparent;background-color:transparent;padding:20px 14px 20px;}
.ipc-rs3-widget .rs3-card.is-mid:hover,
.ipc-rs3-widget .rs3-card.is-mid:focus-visible{background:#F3F8FC;background-color:#F3F8FC;}
.ipc-rs3-widget .rs3-card-img{
  height:min(68vh,660px);
  max-height:660px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  width:100%;
  overflow:visible;
  padding:4px 0 0;
  box-sizing:border-box;
}
.ipc-rs3-widget .rs3-card.is-mid .rs3-card-img{height:min(78vh,760px);max-height:760px;}
.ipc-rs3-widget .rs3-card-img img{
  height:auto;
  width:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center bottom;
  display:block;
  transform:none;
}
.ipc-rs3-widget .rs3-card-label{
  font-size:var(--rs3-fs-card);
  font-weight:600;
  color:var(--rs3-navy);
  text-align:center;
  line-height:1.25;
  letter-spacing:-0.01em;
  margin:0;
  padding:0;
  flex-shrink:0;
}
.ipc-rs3-widget .rs3-dots{display:flex;gap:10px;justify-content:center;margin-top:16px;}
.ipc-rs3-widget .rs3-dot{
  width:10px;height:10px;border-radius:50%;
  background:var(--rs3-soft2);border:none;padding:0;cursor:pointer;
  transition:background .3s;
}
.ipc-rs3-widget .rs3-dot.is-active{background:var(--rs3-blue);}

/* Services â€” purpose-built for one large phone + checklist */
.ipc-rs3-widget .rs3-services{
  gap:0;
  width:100%;
  max-width:100%;
  justify-self:center;
  justify-content:flex-start !important;
  align-items:stretch !important;
  margin:0 auto;
  box-sizing:border-box;
  padding:clamp(16px,2vh,28px) 0 clamp(32px,4vh,52px);
}
.ipc-rs3-widget .rs3-svc-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  align-items:start;
  justify-items:stretch;
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  background:transparent;
  border:none;
  border-radius:0;
  padding:clamp(8px,1.5vh,16px) 0;
}
.ipc-rs3-widget .rs3-svc-phone{
  height:min(64vh,580px);
  max-height:580px;
  width:100%;
  max-width:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  overflow:visible;
  justify-self:center;
}
.ipc-rs3-widget .rs3-phone-stage{
  position:relative;
  height:100%;
  width:auto;
  max-width:100%;
  aspect-ratio:0.485;
  overflow:visible;
}
.ipc-rs3-widget .rs3-phone-stage img{
  height:100%;
  width:100%;
  object-fit:contain;
  object-position:center center;
  display:none;
}
.ipc-rs3-widget .rs3-phone-stage img.is-show{display:block;}
.ipc-rs3-widget .rs3-marker{
  position:absolute;transform:translate(-50%,-50%);pointer-events:none;
}
.ipc-rs3-widget .rs3-marker-ring{
  position:absolute;inset:-5px;border-radius:50%;
  background:var(--rs3-blue);
  animation:rs3-pulseRing 1.6s ease-out infinite;
}
.ipc-rs3-widget .rs3-marker-dot{
  position:relative;width:9px;height:9px;border-radius:50%;
  background:var(--rs3-blue);
  box-shadow:0 0 0 2px rgba(255,255,255,0.85);
}
.ipc-rs3-widget .rs3-marker-label{
  position:absolute;left:18px;top:50%;transform:translateY(-50%);
  white-space:nowrap;padding:7px 14px;border-radius:999px;
  background:var(--rs3-navy);color:#fff;
  font-size:13px;font-weight:700;
  max-width:min(180px,42vw);
  overflow:hidden;text-overflow:ellipsis;
}
.ipc-rs3-widget .rs3-svc-panel{
  display:flex;flex-direction:column;gap:clamp(14px,1.8vh,18px);
  max-width:480px;width:100%;min-width:0;box-sizing:border-box;
  justify-content:center;
}
.ipc-rs3-widget .rs3-back{
  align-self:flex-start;
  display:inline-flex;align-items:center;gap:8px;
  font-size:var(--rs3-fs-label);
  font-weight:700;letter-spacing:0.08em;
  color:#0090DC;cursor:pointer;text-transform:uppercase;
  background:none;border:none;padding:0;font-family:inherit;
  opacity:1;visibility:visible;-webkit-text-fill-color:#0090DC;
}
.ipc-rs3-widget .rs3-back:hover{color:#007BBE;-webkit-text-fill-color:#007BBE;}
.ipc-rs3-widget .rs3-svc-title{
  font-size:var(--rs3-fs-svc-title);
  font-weight:800;color:var(--rs3-navy);line-height:1.2;letter-spacing:-0.02em;
}
.ipc-rs3-widget .rs3-svc-sub{font-size:var(--rs3-fs-sub);font-weight:400;color:var(--rs3-muted);margin-top:6px;line-height:1.65;}
.ipc-rs3-widget .rs3-svc-list{display:flex;flex-direction:column;gap:7px;}
.ipc-rs3-widget .rs3-svc-item{
  display:flex;align-items:center;gap:12px;
  padding:clamp(10px,1.4vh,14px) 16px;
  border-radius:14px;
  background:#F3F8FC;
  background-color:#F3F8FC;
  cursor:pointer;transition:background .2s, background-color .2s;
  border:none;width:100%;text-align:left;font:inherit;
}
.ipc-rs3-widget .rs3-svc-item:hover{background:#E8F3FB;background-color:#E8F3FB;}
.ipc-rs3-widget .rs3-svc-item.is-selected{background:#D4EAF8;background-color:#D4EAF8;}
.ipc-rs3-widget .rs3-svc-item.is-other{background:#E8F3FB;background-color:#E8F3FB;}
.ipc-rs3-widget .rs3-svc-name{
  font-size:var(--rs3-fs-body);
  font-weight:600;color:var(--rs3-navy);flex:1;
}
.ipc-rs3-widget .rs3-svc-item.is-selected .rs3-svc-name,
.ipc-rs3-widget .rs3-svc-item.is-other .rs3-svc-name{font-weight:700;}
.ipc-rs3-widget .rs3-svc-item.is-other .rs3-svc-name{letter-spacing:0.06em;}
.ipc-rs3-widget .rs3-other-note{
  margin:-2px 0 6px;
  padding:12px 14px 14px;
  border-radius:14px;
  background:#F3F8FC;
  background-color:#F3F8FC;
}
.ipc-rs3-widget .rs3-other-note label{
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:#0A2E4F;
  margin:0 0 8px;
}
.ipc-rs3-widget .rs3-other-note label span{color:#0090DC;}
.ipc-rs3-widget .rs3-other-note input,
.ipc-rs3-widget .rs3-other-note input[type="text"]{
  display:block;
  width:100%;
  margin:0;
  padding:10px 12px;
  border:1px solid #d5dee7;
  border-radius:10px;
  background:#fff;
  color:#0A2E4F;
  font:inherit;
  font-size:14px;
  font-weight:600;
  box-sizing:border-box;
}
.ipc-rs3-widget .rs3-other-note input:focus{
  outline:none;
  border-color:#0090DC;
  box-shadow:0 0 0 2px rgba(0,144,220,0.28);
}
.ipc-rs3-widget .rs3-other-note input.is-invalid{
  border-color:#d64545;
  box-shadow:0 0 0 2px rgba(214,69,69,0.18);
}
.ipc-rs3-widget .rs3-other-note__error{
  margin:8px 0 0;
  font-size:12px;
  font-weight:700;
  color:#d64545;
}
.ipc-rs3-widget .rs3-popular{
  font-size:10px;font-weight:700;letter-spacing:0.1em;color:var(--rs3-blue);
}
.ipc-rs3-widget .rs3-mark{font-size:16px;color:var(--rs3-muted2);font-weight:700;line-height:1;}
.ipc-rs3-widget .rs3-svc-item.is-selected .rs3-mark{font-size:15px;color:var(--rs3-blue);}
.ipc-rs3-widget .rs3-next{
  display:block;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  min-height:52px;
  padding:16px 0;border-radius:999px;background:var(--rs3-blue);
  text-align:center;font-size:var(--rs3-fs-btn);font-weight:700;color:#fff;
  cursor:pointer;border:none;width:100%;font-family:inherit;
  transition:transform .2s, background .2s, opacity .2s;
}
.ipc-rs3-widget .rs3-next.is-show{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  animation:rs3-fadeUp .35s ease-out, rs3-glowPulse 2s ease-in-out infinite;
}
.ipc-rs3-widget .rs3-next:hover{background:var(--rs3-blue-hover);transform:translateY(-2px);}
.ipc-rs3-widget .rs3-tip{
  font-size:var(--rs3-fs-body);
  font-weight:500;color:var(--rs3-muted);line-height:1.6;
  margin-top:4px;
}
.ipc-rs3-widget .rs3-tip strong{font-weight:700;color:var(--rs3-navy);}

/* Form â€” centered card in the middle of the stage */
.ipc-rs3-widget .rs3-form{
  gap:clamp(14px,2.4vh,22px);
  width:100%;
  max-width:none;
  justify-self:center;
  align-items:center !important;
  justify-content:center;
  box-sizing:border-box;
  padding:0 8px;
}
.ipc-rs3-widget .rs3-form-body,
.ipc-rs3-widget .rs3-success{
  width:100%;
  max-width:520px;
  margin:0 auto;
  box-sizing:border-box;
}
.ipc-rs3-widget .rs3-form-body{
  display:flex;
  flex-direction:column;
  gap:clamp(14px,2.4vh,22px);
}
.ipc-rs3-widget .rs3-form-title{font-size:clamp(26px, 2vw + 0.9rem, 40px);font-weight:800;color:var(--rs3-navy);letter-spacing:-0.02em;line-height:1.15;}
.ipc-rs3-widget .rs3-form-sub{font-size:var(--rs3-fs-sub);font-weight:400;color:var(--rs3-muted);margin-top:12px;line-height:1.7;}
.ipc-rs3-widget .rs3-chosen{
  display:flex;align-items:center;gap:14px;
  padding:clamp(12px,1.5vh,16px) 18px;border-radius:14px;background:var(--rs3-soft2);
  min-width:0;
}
.ipc-rs3-widget .rs3-chosen--store{margin-bottom:0;}
.ipc-rs3-widget .rs3-store-picker,
.ipc-rs3-widget .rs3-device-picker{
  display:flex;flex-direction:column;gap:8px;
  margin:-4px 0 12px;padding:12px;
  border-radius:14px;background:#fff;border:1px solid #D8E6F0;
}
.ipc-rs3-widget .rs3-store-picker[hidden],
.ipc-rs3-widget .rs3-device-picker[hidden]{display:none!important;}
.ipc-rs3-widget .rs3-store-opt,
.ipc-rs3-widget .rs3-device-opt{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
  padding:12px 14px;border-radius:12px;border:none;
  background:#F2F6FC;cursor:pointer;text-align:left;width:100%;
  font-family:inherit;transition:background .15s;
}
.ipc-rs3-widget .rs3-store-opt:hover,
.ipc-rs3-widget .rs3-device-opt:hover{background:#E8F3FB;}
.ipc-rs3-widget .rs3-store-opt.is-selected,
.ipc-rs3-widget .rs3-device-opt.is-selected{background:var(--rs3-soft2);box-shadow:inset 0 0 0 1.5px var(--rs3-blue);}
.ipc-rs3-widget .rs3-store-opt-name,
.ipc-rs3-widget .rs3-device-opt-name{font-size:var(--rs3-fs-body);font-weight:700;color:var(--rs3-navy);}
.ipc-rs3-widget .rs3-store-opt-addr{font-size:13px;font-weight:500;color:var(--rs3-muted);}
.ipc-rs3-widget .rs3-chosen-label.is-placeholder{color:var(--rs3-muted);font-weight:600;}
.ipc-rs3-widget .rs3-chosen-kicker{font-size:11px;font-weight:700;letter-spacing:0.1em;color:var(--rs3-blue);}
.ipc-rs3-widget .rs3-chosen-label{font-size:var(--rs3-fs-body);font-weight:700;color:var(--rs3-navy);margin-top:3px;word-break:break-word;}
.ipc-rs3-widget .rs3-chosen-change{
  font-size:13px;font-weight:600;color:var(--rs3-blue);cursor:pointer;
  background:none;border:none;padding:0;font-family:inherit;flex-shrink:0;
}
.ipc-rs3-widget .rs3-field{display:flex;flex-direction:column;gap:8px;margin-bottom:clamp(10px,1.6vh,14px);}
.ipc-rs3-widget .rs3-field label{font-size:var(--rs3-fs-body);font-weight:600;color:var(--rs3-navy);}
.ipc-rs3-widget .rs3-field input{
  padding:clamp(12px,1.5vh,15px) 18px;border:none;border-radius:14px;
  background:#F2F6FC;font-size:var(--rs3-fs-body);color:var(--rs3-navy);
  outline:none;box-sizing:border-box;width:100%;font-family:inherit;
  max-width:100%;
}
.ipc-rs3-widget .rs3-field input:focus{box-shadow:0 0 0 2px rgba(0,144,220,0.35);}
.ipc-rs3-widget .rs3-error{display:none;font-size:var(--rs3-fs-body);font-weight:600;color:#d64545;margin-bottom:10px;}
.ipc-rs3-widget .rs3-error.is-show{display:block;}
.ipc-rs3-widget .rs3-submit{
  padding:clamp(12px,1.5vh,16px) 0;border-radius:999px;background:var(--rs3-blue);
  text-align:center;font-size:var(--rs3-fs-btn);font-weight:700;color:#fff;
  cursor:pointer;border:none;width:100%;font-family:inherit;
}
.ipc-rs3-widget .rs3-submit:hover{background:var(--rs3-blue-hover);}
.ipc-rs3-widget .rs3-success{display:none;flex-direction:column;align-items:center;gap:14px;padding:48px 0;text-align:center;}
.ipc-rs3-widget .rs3-success.is-show{display:flex;}
.ipc-rs3-widget .rs3-form-body.is-hide{display:none;}
.ipc-rs3-widget .rs3-success-ico{
  width:64px;height:64px;border-radius:50%;background:var(--rs3-soft2);
  display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--rs3-blue);
}
.ipc-rs3-widget .rs3-success-title{font-size:clamp(1.375rem,1.2rem + 0.8vw,1.625rem);font-weight:700;color:var(--rs3-navy);}
.ipc-rs3-widget .rs3-success-msg{font-size:var(--rs3-fs-body);font-weight:500;color:var(--rs3-muted);line-height:1.6;max-width:380px;}
.ipc-rs3-widget .rs3-reset{
  margin-top:14px;padding:15px 44px;border-radius:999px;background:var(--rs3-blue);
  font-size:var(--rs3-fs-btn);font-weight:700;color:#fff;cursor:pointer;border:none;font-family:inherit;
  transition:background .2s, transform .2s;
}
.ipc-rs3-widget .rs3-reset:hover{background:var(--rs3-blue-hover);transform:translateY(-2px);}

/* Success state â€” hide progress bar + collapse empty stage space */
.ipc-rs3-widget .rs3-root.is-success{
  min-height:0 !important;
}
.ipc-rs3-widget .rs3-root.is-success .rs3-stage{
  min-height:0 !important;
}
.ipc-rs3-widget .rs3-root.is-success .rs3-form{
  justify-content:flex-start;
  min-height:0;
  padding-top:4px;
}
.ipc-rs3-widget .rs3-root.is-success .rs3-success{
  padding:clamp(12px,2vh,24px) 0 clamp(8px,1.5vh,16px);
  gap:12px;
}
.ipc-rs3-widget .rs3-root.is-success .rs3-reset{margin-top:8px;}
.ipc-rs3-widget .rs3-root.is-success .rs3-footer{
  display:none !important;
}
.ipc-rs3-widget .repair-section.rs3-section:has(.rs3-root.is-success){
  padding-bottom:clamp(24px,3vw,40px) !important;
}

/* Progress footer — keep below datetime modal (picker lives inside .rs3-screen) */
.ipc-rs3-widget .rs3-footer{
  margin-top:clamp(36px,5vh,56px);
  padding-top:0;
  display:flex;flex-direction:column;align-items:center;gap:18px;
  position:relative;z-index:1;background:#fff;width:100%;flex-shrink:0;
  box-sizing:border-box;
  padding-left:4px;padding-right:4px;
  padding-bottom:clamp(8px,1.5vh,16px);
}

/* When Date et heure is open, raise the form screen above the footer */
body.ipc-datetime-open .ipc-rs3-widget .rs3-footer{
  z-index:0 !important;
}
body.ipc-datetime-open .ipc-rs3-widget .rs3-screen.is-active{
  z-index:100200 !important;
}
body.ipc-datetime-open .ipc-rs3-widget .ipc-datetime-picker{
  position:relative !important;
  z-index:100200 !important;
}
.ipc-rs3-widget .rs3-cap{
  font-size:clamp(12px,0.35vw + 0.7rem,15px);
  font-weight:700;letter-spacing:0.14em;color:var(--rs3-navy);
  text-transform:uppercase;text-align:center;
}
.ipc-rs3-widget .rs3-cap span{color:var(--rs3-blue);}
.ipc-rs3-widget .rs3-progress{
  position:relative;width:100%;max-width:980px;height:48px;
  border-radius:999px;background:#EEF4FC;overflow:hidden;
  box-sizing:border-box;
}
.ipc-rs3-widget .rs3-progress-fill{
  position:absolute;left:0;top:0;bottom:0;width:33.33%;
  border-radius:999px;background:var(--rs3-blue);
  transition:width .7s cubic-bezier(0.4,0,0.2,1);
}
.ipc-rs3-widget .rs3-progress-steps{
  position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);
}
.ipc-rs3-widget .rs3-progress-step{
  display:flex;align-items:center;justify-content:center;
  font-size:clamp(13px, 0.55vw + 0.65rem, 16px);
  font-weight:700;color:var(--rs3-muted2);transition:color .4s;
  padding:0 8px;
}
.ipc-rs3-widget .rs3-progress-step.is-on{color:#ffffff;}
.ipc-rs3-widget .rs3-progress-mobile{display:none;}

/* Pick grid â€” keep contained */
.ipc-rs3-widget .rs3-pick{
  width:100%;
  max-width:100%;
  justify-self:center;
  box-sizing:border-box;
  padding:0;
}
.ipc-rs3-widget .rs3-pick-grid{min-width:0;}

/* Tablet+ : 3-up pick grid (phones use carousel below 768) */
@media (min-width:768px){
  .ipc-rs3-widget .rs3-pick-title{max-width:22ch;}
  .ipc-rs3-widget .rs3-pick-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:16px;
    max-width:100%;
    padding:0;
  }
  .ipc-rs3-widget .rs3-card{display:flex !important;padding:12px 8px 14px;gap:10px;overflow:visible;}
  .ipc-rs3-widget .rs3-card.is-mid{padding:14px 10px 16px;}
  .ipc-rs3-widget .rs3-card-img{
    height:auto;
    max-height:min(42vh,360px);
    overflow:visible;
    align-items:flex-end;
  }
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img{
    height:auto;
    max-height:min(46vh,400px);
  }
  .ipc-rs3-widget .rs3-card-img img{
    max-height:min(42vh,360px);
  }
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img img{
    max-height:min(46vh,400px);
  }
  .ipc-rs3-widget .rs3-dots{display:none;}
  .ipc-rs3-widget .rs3-svc-grid{
    grid-template-columns:1fr 1fr;
    gap:28px;
    align-items:start;
    width:100%;
    max-width:100%;
    margin:0 auto;
  }
  .ipc-rs3-widget .rs3-svc-phone{
    height:min(72vh,680px);
    max-height:680px;
    max-width:100%;
    width:100%;
    justify-self:center;
  }
  .ipc-rs3-widget .rs3-svc-panel{max-width:100%;width:100%;justify-self:stretch;}
  .ipc-rs3-widget .rs3-marker-label{font-size:13px;padding:7px 14px;max-width:min(190px,28vw);}
  .ipc-rs3-widget .rs3-form-body,.rs3-success{max-width:520px;}
  .ipc-rs3-widget .rs3-footer{margin-top:clamp(32px,4.5vh,52px);}
  .ipc-rs3-widget .rs3-cap{letter-spacing:0.14em;}
  .ipc-rs3-widget .rs3-eyebrow{margin-bottom:14px;}
}
/* Large tablet / small desktop â€” still side-by-side services */
@media (min-width:768px) and (max-width:1024px){
  .ipc-rs3-widget .rs3-svc-grid{
    gap:24px;
    align-items:start;
    grid-template-columns:1fr 1fr;
    max-width:100%;
  }
  .ipc-rs3-widget .rs3-svc-phone{height:min(72vh,720px);max-height:720px;max-width:100%;justify-self:center;}
  .ipc-rs3-widget .rs3-pick-grid{gap:16px;margin-top:16px;}
  .ipc-rs3-widget .rs3-card-img{
    height:auto;
    max-height:min(40vh,340px);
  }
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img{
    height:auto;
    max-height:min(44vh,380px);
  }
  .ipc-rs3-widget .rs3-card-img img{max-height:min(40vh,340px);}
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img img{max-height:min(44vh,380px);}
  .ipc-rs3-widget .rs3-progress{height:44px;}
  .ipc-rs3-widget .rs3-progress-step{font-size:14px;padding:0 6px;text-align:center;}
  /* Tablet marker label positions (match marked screenshots). */
  .ipc-rs3-widget .rs3-marker--label-left .rs3-marker-label,
  .ipc-rs3-widget .rs3-marker--label-left-mobile .rs3-marker-label{
    left:auto;
    right:14px;
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
  }
  .ipc-rs3-widget .rs3-marker--label-top-mobile .rs3-marker-label{
    left:50%;
    right:auto;
    top:auto;
    bottom:calc(100% + 8px);
    transform:translateX(-50%);
    max-width:min(160px,30vw);
  }
}
/* Desktop */
@media (min-width:1025px){
  .ipc-rs3-widget .repair-section.rs3-section{
    padding-top:0;
    padding-bottom:clamp(36px,4vh,52px);
  }
  .ipc-rs3-widget .ipc-rs3-tagline{margin-bottom:80px;}
  .ipc-rs3-widget .rs3-pick-grid{
    gap:28px;
    margin-top:20px;
    max-width:100%;
    padding:0;
    align-items:end;
  }
  .ipc-rs3-widget .rs3-card{padding:12px 12px 16px;gap:12px;overflow:visible;}
  .ipc-rs3-widget .rs3-card.is-mid{padding:14px 14px 18px;}
  /* Size to the image — no tall empty vh box above the phones (screenshot-4). */
  .ipc-rs3-widget .rs3-card-img{
    height:auto;
    max-height:none;
    overflow:visible;
    align-items:flex-end;
    padding:0;
  }
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img{
    height:auto;
    max-height:none;
  }
  .ipc-rs3-widget .rs3-card-img img{
    max-height:min(58vh,560px);
  }
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img img{
    max-height:min(62vh,600px);
  }
  .ipc-rs3-widget .rs3-svc-grid{
    gap:28px;
    grid-template-columns:1fr 1fr;
    max-width:100%;
    margin:0 auto;
    align-items:start;
  }
  .ipc-rs3-widget .rs3-services{max-width:100%;padding:clamp(12px,2vh,24px) 0 clamp(40px,5vh,64px);}
  .ipc-rs3-widget .rs3-svc-phone{
    height:min(68vh,680px);
    max-height:680px;
    max-width:100%;
    width:100%;
    justify-self:center;
  }
  .ipc-rs3-widget .rs3-svc-panel{max-width:100%;width:100%;gap:clamp(14px,1.8vh,18px);justify-self:stretch;}
  .ipc-rs3-widget .rs3-marker-label{font-size:14px;padding:8px 16px;left:20px;max-width:min(240px,22vw);}
  .ipc-rs3-widget .rs3-marker--label-left .rs3-marker-label{
    left:auto;
    right:20px;
  }
  .ipc-rs3-widget .rs3-marker-dot{width:10px;height:10px;}
  .ipc-rs3-widget .rs3-form-body,.rs3-success{max-width:540px;}
  .ipc-rs3-widget .rs3-footer{margin-top:clamp(40px,5vh,64px);gap:20px;padding-bottom:clamp(12px,2vh,20px);}
  .ipc-rs3-widget .rs3-progress{height:52px;max-width:1040px;}
  .ipc-rs3-widget .rs3-cap{letter-spacing:0.16em;font-size:14px;}
  .ipc-rs3-widget .rs3-root{min-height:0;}
  .ipc-rs3-widget .rs3-stage{min-height:0;}
  .ipc-rs3-widget .rs3-pick-title{margin-bottom:0;}
  .ipc-rs3-widget .rs3-eyebrow{margin-bottom:12px;}
}
/* Phone — single-card carousel */
@media (max-width:767px){
  .ipc-rs3-widget .rs3-section{padding-top:0;padding-bottom:24px;}
  .ipc-rs3-widget .rs3-pick-title{max-width:16ch;margin-bottom:0;}
  .ipc-rs3-widget .rs3-eyebrow{margin-bottom:12px;padding:0;}
  .ipc-rs3-widget .rs3-pick-sub{margin-top:16px;}
  .ipc-rs3-widget .rs3-pick-grid{
    display:block;
    margin-top:16px;
    padding:0 12px;
    gap:0;
  }
  .ipc-rs3-widget .rs3-card,
  .elementor .ipc-rs3-widget button.rs3-card{
    display:none !important;
  }
  .ipc-rs3-widget .rs3-card.is-visible,
  .elementor .ipc-rs3-widget button.rs3-card.is-visible{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
    padding:18px 16px 20px !important;
    gap:14px !important;
    background:#F3F8FC !important;
    background-color:#F3F8FC !important;
    border-radius:24px !important;
    transform:none !important;
  }
  .ipc-rs3-widget .rs3-card.is-visible:hover,
  .elementor .ipc-rs3-widget button.rs3-card.is-visible:hover{
    background:#F3F8FC !important;
    background-color:#F3F8FC !important;
    transform:none !important;
  }
  .ipc-rs3-widget .rs3-card-img,
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img{
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    align-items:flex-end !important;
    padding:0 !important;
  }
  .ipc-rs3-widget .rs3-card-img img,
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img img{
    width:auto !important;
    max-width:min(72vw,280px) !important;
    height:auto !important;
    max-height:min(52vh,420px) !important;
  }
  .ipc-rs3-widget .rs3-dots,
  .elementor .ipc-rs3-widget .rs3-dots{
    display:flex !important;
    gap:10px !important;
    justify-content:center !important;
    margin-top:18px !important;
    visibility:visible !important;
  }
  .ipc-rs3-widget .rs3-dot,
  .elementor .ipc-rs3-widget button.rs3-dot{
    display:block !important;
    width:10px !important;
    height:10px !important;
    min-width:10px !important;
    min-height:10px !important;
    border-radius:50% !important;
    padding:0 !important;
    background:var(--rs3-soft2,#E8F3FB) !important;
  }
  .ipc-rs3-widget .rs3-dot.is-active,
  .elementor .ipc-rs3-widget button.rs3-dot.is-active{
    background:var(--rs3-blue,#0090DC) !important;
  }
  .ipc-rs3-widget .rs3-footer{margin-top:28px;gap:12px;}
  .ipc-rs3-widget .rs3-marker-label{font-size:10px;padding:3px 7px;max-width:min(120px,42vw);}
  .ipc-rs3-widget .rs3-marker--label-left .rs3-marker-label,
  .ipc-rs3-widget .rs3-marker--label-left-mobile .rs3-marker-label{
    left:auto;
    right:10px;
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
  }
  .ipc-rs3-widget .rs3-marker--label-top-mobile .rs3-marker-label{
    left:50%;
    right:auto;
    top:auto;
    bottom:calc(100% + 8px);
    transform:translateX(-50%);
    max-width:min(130px,48vw);
  }
  .ipc-rs3-widget .rs3-root{min-height:0;}
  .ipc-rs3-widget .rs3-stage{min-height:0;}
  .ipc-rs3-widget .rs3-form{justify-content:flex-start;padding-top:8px;}
  .ipc-rs3-widget .rs3-form-body,.rs3-success{max-width:100%;}
  .ipc-rs3-widget .rs3-services{justify-content:flex-start !important;padding-top:4px;}
  .ipc-rs3-widget .rs3-svc-grid{gap:18px;grid-template-columns:1fr;}
  .ipc-rs3-widget .rs3-svc-phone{height:min(58vh,520px);max-height:520px;max-width:320px;}
  .ipc-rs3-widget .rs3-progress{height:42px;}
  .ipc-rs3-widget .rs3-progress-steps{display:none !important;}
  .ipc-rs3-widget .rs3-progress-mobile{
    display:flex;
    position:absolute;
    inset:0;
    z-index:2;
    align-items:center;
    justify-content:space-between;
    padding:0 14px;
    box-sizing:border-box;
    pointer-events:none;
    font-size:12px;
    font-weight:700;
    line-height:1.15;
  }
  .ipc-rs3-widget .rs3-progress-mobile__num{
    position:relative;
    z-index:1;
    flex-shrink:0;
    color:#ffffff;
    min-width:1em;
  }
  .ipc-rs3-widget .rs3-progress-mobile__label{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    max-width:calc(100% - 96px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-align:center;
    color:#ffffff;
  }
  .ipc-rs3-widget .rs3-progress-mobile__pct{
    position:relative;
    z-index:1;
    flex-shrink:0;
    margin-left:auto;
    color:var(--rs3-navy);
  }
  /* Step 1: center label sits on light track */
  .ipc-rs3-widget .rs3-progress[data-rs3-progress-idx="0"] .rs3-progress-mobile__label{
    color:var(--rs3-navy);
  }
  /* Step 3: full blue — percentage white */
  .ipc-rs3-widget .rs3-progress[data-rs3-progress-idx="2"] .rs3-progress-mobile__pct{
    color:#ffffff;
  }
  .ipc-rs3-widget .rs3-cap{letter-spacing:0.1em;font-size:11px;}
}

/* Layout helpers + tagline (from HTML chrome) */
.ipc-rs3-widget .section-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 clamp(24px, 3.5vw, 40px);
  box-sizing: border-box;
}
.ipc-rs3-widget .ipc-rs3-tagline {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 10px 14px;
  width: 100%;
  max-width: var(--page-max, 1400px);
  margin: 0 auto 60px;
  padding: clamp(16px, 2vw, 24px) var(--page-gutter, clamp(24px, 3.5vw, 40px)) 0;
  box-sizing: border-box;
  text-align: center;
  color: #0A2E4F;
  line-height: 1.35;
}
.ipc-rs3-widget .ipc-rs3-tagline__icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ipc-rs3-widget .ipc-rs3-tagline__icon svg {
  width: 28px;
  height: 28px;
  display: block;
}
.ipc-rs3-widget .ipc-rs3-tagline__main {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(16px, 1.5vw, 20px);
  font-weight: 700;
  color: #0A2E4F;
  letter-spacing: -0.01em;
  line-height: 1.25;
  white-space: nowrap;
  flex-shrink: 0;
}
.ipc-rs3-widget .ipc-rs3-tagline__sep {
  color: #9AACBE;
  font-weight: 700;
  flex-shrink: 0;
}
.ipc-rs3-widget .ipc-rs3-tagline__sub {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(13px, 1.15vw, 16px);
  font-weight: 700;
  line-height: 1.2;
  color: #0090DC;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .ipc-rs3-widget .ipc-rs3-tagline {
    flex-wrap: nowrap;
    justify-content: center;
    gap: 6px 8px;
    margin-bottom: 60px;
    padding-top: 12px;
    padding-left: var(--page-gutter, 16px);
    padding-right: var(--page-gutter, 16px);
    text-align: center;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .ipc-rs3-widget .ipc-rs3-tagline::-webkit-scrollbar {
    display: none;
  }
  .ipc-rs3-widget .ipc-rs3-tagline__sep {
    display: inline;
  }
  .ipc-rs3-widget .ipc-rs3-tagline__sub {
    width: auto;
  }
  .ipc-rs3-widget .ipc-rs3-tagline__icon,
  .ipc-rs3-widget .ipc-rs3-tagline__icon svg {
    width: 22px;
    height: 22px;
  }
  .ipc-rs3-widget .ipc-rs3-tagline__main {
    font-size: clamp(11px, 3.1vw, 13px);
  }
  .ipc-rs3-widget .ipc-rs3-tagline__sub {
    font-size: clamp(10px, 2.8vw, 12px);
    letter-spacing: 0.06em;
  }
}
/* Beat Elementor/theme button kits without wiping intentional RS3 backgrounds */
.elementor .ipc-rs3-widget button.rs3-card,
.elementor .ipc-rs3-widget button.rs3-svc-item,
.elementor .ipc-rs3-widget button.rs3-next,
.elementor .ipc-rs3-widget button.rs3-submit,
.elementor .ipc-rs3-widget button.rs3-reset,
.elementor .ipc-rs3-widget button.rs3-store-opt,
.elementor .ipc-rs3-widget button.rs3-device-opt,
.elementor .ipc-rs3-widget button.rs3-back,
.elementor .ipc-rs3-widget button.rs3-link,
.elementor .ipc-rs3-widget button.rs3-chosen-change,
.elementor .ipc-rs3-widget button.rs3-dot {
  box-shadow: none !important;
  text-shadow: none !important;
  outline: none !important;
  font-family: inherit !important;
}

/* Pick cards — transparent by default; soft tint + lift on hover (all 3) */
.elementor .ipc-rs3-widget button.rs3-card {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 24px !important;
  color: var(--rs3-navy) !important;
  padding: 16px 12px 18px !important;
  transition: background 0.2s, background-color 0.2s, transform 0.2s !important;
}
.elementor .ipc-rs3-widget button.rs3-card.is-mid {
  background: transparent !important;
  background-color: transparent !important;
  padding: 20px 14px 20px !important;
}
.elementor .ipc-rs3-widget button.rs3-card:hover,
.elementor .ipc-rs3-widget button.rs3-card:focus,
.elementor .ipc-rs3-widget button.rs3-card:focus-visible,
.elementor .ipc-rs3-widget button.rs3-card.is-mid:hover,
.elementor .ipc-rs3-widget button.rs3-card.is-mid:focus {
  background: #F3F8FC !important;
  background-color: #F3F8FC !important;
  transform: translateY(-4px);
}

/* Service rows — match index.html exactly (#F3F8FC / 14px) */
.elementor .ipc-rs3-widget button.rs3-svc-item {
  background: #F3F8FC !important;
  background-color: #F3F8FC !important;
  border: none !important;
  border-radius: 14px !important;
  color: var(--rs3-navy) !important;
  padding: clamp(10px, 1.4vh, 14px) 16px !important;
  transition: background 0.2s, background-color 0.2s !important;
}
.elementor .ipc-rs3-widget button.rs3-svc-item:hover,
.elementor .ipc-rs3-widget button.rs3-svc-item:focus {
  background: #E8F3FB !important;
  background-color: #E8F3FB !important;
}
.elementor .ipc-rs3-widget button.rs3-svc-item.is-selected {
  background: #D4EAF8 !important;
  background-color: #D4EAF8 !important;
}
.elementor .ipc-rs3-widget button.rs3-svc-item.is-other {
  background: #E8F3FB !important;
  background-color: #E8F3FB !important;
}

.elementor .ipc-rs3-widget .rs3-other-note input,
.elementor .ipc-rs3-widget .rs3-other-note input[type="text"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1px solid #d5dee7 !important;
  border-radius: 10px !important;
  color: #0A2E4F !important;
  width: 100% !important;
}

.elementor .ipc-rs3-widget button.rs3-back,
.elementor .ipc-rs3-widget button.rs3-link,
.elementor .ipc-rs3-widget button.rs3-chosen-change {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.elementor .ipc-rs3-widget button.rs3-back {
  color: #0090DC !important;
  -webkit-text-fill-color: #0090DC !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: clamp(0.6875rem, 0.65rem + 0.15vw, 0.8125rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
.elementor .ipc-rs3-widget button.rs3-back:hover,
.elementor .ipc-rs3-widget button.rs3-back:focus {
  color: #007BBE !important;
  -webkit-text-fill-color: #007BBE !important;
}
.elementor .ipc-rs3-widget button.rs3-link {
  color: #0090DC !important;
  -webkit-text-fill-color: #0090DC !important;
  font-weight: 700 !important;
}
.elementor .ipc-rs3-widget button.rs3-chosen-change {
  color: #0090DC !important;
  -webkit-text-fill-color: #0090DC !important;
  font-weight: 700 !important;
}
.elementor .ipc-rs3-widget button.rs3-dot {
  background: var(--rs3-soft2) !important;
  background-color: var(--rs3-soft2) !important;
  border: none !important;
  border-radius: 50% !important;
  padding: 0 !important;
}
.elementor .ipc-rs3-widget button.rs3-dot.is-active {
  background: var(--rs3-blue) !important;
  background-color: var(--rs3-blue) !important;
}
.elementor .ipc-rs3-widget button.rs3-store-opt,
.elementor .ipc-rs3-widget button.rs3-device-opt {
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid #D8E6F0 !important;
  border-radius: 12px !important;
}
.elementor .ipc-rs3-widget button.rs3-store-opt:hover,
.elementor .ipc-rs3-widget button.rs3-device-opt:hover {
  background: #E8F3FB !important;
  background-color: #E8F3FB !important;
}
.elementor .ipc-rs3-widget button.rs3-next,
.elementor .ipc-rs3-widget button.rs3-submit,
.elementor .ipc-rs3-widget button.rs3-reset {
  background: var(--rs3-blue) !important;
  background-color: var(--rs3-blue) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
}

/* Tablet lock — compact phones + breathing room under Home Hero. */
@media (min-width: 768px) and (max-width: 1140px) {
  .ipc-rs3-widget .repair-section.rs3-section,
  .elementor .ipc-rs3-widget .repair-section.rs3-section {
    padding-top: 0 !important;
    padding-bottom: 32px !important;
  }

  .ipc-rs3-widget .ipc-rs3-tagline,
  .elementor .ipc-rs3-widget .ipc-rs3-tagline {
    justify-content: center !important;
    text-align: center !important;
    margin-bottom: 60px !important;
    padding-top: clamp(14px, 2vw, 20px) !important;
  }

  .ipc-rs3-widget .rs3-eyebrow,
  .elementor .ipc-rs3-widget .rs3-eyebrow {
    margin-bottom: 10px !important;
  }

  .ipc-rs3-widget .rs3-pick-sub,
  .elementor .ipc-rs3-widget .rs3-pick-sub {
    margin-top: 10px !important;
  }

  .ipc-rs3-widget .rs3-pick-grid,
  .elementor .ipc-rs3-widget .rs3-pick-grid {
    margin-top: 14px !important;
    gap: 12px !important;
    align-items: end !important;
  }

  .ipc-rs3-widget .rs3-card,
  .ipc-rs3-widget .rs3-card.is-mid,
  .elementor .ipc-rs3-widget button.rs3-card,
  .elementor .ipc-rs3-widget button.rs3-card.is-mid {
    padding: 8px 6px 12px !important;
    gap: 8px !important;
  }

  .ipc-rs3-widget .rs3-card-img,
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img,
  .elementor .ipc-rs3-widget .rs3-card-img,
  .elementor .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .ipc-rs3-widget .rs3-card-img img,
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img img,
  .elementor .ipc-rs3-widget .rs3-card-img img,
  .elementor .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(38vh, 340px) !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  .ipc-rs3-widget .rs3-footer,
  .elementor .ipc-rs3-widget .rs3-footer {
    margin-top: 24px !important;
  }
}

/* Desktop lock — match screenshot-4 (phones close under header, no empty vh gap). */
@media (min-width: 1141px) {
  .ipc-rs3-widget .repair-section.rs3-section,
  .elementor .ipc-rs3-widget .repair-section.rs3-section {
    padding-top: 0 !important;
    padding-bottom: clamp(40px, 4.5vh, 64px) !important;
  }

  .ipc-rs3-widget .ipc-rs3-tagline,
  .elementor .ipc-rs3-widget .ipc-rs3-tagline {
    justify-content: center !important;
    text-align: center !important;
    margin-bottom: 80px !important;
    padding-top: clamp(16px, 2vw, 24px) !important;
  }

  .ipc-rs3-widget .rs3-pick-grid,
  .elementor .ipc-rs3-widget .rs3-pick-grid {
    margin-top: 20px !important;
    gap: 28px !important;
    align-items: end !important;
  }

  .ipc-rs3-widget .rs3-card,
  .ipc-rs3-widget .rs3-card.is-mid,
  .elementor .ipc-rs3-widget button.rs3-card,
  .elementor .ipc-rs3-widget button.rs3-card.is-mid {
    padding: 12px 12px 16px !important;
    gap: 12px !important;
  }

  .ipc-rs3-widget .rs3-card-img,
  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img,
  .elementor .ipc-rs3-widget .rs3-card-img,
  .elementor .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    align-items: flex-end !important;
    padding: 0 !important;
  }

  .ipc-rs3-widget .rs3-card-img img,
  .elementor .ipc-rs3-widget .rs3-card-img img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: min(58vh, 560px) !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img img,
  .elementor .ipc-rs3-widget .rs3-card.is-mid .rs3-card-img img {
    max-height: min(62vh, 600px) !important;
  }
}
