/* =====================================================================
   flf-footer.css — Footer nuevo de ferrolan.es (prefijo .flf)
   Solo se carga cuando el interruptor _partials/flf/_on.tpl está encendido.
   Restila el marcado original de ps_linklist, ps_customeraccountlinks y
   ps_socialfollow (cacheados por Smarty: no se tocan sus plantillas) y el
   marcado nuevo de ps_emailsubscription y ps_contactinfo.
   ===================================================================== */
html body footer#footer { background: #1c1c1a; color: #c4c4c0; padding: 0; }
html body .flf {
  --flf-primary: #c40731; --flf-ink: #1c1c1a; --flf-muted: #707072;
  --flf-d-txt: #c4c4c0; --flf-d-muted: #8f8f8b; --flf-d-line: rgba(255,255,255,.10);
  --flf-font: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  display: block; background: var(--flf-ink); font-family: var(--flf-font); color: var(--flf-d-txt);
  text-align: left; -webkit-font-smoothing: antialiased;
}
html body .flf *, html body .flf *::before, html body .flf *::after { box-sizing: border-box; }
html body .flf a { text-decoration: none; transition: color .15s, background-color .15s, border-color .15s; }
html body .flf p, html body .flf ul { margin: 0; padding: 0; }
html body .flf ul { list-style: none; }
html body .flf .flf-ico { width: 20px; height: 20px; fill: currentColor; flex: none; }
html body .flf .flf-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

