.vaccine-fold-page .vaccine-card-photo-grid { grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:16px; }
.vaccine-fold-page .cartilla-photo-open { display:block; width:100%; padding:12px; border:0; background:var(--paper-solid); color:var(--ink-soft); font:inherit; cursor:zoom-in; }
.vaccine-fold-page .cartilla-photo-open img { width:100%; height:280px; aspect-ratio:auto; object-fit:contain; background:#f3f4f5; border-radius:8px; }
.cartilla-photo-open > span { display:flex; justify-content:center; align-items:center; gap:8px; min-height:40px; font-size:13px; font-weight:400; }
.cartilla-photo-open svg { width:18px; height:18px; }
.vaccine-fold-page .vaccine-card-photo figcaption { padding:0 12px 8px; font-size:13px; }
.vaccine-fold-page .vaccine-card-photo figcaption .icon-button { width:44px; height:44px; min-height:44px; }
.cartilla-viewer { position:fixed; inset:0; width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; border-radius:0; background:#11171c; color:#fff; overflow:hidden; }
.cartilla-viewer[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.cartilla-viewer::backdrop { background:#11171c; }
.cartilla-viewer header { display:flex; align-items:center; justify-content:space-between; padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px; background:#172027; }
.cartilla-viewer header > div { display:grid; gap:4px; font-size:16px; }
.cartilla-page { color:#b9c6cf; font-size:13px; }
.cartilla-viewer button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:10px; border:0; border-radius:12px; background:transparent; color:#fff; font:inherit; font-size:14px; font-weight:400; cursor:pointer; }
.cartilla-viewer button:disabled { opacity:.3; cursor:default; }
.cartilla-viewer button:focus-visible { outline:2px solid #9dd5eb; outline-offset:2px; }
.cartilla-viewer button:hover:not(:disabled) { background:#ffffff12; }
.cartilla-viewer svg { width:23px; height:23px; }
.cartilla-stage { position:relative; min-height:0; overflow:hidden; touch-action:none; user-select:none; -webkit-user-select:none; }
.cartilla-stage.is-zoomed { cursor:grab; }
.cartilla-stage.is-zoomed:active { cursor:grabbing; }
.cartilla-stage img { position:absolute; top:50%; left:50%; max-width:none; max-height:none; object-fit:contain; transform-origin:center; pointer-events:none; will-change:transform; }
.cartilla-stage [hidden] { display:none; }
.cartilla-image-error { text-align:center; padding:30px; color:#d2dde5; }
.cartilla-viewer footer { display:flex; align-items:center; justify-content:center; gap:clamp(4px,3vw,20px); padding:10px 12px calc(env(safe-area-inset-bottom,0px) + 12px); background:#172027; }
