/*
 * ImpulsaPe — Neo Pop Poster v2
 * Final cascade layer. Keeps all application contracts intact and gives every
 * customer/admin surface one visual language derived from the supplied poster.
 */

:root {
  --pop-ink: #111015;
  --pop-paper: #fff9ec;
  --pop-white: #ffffff;
  --pop-pink: #ff3f9f;
  --pop-pink-soft: #ffb5d7;
  --pop-yellow: #ffdf00;
  --pop-yellow-soft: #fff39a;
  --pop-blue: #4bb7eb;
  --pop-blue-soft: #bcecff;
  --pop-orange: #ff9f1c;
  --pop-coral: #ff6257;
  --pop-mint: #65dca8;
  --pop-violet: #a98bff;
  --pop-muted: #5a5260;
  --pop-line: 3px solid var(--pop-ink);
  --pop-line-sm: 2px solid var(--pop-ink);
  --pop-shadow: 8px 8px 0 var(--pop-ink);
  --pop-shadow-sm: 4px 4px 0 var(--pop-ink);
  --pop-display: 'Archivo Black', Impact, sans-serif;
  --pop-body: 'Space Grotesk', Arial, sans-serif;
}

html,
body {
  min-height: 100%;
  color: var(--pop-ink) !important;
  font-family: var(--pop-body) !important;
}

body {
  overflow-x: hidden !important;
  background-color: var(--pop-blue) !important;
  background-image: url('../images/fondo-personalizado.png') !important;
  background-size: cover !important;
  background-position: center !important;
}

button,
input,
select,
textarea {
  font-family: var(--pop-body) !important;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 4px solid var(--pop-yellow) !important;
  outline-offset: 3px !important;
}

button:not(:disabled) {
  cursor: pointer;
}

/* Home poster ----------------------------------------------------------- */
body > main {
  width: min(1180px, calc(100vw - 104px)) !important;
  max-width: 1180px !important;
  margin: 22px auto 0 !important;
  padding: 0 0 78px !important;
  background: transparent !important;
  overflow: visible !important;
}

body > main::before,
body > main::after {
  content: none !important;
  display: none !important;
}

body > main > header {
  position: relative !important;
  inset: auto !important;
  z-index: 50 !important;
  width: 100% !important;
  height: 62px !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.header-logo-lottie {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 154px !important;
  height: 62px !important;
  margin: 0 !important;
}

.header-auth {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  gap: 10px !important;
  margin: 0 !important;
}

.auth-top-btn {
  min-height: 42px !important;
  padding: 8px 18px !important;
  border: var(--pop-line-sm) !important;
  border-radius: 999px !important;
  box-shadow: var(--pop-shadow-sm) !important;
  color: var(--pop-ink) !important;
  font-weight: 800 !important;
}

.auth-top-btn-login { background: var(--pop-paper) !important; }
.auth-top-btn-register { background: var(--pop-pink) !important; }

.home-poster-title {
  display: block !important;
  margin: -4px auto 18px !important;
  color: var(--pop-ink) !important;
  font-family: var(--pop-display) !important;
  font-size: clamp(52px, 7.4vw, 108px) !important;
  line-height: .86 !important;
  letter-spacing: -.065em !important;
  text-align: center !important;
  white-space: nowrap !important;
  text-transform: uppercase;
  transform: rotate(-.35deg);
}

.home-main-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  max-width: none !important;
  margin: 0 auto !important;
}

.main-card[data-service='seguidores'],
.main-card[data-service='likes'],
.main-card[data-service='vistas'] {
  grid-row: 1 !important;
  min-height: 348px !important;
  height: 348px !important;
  padding: 15px 16px 17px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  border: var(--pop-line) !important;
  border-radius: 17px !important;
  box-shadow: var(--pop-shadow) !important;
  color: var(--pop-ink) !important;
  text-align: center !important;
  isolation: isolate;
}

.main-card[data-service='seguidores'] { grid-column: 1 !important; background: var(--pop-pink-soft) !important; }
.main-card[data-service='likes'] { grid-column: 2 !important; background: var(--pop-yellow) !important; }
.main-card[data-service='vistas'] { grid-column: 3 !important; background: var(--pop-blue) !important; }