/* ----------------------------------------------------- Newsletter */
html body .flf .flf-news { background: var(--flf-primary); color: #fff; }
html body .flf .flf-news__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); align-items: center; gap: 12px 28px; padding-top: 34px; padding-bottom: 34px; margin: 0 auto; font-size: inherit; }
html body .flf .flf-news__h { font-size: 23px; line-height: 1.2; font-weight: 700; letter-spacing: -.015em; color: #fff; margin-bottom: 4px; text-transform: none; }
html body .flf .flf-news__p { font-size: 14px; line-height: 1.45; color: rgba(255,255,255,.85); }
html body .flf .flf-news__form { margin: 0; }
html body .flf .flf-news__field { display: flex; align-items: center; background: #fff; border-radius: 999px; padding: 5px; box-shadow: 0 8px 24px rgba(0,0,0,.12); }
html body .flf .flf-news__field input[type=email] { flex: 1; min-width: 0; width: auto; height: 44px; line-height: 44px; border: 0; border-radius: 0; outline: 0; background: transparent; padding: 0 18px; margin: 0; font: 500 15px var(--flf-font); color: var(--flf-ink); box-shadow: none; }
html body .flf .flf-news__field input[type=email]::placeholder { color: var(--flf-muted); opacity: 1; }
html body .flf .flf-news__btn { flex: none; width: auto; height: 44px; line-height: 44px; padding: 0 24px; margin: 0; border: 0; border-radius: 999px; background: var(--flf-ink); color: #fff; font: 700 14px var(--flf-font); letter-spacing: .01em; cursor: pointer; float: none; text-transform: none; transition: background-color .15s, opacity .15s; }
html body .flf .flf-news__btn:hover { background: #000; color: #fff; }
html body .flf .flf-news__btn[disabled] { opacity: .55; cursor: not-allowed; }
html body .flf .flf-news__legal { margin-top: 12px; padding-left: 18px; font-size: 12px; line-height: 1.45; color: rgba(255,255,255,.88); }
html body .flf .flf-news__legal br { display: none; }
html body .flf .flf-news__legal a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
html body .flf .flf-news__legal .gdpr_consent { margin: 0; font-size: 12px; }
html body .flf .flf-news__legal .psgdpr_consent_message { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 0; font-size: 12px; font-weight: 500; color: inherit; cursor: pointer; position: relative; }
html body .flf .flf-news__legal .custom-checkbox { display: block; position: relative; }
html body .flf .flf-news__legal .custom-checkbox input[type=checkbox] { position: absolute; left: 0; top: 0; opacity: 0; width: 18px; height: 18px; margin: 0; cursor: pointer; z-index: 1; }
html body .flf .flf-news__legal .custom-checkbox input + span { flex: none; position: relative; width: 18px; height: 18px; margin: 0; border: 1.5px solid rgba(255,255,255,.75); border-radius: 5px; background: transparent; display: inline-flex; align-items: center; justify-content: center; }
html body .flf .flf-news__legal .custom-checkbox input + span .checkbox-checked { display: none; font-size: 14px; color: var(--flf-primary); margin: 0; }
html body .flf .flf-news__legal .custom-checkbox input:checked + span { background: #fff; border-color: #fff; }
html body .flf .flf-news__legal .custom-checkbox input:checked + span .checkbox-checked { display: block; }
html body .flf .flf-news__legal .custom-checkbox input:focus-visible + span { outline: 2px solid #fff; outline-offset: 2px; }
html body .flf .flf-news p.alert, html body .flf .flf-news p.alert.block_newsletter_alert { width: auto; margin: 0 0 10px; padding: 10px 16px; border: 0; border-radius: 12px; font-size: 13px; font-weight: 600; background: #fff; color: var(--flf-ink); }
html body .flf .flf-news p.alert-danger { color: var(--flf-primary); }

/* ----------------------------------------------------- Bloque principal */
html body .flf .flf-main { background: var(--flf-ink); }
html body .flf .flf-grid { display: grid; grid-template-columns: .9fr 2fr 1fr 1.3fr; gap: 40px 44px; padding-top: 56px; padding-bottom: 48px; }
/* marcado original de ps_linklist / ps_customeraccountlinks */
/* ojo: #block_myaccount_infos también lleva la clase .links (y .wrapper) */
html body .flf .flf-grid > .links:not(.wrapper), html body .flf .flf-grid > .links:not(.wrapper) > .row { display: contents; }
html body .flf .flf-grid > *:not(.links):not(.flf-col) { grid-column: 1 / -1; margin-top: -40px; }
html body .flf .flf-grid .wrapper { width: auto; max-width: none; flex: none; float: none; padding: 0; margin: 0; border: 0; position: static; min-width: 0; }
html body .flf .flf-grid .wrapper p.h3, html body .flf .flf-h { display: flex; align-items: center; justify-content: space-between; margin: 0 0 18px; padding: 0; font-family: var(--flf-font); font-size: 15px; line-height: 1.3; font-weight: 700; letter-spacing: -.01em; color: #fff; text-transform: none; }
html body .flf .flf-grid .wrapper p.h3 a { color: inherit; font: inherit; }
html body .flf .flf-grid .wrapper .title { display: none; }
html body .flf .flf-grid .wrapper ul { display: block; height: auto; visibility: visible; margin: 0; padding: 0; }
html body .flf .flf-grid .wrapper li { margin: 0; padding: 0; }
html body .flf .flf-grid .wrapper li a { display: inline-block; padding: 5px 0; font-family: var(--flf-font); font-size: 14px; line-height: 1.45; font-weight: 500; color: var(--flf-d-txt); }
html body .flf .flf-grid .wrapper li a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--flf-primary); }
html body .flf .flf-grid > .links > .row > .wrapper:nth-child(2) ul { columns: 2; column-gap: 24px; }
html body .flf .flf-grid > .links > .row > .wrapper:nth-child(2) li { break-inside: avoid; }
/* "Descuentos" no está implementado */
html body .flf #footer_account_list li:has(> a[href*="/descuento"]), html body .flf #footer_account_list a[href*="/descuento"] { display: none; }

/* contacto (marcado nuevo de ps_contactinfo) */
html body .flf .flf-contact { display: flex; flex-direction: column; gap: 16px; }
html body .flf .flf-contact__row { display: flex; align-items: flex-start; gap: 12px; margin: 0; font-size: 14px; line-height: 1.55; color: var(--flf-d-txt); }
html body .flf .flf-contact__row .flf-ico { margin-top: 1px; fill: var(--flf-d-muted); transition: fill .15s; }
html body .flf .flf-contact__row strong { display: block; color: #fff; font-weight: 700; }
html body .flf .flf-contact__row small { display: block; font-size: 12px; color: var(--flf-d-muted); font-weight: 500; }
html body .flf a.flf-contact__row:hover { color: #fff; }
html body .flf a.flf-contact__row:hover .flf-ico { fill: var(--flf-primary); }
html body .flf .flf-contact__tel span { font-size: 18px; font-weight: 700; color: #fff; letter-spacing: -.01em; line-height: 1.3; }
html body .flf .flf-contact__tel small { letter-spacing: 0; }
html body .flf .flf-btn { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; height: 42px; padding: 0 20px; border: 1.5px solid rgba(255,255,255,.28); border-radius: 999px; color: #fff; font-size: 14px; font-weight: 700; }
html body .flf .flf-btn .flf-ico { width: 18px; height: 18px; transition: transform .15s; }
html body .flf .flf-btn:hover { background: #fff; border-color: #fff; color: var(--flf-ink); }
html body .flf .flf-btn:hover .flf-ico { transform: translateX(3px); }

/* ----------------------------------------------------- Barra inferior */
html body .flf .flf-bottom { border-top: 1px solid var(--flf-d-line); }
html body .flf .flf-bottom__in { display: flex; align-items: center; gap: 16px 32px; padding-top: 22px; padding-bottom: 22px; }
html body .flf .flf-copy { font-size: 13px; color: var(--flf-d-muted); }
html body .flf .flf-bottom .links { display: block; width: auto; max-width: none; flex: none; float: none; padding: 0; margin: 0 auto; }
html body .flf .flf-bottom .links .row { display: block; margin: 0; }
html body .flf .flf-bottom .links .wrapper { width: auto; max-width: none; flex: none; float: none; padding: 0; margin: 0; border: 0; }
html body .flf .flf-bottom .links .wrapper .h3, html body .flf .flf-bottom .links .wrapper .title { display: none; }
html body .flf .flf-bottom .links .wrapper ul { display: flex !important; flex-wrap: wrap; gap: 4px 22px; height: auto; margin: 0; padding: 0; }
html body .flf .flf-bottom .links .wrapper ul li::after { display: none; }
html body .flf .flf-bottom .links .wrapper ul a { font-family: var(--flf-font); font-size: 13px; font-weight: 500; color: var(--flf-d-txt); padding: 0; }
html body .flf .flf-bottom .links .wrapper ul a:hover { color: #fff; }
html body .flf .flf-bottom .block-social { width: auto; max-width: none; flex: none; float: none; padding: 0; margin: 0; }
html body .flf .flf-bottom .block-social .h3 { display: none; }
html body .flf .flf-bottom .block-social ul { display: flex; gap: 8px; margin: 0; padding: 0; text-align: left; }
html body .flf .flf-bottom .block-social li { display: block; padding: 0; margin: 0; width: auto; height: auto; }
html body .flf .flf-bottom .block-social li a { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.08); color: #fff; font-size: 0; padding: 0; border: 0; }
html body .flf .flf-bottom .block-social li a:hover { background: var(--flf-primary); color: #fff; }
html body .flf .flf-bottom .block-social li a::before, html body .flf .flf-bottom .block-social li a:hover::before { content: ""; display: block; position: static; top: auto; width: 18px; height: 18px; font-size: 0; background: #fff; -webkit-mask: var(--flf-soc) center / contain no-repeat; mask: var(--flf-soc) center / contain no-repeat; }
html body .flf .flf-bottom .block-social li a.icon-facebook { --flf-soc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 13.5h2.5l1-4H14v-2c0-1.03 0-2 2-2h1.5V2.14C17.17 2.1 15.94 2 14.64 2 11.93 2 10 3.66 10 6.7v2.8H7v4h3V22h4z'/%3E%3C/svg%3E"); }
html body .flf .flf-bottom .block-social li a.icon-twitter { --flf-soc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.75 3h3.07l-6.7 7.66L22 21h-6.17l-4.83-6.32L5.47 21H2.4l7.17-8.2L2 3h6.33l4.37 5.78zm-1.08 16.17h1.7L7.4 4.74H5.58z'/%3E%3C/svg%3E"); }
html body .flf .flf-bottom .block-social li a.icon-instagram { --flf-soc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.1' fill='black' stroke='none'/%3E%3C/svg%3E"); }

/* ----------------------------------------------------- Tablet */
@media (max-width: 1100px) {
  html body .flf .flf-news__in { grid-template-columns: 1fr; }
  html body .flf .flf-grid { grid-template-columns: 1fr 1.6fr 1fr; }
  html body .flf .flf-col--contact { grid-column: 1 / -1; }
  html body .flf .flf-col--contact .flf-contact { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 16px 40px; }
  html body .flf .flf-col--contact .flf-btn { margin-top: 0; }
  html body .flf .flf-bottom__in { flex-wrap: wrap; }
  html body .flf .flf-bottom .links { margin: 0; }
  html body .flf .flf-bottom .block-social { margin-left: auto; }
  html body .flf .flf-copy { order: 3; width: 100%; }
}

/* ----------------------------------------------------- Móvil (acordeones con JS propio: .flf-open) */
@media (max-width: 767px) {
  html body .flf .flf-wrap { padding: 0 16px; }
  html body .flf .flf-news__in { gap: 16px; padding-top: 28px; padding-bottom: 28px; }
  html body .flf .flf-news__h { font-size: 21px; }
  html body .flf .flf-news__field input[type=email] { padding: 0 14px; font-size: 14px; }
  html body .flf .flf-news__btn { padding: 0 18px; }
  html body .flf .flf-news__legal { padding-left: 4px; }

  html body .flf .flf-grid { grid-template-columns: 1fr; gap: 0; padding-top: 8px; padding-bottom: 8px; }
  html body .flf .flf-col--contact { order: -1; grid-column: auto; padding: 24px 0 28px; border-bottom: 1px solid var(--flf-d-line); }
  html body .flf .flf-col--contact .flf-contact { flex-direction: column; align-items: stretch; gap: 14px; }
  html body .flf .flf-col--contact .flf-btn { justify-content: center; align-self: stretch; }
  html body .flf .flf-grid .wrapper { border-bottom: 1px solid var(--flf-d-line); }
  html body .flf .flf-grid .wrapper p.h3 { display: none; }
  html body .flf .flf-grid .wrapper .title::before, html body .flf .flf-grid .wrapper .title::after { display: none; }
  html body .flf .flf-grid .wrapper .title { display: flex; align-items: center; justify-content: space-between; margin: 0; padding: 18px 0; cursor: pointer; user-select: none; }
  html body .flf .flf-grid .wrapper .title .h3 { margin: 0; font-family: var(--flf-font); font-size: 15px; font-weight: 700; letter-spacing: -.01em; color: #fff; text-transform: none; }
  html body .flf #block_myaccount_infos .title .h3 { font-size: 0; }
  html body .flf #block_myaccount_infos .title .h3::before { content: "Mi cuenta"; font-size: 15px; }
  html body .flf .flf-grid .wrapper .title .float-xs-right { float: none; display: flex; }
  html body .flf .flf-grid .wrapper .title .navbar-toggler { padding: 0; border: 0; display: flex; }
  html body .flf .flf-grid .wrapper .title .material-icons { color: var(--flf-d-muted); font-size: 24px; transition: transform .2s; }
  html body .flf .flf-grid .wrapper .title .collapse-icons .add { display: block; }
  html body .flf .flf-grid .wrapper .title .collapse-icons .remove { display: none; }
  html body .flf .flf-grid .wrapper.flf-open .title .collapse-icons .add { transform: rotate(180deg); }
  html body .flf .flf-grid .wrapper ul { display: none !important; padding-bottom: 14px; }
  html body .flf .flf-grid .wrapper.flf-open ul { display: block !important; }
  html body .flf .flf-grid > *:not(.links):not(.flf-col) { margin-top: 0; }
  html body .flf .flf-grid > .links > .row > .wrapper:nth-child(2) ul { columns: 1; }
  html body .flf .flf-grid .wrapper li a { padding: 7px 0; }

  html body .flf .flf-bottom__in { flex-direction: column; align-items: center; text-align: center; padding-top: 24px; padding-bottom: 24px; }
  html body .flf .flf-bottom .links { margin: 0; }
  html body .flf .flf-bottom .links .wrapper { border: 0; }
  html body .flf .flf-bottom .links .wrapper ul { justify-content: center; }
  html body .flf .flf-bottom .block-social { margin: 0; }
  html body .flf .flf-copy { order: 3; font-size: 12px; }
}
