/* CitReg patch P608: Visual refactor (stacked declarations, no behavior change) — start */

/* ========================================================================== */
/* cr_fruit.css — Citroën Registry (LS6) — Consolidated with patch notes     */
/* VIN layout now driven solely by #vin-grid-1 (p572d). Retires p528–p563.   */
/* Typography/control sizing lives in citreg.css                              */
/* ========================================================================== */

/* === p550: shared tokens (header + content clamp) ======================== */
body.cr_fruit{
  --citreg-clamp: 1130px;
  --citreg-hdr-pad-l: 60px;
  --citreg-hdr-pad-r: 60px;
  --cgap: 28px;        /* column gap */
  --rgap: 16px;        /* RC vertical gap */
  --sticky-top: 96px;  /* sticky offset under header */
  --rcw: 560px;        /* RC cap (fit-content(var(--rcw))) */
  --rc-img-max: 150px; /* default RC media max width */
}

@media (max-width: 768px){
  body.cr_fruit{
    --citreg-hdr-pad-l: 16px;
    --citreg-hdr-pad-r: 16px;
  }
}
/* === p550: end =========================================================== */

/* === p320: width clamp containers ======================================== */
.citreg-wrap{
  max-width: var(--citreg-clamp);
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
/* === p320: end =========================================================== */

/* === p321: header logo/layout (layout only) ============================== */
.citreg-logo-img{
  width: auto;
  max-width: 60%;
  height: auto;
  display: block;
}

.citreg-header-col{
  min-width: 0;
}

.citreg-header-title{
  flex: 1 1 auto;
}

.citreg-header-nav{
  flex: 0 0 auto;
  position: relative;
}

.citreg-header-logo{
  flex: 0 0 auto;
}

.citreg-header-nav .dropdown-menu{
  position: absolute;
  right: var(--citreg-hdr-pad-r, 20px);
  left: auto;
}
/* === p321: end =========================================================== */

/* === p322: progress bar clamp + normalize ================================ */
body.cr_fruit .progress{
  max-width: var(--citreg-clamp);
  margin: 0 auto;
  box-sizing: border-box;
}

body.cr_fruit .progress .progress-bar{
  transition: none;
}
/* === p322: end =========================================================== */

/* === p330: question area layout (no baseline fonts here) ================= */
body.cr_fruit #outerframeContainer .col-centered{
  max-width: var(--citreg-clamp);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--citreg-hdr-pad-l, 20px);
  padding-right: var(--citreg-hdr-pad-r, 20px);
  box-sizing: border-box;
}

body.cr_fruit #outerframeContainer .row.space-col{
  margin-left: 0;
  margin-right: 0;
}

body.cr_fruit .group-container{
  padding-top: 1px;
  padding-bottom: 1px;
}

body.cr_fruit .question-container{
  padding: 3px 0 8px;
  border: 0;
}

body.cr_fruit .question-container .question-help-container{
  margin-bottom: 6px;
}
/* === p330: end =========================================================== */

/* === p331: hide LS numbers/codes (UI hygiene) ============================ */
body.cr_fruit .question-title-container > .text-muted.question-number,
body.cr_fruit .question-title-container > .text-muted.question-code,
body.cr_fruit .question-title-container > .question-number,
body.cr_fruit .question-title-container > .question-code,
body.cr_fruit .ls-question-number,
body.cr_fruit .ls-question-code{
  display: none !important;
}

body.cr_fruit .question-title-container .separator,
body.cr_fruit .question-title-container .question-code::before,
body.cr_fruit .question-title-container .question-number::before{
  content: none !important;
  display: none !important;
}
/* === p331: end =========================================================== */

/* === p332: question title clamp (non-inline titles) ====================== */
body.cr_fruit .question-container:not(.citreg-inline) .question-text .ls-label-question{
  font-size: clamp(16px, 1.8vw, 20px);
  line-height: 1.30;
  font-weight: 600;
  margin: 0 0 6px;
}

body.cr_fruit .question-container .question-text .text-muted.question-number{
  line-height: 1.2;
}
/* === p332: end =========================================================== */

/* === p333: inline title+input layout (opt-in per question) =============== */
body.cr_fruit .question-container.citreg-inline{
  margin-left: 0 !important;
  margin-right: 0 !important;
  --bs-gutter-x: 0;
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px;
}