.main-card[data-service]::before,
.main-card[data-service]::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  pointer-events: none;
  z-index: -1;
}

.main-card[data-service]::before {
  top: 10px !important;
  right: 10px !important;
  width: 54px;
  height: 54px;
  opacity: .18;
  background: radial-gradient(var(--pop-ink) 1.7px, transparent 1.8px);
  background-size: 10px 10px;
}

.main-card[data-service]::after {
  left: 16px !important;
  bottom: 14px !important;
  width: 28px;
  height: 28px;
  border: var(--pop-line-sm);
  transform: rotate(14deg);
  opacity: .3;
}

.main-card .h-24 {
  display: flex !important;
  width: 100% !important;
  height: 142px !important;
  min-height: 142px !important;
  margin: 0 0 1px !important;
  align-items: center !important;
  justify-content: center !important;
}

.main-card .main-icon,
.main-card[data-service='seguidores'] .main-icon,
.main-card[data-service='likes'] .main-icon,
.main-card[data-service='vistas'] .main-icon {
  display: block !important;
  width: 154px !important;
  height: 154px !important;
  max-width: 58% !important;
  max-height: 154px !important;
  margin: -2px auto 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  filter: drop-shadow(3px 4px 0 rgba(17, 16, 21, .22)) !important;
}

.main-card[data-service='seguidores'] .main-icon {
  margin-bottom: 0 !important;
}

.main-card-title-image { display: none !important; }

.poster-card-title {
  display: block !important;
  margin: 2px 0 3px !important;
  color: var(--pop-ink) !important;
  font-family: var(--pop-display) !important;
  font-size: clamp(18px, 1.55vw, 24px) !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
  white-space: nowrap !important;
}

.main-card p {
  position: static !important;
  margin: 2px 0 4px !important;
  color: var(--pop-ink) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.main-card p br { display: none !important; }

.main-card > button {
  position: static !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex: 1 0 auto !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--pop-ink) !important;
}

.poster-price,
.poster-cta { display: block !important; }

.poster-price {
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.poster-cta {
  min-width: 142px;
  padding: 8px 16px 7px !important;
  border: var(--pop-line-sm) !important;
  border-radius: 8px !important;
  box-shadow: var(--pop-shadow-sm) !important;
  color: var(--pop-ink) !important;
  font-family: var(--pop-display) !important;
  font-size: 16px !important;
  line-height: 1 !important;
  transition: transform .15s ease, box-shadow .15s ease;
}

.main-card[data-service='seguidores'] .poster-cta { background: var(--pop-yellow) !important; }
.main-card[data-service='likes'] .poster-cta { background: var(--pop-blue) !important; }
.main-card[data-service='vistas'] .poster-cta { background: var(--pop-pink) !important; }

.main-card.clickable-card:hover { transform: translate(-2px, -2px) rotate(-.3deg) !important; }
.main-card.clickable-card:active { transform: translate(5px, 5px) !important; box-shadow: 3px 3px 0 var(--pop-ink) !important; }
.main-card.clickable-card:active .poster-cta { transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--pop-ink) !important; }

.home-coming-wrap {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  height: 150px !important;
  min-height: 150px !important;
  margin-top: 2px !important;
}

.home-coming-wrap .home-ads-card,
.home-ads-card {
  width: 100% !important;
  height: 150px !important;
  min-height: 150px !important;
  border: var(--pop-line) !important;
  border-radius: 13px !important;
  background: var(--pop-orange) !important;
  box-shadow: var(--pop-shadow) !important;
}

.home-ads-card::before,
.home-ads-card::after {
  content: '' !important;
  position: absolute !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 5 !important;
  height: 15px !important;
  background: repeating-linear-gradient(-45deg, var(--pop-ink) 0 10px, var(--pop-orange) 10px 20px) !important;
}

.home-ads-card::before { top: 0 !important; border-bottom: var(--pop-line-sm) !important; }
.home-ads-card::after { bottom: 0 !important; border-top: var(--pop-line-sm) !important; }

.home-ads-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: var(--pop-orange) !important;
}

.home-ads-badge {
  top: 21px !important;
  left: 15px !important;
  border: var(--pop-line-sm) !important;
  border-radius: 6px !important;
  background: var(--pop-yellow) !important;
  box-shadow: 3px 3px 0 var(--pop-ink) !important;
  color: var(--pop-ink) !important;
  font-weight: 900 !important;
}

