/* 1R ReStart — footer-components.css
 * Canonical order: foundations → layout/components → states/integrations → responsive.
 */


/* ==========================================================================
   FOOTER
   ========================================================================== */

.footer-widgets{display:grid;grid-template-columns:repeat(var(--r1-footer-columns,4),minmax(0,1fr));gap:var(--r1-column-gap);margin-bottom:28px;}

.footer-column{min-width:0;}

/* The payment area has no separator lines; widget and managed icons share this rule. */
.footer-payment{width:100%;padding:20px 0 24px;margin-bottom:24px;border:0;}

.footer-payment .payment-widget{width:100%;}

.footer-payment .wp-block-image,.footer-payment .wp-block-gallery{margin:0;}

.footer-payment img{display:inline-block;width:auto;max-width:100%;max-height:38px;object-fit:contain;}

.footer-payment .wp-block-gallery{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}


/* Footer widget navigation/list items should read as clean link rows, not
 * browser-default bulleted lists. Scope this reset to footer widgets only:
 * article lists and the rest of the site keep their own semantics/styles. */
.site-footer .footer-widgets ul,
.site-footer .footer-widgets ol{
  list-style:none;
  margin-inline-start:0;
  padding-inline-start:0;
}
.site-footer .footer-widgets li{
  list-style:none;
}
.site-footer .footer-widgets li::marker{content:"";}

/* All footer links share one decoration contract. Keep their configured
 * normal/hover colors in ThemeStyles; never underline the footer navigation,
 * widget links or copyright links (including keyboard focus). */
.site-footer a,
.site-footer a:visited,
.site-footer a:hover,
.site-footer a:focus,
.site-footer a:focus-visible{ text-decoration:none; }

/* ==========================================================================
   RESPONSIVE / CONDITIONAL
   ========================================================================== */

@media (max-width:640px){
.footer-payment img{max-height:32px;}
.footer-menu{margin-top:16px;flex-wrap:wrap;}
}

/* Payment systems: preserve original SVG artwork and its native aspect ratio.
 * The shared height is the visual baseline. For two compact marks we compensate
 * for icon-only silhouettes and (in SBP) excessive whitespace inside the SVG
 * viewBox. The originals are not modified, stretched or duplicated. */
.footer-payment--managed{min-width:0;}
.r1-payment-logos{display:flex;align-items:center;flex-wrap:wrap;gap:var(--r1-payment-gap,8px);min-width:0;}
.r1-payment-logos--left{justify-content:flex-start;}
.r1-payment-logos--center{justify-content:center;}
.r1-payment-logos--right{justify-content:flex-end;}
.r1-payment-logos .r1-payment-logo{
 position:relative;display:inline-flex;flex:0 0 auto;
 justify-content:center;align-items:center;min-width:0;max-width:100%;
 height:var(--r1-payment-height,20px);line-height:0;
}
.footer-payment .r1-payment-logos .r1-payment-logo img{
 display:block;flex:0 1 auto;min-width:0;width:auto;
 height:var(--r1-payment-height,20px);
 max-width:min(100%,calc(var(--r1-payment-height,20px) * 2.65));
 max-height:var(--r1-payment-height,20px);
 object-fit:contain;
}
/* Cash artwork is square. A 20% optical lift balances wide wordmarks. */
.r1-payment-logos .r1-payment-logo--cash{height:calc(var(--r1-payment-height,20px) * 1.20);}
.footer-payment .r1-payment-logos .r1-payment-logo--cash img{
 height:100%;max-height:100%;
 max-width:100%;
}
/* SBP uses only ~53% of its SVG viewBox width and ~65% of its height.
 * Scale the image inside an optical viewport to remove transparent margins;
 * the underlying vector and its proportions remain untouched. */
.r1-payment-logos .r1-payment-logo--sbp{
 height:calc(var(--r1-payment-height,20px) * 1.10);
 width:calc(var(--r1-payment-height,20px) * .92);
 overflow:hidden;
}
.footer-payment .r1-payment-logos .r1-payment-logo--sbp img{
 position:absolute;left:50%;top:50%;
 width:calc(var(--r1-payment-height,20px) * 1.65);
 height:calc(var(--r1-payment-height,20px) * 1.65);
 max-width:none;max-height:none;min-width:0;
 transform:translate(-50%,-50%);
}