body.cr_fruit .question-container.citreg-inline > *{
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}

body.cr_fruit .question-container.citreg-inline > .question-title-container{
  order: 1;
  flex: 0 0 280px !important;
  display: flex;
  align-items: center;
  padding-left: 12px;
}

body.cr_fruit .question-container.citreg-inline .question-text{
  margin: 0 !important;
}

body.cr_fruit .question-container.citreg-inline > .answer-container{
  order: 2;
  min-width: 0;
  padding-left: 12px;
}

body.cr_fruit .question-container.citreg-inline > .question-help-container,
body.cr_fruit .question-container.citreg-inline > .question-valid-container{
  order: 3;
  flex: 0 0 100%;
  margin-top: 4px;
  padding-left: calc(280px + 8px + 12px);
}

@media (max-width: 768px){
  body.cr_fruit .question-container.citreg-inline{
    display: block !important;
  }

  body.cr_fruit .question-container.citreg-inline > .question-help-container,
  body.cr_fruit .question-container.citreg-inline > .question-valid-container{
    padding-left: 0;
  }
}
/* === p333: end =========================================================== */

/* === p350: Dp-style end screen layout ==================================== */
body.cr_fruit .dp1{
  padding: 8px 0 40px;
}

body.cr_fruit .dp1 .column-container{
  display: grid;
  gap: 28px;
  align-items: start;
}

@media (min-width: 992px){
  body.cr_fruit .dp1 .column-container{
    grid-template-columns: minmax(0, 1fr) clamp(220px, 26vw, 320px);
  }
}

body.cr_fruit .dp1 .left-column h3{
  margin: 0 0 10px;
  font-weight: 600;
}

body.cr_fruit .dp1 figure{
  margin: 0;
}

body.cr_fruit .dp1 figure img{
  width: 100%;
  height: auto;
  border-radius: 2px;
  display: block;
}

body.cr_fruit .dp1 figure figcaption{
  font-size: .9rem;
  color: #5a5f66;
  margin-top: 6px;
}
/* === p350: end =========================================================== */

/* === p360: ImageSelect gateway (YOM series) ============================== */
.nose-gateway .imageselect-list{
  display: grid !important;
  gap: 1rem;
  padding-left: 0;
  list-style: none;
}

@media (min-width: 700px){
  .nose-gateway .imageselect-list{
    grid-template-columns: repeat(3, minmax(220px, 1fr));
  }
}