.home-ads-empty-title {
  font-family: var(--pop-display) !important;
  text-transform: uppercase;
}

.left-rights {
  position: fixed !important;
  left: 50% !important;
  bottom: 12px !important;
  z-index: 80 !important;
  width: max-content !important;
  max-width: calc(100vw - 24px) !important;
  margin: 0 !important;
  padding: 5px 12px !important;
  transform: translateX(-50%) !important;
  border: var(--pop-line-sm) !important;
  border-radius: 999px !important;
  background: rgba(255, 249, 236, .92) !important;
  box-shadow: 3px 3px 0 var(--pop-ink) !important;
  color: var(--pop-ink) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

/* Floating actions and mobile HUD --------------------------------------- */
.floating-actions { gap: 12px !important; }

.action-btn,
.mobile-hud-btn,
.auth-avatar-btn,
.mobile-hud-avatar-btn {
  border: var(--pop-line-sm) !important;
  background: var(--pop-paper) !important;
  box-shadow: var(--pop-shadow-sm) !important;
  color: var(--pop-ink) !important;
}

.action-btn:nth-child(2) { background: var(--pop-yellow) !important; }
.action-btn.cart-action-btn,
.mobile-hud-btn-cart { background: var(--pop-coral) !important; }

.action-btn:hover,
.mobile-hud-btn:hover { transform: translate(-2px, -2px) !important; }

.cart-count-badge,
.mobile-hud-cart-badge {
  border: var(--pop-line-sm) !important;
  background: var(--pop-yellow) !important;
  color: var(--pop-ink) !important;
  font-weight: 900 !important;
}

.auth-user-menu,
.mobile-hud-auth-menu {
  border: var(--pop-line-sm) !important;
  background: var(--pop-paper) !important;
  box-shadow: var(--pop-shadow-sm) !important;
}

/* Shared modal poster frame -------------------------------------------- */
.service-modal-overlay {
  background: rgba(255, 63, 159, .42) !important;
  backdrop-filter: blur(5px) saturate(1.15) !important;
}

.service-modal,
.service-pricing-modal,
.auth-modal,
.orders-modal {
  border: var(--pop-line) !important;
  border-radius: 20px !important;
  background-color: var(--pop-paper) !important;
  box-shadow: 10px 10px 0 var(--pop-ink) !important;
}

.service-modal-title,
.service-options-title,
.admin-section-title,
.orders-filter-section-title,
.payment-title-note {
  color: var(--pop-ink) !important;
  font-family: var(--pop-display) !important;
}

.service-modal-head {
  min-height: 70px !important;
  border-bottom: var(--pop-line) !important;
  background: var(--pop-yellow) !important;
}

.service-modal-close,
.service-modal-back,
.modal-fancy-close,
.modal-fancy-back {
  border: var(--pop-line-sm) !important;
  border-radius: 9px !important;
  background: var(--pop-white) !important;
  box-shadow: var(--pop-shadow-sm) !important;
  color: var(--pop-ink) !important;
}

.service-modal-help,
.admin-history-btn,
.orders-filter-toggle {
  min-height: 42px !important;
  border: var(--pop-line-sm) !important;
  border-radius: 9px !important;
  background: var(--pop-yellow) !important;
  box-shadow: var(--pop-shadow-sm) !important;
  color: var(--pop-ink) !important;
  font-weight: 900 !important;
}

.sp-shell { background: var(--pop-paper) !important; }

.sp-sidebar {
  border-right: var(--pop-line) !important;
  background: var(--pop-ink) !important;
}

.sp-social-btn {
  border: var(--pop-line-sm) !important;
  border-color: var(--pop-paper) !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: var(--pop-paper) !important;
}

.sp-social-btn.active {
  border-color: var(--pop-ink) !important;
  background: var(--pop-pink) !important;
  box-shadow: 4px 4px 0 var(--pop-paper) !important;
  color: var(--pop-ink) !important;
}

.sp-social-icon { filter: saturate(.8) contrast(1.15) drop-shadow(2px 2px 0 rgba(0, 0, 0, .25)) !important; }

.service-option {
  border: var(--pop-line-sm) !important;
  border-radius: 13px !important;
  background: var(--pop-white) !important;
  box-shadow: 5px 5px 0 var(--pop-ink) !important;
}

.service-option:nth-child(2n) { transform: rotate(.25deg); }

.service-option-title-box {
  border: var(--pop-line-sm) !important;
  border-radius: 9px !important;
  background: var(--pop-blue-soft) !important;
}

.service-option[data-service='likes'] .service-option-title-box { background: var(--pop-pink-soft) !important; }
.service-option[data-service='vistas'] .service-option-title-box { background: var(--pop-yellow-soft) !important; }

.service-option-tag {
  border: var(--pop-line-sm) !important;
  border-radius: 999px !important;
  background: var(--pop-yellow) !important;
  color: var(--pop-ink) !important;
  font-family: var(--pop-display) !important;
}

.service-buy-btn,
.cart-bubble-checkout,
.payment-continue-btn,
.yape-btn,
.auth-submit-btn,
.auth-social-btn,
.admin-action-btn {
  min-height: 44px !important;
  border: var(--pop-line-sm) !important;
  border-radius: 10px !important;
  box-shadow: var(--pop-shadow-sm) !important;
  color: var(--pop-ink) !important;
  font-weight: 900 !important;
}

.service-buy-btn,
.cart-bubble-checkout,
.payment-continue-btn,
.yape-btn,
.auth-submit-btn { background: var(--pop-mint) !important; }

.auth-social-btn { background: var(--pop-white) !important; }

.service-buy-btn:active,
.cart-bubble-checkout:active,
.payment-continue-btn:active,
.yape-btn:active,
.auth-submit-btn:active,
.auth-social-btn:active,
.admin-action-btn:active {
  transform: translate(3px, 3px) !important;
  box-shadow: 1px 1px 0 var(--pop-ink) !important;
}

/* FAQ, drop information, payment and Yape ------------------------------ */
.faq-sections,
.drop-info-content { gap: 13px !important; }

.faq-item,
.drop-info-item,
.yape-step {
  border: var(--pop-line-sm) !important;
  border-radius: 13px !important;
  background: var(--pop-white) !important;
  box-shadow: var(--pop-shadow-sm) !important;
}

.faq-item:nth-child(3n + 1) { background: var(--pop-pink-soft) !important; }
.faq-item:nth-child(3n + 2) { background: var(--pop-blue-soft) !important; }
.faq-item:nth-child(3n) { background: var(--pop-yellow-soft) !important; }

.faq-question {
  color: var(--pop-ink) !important;
  font-family: var(--pop-display) !important;
}

.faq-answer {
  border-top: var(--pop-line-sm) !important;
  color: var(--pop-ink) !important;
}

.payment-methods { gap: 18px !important; }

.payment-card {
  border: var(--pop-line) !important;
  border-radius: 15px !important;
  background: var(--pop-white) !important;
  box-shadow: var(--pop-shadow-sm) !important;
}

.payment-card:nth-child(1) { background: var(--pop-pink-soft) !important; }
.payment-card:nth-child(2) { background: var(--pop-blue-soft) !important; }
.payment-card,
.payment-card p { color: var(--pop-ink) !important; }
.payment-card.selected {
  outline: 5px solid var(--pop-yellow) !important;
  transform: translate(-2px, -2px) rotate(-.35deg) !important;
}

.yape-qr,
.yape-upload {
  border: var(--pop-line-sm) !important;
  border-radius: 12px !important;
  background: var(--pop-white) !important;
  box-shadow: var(--pop-shadow-sm) !important;
}

.yape-input,
.auth-input,
.admin-ads-file {
  min-height: 46px !important;
  border: var(--pop-line-sm) !important;
  border-radius: 9px !important;
  background: var(--pop-white) !important;
  color: var(--pop-ink) !important;
  box-shadow: inset 3px 3px 0 rgba(17, 16, 21, .08) !important;
}

.payment-error,
.auth-error,
.yape-upload-error {
  color: #8c1018 !important;
  font-weight: 800 !important;
}

/* Authentication ------------------------------------------------------- */
.auth-modal::before {
  content: none !important;
  display: none !important;
}

.auth-modal-pop-badge { display: none !important; }

.auth-modal {
  max-height: none !important;
  overflow: visible !important;
}

#authOverlay .auth-form {
  border: var(--pop-line-sm) !important;
  border-radius: 15px !important;
  background: var(--pop-yellow-soft) !important;
  box-shadow: var(--pop-shadow-sm) !important;
}

