/* Sección Combos (portada) */
.ap-section--combos { padding-top: 0 !important; margin-top: clamp(-56px, -5vw, -24px); padding-bottom: clamp(32px, 4vw, 56px) !important; }
.ap-section--combos .ap-section__head { margin-bottom: 18px; }
.apc-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(2, 1fr); }
.apc-item { display: flex; flex-direction: column; gap: 12px; }
.apc-card { position: relative; display: block; width: 100%; padding: 0; border: 1px solid var(--ap-line); background: #0b0d0f; cursor: pointer; overflow: hidden; aspect-ratio: 2355 / 3339; }
.apc-card img { width: 100%; height: 100%; object-fit: contain; background: #0b0d0f; display: block; transition: transform 500ms var(--ap-ease); }
.apc-card:hover img, .apc-card:focus-visible img { transform: scale(1.03); }
.apc-card__zoom { position: absolute; right: 12px; bottom: 12px; padding: 6px 12px; background: rgba(8,9,10,.78); color: #fff; font-family: var(--ap-font-condensed); font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: 0; transition: opacity 200ms var(--ap-ease); }
.apc-card:hover .apc-card__zoom, .apc-card:focus-visible .apc-card__zoom { opacity: 1; }
.apc-wa { width: 100%; justify-content: center; padding-block: 10px; font-size: .78rem; }
@media (min-width: 640px) { .apc-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; } }
@media (min-width: 1024px) { .apc-grid { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; } }
/* Visor en grande */
.apc-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.apc-modal[hidden] { display: none; }
.apc-modal__bg { position: absolute; inset: 0; background: rgba(5,6,7,.92); }
.apc-modal__fig { position: relative; margin: 0; display: flex; flex-direction: column; align-items: center; gap: 14px; max-width: min(92vw, 560px); max-height: 100%; }
.apc-modal__img { max-width: 100%; max-height: calc(100vh - 140px); object-fit: contain; display: block; border: 1px solid #2a3036; }
.apc-modal__cap { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.apc-modal__count { color: #c2ccd6; font-family: var(--ap-font-mono); font-size: .75rem; letter-spacing: .14em; }
.apc-modal__close, .apc-modal__nav { position: absolute; z-index: 2; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.25); background: rgba(8,9,10,.7); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.apc-modal__close { top: 16px; right: 16px; }
.apc-modal__nav { top: 50%; transform: translateY(-50%); font-size: 36px; }
.apc-modal__nav--prev { left: 12px; } .apc-modal__nav--next { right: 12px; }
.apc-modal__close:hover, .apc-modal__nav:hover { background: #db011c; border-color: #db011c; }
@media (max-width: 639px) { .apc-modal__nav { top: auto; bottom: 14px; transform: none; width: 44px; height: 44px; font-size: 30px; } .apc-modal__fig { max-height: calc(100% - 70px); } .apc-modal__img { max-height: calc(100vh - 210px); } }
.apc-card__n { position: absolute; left: 10px; top: 10px; padding: 4px 9px; background: rgba(8,9,10,.78); color: #fff; font-family: var(--ap-font-condensed); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