.nose-gateway input[type="radio"]{
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.nose-gateway .imageselect-radiobutton{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  padding: .75rem;
  border-radius: 1px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
  text-align: center;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, transform .05s ease;
}

.nose-gateway .imageselect-radiobutton img{
  display: block;
  width: 100%;
  max-width: 150px;
  height: auto;
  border-radius: 1px;
  object-fit: cover;
}

.nose-gateway .imageselect-radiobutton:hover{
  box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
  transform: translateY(-1px);
}

.nose-gateway input[type="radio"]:focus + .imageselect-radiobutton{
  outline: 2px solid #333;
  outline-offset: 2px;
}

.nose-gateway input[type="radio"]:checked + .imageselect-radiobutton{
  box-shadow: 0 0 0 4px rgba(13, 110, 253, .12);
}
/* === p360: end =========================================================== */

/* === p473: ImageSelect radio indicator =================================== */
body.cr_fruit{
  --is-radio-size: 22px;
  --is-radio-pad: 10px;
  --is-radio-border: #6b7280;
  --is-radio-fill: #0d6efd;
  --is-radio-ring: rgba(13,110,253,.18);
}

body.cr_fruit .imageselect-container input[type="radio"]{
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

body.cr_fruit .imageselect-container .imageselect-radiobutton{
  position: relative;
}

body.cr_fruit .imageselect-container .imageselect-radiobutton::before,
body.cr_fruit .imageselect-container .imageselect-radiobutton::after{
  content: "";
  position: absolute;
  border-radius: 50%;
  z-index: 1;
}

body.cr_fruit .imageselect-container .imageselect-radiobutton::before{
  width: var(--is-radio-size);
  height: var(--is-radio-size);
  top: var(--is-radio-pad);
  left: var(--is-radio-pad);
  background: #fff;
  border: 2px solid var(--is-radio-border);
  transition: border-color .12s ease, box-shadow .12s ease;
}

body.cr_fruit .imageselect-container .imageselect-radiobutton::after{
  width: calc(var(--is-radio-size) - 8px);
  height: calc(var(--is-radio-size) - 8px);
  top: calc(var(--is-radio-pad) + 4px);
  left: calc(var(--is-radio-pad) + 4px);
  background: var(--is-radio-fill);
  transform: scale(0);
  transition: transform .12s ease;
}

body.cr_fruit .imageselect-container input[type="radio"]:checked + .imageselect-radiobutton::before{
  border-color: var(--is-radio-fill);
  box-shadow: 0 0 0 4px var(--is-radio-ring);
}

body.cr_fruit .imageselect-container input[type="radio"]:checked + .imageselect-radiobutton::after{
  transform: scale(1);
}
/* === p473: end =========================================================== */

/* === p477: List radios (no circle; row highlight) ======================== */
body.cr_fruit{
  --ra-card-pad-y: 8px;
  --ra-card-pad-x: 12px;
  --ra-card-radius: 2px;
  --ra-card-shadow: 0 0 0 1px rgba(0,0,0,.08) inset;
  --ra-card-shadow-hover: 0 0 0 1px rgba(0,0,0,.16) inset;
  --ra-ring: 0 0 0 4px rgba(13,110,253,.18);
  --ra-brand: var(--c-brand, #0d6efd);
}

body.cr_fruit .answers-list .radio-item input[type="radio"]{
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
}

body.cr_fruit .answers-list .radio-item label.radio-label{
  display: block;
  padding: var(--ra-card-pad-y) var(--ra-card-pad-x);
  border-radius: var(--ra-card-radius);
  box-shadow: var(--ra-card-shadow);
  transition: box-shadow .15s ease, border-color .15s ease, background-color .15s ease;
  cursor: pointer;
}

body.cr_fruit .answers-list .radio-item label.radio-label:hover{
  box-shadow: var(--ra-card-shadow-hover);
}

body.cr_fruit .answers-list .radio-item input[type="radio"]:focus-visible + label.radio-label{
  box-shadow: var(--ra-card-shadow-hover), var(--ra-ring);
}

body.cr_fruit .answers-list .radio-item input[type="radio"]:checked + label.radio-label{
  border-color: var(--ra-brand);
  box-shadow: 0 0 0 1px var(--ra-brand) inset, var(--ra-ring);
  background-color: #fff;
  font-weight: 400;
}

body.cr_fruit .answers-list .radio-item label.radio-label::before,
body.cr_fruit .answers-list .radio-item label.radio-label::after{
  content: none !important;
}
/* === p477: end =========================================================== */

/* === p478: focus outline neutralization ================================== */
body.cr_fruit .answers-list .radio-item label.radio-label,
body.cr_fruit .imageselect-container .imageselect-radiobutton{
  outline: none;
}

body.cr_fruit .answers-list .radio-item input[type="radio"]:focus + label.radio-label,
body.cr_fruit .answers-list .radio-item label.radio-label:focus,
body.cr_fruit .imageselect-container .imageselect-radiobutton:focus,
body.cr_fruit .imageselect-container input[type="radio"]:focus + .imageselect-radiobutton{
  outline: none !important;
}
/* === p478: end =========================================================== */

/* === p370: group title suppression (global) ============================== */
.group-container .group-title,
.group-outer-container .group-title,
.group-container .group-name,
.group-outer-container .group-name{
  display: none !important;
}
/* === p370: end =========================================================== */

/* === p421: header-only nav reset ========================================= */
body.cr_fruit .citreg-header-row nav > ul.nav,
body.cr_fruit .citreg-header-nav > ul.nav{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: var(--c-gap-3, 14px);
}

body.cr_fruit .citreg-header-nav li{
  margin: 0;
}

body.cr_fruit .citreg-header-nav a{
  text-decoration: none;
}
/* === p421: end =========================================================== */

/* === p465: header-only clamp ============================================ */
nav.citreg-wrap.citreg-header{
  max-width: var(--citreg-clamp);
  margin: 0 auto;
  padding-left: var(--citreg-hdr-pad-l);
  padding-right: var(--citreg-hdr-pad-r);
  box-sizing: border-box;
}

.citreg-header-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  min-width: 0;
}

.citreg-header-row > *{
  min-width: 0;
}
/* === p465: end =========================================================== */

/* === p469: progress clamp & grid neutralize ============================== */
body.cr_fruit .top-container .top-content.col-12.col-xl-8{
  width: 100%;
  max-width: var(--citreg-clamp);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
  flex: 0 0 auto;
}

body.cr_fruit .top-container .row{
  margin-left: 0;
  margin-right: 0;
}

body.cr_fruit .top-container .row > [class^="col-"]{
  padding-left: 0;
  padding-right: 0;
}

body.cr_fruit #progressbar-top{
  max-width: var(--citreg-clamp);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
  transition: none;
}
/* === p469: end =========================================================== */

/* === p546: neutralize Bootstrap containers/gutters in content ============ */
body.cr_fruit #outerframeContainer.container-fluid{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.cr_fruit #outerframeContainer .row{
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.cr_fruit #outerframeContainer .row > [class^="col-"],
body.cr_fruit #outerframeContainer .row > [class*=" col-"]{
  padding-left: 0 !important;
  padding-right: 0 !important;
  min-width: 0;
}