.auth-label { color: var(--pop-ink) !important; font-weight: 900 !important; }
.auth-switch-btn { border: var(--pop-line-sm) !important; background: var(--pop-pink) !important; box-shadow: 3px 3px 0 var(--pop-ink) !important; }

/* Cart ----------------------------------------------------------------- */
.cart-backdrop.active { background: rgba(17, 16, 21, .38) !important; }

.cart-bubble {
  border: var(--pop-line) !important;
  border-radius: 18px !important;
  background: var(--pop-paper) !important;
  box-shadow: 10px 10px 0 var(--pop-ink) !important;
}

.cart-bubble-tail { border-color: var(--pop-ink) !important; }

.cart-bubble-header {
  border-bottom: var(--pop-line) !important;
  background: var(--pop-yellow) !important;
}

.cart-bubble-title,
.cart-bubble-total {
  color: var(--pop-ink) !important;
  font-family: var(--pop-display) !important;
}

.cart-item {
  border: var(--pop-line-sm) !important;
  border-radius: 12px !important;
  box-shadow: var(--pop-shadow-sm) !important;
}

.cart-item[data-service='seguidores'] { background: var(--pop-pink-soft) !important; }
.cart-item[data-service='likes'] { background: var(--pop-yellow-soft) !important; }
.cart-item[data-service='vistas'] { background: var(--pop-blue-soft) !important; }

