.chupaca-column { clear: both; margin-top: 28px; }
.chupaca-card .flipscont1 { height: 100%; box-sizing: border-box; overflow: hidden; }
.chupaca-card .flips1_front img.full { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.chupaca-card .flips1_back { box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; gap: 18px; }
.chupaca-card h4, .chupaca-card p { color: #fff; margin: 0; }
.chupaca-card .but_small5 { align-self: center; flex-shrink: 0; }
.chupaca-card h4, .chupaca-card p { flex-shrink: 0; }
@media (min-width: 768px) and (max-width: 999px) { .chupaca-card .flips1_back { padding: 10px; gap: 8px; } .chupaca-card h4 { font-size: 13px; line-height: 17px; } .chupaca-card p { font-size: 12px; line-height: 16px; } .chupaca-card .but_small5 { padding: 6px 12px; } }
.chupaca-card:focus-within .flips1_front { transform: rotateY(180deg); z-index: 1; }
.chupaca-card:focus-within .flips1_back { transform: rotateY(0deg); z-index: 2; }
.chupaca-gallery { padding-top: 45px; padding-bottom: 60px; }
.chupaca-gallery h1 { margin: 24px 0 20px; font-size: 32px; line-height: 1.3; }
.chupaca-gallery p { margin-bottom: 16px; }
.chupaca-return { display: inline-block; text-decoration: underline; }
.chupaca-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
.chupaca-photo { display: block; background: #f5f5f5; color: #333; border: 1px solid #ddd; }
.chupaca-photo img { display: block; width: 100%; height: 230px; object-fit: cover; }
.chupaca-photo span { display: block; padding: 12px; }
.chupaca-photo:hover { border-color: #a52a2a; }
.chupaca-photo:focus-visible, .chupaca-card a:focus-visible, .chupaca-return:focus-visible { outline: 3px solid #d49a22; outline-offset: 4px; }
@media (max-width: 1000px) { .chupaca-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .chupaca-grid { grid-template-columns: 1fr; } .chupaca-gallery h1 { font-size: 26px; } }


.chupaca-viewer { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: transparent; overflow: hidden; }
.chupaca-viewer[open] { display: flex; align-items: center; justify-content: center; }
.chupaca-viewer::backdrop { background: rgba(0, 0, 0, .9); }
.chupaca-viewer-image { display: block; width: auto; height: auto; max-width: calc(100vw - 150px); max-height: calc(100dvh - 120px); object-fit: contain; }
.chupaca-viewer button { position: absolute; z-index: 1; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: #222; color: white; font-size: 26px; line-height: 1; cursor: pointer; }
.chupaca-viewer button:hover { background: #016f55; }
.chupaca-viewer button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.chupaca-close { top: 18px; right: 18px; }
.chupaca-prev { left: 18px; top: calc(50% - 24px); }
.chupaca-next { right: 18px; top: calc(50% - 24px); }
.chupaca-counter { position: absolute; bottom: 20px; left: 0; right: 0; margin: 0; text-align: center; color: white; pointer-events: none; }
@media (max-width: 600px) { .chupaca-viewer-image { max-width: calc(100vw - 100px); } .chupaca-viewer button { width: 38px; height: 38px; font-size: 22px; } .chupaca-prev { left: 6px; } .chupaca-next { right: 6px; } }