body.cr_fruit #outerframeContainer .group-outer-container{
  display: block !important;
  gap: 0 !important;
}
/* === p546: end =========================================================== */

/* === p522b: 2C block spans the clamp (no inner side padding) ============ */
body.cr_fruit #outerframeContainer .group-outer-container > .citreg-2c{
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
  box-sizing: border-box;
}
/* === p522b: end ========================================================== */

/* === p511: 2C module (authoritative) ===================================== */
.citreg-2c{
  display: block;
}

.citreg-2c__lc,
.citreg-2c__rc{
  min-width: 0;
}

@media (min-width: 992px){
  .citreg-2c{
    display: grid;
    grid-template-columns: minmax(0, 1fr) fit-content(var(--rcw));
    column-gap: var(--cgap);
    align-items: start;
  }

  .citreg-2c__rc{
    position: sticky;
    top: var(--sticky-top);
    max-height: calc(100vh - var(--sticky-top));
    overflow: auto;
    align-self: start;
  }
}

.citreg-2c__rc-grid{
  display: grid;
  row-gap: var(--rgap);
  justify-items: end;
}

.citreg-2c__lc-grid,
.citreg-2c--compound .citreg-2c__lc-grid{
  display: contents;
}

.citreg-2c--compound .citreg-2c__lc-grid.is-stack{
  display: grid;
  row-gap: var(--rgap);
}
/* === p511: end =========================================================== */

/* === p527: disarm Bootstrap/theme inside any 2C ========================== */
body.cr_fruit .citreg-2c .row{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.cr_fruit .citreg-2c .row > [class^="col-"],
body.cr_fruit .citreg-2c .row > [class*=" col-"]{
  padding-left: 0 !important;
  padding-right: 0 !important;
  min-width: 0;
}

body.cr_fruit .citreg-2c__rc{
  width: 100%;
  box-sizing: border-box;
}

body.cr_fruit .citreg-2c__rc .citreg-rc-wrap{
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  row-gap: var(--rgap);
  box-sizing: border-box;
}

body.cr_fruit .citreg-2c__rc figure{
  margin: 0;
  max-width: 100%;
}

body.cr_fruit .citreg-2c__rc .citreg-rc-figure img{
  display: block;
  width: auto;
  max-width: var(--rc-img-max);
  height: auto;
  margin-left: auto;
}

body.cr_fruit .citreg-2c__rc figure,
body.cr_fruit .citreg-2c__rc figcaption{
  max-width: var(--rc-img-max);
}
/* === p527: end =========================================================== */

/* ========================================================================== */
/* === p572d: VIN LC — unified desktop/mobile grid via #vin-grid-1 ========= */
/* Replaces p528–p563. All VIN placement is controlled by the wrapper.       */
/* ========================================================================== */

/* VIN desktop grid + placements */
#vin-grid-1{
  display: grid !important;
  grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr) !important;
  grid-template-areas:
    "vinA vinB"
    "series body"
    ". year" !important;
  gap: 28px !important;
  align-items: start !important;
  justify-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#vin-grid-1 > .question-container{
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
  align-self: start !important;
  margin: 0 !important;
  padding: 0 !important;
}

