/* Shared-catalog organization. Preserve card geometry, colors and intake behavior. */
.catalog-sections {width:100%;min-width:0}
.catalog-primary-columns {margin:0 0 54px;min-width:0}
.catalog-supporting-sections {min-width:0}
.catalog-display-section {min-width:0;margin:0 0 48px;scroll-margin-top:110px}
.catalog-display-section:last-child {margin-bottom:0}
.catalog-display-section+.catalog-display-section {padding-top:30px;border-top:1px solid rgba(199,203,210,.3)}
.catalog-display-section__head {margin:0 0 28px}
.catalog-display-section__title {margin:0 0 9px!important;font:700 clamp(29px,3.4vw,39px)/1.2 var(--serif,Georgia,serif);color:var(--silver,#C7CBD2)}
.catalog-display-section__description {margin:0!important;max-width:90ch;font-size:14px;line-height:1.65;color:var(--muted,#bbc0cb)}
.catalog-display-section>.catalog-primary-columns {margin-bottom:0}
.catalog-display-section--reference {grid-column:1/-1}
.catalog-display-section--choices .catalog-display-section__title,.catalog-display-section--contact .catalog-display-section__title,.catalog-display-section--reference .catalog-display-section__title {font-size:28px}
.catalog-display-section--choices .catalog-display-section__head,.catalog-display-section--contact .catalog-display-section__head,.catalog-display-section--reference .catalog-display-section__head {margin-bottom:24px}
.catalog-section-nav {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  margin:0 0 46px;
}
.catalog-section-nav__link {
  grid-column:span 2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:15px 17px;
  min-height:54px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(199,203,210,.27);
  color:var(--silver,#C7CBD2);
  text-align:center;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
  transition:background .2s,border-color .2s;
}
.catalog-section-nav__link--primary {
  grid-column:span 3;
  min-height:84px;
  font:700 clamp(18px,2.1vw,25px)/1.3 var(--serif,Georgia,serif);
  background:#171a24;
  border-color:rgba(199,203,210,.44);
}
.catalog-section-nav__link:hover,.catalog-section-nav__link:focus-visible {
  color:var(--white,#F4F4F2);
  border-color:var(--silver,#C7CBD2);
  background:rgba(199,203,210,.09);
}
.catalog-section-nav__link:focus-visible {outline:2px solid var(--silver,#C7CBD2);outline-offset:3px}
.catalog-section {scroll-margin-top:110px;margin:0 0 54px;min-width:0}
.catalog-section:last-child {margin-bottom:0}
.catalog-section__head {display:block;margin:0 0 21px;padding:0 0 17px;border-bottom:1px solid rgba(199,203,210,.32)}
.catalog-section__title {
  margin:0 0 8px!important;
  color:var(--silver,#C7CBD2)!important;
  font:700 clamp(24px,3vw,33px)/1.25 var(--serif,Georgia,serif);
}
.catalog-section__description {margin:0!important;max-width:75ch;font-size:13.5px;line-height:1.65;color:var(--muted,#bbc0cb)}
.catalog-section__grid {margin:0;min-width:0}
.catalog-section__grid>.package-card {width:auto;justify-self:stretch;grid-column:auto}
.catalog-sections .catalog-subgroup {min-width:0;padding:0!important;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;overflow:visible;scroll-margin-top:110px}
.catalog-subgroup+.catalog-subgroup {margin-top:30px}
.catalog-subgroup__title {margin:0 0 15px!important;font-size:19px;line-height:1.35;color:var(--silver,#C7CBD2);font-weight:700}
/* The main Unlawful Detainer heading already introduces its first package row. */
.catalog-subgroup__title--first {position:absolute;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.catalog-related-services {margin:22px 0 0!important;padding-top:15px;border-top:1px solid rgba(199,203,210,.22);font-size:14px;line-height:1.6;color:var(--muted,#bbc0cb)}
.catalog-related-services a {color:var(--silver,#C7CBD2);text-decoration:underline}
.package-form-label {margin:0 0 7px!important;font-size:12px!important;font-weight:600;line-height:1.35!important;letter-spacing:.025em;color:var(--silver,#C7CBD2)}
/* Cards show an intentional preview; the complete text opens in one clear panel. */
.approved-catalog .approved-grid,.approved-grid,.approved-partner-grid {--catalog-card-height:440px;grid-auto-rows:var(--catalog-card-height)}
.approved-grid>.package-card.package-card--preview,.approved-partner-grid>.package-card.package-card--preview {height:var(--catalog-card-height)!important;min-height:var(--catalog-card-height)!important;max-height:var(--catalog-card-height)!important}
.package-card--preview .package-heading {height:auto!important;min-height:0!important;flex:0 0 auto;margin:0}
.package-card--preview .package-card__price-label,.catalog-service-dialog__body .package-card__price-label {flex:0 0 auto;margin:0!important;font-size:12px!important;line-height:1.4!important;font-weight:700;color:var(--silver,#C7CBD2)}
.approved-grid>.package-card--preview .inquiry-price,.approved-partner-grid>.package-card--preview .inquiry-price {line-height:1.25!important;margin:2px 0 14px!important}
.package-card--preview .package-card__preview {flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:0 0 14px}
.package-card--preview .package-card__preview p {margin:0!important}
.package-card--preview .package-card__description {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--package-preview-lines,1);line-clamp:var(--package-preview-lines,1);overflow:hidden;min-height:0;flex:0 0 auto;font-size:14px;line-height:1.6}
.package-card--preview .package-card__description[hidden] {display:none}
.package-card--preview .package-card__status {flex:0 0 auto;font-size:12.5px;line-height:1.45;font-weight:700;color:var(--silver,#C7CBD2)}
.package-card--preview .package-form-code {white-space:nowrap}
.package-card--preview .package-card__bundle-note {flex:0 0 auto;font-size:13px;line-height:1.45;font-weight:700;color:var(--silver,#C7CBD2)}
.package-card--preview .package-card__actions {flex:0 0 auto;margin-top:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.package-card--preview .package-details-button {display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;padding:10px;border:1px solid var(--silver,#C7CBD2);border-radius:0;background:transparent;color:var(--silver,#C7CBD2);font:700 14px/1.35 var(--body,Georgia,serif);cursor:pointer;transition:background .2s,border-color .2s}
.package-card--preview .package-details-button:hover {background:rgba(199,203,210,.09);border-color:var(--white,#F4F4F2)}
.package-card--preview .package-details-button:focus-visible {outline:2px solid var(--silver,#C7CBD2);outline-offset:3px}
.package-card--preview .package-card__actions .inquiry-action {display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;margin:0!important;padding:10px!important;font-size:14px;line-height:1.35;text-align:center;white-space:normal}
.package-card--preview .package-card__actions .locale-intake-fallback {grid-column:1/-1;margin:0;padding:4px 0}
.approved-partner-grid>.package-card--preview {grid-column:auto;justify-self:stretch}
/* Card headings keep their established styling at either section depth. */
.package-card.package-card--preview .package-heading :is(h2,h3,h4,h5,h6) {
  margin:0 0 8px!important;
  font-size:24px!important;
  line-height:1.25!important;
  color:#f4f5f7;
  font-weight:800;
  font-family:inherit;
}
@media(max-width:600px) {
  .package-card.package-card--preview .package-heading :is(h2,h3,h4,h5,h6) {font-size:23px!important}
}
@media(max-width:470px) {
  .approved-catalog:has(.catalog-sections)>.wrap {padding-left:0;padding-right:0}
  html[lang="es"] .package-card.package-card--preview .package-heading :is(h2,h3,h4,h5,h6) {font-size:21px!important}
}
/* A native modal keeps navigation and intake actions visible around one scroll area. */
.catalog-service-dialog {box-sizing:border-box;position:fixed;inset:0;width:min(780px,calc(100vw - 28px));height:min(820px,calc(100vh - 28px));height:min(820px,calc(100dvh - 28px));max-width:780px;max-height:calc(100vh - 28px);max-height:calc(100dvh - 28px);padding:0;margin:auto;border:1px solid rgba(199,203,210,.55);border-radius:0;background:var(--panel,#171a24);color:var(--text,#f4f5f7);overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.55);font-family:var(--body,Georgia,serif)}
.catalog-service-dialog[open] {display:flex;flex-direction:column}
.catalog-service-dialog::backdrop {background:rgba(9,12,20,.82)}
.catalog-service-dialog__header {flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;padding:20px 24px;border-bottom:1px solid rgba(199,203,210,.3)}
.catalog-service-dialog__heading {min-width:0}
.catalog-service-dialog .catalog-service-dialog__title {margin:0!important;font-size:24px!important;line-height:1.25!important;font-weight:800;color:var(--silver,#C7CBD2);overflow-wrap:anywhere}
.catalog-service-dialog__header .package-form-label {margin:8px 0 0!important}
.catalog-service-dialog__close {display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:44px;padding:10px 12px;border:1px solid var(--silver,#C7CBD2);border-radius:0;background:transparent;color:var(--silver,#C7CBD2);font:700 14px/1.4 var(--body,Georgia,serif);cursor:pointer}
.catalog-service-dialog__close:hover {background:rgba(199,203,210,.09)}
.catalog-service-dialog__close:focus-visible,.catalog-service-dialog__body:focus-visible {outline:2px solid var(--silver,#C7CBD2);outline-offset:-4px}
.catalog-service-dialog__body {flex:1 1 auto;min-height:0;padding:22px 24px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(199,203,210,.65) rgba(255,255,255,.06)}
.catalog-service-dialog__body p,.catalog-service-dialog__body li {font-size:15px;line-height:1.65;overflow-wrap:anywhere;color:var(--muted,#bbc0cb)}
.catalog-service-dialog__body p {margin:0 0 16px}
.catalog-service-dialog__body ul {margin:12px 0 22px;padding-left:22px}
.catalog-service-dialog__body li {margin:7px 0}
.catalog-service-dialog__body h3 {margin:26px 0 12px;font-size:21px;line-height:1.3;color:var(--silver,#C7CBD2)}
.catalog-service-dialog__body h4 {margin:22px 0 10px;font-size:18px;line-height:1.35;color:var(--silver,#C7CBD2)}
.catalog-service-dialog__body .catalog-service-dialog__price {font-size:30px;font-weight:700;line-height:1.2;margin:0 0 8px;color:var(--silver,#C7CBD2)}
.catalog-service-dialog__body .catalog-service-dialog__stage {font-size:14px;margin-bottom:20px}
.catalog-service-dialog__body .package-summary,.catalog-service-dialog__body .package-source-documents,.catalog-service-dialog__documents {max-height:none;overflow:visible}
.catalog-service-dialog__body .option-table {width:100%;min-width:0;table-layout:fixed;margin:0 0 20px}
.catalog-service-dialog__body .option-table th,.catalog-service-dialog__body .option-table td {padding:10px!important;white-space:normal!important;overflow-wrap:anywhere;font-size:14px;line-height:1.5;vertical-align:top}
.catalog-service-dialog__body .option-table th:first-child {width:32%}
.catalog-service-dialog__actions {flex:0 0 auto;display:grid;gap:8px;padding:16px 24px;border-top:1px solid rgba(199,203,210,.3);background:var(--panel,#171a24)}
.catalog-service-dialog__actions .inquiry-action {display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;margin:0;padding:12px 16px;white-space:normal;text-align:center}
.catalog-service-dialog__actions .locale-intake-fallback {margin:0;padding:4px 0}
@media(max-width:470px) {
  .catalog-service-dialog__header {padding:16px;gap:12px}
  .catalog-service-dialog .catalog-service-dialog__title {font-size:20px!important}
  .catalog-service-dialog__close {min-width:58px;padding:10px}
  .catalog-service-dialog__body {padding:18px 16px}
  .catalog-service-dialog__actions {padding:12px 16px}
  .catalog-service-dialog__body .option-table th,.catalog-service-dialog__body .option-table td {padding:8px!important;font-size:13px}
}
/* Wide screens give divorce preparation two tracks and the two landlord
   packages one track. Supporting documents retain four compact tracks. */
@media(min-width:1600px) {
  .approved-catalog:has(.catalog-sections[data-catalog-view="all"])>.wrap {width:min(1760px,calc(100% - 88px));max-width:1760px;box-sizing:border-box}
  .catalog-primary-columns--paired {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
  .catalog-primary-columns--paired>.catalog-section {margin-bottom:0}
  .catalog-primary-columns--paired>[data-catalog-group="divorce"] {grid-column:span 2}
  .catalog-primary-columns--paired>[data-catalog-group="landlord"] {grid-column:span 1}
  .catalog-primary-columns--paired>.catalog-section>.catalog-section__head {min-height:111px;box-sizing:border-box}
  .catalog-primary-columns--paired .catalog-section__grid {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px}
  .catalog-primary-columns--paired>[data-catalog-group="landlord"] .catalog-section__grid {grid-template-columns:minmax(0,1fr)!important}
  .catalog-sections[data-catalog-view="all"] .catalog-supporting-sections .catalog-section__grid {grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px}
  @supports(grid-template-rows:subgrid) {
    .catalog-primary-columns--paired {grid-template-rows:auto auto auto;row-gap:0}
    .catalog-primary-columns--paired>.catalog-section {display:grid;grid-template-rows:subgrid;grid-row:1/span 3;align-self:stretch}
    /* Stretch both headers across their shared row so the dividers stay level. */
    .catalog-primary-columns--paired>.catalog-section>.catalog-section__head {min-height:0;align-self:stretch}
    .catalog-primary-columns--paired>.catalog-section>.catalog-section__grid {grid-row:2}
    .catalog-primary-columns--paired>.catalog-section>.catalog-related-services {grid-row:3}
  }
}
/* The same headings/order organize planner choices and supporting directories. */
.vp-service-choices.vp-service-choices--grouped {display:block;grid-template-columns:none}
.vp-service-group+.vp-service-group {margin-top:30px}
.vp-service-group__title,.catalog-reference-group__title,.catalog-contact-group__title {margin:0 0 16px!important;padding:0 0 10px;border-bottom:1px solid rgba(199,203,210,.3);font-size:22px;line-height:1.3;color:var(--silver,#C7CBD2)}
.vp-service-group__choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.vp-service-subgroup+.vp-service-subgroup {margin-top:21px}
.vp-service-subgroup__title {margin:0 0 12px!important;font-size:16px;line-height:1.4;color:var(--silver,#C7CBD2)}
.catalog-directory-subgroup__title {margin:0 0 15px!important;font-size:19px;line-height:1.4;color:var(--silver,#C7CBD2)}
.catalog-contact-subgroup+.catalog-contact-subgroup,.catalog-reference-subgroup+.catalog-reference-subgroup {margin-top:26px}
.vp-service-option .vp-service-form-label {font-size:12px;font-weight:600;letter-spacing:.025em;color:var(--vp-ink,var(--silver,#C7CBD2))}
.catalog-reference-group {grid-column:1/-1;min-width:0}
.catalog-reference-group+.catalog-reference-group {margin-top:12px}
.catalog-reference-group__grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.contact-intakes.contact-intakes--grouped {display:block}
.catalog-contact-group+.catalog-contact-group {margin-top:30px}
.catalog-contact-group__list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:800px) {
  .catalog-section-nav {gap:10px;margin-bottom:34px}
  .catalog-section-nav__link {grid-column:span 3}
  .catalog-section-nav__link--primary {grid-column:span 3;min-height:75px}
  .catalog-section {margin-bottom:39px}
  .catalog-primary-columns {margin-bottom:39px}
  .vp-service-group__choices,.catalog-reference-group__grid {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px) {.catalog-contact-group__list {grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px) {
  .catalog-section-nav {grid-template-columns:1fr 1fr}
  .catalog-section-nav__link--primary {grid-column:span 1;min-height:82px;font-size:17px;padding:11px}
  .catalog-section-nav__link--secondary {grid-column:span 2;min-height:44px;padding:10px}
  .catalog-section__title {font-size:25px}
}
@media(max-width:350px) {
  .catalog-section-nav {grid-template-columns:1fr}
  .catalog-section-nav__link--primary,.catalog-section-nav__link--secondary {grid-column:auto;min-height:52px}
}
@media print {
  .catalog-section-nav {display:none}
  .catalog-primary-columns--paired {display:block}
  .catalog-section {margin-bottom:24px;break-before:auto}
  .catalog-section__head {break-after:avoid}
}
