/* NCR Instant Quote Builder — scoped to the existing NCR Pads site layout. */
.cq-shell{--cq-ink:#202020;--cq-muted:#666;--cq-line:#dedede;--cq-soft:#f7f7f7;--cq-brand:#91489b;--cq-brand-dark:#442363;--cq-brand-soft:#f4eef8;--cq-white:#fff;--cq-radius:8px;color:var(--cq-ink);font-family:'Open Sans',Arial,Helvetica,sans-serif;line-height:1.45;margin:30px 0 55px}
.cq-shell *{box-sizing:border-box}
.cq-hero{background:#f5f5f5;border-top:5px solid var(--cq-brand);padding:28px 30px;margin-bottom:22px}
.cq-eyebrow{color:var(--cq-brand);font-size:12px;font-weight:700;letter-spacing:.1em;margin:0 0 5px;text-transform:uppercase}
.cq-hero h1{color:#222;font-size:30px;line-height:1.2;margin:0 0 8px;font-weight:600}
.cq-hero p:last-child{color:#555;font-size:15px;margin:0;max-width:850px}
.cq-section{background:#fff;border:1px solid #e2e2e2;border-radius:var(--cq-radius);padding:26px;margin-top:18px}
.cq-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}
.cq-heading>span{display:flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;border-radius:50%;background:var(--cq-brand);color:#fff;font-weight:700}
.cq-heading h2{font-size:20px;line-height:1.25;margin:3px 0 3px;color:#222;font-weight:600}
.cq-heading p{margin:0;color:var(--cq-muted);font-size:16px}
.cq-card-grid{display:grid;gap:14px}.cq-grid-3{grid-template-columns:repeat(3,1fr)}.cq-grid-4{grid-template-columns:repeat(4,1fr)}
.cq-option-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;border:2px solid var(--cq-line);border-radius:8px;padding:20px 14px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;background:#fff;min-height:270px}
.cq-option-card:hover{border-color:#26aadf;background:#91ddfc;transform:translateY(-1px)}
.cq-option-card:has(input:checked),.cq-option-card.is-selected{border-color:var(--cq-brand);box-shadow:0 0 0 2px var(--cq-brand-soft);background:#91ddfc}
.cq-option-card input{position:absolute;opacity:0;pointer-events:none}
.cq-card-media{height:195px;display:flex;align-items:center;justify-content:center;margin-bottom:3px;width:100%}
.cq-card-media img{max-height:188px;max-width:256px;width:auto;height:auto}
.cq-option-card strong{font-size:16px;color:#222}.cq-option-card strong small{font-size:.85em;font-weight:600}.cq-option-card>span:last-child{color:var(--cq-muted);font-size:15px}.cq-option-card.cq-compact{min-height:292px}
/* Size artwork is deliberately unboxed so the supplied dimensions/text remain legible without overflowing the page. */
.cq-size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}
.cq-size-option{position:relative;display:flex;align-items:flex-end;justify-content:center;min-width:0;padding:10px 6px;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.cq-size-option:hover{border-color:#26aadf;background:#91ddfc}
.cq-size-option input{position:absolute;opacity:0;pointer-events:none}
.cq-size-option img{display:block;width:68.796%;max-width:none;height:auto;object-fit:contain;margin:0 auto}
.cq-size-option:has(input:checked),.cq-size-option.is-selected{border-color:var(--cq-brand);box-shadow:0 0 0 2px var(--cq-brand-soft);background:#91ddfc}
.cq-section.is-locked{position:relative;background:#f3f3f3;opacity:.19}
.cq-section.is-locked::after{content:"";position:absolute;inset:0;z-index:2;cursor:not-allowed}

.cq-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.cq-input-label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#333}
.cq-input-label select,.cq-input-label input,.cq-input-label textarea{width:100%;border:1px solid #c9c9c9;border-radius:5px;background:#fff;padding:10px 11px;font:inherit;color:var(--cq-ink)}
.cq-input-label select:focus,.cq-input-label input:focus,.cq-input-label textarea:focus{outline:2px solid #e4d7ed;border-color:var(--cq-brand)}.cq-input-label textarea{font-weight:400;resize:vertical;background:#fafafa}
.cq-help{display:block;margin:4px 0 10px;color:var(--cq-muted);font-weight:400;font-size:15px}.cq-fieldset{border:0;padding:0;margin:0 0 18px}.cq-fieldset legend{font-weight:600;margin-bottom:8px;color:#333}
.cq-segmented{display:flex;gap:8px;flex-wrap:wrap}.cq-segmented label{cursor:pointer}.cq-segmented input{position:absolute;opacity:0}.cq-segmented span{display:inline-block;min-width:90px;text-align:center;padding:9px 15px;border:1px solid #c9c9c9;border-radius:5px;font-weight:600;background:#fff}.cq-segmented input:checked+span{background:var(--cq-brand);border-color:var(--cq-brand);color:#fff}
.cq-subpanel{margin-top:18px;padding:20px;border-radius:6px;background:var(--cq-soft);border:1px solid var(--cq-line)}.cq-radio-list,.cq-check-list{display:flex;gap:9px;flex-wrap:wrap}.cq-radio-list label,.cq-check-list label,.cq-inline-options label{display:flex;gap:7px;align-items:center;padding:9px 11px;border:1px solid #d8d8d8;border-radius:5px;background:#fff;cursor:pointer}
.cq-notice{padding:13px 15px;border-radius:5px;background:#fff8e8;border:1px solid #ead49d;color:#614c18}.cq-finishing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cq-finishing-grid>.cq-fieldset{padding:17px;border:1px solid var(--cq-line);border-radius:6px;margin:0}.cq-inline-options{display:grid;gap:8px;margin-top:13px}
.cq-what{padding:0;border:0;background:none;color:var(--cq-brand);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.cq-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:17px}.cq-summary-item{background:var(--cq-soft);border-radius:5px;padding:11px}.cq-summary-item b{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--cq-muted);margin-bottom:3px}
.cq-pricing-wrap{overflow:auto;margin:17px 0}.cq-pricing{width:100%;border-collapse:collapse;min-width:550px}.cq-pricing th,.cq-pricing td{padding:12px 13px;border-bottom:1px solid var(--cq-line);text-align:left}.cq-pricing th{background:var(--cq-soft);font-size:13px}.cq-price-choice{font:inherit;padding:8px 12px;border:1px solid var(--cq-brand);border-radius:5px;background:#fff;color:var(--cq-brand);font-weight:700;cursor:pointer}.cq-price-choice.is-selected{background:var(--cq-brand);color:#fff}
.cq-primary{border:0;border-radius:5px;background:var(--cq-brand);color:#fff;font-weight:700;font-size:15px;padding:12px 22px;cursor:pointer}.cq-primary:hover:not(:disabled){background:var(--cq-brand-dark)}.cq-primary:disabled{opacity:.45;cursor:not-allowed}.cq-integration-note{font-size:14px;color:var(--cq-muted);margin:10px 0 0}.is-hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cq-modal{position:fixed;inset:0;background:rgba(8,12,20,.6);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.cq-modal-card{position:relative;width:min(520px,100%);background:#fff;border-radius:8px;padding:26px;box-shadow:0 12px 35px rgba(0,0,0,.2)}.cq-modal-card h2{margin-top:0}.cq-modal-close{position:absolute;right:14px;top:9px;border:0;background:none;font-size:28px;cursor:pointer;color:#555}.cq-page-row{padding-top:0}.cq-site-benefits{margin-bottom:0}
@media(max-width:850px){.cq-grid-4{grid-template-columns:repeat(2,1fr)}.cq-size-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cq-size-option{padding:7px 3px}.cq-size-option img{width:77.616%;height:auto}.cq-finishing-grid,.cq-summary{grid-template-columns:1fr}.cq-form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.cq-shell{margin:20px 0 40px}.cq-hero{padding:22px 18px}.cq-section{padding:20px 14px}.cq-hero h1{font-size:25px}.cq-grid-3,.cq-grid-4,.cq-form-grid{grid-template-columns:1fr}.cq-option-card{min-height:0;display:grid;grid-template-columns:105px 1fr;text-align:left;align-items:center}.cq-option-card .cq-card-media{grid-row:1/3;height:125px;margin:0}.cq-option-card .cq-card-media img{max-height:122px;max-width:130px}.cq-option-card>span:last-child{grid-column:2}.cq-option-card.cq-compact{min-height:0}.cq-size-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cq-size-option{min-height:170px;padding:6px}.cq-size-option img{width:88.2%;height:auto}.cq-segmented{display:grid;grid-template-columns:1fr 1fr}.cq-segmented label,.cq-segmented span{width:100%}.cq-heading>span{flex-basis:30px;height:30px}.cq-heading h2{font-size:18px}}

.cq-finishing-intro{margin:-4px 0 8px;font-weight:600}
.cq-finishing-intro:empty{display:none}
.cq-fixed-yes{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:12px 14px;border:1px solid #ddd;border-radius:8px;background:#f7f7f7}
#frontCoverFinish.is-hidden,#writingShieldFinish.is-hidden,#drilledHolesFinish.is-hidden,#frontCoverYesNo.is-hidden,#frontCoverFixed.is-hidden,[data-hole-type].is-hidden{display:none!important}

/* Finishing options refinements */
#finishingSubtitle,
.cq-finishing-intro{
  color:var(--cq-muted);
  font-size:16px;
  font-weight:400;
}
.cq-finishing-intro{
  margin:-12px 0 3px 45px;
}
.cq-what-finishing{
  display:inline-block;
  margin-top:3px;
}

/* Finishing descriptive text order/spacing */
#optional-extras-title + #finishingIntro{
  margin:2px 0 0;
}
#finishingSubtitle{
  margin:0;
}
#finishingIntro,
#finishingSubtitle{
  color:var(--cq-muted);
  font-size:16px;
  font-weight:400;
  line-height:1.35;
}

/* Active/current quote step */
.cq-section.is-active-section{
  border-color:#12B76A;
  box-shadow:0 0 0 1px rgba(18,183,106,.16);
}
.cq-section.is-active-section .cq-heading>span{
  background:#12B76A;
  color:#fff;
}


/* Separate dependent-question containers */
.cq-subpanel + .cq-subpanel{margin-top:12px}
.cq-subpanel > .cq-fieldset:last-child{margin-bottom:0}

/* Paper colour confirmation */
.cq-confirm-row{
  margin-top:16px;
  display:flex;
  justify-content:flex-end;
}
.cq-confirm-button{
  appearance:none;
  border:1px solid #12B76A;
  border-radius:6px;
  background:#12B76A;
  color:#fff;
  font:inherit;
  font-weight:700;
  line-height:1;
  padding:12px 24px;
  cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.cq-confirm-button:hover,
.cq-confirm-button:focus{
  background:#0f9f5d;
  border-color:#0f9f5d;
  box-shadow:0 0 0 3px rgba(18,183,106,.14);
  outline:none;
}

/* Keep short helper copy on one line where there is room */
.cq-input-label .cq-help{
  white-space:nowrap;
}

/* Highlight the currently active dependent question */
.cq-section.is-active-section .cq-subpanel.is-active-subpanel{
  background:#f1fbf5;
  border-color:#9eddbb;
  box-shadow:0 0 0 1px rgba(18,183,106,.08);
}

@media (max-width:600px){
  .cq-input-label .cq-help{
    white-space:normal;
  }
}


/* Artwork design-fee notice: message and Continue button on one line */
.cq-design-fee-notice{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.cq-design-fee-notice .cq-confirm-button{
  flex:0 0 auto;
}
@media (max-width:600px){
  .cq-design-fee-notice{
    flex-wrap:wrap;
  }
  .cq-design-fee-notice .cq-confirm-button{
    margin-left:auto;
  }
}

/* Make the current step stand out more clearly */
.cq-section:not(.is-active-section):not(.is-locked){
  opacity:1;
}
.cq-section.is-active-section{
  opacity:1;
}

/* Future sections are faded uniformly by the section container only */
.cq-section.is-locked .cq-primary:disabled,
.cq-section.is-locked .cq-confirm-button:disabled,
.cq-section.is-locked button:disabled{
  opacity:1;
}

/* Preserve paragraph breaks in What's this? information pop-ups. */
#helpModalText{white-space:pre-line}

.cq-pricing-note{font-size:13px;color:var(--cq-muted);margin:10px 0 0}.cq-pricing td strong{font-weight:700}

.cq-pricing td.cq-price-action {
  vertical-align: middle;
}

.cq-pricing .cq-inc-vat {
  white-space: nowrap;
}

/* Instant Quote pricing table refinements */
.cq-pricing th,
.cq-pricing td {
  padding-top: 9px;
  padding-bottom: 9px;
}

.cq-pricing td.cq-price-action {
  vertical-align: middle !important;
  height: 100%;
}

.cq-pricing td.cq-price-action .cq-price-choice {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  vertical-align: middle;
}

.cq-pricing tbody tr {
  transition: box-shadow 0.16s ease, background-color 0.16s ease;
}

.cq-pricing tbody tr:has(.cq-price-choice:hover) {
  box-shadow: inset 0 0 0 2px #12B76A;
}

/* Instant Quote select-then-basket controls */
.cq-pricing tbody tr:has(.cq-price-choice:hover),
.cq-pricing tbody tr.is-selected-row {
  box-shadow: inset 0 0 0 2px #12B76A;
}

.cq-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.cq-share-actions {
  min-width: 0;
}

.cq-actions .cq-confirm-row,
.cq-actions #addToCart {
  margin-top: 0;
  margin-bottom: 0;
}

.cq-actions #addToCart {
  margin-left: auto;
}

@media (max-width: 640px) {
  .cq-actions {
    flex-wrap: wrap;
  }

  .cq-actions #addToCart {
    margin-left: 0;
  }
}

/* Instant Quote final action styling */
.cq-actions .cq-confirm-row {
  display: flex;
  gap: 12px;
}

/* Match the purple used by the YES / NO segmented selections. */
.cq-actions .cq-confirm-button {
  background: var(--cq-brand);
  border-color: var(--cq-brand);
  color: #fff;
}

.cq-actions .cq-confirm-button:hover,
.cq-actions .cq-confirm-button:focus {
  background: var(--cq-brand-dark);
  border-color: var(--cq-brand-dark);
  color: #fff;
}

/* Match the existing Continue button exactly. */
.cq-actions #addToCart {
  appearance: none;
  border: 1px solid #12B76A;
  border-radius: 6px;
  background: #12B76A;
  color: #fff;
  font: inherit;
  font-weight: 700;
  line-height: 1;
  padding: 12px 24px;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.cq-actions #addToCart:hover:not(:disabled),
.cq-actions #addToCart:focus:not(:disabled) {
  background: #0f9f5d;
  border-color: #0f9f5d;
  box-shadow: 0 0 0 3px rgba(18,183,106,.14);
  outline: none;
}

.cq-actions #addToCart:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.cq-pricing td.cq-price-action {
  text-align: right;
}

.cq-pricing .cq-price-choice:hover,
.cq-pricing .cq-price-choice:focus {
  background: #12B76A;
  border-color: #12B76A;
  color: #fff;
}

/* Bottom action alignment: keep all three buttons on one line and the same height. */
.cq-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: nowrap;
}

.cq-actions .cq-share-actions {
  min-width: 0;
  flex: 0 1 auto;
}

.cq-actions .cq-confirm-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

.cq-actions .cq-confirm-button,
.cq-actions #addToCart {
  min-height: 40px;
  height: 40px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin: 0;
  white-space: nowrap;
}

.cq-actions #addToCart {
  margin-left: auto;
  flex: 0 0 auto;
}

@media (max-width: 700px) {
  .cq-actions {
    flex-wrap: wrap;
  }

  .cq-actions #addToCart {
    margin-left: 0;
  }
}

/* Express / standard pricing groups */
.cq-pricing-group + .cq-pricing-group {
  margin-top: 24px;
}

.cq-pricing-group-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 13px;
  background: var(--cq-brand-soft);
  border: 1px solid #e2d6ea;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
}

.cq-pricing-group-heading > strong {
  color: var(--cq-brand);
  font-size: 14px;
  letter-spacing: .04em;
}

.cq-pricing-group-heading > span {
  color: var(--cq-muted);
  font-size: 13px;
}

.cq-pricing-group .cq-pricing {
  margin: 0;
}

@media (max-width: 620px) {
  .cq-pricing-group-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
}

/* When Standard Turnaround is the only option, align its estimated delivery date right. */
.cq-pricing-group-heading.cq-delivery-only {
  justify-content: flex-end;
  text-align: right;
}

/* Artwork section only: compact confirmation rows aligned to pricing-table row height. */
#designFeeNotice.cq-artwork-notice,
#artworkReadyNotice.cq-artwork-notice{
  padding:6px 13px;
  min-height:38px;
  box-sizing:border-box;
  align-items:center;
}
#designFeeNotice.cq-artwork-notice .cq-confirm-button,
#artworkReadyNotice.cq-artwork-notice .cq-confirm-button{
  margin-top:0;
  margin-bottom:0;
  align-self:center;
}

/* Copy Quote confirmation: transient popup only; no layout/status text below buttons. */
.cq-copy-toast{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:1100;
  padding:12px 18px;
  border-radius:6px;
  background:#91489b;
  color:#fff;
  font-weight:700;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  pointer-events:none;
}


/* Mobile usability refinements: keep final actions usable and pricing easy to swipe. */
@media (max-width:700px){
  .cq-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    width:100%;
  }
  .cq-actions .cq-share-actions,
  .cq-actions .cq-confirm-row,
  .cq-actions #addToCart{
    width:100%;
    min-width:0;
  }
  .cq-actions .cq-confirm-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .cq-actions .cq-confirm-button,
  .cq-actions #addToCart{
    width:100%;
    padding-left:12px;
    padding-right:12px;
  }
  .cq-actions #addToCart{
    margin-left:0;
  }
}

@media (max-width:620px){
  .cq-pricing-wrap{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .cq-pricing-group-heading.cq-delivery-only{
    align-items:flex-end;
    text-align:right;
  }
}

@media (max-width:360px){
  .cq-actions .cq-confirm-row{
    grid-template-columns:1fr;
  }
}


/* Mobile product-card spacing and always-visible pricing action. */
@media (max-width:620px){
  /* Product cards: move artwork slightly right and create a clearer gap before the copy. */
  .cq-option-card{
    grid-template-columns:118px minmax(0,1fr);
    column-gap:16px;
  }
  .cq-option-card .cq-card-media{
    justify-content:flex-end;
    width:100%;
  }
  .cq-option-card .cq-card-media img{
    max-width:118px;
  }

  /* Keep SELECT visible so a user never has to discover it by horizontal scrolling. */
  .cq-pricing th:last-child,
  .cq-pricing td:last-child{
    position:sticky;
    right:0;
    z-index:2;
    background:#fff;
    box-shadow:-8px 0 10px -10px rgba(0,0,0,.55);
  }
  .cq-pricing th:last-child{
    z-index:3;
    background:var(--cq-soft);
  }
  .cq-pricing tbody tr.is-selected-row td:last-child{
    background:#fff;
  }
}


/* Portrait mobile pricing: present each quantity as a self-contained card instead of a horizontal table. */
@media (max-width:620px){
  .cq-pricing-wrap{
    overflow:visible;
  }
  .cq-pricing{
    display:block;
    width:100%;
    min-width:0;
    border:0;
  }
  .cq-pricing thead{
    display:none;
  }
  .cq-pricing tbody{
    display:grid;
    gap:12px;
  }
  .cq-pricing tbody tr{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    border:1px solid #dedede;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
  }
  .cq-pricing tbody td{
    display:grid;
    grid-template-columns:minmax(110px,.9fr) minmax(0,1.1fr);
    align-items:center;
    gap:12px;
    width:100%;
    padding:9px 12px;
    border:0;
    border-bottom:1px solid #ececec;
    text-align:right;
    background:#fff;
  }
  .cq-pricing tbody td[data-label]::before{
    content:attr(data-label);
    font-weight:700;
    text-align:left;
    color:#333;
  }
  .cq-pricing tbody td.cq-price-action{
    display:block;
    position:static;
    right:auto;
    z-index:auto;
    box-shadow:none;
    border-bottom:0;
    padding:10px 12px 12px;
    background:#fff;
  }
  .cq-pricing tbody td.cq-price-action::before{
    content:none;
  }
  .cq-pricing .cq-price-choice{
    display:block;
    width:100%;
    min-height:44px;
  }
  .cq-pricing tbody tr.is-selected-row{
    border-color:#91489b;
    box-shadow:0 0 0 2px #f4eef8;
  }
  .cq-pricing tbody tr.is-selected-row td,
  .cq-pricing tbody tr.is-selected-row td:last-child{
    background:#fff;
  }
}


/* Portrait mobile pricing polish. */
@media (max-width:620px){
  /* Keep the inc-VAT amount aligned with the right-hand value column. */
  .cq-pricing td[data-label="PRICE YOU PAY"] .cq-inc-vat{
    display:block;
    text-align:right;
    margin-top:2px;
  }

  /* Match desktop feedback: green outer highlight when hovering/tapping SELECT. */
  .cq-pricing .cq-price-choice:hover,
  .cq-pricing .cq-price-choice:focus-visible{
    box-shadow:0 0 0 2px #26aadf;
  }

  /* Finish the delivery header as a self-contained rounded box. */
  .cq-pricing-group-heading{
    border-bottom:1px solid #e2d6ea;
    border-radius:6px;
    margin-bottom:10px;
  }
}


/* Portrait mobile pricing corrections: value alignment + desktop-style green card edge. */
@media (max-width:620px){
  .cq-pricing tbody td[data-label="PRICE YOU PAY"]{
    grid-template-columns:minmax(110px,.9fr) minmax(0,1.1fr);
    grid-template-rows:auto auto;
  }
  .cq-pricing tbody td[data-label="PRICE YOU PAY"]::before{
    grid-column:1;
    grid-row:1 / span 2;
    align-self:center;
  }
  .cq-pricing tbody td[data-label="PRICE YOU PAY"] > strong{
    grid-column:2;
    grid-row:1;
    justify-self:end;
    text-align:right;
  }
  .cq-pricing tbody td[data-label="PRICE YOU PAY"] > .cq-inc-vat{
    grid-column:2;
    grid-row:2;
    justify-self:end;
    text-align:right;
    margin-top:0;
  }

  .cq-pricing tbody tr:has(.cq-price-choice:hover),
  .cq-pricing tbody tr:has(.cq-price-choice:focus-visible){
    border-color:#12B76A;
    box-shadow:inset 0 0 0 2px #12B76A;
  }

  /* The button itself still uses the existing desktop green hover styling. */
  .cq-pricing .cq-price-choice:hover,
  .cq-pricing .cq-price-choice:focus-visible{
    box-shadow:none;
  }
}
