/* Details remain readable after opening. Longer galleries retain natural scrolling. */
@media (min-width:761px) {
  .screen-panel .stock-block:has(details[open]) .stock-main-copy > p:not(.eyebrow) { margin-top:14px; }
  .screen-panel .stock-block:has(details[open]) .stock-types { margin-top:12px; margin-bottom:8px; }
  .screen-panel .stock-block:has(details[open]) .stock-actions { margin-top:12px; }
  .screen-panel .stock-block details[open] p { padding-bottom:0; line-height:1.5; }

  .screen-panel .collection { row-gap:12px; }
  .screen-panel .collection > .service-detail { grid-column:1/-1; margin:0; }
  .screen-panel .service-detail-body { display:grid; grid-template-columns:1fr 1fr; gap:6px 30px; }
  .screen-panel .service-detail-body p { max-width:none; }
  .screen-panel .service-detail-body .text-link { grid-column:1/-1; justify-self:start; }
  .screen-panel .collection > .service-detail p { font-size:14px; line-height:1.5; padding-bottom:8px; }
  .screen-panel .collection > .service-detail .text-link { margin-bottom:0; padding:3px 0; }
  .screen-panel .collection:has(.service-detail[open]) .pickup-pair { max-width:none; justify-self:center; }

  .screen-panel .im-sustainability:has(details[open]) .environmental-details { margin-top:12px; }
  .screen-panel .im-sustainability:has(details[open]) .environmental-registration { padding:14px 18px; }
  .screen-panel .im-sustainability:has(details[open]) .environmental-registration h3 { font-size:17px; line-height:1.35; }
  .screen-panel .im-sustainability:has(details[open]) .environmental-registration p { margin-top:8px; line-height:1.45; }
  .screen-panel .im-sustainability:has(details[open]) .environmental-registration .eyebrow { margin:0 0 8px; }
  .screen-panel .im-sustainability:has(details[open]) .environmental-registration dl { margin:10px 0 0; }
  .screen-panel .contact:has(details[open]) .whatsapp-qr-disclosure { margin-top:6px; }
  .screen-panel .contact:has(details[open]) { padding-top:12px; padding-bottom:12px; }
  .screen-panel .contact:has(details[open]) .whatsapp-qr-disclosure > summary { min-height:30px; padding:5px 25px 5px 0; }
  .screen-panel .contact:has(details[open]) .whatsapp-qr-disclosure > summary:after { top:4px; }
  .screen-panel .contact:has(details[open]) .whatsapp-qr-card { padding:5px; }
  .screen-panel .contact:has(details[open]) .contact-copy .phone { margin-bottom:8px; }

  .focused-view .detail-only:not(#vaciados) {
    padding-top:20px;
    padding-bottom:24px;
    scroll-margin-top:0;
    font-size:15px;
    line-height:1.5;
  }
  .detail-only .detail-back, .detail-only .xrf-back { font-size:14px; margin-bottom:12px; padding:4px 0; }
  .detail-only .section-label { font-size:13px; margin-bottom:10px; }
  .detail-only .section-number { font-size:19px; }
  .detail-only h2 { font-size:32px; line-height:1.15; }
  .detail-only .detail-heading { margin:0 0 16px; gap:30px; }
  .detail-only .detail-heading p { font-size:15px; line-height:1.5; }
  .detail-only .detail-grid { gap:16px; margin:14px 0; }
  .detail-only .detail-grid article { padding:15px 18px; }
  .detail-only .detail-grid .eyebrow { margin-bottom:6px; font-size:10px; }
  .detail-only .detail-grid h3 { font-size:19px; line-height:1.25; }
  .detail-only .detail-grid p { font-size:14px; line-height:1.5; margin-top:8px; }
  .detail-only .detail-note { margin:14px 0; padding:14px 18px; }
  .detail-only .detail-note h3 { font-size:19px; line-height:1.25; }
  .detail-only .detail-note p { margin-top:7px; font-size:14px; line-height:1.5; max-width:none; }
  .detail-only summary { min-height:36px; padding:8px 27px 8px 0; font-size:14px; }
  .detail-only summary:after { top:7px; }
  .detail-only details p { font-size:14px; line-height:1.5; padding-bottom:8px; max-width:none; }
  .detail-only .detail-end { margin-top:14px; padding:13px 0 0; gap:20px; }
  .detail-only .detail-end p { font-size:17px; }
  .detail-only .button { min-height:42px; padding:9px 17px; font-size:14px; }

  .focused-view #xrf { margin:20px auto; padding:24px 30px; gap:32px; }
  #xrf .xrf-copy > .eyebrow { margin-bottom:12px; }
  #xrf .xrf-copy > p:not(.eyebrow) { margin-top:14px; font-size:16px; line-height:1.5; }
  #xrf .actions { margin-top:20px; gap:15px; }
  #xrf .xrf-panel { padding:20px; }
  #xrf .xrf-panel-title { margin-bottom:16px; }
  #xrf .element-grid { margin-bottom:16px; gap:8px; }
  #xrf .element-tile { padding:8px 10px; gap:2px; }
  #xrf .element-tile strong { font-size:30px; }
  #xrf .xrf-panel h3 { font-size:20px; line-height:1.3; }
  #xrf .xrf-panel > p { margin-top:9px; line-height:1.5; }
  #xrf .xrf-panel details { margin-top:12px; }
  #xrf .xrf-panel .xrf-disclaimer { margin-top:10px; padding-top:9px; }

  #materiales .section-heading { margin-bottom:18px; }
  #materiales .section-heading .eyebrow { margin-bottom:8px; }
  #materiales .section-heading > p { font-size:15px; }
  #materiales .materials-grid { gap:14px; }
  #materiales .material { padding:14px 16px 4px; }
  #materiales .material .symbol { width:46px; height:46px; font-size:23px; }
  #materiales .material-head { gap:12px; }
  #materiales .material-head h3 { font-size:19px; }
  #materiales .material-head p { font-size:11px; }
  #materiales .material > p { font-size:14px; margin-top:10px; }
  #materiales .material summary { font-size:12px; }
  #materiales .material .text-link { font-size:13px; margin:0 0 8px; padding:3px 0; }
  #materiales > .small-note { margin-top:14px; font-size:12px; }

  #preguntas { gap:35px; }
  #preguntas .faq-list details { padding:2px 0; }
  #preguntas .faq-list summary { font-size:15px; padding-top:10px; padding-bottom:10px; }
  #preguntas .faq-list p { font-size:14px; }

  #activos .asset-status-groups { gap:14px; }
  #activos .asset-status-group > summary { min-height:62px; padding:12px 56px 12px 20px; }
  #activos .asset-status-group > summary:after { top:50%; }
  #activos .asset-group-heading { gap:2px; }
  #activos .asset-group-heading strong { font-size:20px; }
  #activos .asset-group-heading > span { font-size:13px; }
  #activos .asset-group-content { padding:18px; }
  #activos .asset-empty-state h3 { font-size:18px; }
  #activos .asset-empty-state p { font-size:14px; margin-top:5px; }
  #activos .machine-grid { gap:14px; }
  #activos .machine-photo { height:clamp(150px,24vh,230px); aspect-ratio:auto; }
  #activos .machine-card figcaption { padding:9px 13px; }
  #activos .machine-card figcaption > span { font-size:10px; }
  #activos .machine-card h3 { font-size:17px; }
  #activos .asset-service { margin-top:16px; }
  #activos .asset-service > summary { padding-top:12px; padding-bottom:12px; }
  #activos .asset-service > summary:after { top:11px; }

  /* One catalogue, with available stock, sold history and service information.
     Native accordions keep one reading task open; photographs still enlarge. */
  #activos {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:22px;
    min-height:calc(100dvh - 64px);
  }
  body.focused-view #activos.asset-hub { padding-top:24px; padding-bottom:24px; }
  #activos .asset-hub-body { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr); gap:22px; align-items:start; }
  #activos .asset-hub-sidebar { display:flex; flex-direction:column; gap:20px; align-self:stretch; }
  #activos .asset-hub-intro .detail-back { margin-bottom:18px; }
  #activos .detail-heading { margin:0; grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr); gap:22px; align-items:center; }
  #activos .detail-heading > p { max-width:560px; }
  #activos .detail-heading h2 { font-size:30px; }
  #activos .asset-available { grid-area:available; align-self:start; }
  #activos .asset-sold-history { grid-area:sold; align-self:start; }
  #activos .asset-hub-sidebar > .asset-available { align-self:stretch; }
  #activos .asset-hub-body > .asset-sold-history { grid-area:auto; }
  #activos .asset-service { grid-area:service; margin:0; align-self:stretch; }
  #activos .detail-end { grid-area:action; display:block; margin: auto 0 0; padding-top:16px; }
  #activos .detail-end p { font-size:16px; margin-bottom:12px; }
  #activos .detail-end .button { font-size:13px; }
  #activos .asset-status-group > summary { min-height:60px; padding:8px 48px 8px 16px; gap:12px; }
  #activos .asset-group-content { padding:10px; }
  #activos .asset-empty-state { display:block; padding:6px; }
  #activos .asset-empty-state .text-link { display:inline-block; margin-top:12px; font-size:13px; }
  #activos .machine-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  #activos .machine-photo { height:clamp(110px,calc((100dvh - 500px)/2),190px); }
  #activos .machine-card figcaption { padding:7px 9px; }
  #activos .machine-card figcaption > span { font-size:9px; line-height:1.3; }
  #activos .machine-card h3 { font-size:14px; line-height:1.2; margin-top:2px; }
  #activos .machine-sold { padding:4px 0; font-size:10px; }
  #activos .photo-expand { width:27px; height:27px; top:6px; right:6px; font-size:17px; }
  #activos:has(.asset-service[open]) .asset-hub-body { grid-template-areas:"available sold" "service service" "action action"; gap:14px 22px; }
  #activos:has(.asset-service[open]) .asset-hub-sidebar { display:contents; }
  #activos:has(.asset-service[open]) .asset-hub-body > .asset-sold-history { grid-area:sold; }
  #activos:has(.asset-service[open]) .detail-end { display:flex; align-items:center; justify-content:space-between; }
  #activos:has(.asset-service[open]) .detail-end p { margin:0; }
  #activos .asset-service > p { padding-bottom:0; }
  #activos .asset-service .detail-grid { margin:8px 0 12px; }
  #activos .asset-service-note h3 { font-size:17px; }
  #activos .asset-service-note p { margin-top:5px; }
}
@media (min-width:761px) and (max-height:680px) {
  .focused-view .detail-only:not(#vaciados) { padding-top:14px; padding-bottom:18px; }
  .detail-only h2 { font-size:27px; }
  .detail-only .detail-grid article { padding:12px 14px; }
  .detail-only .detail-grid p, .detail-only .detail-note p { font-size:13px; line-height:1.4; }
  .detail-only .detail-note { padding:12px 14px; }
  .screen-panel .collection:has(.service-detail[open]) { column-gap:24px; }
  .screen-panel .collection:has(.service-detail[open]) .collection-summary > p:not(.eyebrow) { margin-top:8px; }
  .screen-panel .collection:has(.service-detail[open]) .pickup-frequency { margin:8px 0; }
  .screen-panel .collection:has(.service-detail[open]) .pickup-pair { max-width:400px; }
  .screen-panel .collection > .service-detail p { font-size:13px; line-height:1.4; padding-bottom:5px; }
}
/* Enlarged text, open disclosures and uploads may legitimately need more height.
   Keep natural scrolling available instead of trapping a reader in a snap point. */
html.chapter-mode.reading-overflow { scroll-snap-type:y proximity; }
@media(max-width:760px) {
  .collection > .service-detail { grid-column:1/-1; margin-top:0; }
  .detail-only .detail-back { line-height:1.5; }
  #activos .asset-hub-body { display:flex; flex-direction:column; gap:18px; }
  #activos .asset-hub-sidebar { display:contents; }
  #activos .asset-available { order:1; }
  #activos .asset-sold-history { order:2; }
  #activos .asset-service { order:3; margin-top:0; }
  #activos .detail-end { order:4; margin-top:0; }
}

/* Consistent interior headers after removing repeated numbered labels. */
@media (min-width:761px) {
  #apoyo-concursal {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:calc(100dvh - 64px);
  }
  body.focused-view #apoyo-concursal { padding-top:clamp(22px,3vh,34px); padding-bottom:clamp(22px,3vh,34px); }
  #apoyo-concursal > * { flex:none; }
  #apoyo-concursal > .detail-back {
    align-self:flex-start;
    margin:0 0 clamp(18px,2.7vh,30px);
  }
  #apoyo-concursal .detail-heading {
    grid-template-columns:1fr 1fr;
    align-items:end;
    gap:40px;
    margin:0;
  }
  #apoyo-concursal h2 { font-size:clamp(32px,4.6vh,44px); }
  #apoyo-concursal .detail-grid { margin:18px 0; }
  #apoyo-concursal .detail-note { margin:0 0 14px; }
}
@media (min-width:761px) and (max-height:680px) {
  body.focused-view #apoyo-concursal { padding-top:16px; padding-bottom:16px; }
  #apoyo-concursal > .detail-back { margin-bottom:13px; }
  #apoyo-concursal .detail-heading { gap:24px; }
  #apoyo-concursal h2 { font-size:30px; }
  #apoyo-concursal .detail-grid { margin:13px 0; }
}