.cart-item-remove { border: var(--pop-line-sm) !important; background: var(--pop-coral) !important; box-shadow: 3px 3px 0 var(--pop-ink) !important; }
.cart-item-qty-btn,
.cart-item-link-add-btn { border: var(--pop-line-sm) !important; background: var(--pop-white) !important; box-shadow: 3px 3px 0 var(--pop-ink) !important; }
.cart-bubble-footer { border-top: var(--pop-line) !important; background: var(--pop-white) !important; }
.cart-empty { border: var(--pop-line-sm) !important; background: var(--pop-blue-soft) !important; }

/* Orders and admin ----------------------------------------------------- */
.orders-filters,
.orders-filter-panel,
.admin-pin-gate,
.admin-section,
.order-card,
.orders-empty,
.admin-ads-item {
  border: var(--pop-line-sm) !important;
  border-radius: 13px !important;
  background: var(--pop-white) !important;
  box-shadow: var(--pop-shadow-sm) !important;
}

.orders-filter-panel { background: var(--pop-yellow-soft) !important; }
.orders-filter-check { border: var(--pop-line-sm) !important; background: var(--pop-white) !important; }
.orders-filter-check:has(input:checked) { background: var(--pop-pink) !important; }

.order-card:nth-child(4n + 1),
.admin-section:nth-child(4n + 1) { background: var(--pop-pink-soft) !important; }
.order-card:nth-child(4n + 2),
.admin-section:nth-child(4n + 2) { background: var(--pop-blue-soft) !important; }
.order-card:nth-child(4n + 3),
.admin-section:nth-child(4n + 3) { background: var(--pop-yellow-soft) !important; }

.order-status {
  border: var(--pop-line-sm) !important;
  border-radius: 999px !important;
  color: var(--pop-ink) !important;
  font-weight: 900 !important;
}

.order-status.completed { background: var(--pop-mint) !important; }
.order-status.pending { background: var(--pop-orange) !important; }
.order-status.canceled { background: var(--pop-coral) !important; }

.admin-action-approve { background: var(--pop-yellow) !important; }
.admin-action-send { background: var(--pop-mint) !important; }
.admin-action-reject { background: var(--pop-coral) !important; }
.admin-action-view { background: var(--pop-blue) !important; }

.admin-ads-thumb { border: var(--pop-line-sm) !important; border-radius: 9px !important; }

