/* ArteBianco Footer Premium v0.1.0 - scoped and reversible */
body.abfp-render #footer,
body.abfp-render #bottom-bar { display:none !important; }

.abfp-footer,
.abfp-footer * { box-sizing: border-box; }

.abfp-footer {
  position: relative;
  z-index: 1;
  width: 100%;
  color: #535760;
  background: #fff;
  border-top: 1px solid #ececef;
  font-family: inherit;
  text-align: center;
  padding: 0 22px 28px;
}
.abfp-brand-zone {
  padding: 34px 0 26px;
  max-width: 820px;
  margin: 0 auto;
}
.abfp-brand { display:flex; justify-content:center; align-items:center; min-height:28px; }
.abfp-brand img { display:block; width:auto; max-width:142px; max-height:35px; object-fit:contain; }
.abfp-name { font-size: 15px; font-weight:650; line-height:1.2; letter-spacing:.21em; color:#4a4d53; }
.abfp-point { color:#bd1469; }
.abfp-socials { display:flex; gap:18px; justify-content:center; align-items:center; margin:18px auto 0; }
.abfp-socials a, .abfp-social-placeholder { display:inline-flex; justify-content:center; align-items:center; width:34px; height:34px; color:#60646e; border-radius:50%; border:1px solid #e8e8eb; transition:all .18s ease; }
.abfp-socials a:hover { color:#bd1469; border-color:#bd1469; }
.abfp-socials a:focus-visible { outline:2px solid #bd1469; outline-offset:2px; }
.abfp-socials svg, .abfp-social-placeholder svg { width:17px; height:17px; }
.abfp-social-placeholder { opacity:.45; }
.abfp-payments { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; margin:15px auto 0; }
.abfp-pay { display:inline-flex; align-items:center; justify-content:center; width:47px; height:26px; border:1px solid #e5e5e8; border-radius:5px; background:#fff; }
.abfp-visa { font:bold italic 15px Arial,sans-serif; letter-spacing:-1px; color:#313c5c; }
.abfp-paypal { font:bold italic 18px Arial,sans-serif; color:#153f7d; }
.abfp-paypal span { margin-left:-4px; color:#2785b7; }
.abfp-mastercard { isolation:isolate; }
.abfp-mastercard i { width:15px; height:15px; border-radius:50%; display:block; background:#de352c; }
.abfp-mastercard i+i { background:#eeb42c; margin-left:-5px; opacity:.9; }
.abfp-legals { width:100%; max-width:1000px; border-top:1px solid #eeeeef; margin:0 auto; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
.abfp-legals__line { min-height:44px; display:flex; align-items:center; justify-content:center; width:max-content; min-width:100%; gap:11px; white-space:nowrap; padding:12px 2px 7px; }
.abfp-legals a { text-decoration:none; color:#777b83; font-size:11px; font-weight:400; line-height:1.6; }
.abfp-legals a:hover,.abfp-legals a:focus-visible { color:#bd1469; text-decoration:underline; }
.abfp-separator { color:#c2c5cb; font-size:11px; }
.abfp-copyright { margin: 3px auto 0; color:#a2a6ad; font-size:10px; line-height:1.5; }
.abfp-consent-mock { max-width:480px; margin:24px auto 0; padding:15px; border:1px dashed #ccc; border-radius:10px; background:#fafafa; }
.abfp-consent-mock p { font-size:11px; line-height:1.5; color:#555; margin:0 0 12px; }
.abfp-consent-mock div { display:flex; gap:8px; justify-content:center; }
.abfp-consent-mock button { flex:1; padding:9px 5px; font-size:12px; font-weight:600; color:#666; background:#fff; border:1px solid #bbb; border-radius:7px; opacity:1; cursor:not-allowed; }
@media (max-width:778px) {
  .abfp-footer { padding: 0 14px 85px !important; padding-bottom: calc(85px + env(safe-area-inset-bottom, 0px)) !important; }
  .abfp-brand-zone { padding-top:27px; padding-bottom:22px; }
  .abfp-brand img { max-height:29px; max-width:120px; }
  .abfp-socials { margin-top:15px; }
  .abfp-legals__line { justify-content:flex-start; min-width:max-content; gap:10px; padding-left:10px; padding-right:10px; }
  .abfp-legals a { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) { .abfp-socials a { transition:none; } }
/* Contenidos de las páginas legales importados por ArteBianco 0.3.0 */
.abfp-legal-copy { max-width:930px; margin:0 auto 50px; color:#3f434a; font:inherit; line-height:1.78; }
.abfp-legal-copy h2 { margin:16px 0 24px; font-size:clamp(23px,2.1vw,32px); line-height:1.25; font-weight:650; color:#30333a; letter-spacing:-.025em; }
.abfp-legal-copy h3 { margin:28px 0 10px; font-size:clamp(16px,1.25vw,19px); line-height:1.4; color:#363940; font-weight:650; }
.abfp-legal-copy p { margin:0 0 16px; }
.abfp-legal-copy ul { margin:12px 0 20px; padding-left:24px; }
.abfp-legal-copy li { margin:6px 0; }
.abfp-legal-copy a { text-decoration:underline; color:#a01b62; }
@media(max-width:778px) { .abfp-legal-copy { padding:0 4px 20px; font-size:15px; line-height:1.7; } }