#vin-grid-1 *{
  writing-mode: initial !important;
}

#vin-grid-1 .row{
  display: block !important;
  margin: 0 !important;
}

#vin-grid-1 [class^="col-"],
#vin-grid-1 [class*=" col-"]{
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  flex: 0 1 auto !important;
}

/* Area bindings (Twig adds q- classes on containers) */
#vin-grid-1 .q-vinpair-a{
  grid-area: vinA !important;
}

#vin-grid-1 .q-vinpair-b{
  grid-area: vinB !important;
}

#vin-grid-1 .q-series-tpn{
  grid-area: series !important;
}

#vin-grid-1 .q-body-frame{
  grid-area: body !important;
}

#vin-grid-1 .q-usa-year{
  grid-area: year !important;
}

/* Hide irrelevant VIN items when LS toggles visibility */
#vin-grid-1 .question-container.ls-irrelevant.ls-hidden{
  display: none !important;
}

/* VIN mobile: clean stack */
@media (max-width: 991.98px){
  #vin-grid-1{
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "vinA"
      "vinB"
      "series"
      "body"
      "year" !important;
    gap: 16px !important;
  }
}

/* Left alignment fix for VIN LC to avoid right shift */
#citreg-2c-vehicle-id .citreg-2c__lc,
#vin-grid-1{
  padding-left: 0 !important;
  margin-left: 0 !important;
  justify-content: start !important;
  justify-items: stretch !important;
  align-content: start !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Type | VIN Tag — responsive radio grid (3/2/1 columns) */
@media (min-width: 992px){
  #citreg-2c-vehicle-id .q-vinpair-b .answers-list{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (min-width: 700px) and (max-width: 991.98px){
  #citreg-2c-vehicle-id .q-vinpair-b .answers-list{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 699.98px){
  #citreg-2c-vehicle-id .q-vinpair-b .answers-list{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }
}

#citreg-2c-vehicle-id .q-vinpair-b .answers-list .radio-item{
  width: 100% !important;
}

#citreg-2c-vehicle-id .q-vinpair-b .answers-list .radio-item label.radio-label{
  display: block !important;
  width: 100% !important;
  text-align: left !important;
}
/* === p572d: end ========================================================== */

/* === P572: VIN grid (authoritative) ===================================== */
#vin-grid-1{
  display: grid !important;
  grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr) !important;
  grid-template-areas:
    "vinA vinB"
    "series body"
    ". year" !important;
  gap: var(--cgap, 28px) !important;
  align-items: start !important;
  justify-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#vin-grid-1 .q-vinpair-a{
  grid-area: vinA !important;
}

#vin-grid-1 .q-vinpair-b{
  grid-area: vinB !important;
}

#vin-grid-1 .q-series-tpn{
  grid-area: series !important;
}

#vin-grid-1 .q-body-frame{
  grid-area: body !important;
}

#vin-grid-1 .q-usa-year{
  grid-area: year !important;
}

#vin-grid-1 .question-container.ls-irrelevant.ls-hidden{
  display: none !important;
}

/* === P572b: neutralize Bootstrap inside VIN grid ======================== */
#vin-grid-1 .row{
  display: block !important;
  margin: 0 !important;
}

#vin-grid-1 [class^="col-"],
#vin-grid-1 [class*=" col-"]{
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 1 auto !important;
}

/* === P572c: radio layout for Type | VIN Tag ============================= */
@media (min-width: 992px){
  #citreg-2c-vehicle-id .q-vinpair-b .answers-list{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

/* === P572m: mobile stack =============================================== */
@media (max-width: 991.98px){
  #vin-grid-1{
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "vinA" "vinB" "series" "body" "year" !important;
    gap: var(--rgap, 16px) !important;
  }
}

/* === P572k: kill older LC-as-grid rules (if present) ==================== */
@media (min-width: 992px){
  body.cr_fruit #citreg-2c-vehicle-id .citreg-2c__lc{
    display: block !important;
  }
}
/* === P572: end =========================================================== */