button:disabled,
[aria-disabled='true'] {
  filter: grayscale(.8) !important;
  opacity: .58 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

/* Responsive poster ---------------------------------------------------- */
@media (max-width: 980px) {
  body > main { width: min(760px, calc(100vw - 48px)) !important; }
  .home-poster-title { font-size: clamp(46px, 9vw, 78px) !important; }
  .home-main-grid { gap: 18px !important; }
  .main-card[data-service='seguidores'],
  .main-card[data-service='likes'],
  .main-card[data-service='vistas'] { height: 326px !important; min-height: 326px !important; }
  .poster-card-title { font-size: 17px !important; }
  .main-card p,
  .poster-price { font-size: 13px !important; }
  .poster-cta { min-width: 122px; font-size: 14px !important; }
}

@media (max-width: 720px) {
  body { background-attachment: scroll !important; }
  body > main { width: calc(100vw - 24px) !important; margin-top: 10px !important; padding-bottom: 118px !important; }
  body > main > header {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }
  .header-logo-lottie { display: none !important; }
  .header-auth { display: none !important; }
  .home-poster-title { margin: 2px auto 13px !important; font-size: clamp(28px, 8.3vw, 44px) !important; }

  .home-main-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .main-card[data-service='seguidores'] {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    height: 252px !important;
    min-height: 252px !important;
  }

  .main-card[data-service='likes'] {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .main-card[data-service='vistas'] {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .main-card[data-service='likes'],
  .main-card[data-service='vistas'] {
    height: 282px !important;
    min-height: 282px !important;
    padding-inline: 8px !important;
  }

  .main-card[data-service='seguidores'] .main-icon { width: 126px !important; height: 126px !important; }
  .main-card .h-24 { height: 116px !important; min-height: 116px !important; }
  .main-card .main-icon { width: 116px !important; height: 116px !important; max-width: 76% !important; }
  .poster-card-title { font-size: clamp(14px, 4vw, 18px) !important; }
  .main-card p { font-size: 12px !important; }
  .poster-price { font-size: 12px !important; }
  .poster-cta { min-width: 104px; padding: 7px 9px 6px !important; font-size: 12px !important; }

  .home-coming-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    height: 144px !important;
    min-height: 144px !important;
  }
  .home-coming-wrap .home-ads-card,
  .home-ads-card { height: 144px !important; min-height: 144px !important; }

  .left-rights { display: none !important; }
  .floating-actions { display: none !important; }
  .mobile-hud { border: var(--pop-line-sm) !important; background: var(--pop-paper) !important; box-shadow: 0 -5px 0 var(--pop-ink) !important; }

  .service-modal-overlay { padding: 12px !important; align-items: flex-end !important; }
  .service-modal,
  .service-pricing-modal,
  .auth-modal,
  .orders-modal {
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100dvh - 24px) !important;
    border-radius: 18px 18px 8px 8px !important;
    box-shadow: 6px 6px 0 var(--pop-ink) !important;
  }

  .auth-modal {
    max-height: calc(100dvh - 24px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .sp-shell { display: flex !important; flex-direction: column !important; }
  .sp-sidebar {
    width: 100% !important;
    padding: 10px !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    overflow-x: auto !important;
    border-right: 0 !important;
    border-bottom: var(--pop-line) !important;
  }
  .sp-social-btn { min-width: 96px !important; }
  .service-modal-options { grid-template-columns: 1fr !important; }
  .payment-methods { grid-template-columns: 1fr !important; }
  .cart-bubble {
    right: 12px !important;
    bottom: 92px !important;
    top: auto !important;
    width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 116px) !important;
  }
}

@media (max-width: 480px) {
  .home-poster-title { font-size: clamp(28px, 8.3vw, 38px) !important; letter-spacing: -.075em !important; }
  .main-card[data-service='likes'],
  .main-card[data-service='vistas'] { height: 264px !important; min-height: 264px !important; }
  .main-card p { white-space: normal !important; }
  .poster-card-title { white-space: normal !important; }
  .service-modal-overlay { padding: 6px !important; }
  .service-modal-head { min-height: 62px !important; }
  .service-modal-title { font-size: 19px !important; }
  .service-modal-help { min-height: 38px !important; padding-inline: 9px !important; }
  #authOverlay .auth-form { padding: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .main-card.clickable-card:hover,
  .payment-card.selected,
  .service-option:nth-child(2n) { transform: none !important; }
}