/* CitReg patch P352: Landing — PS2_2Col (authoritative) — start */
section#citreg-landing.citreg-landing{
  /* ensure landing uses a comfortable RC cap */
  --rcw: 560px;               /* target cap for right column */
  --rc-img-max: 150px;        /* max width per thumb */
  --cgap: 28px;               /* column gap (LC↔RC) */
}

/* Two-column layout */
.citreg-landing__twocol{
  display: grid;
  /* RC must be wide enough for 3×thumbs + 2 gaps when space allows */
  grid-template-columns:
    minmax(0, 1fr)
    minmax(calc(3 * var(--rc-img-max) + 2 * var(--cgap, 16px)), var(--rcw, 560px));
  gap: var(--cgap, 28px);
  align-items: start;
  margin-block: 8px 24px;
}

.citreg-landing__right{ min-width: 0; }
.citreg-landing__h2{ margin: 0 0 18px 0; font-weight: 800; }
.citreg-landing__heroimg{
  display:block; max-width:100%; height:auto; border-radius:2px;
  box-shadow:0 1px 0 rgba(0,0,0,.08), 0 2px 8px rgba(0,0,0,.12);
}
.citreg-landing__caption{ margin-top:8px; color:#555; }
.citreg-landing__cta{ margin:6px 0 16px 0; }
.citreg-landing__btn{ padding:12px 24px; font-size:1.125rem; line-height:1.2; border-radius:12px; }
/* .citreg-landing__contact{ margin-top:20px; } */

/* Thumbs: simple 3-cell grid (no bullets), caps at 150px but can shrink */
.citreg-thumbs3{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, var(--rc-img-max)));
  gap: var(--cgap, 16px);
  justify-content: start;
  align-items: start;
  list-style: none;
  padding: 0;
  margin: 0;
}
.citreg-thumbs3 li{ list-style:none; margin:0; padding:0; min-width:0; }
.citreg-thumbs3 img{
  display:block; width:100%; height:auto; border-radius:2px;
  box-shadow:0 1px 0 rgba(0,0,0,.06), 0 1px 6px rgba(0,0,0,.10);
}

/* Responsive collapse: stack columns; thumbs remain a single row that narrows */
@media (max-width: 991.98px){
  .citreg-landing__twocol{ grid-template-columns: 1fr; gap: 20px; }
  .citreg-thumbs3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* CitReg patch P352: Landing — PS2_2Col (authoritative) — end */

/* CitReg patch P622: PS-style CTA button — start */
.dp1-begin{
display: block;        /* fill a line */
  width: 90%;           /* stretch to container width */
  min-width: 100px;          /* undo the base 400px guard */
  max-width: 100%;
  padding: 14px 36px;
/*   background: var(--c-brand, #0d6efd); */
  background: var(--brand, var(--c-brand, #0d6efd));
  color: #fff;
  border: 0;
  border-radius: 3px;
  line-height: 1.2;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
  text-decoration: none;
}
.dp1-begin:hover,
.dp1-begin:focus{
  text-decoration: none;
  filter: brightness(.97);
}

/* Mobile: allow full width, no hard min */
@media (max-width: 575.98px){
  .dp1-begin{ min-width: 0; width: 100%; }
}
/* CitReg patch P622: PS-style CTA button — end */

/* CitReg patch P635: Landing CTA row (layout only) — start */
/* Two-button container: stack on mobile; ~60% / ~33% split on ≥992px */
.citreg-cta-row{
  display: grid;
  grid-template-columns: 1fr;              /* mobile/tablet: stack */
  gap: var(--cgap, 16px);
  align-items: stretch;
  justify-items: stretch;
}

@media (min-width: 992px){
  .citreg-cta-row{
    grid-template-columns: minmax(0, 0.6fr) minmax(0, 0.33fr); /* desktop: ~60 / ~33 */
  }
}
/* CitReg patch P635: Landing CTA row (layout only) — end */

/* CitReg patch P636: CTA row horizontal gap only — start */
/* Tighten horizontal space between the two buttons; keep all other layout intact */
.citreg-cta-row{
  column-gap: 8px;                 /* affects only horizontal spacing */
}
@media (min-width: 992px){
  .citreg-cta-row{
    column-gap: 8px;               /* same gap on desktop */
  }
}
/* CitReg patch P636: CTA row horizontal gap only — end */
