/* Aura Bloom 1.3.0 — reference-style desktop footer + compact mobile accordion footer. */
.abf-footer, .abf-footer * { box-sizing: border-box; }
.abf-footer {
  --abf-bg:#fcebed; --abf-text:#23252b; --abf-muted:#6b6166;
  --abf-accent:#e96280; --abf-border:#f1d8dd;
  display:block; width:100%; max-width:none; margin:0; padding:0;
  background:var(--abf-bg); color:var(--abf-text);
  font:14px/1.45 Arial,Helvetica,sans-serif; text-align:left; border:0;
}
.abf-footer a { color:inherit; text-decoration:none; }
.abf-footer .abf-inner { width:100%; max-width:1280px; margin:0 auto; padding:0 26px; }
.abf-footer .abf-logo { display:block; width:215px; max-width:100%; height:auto; }
.abf-footer .abf-brand-type { display:flex; flex-direction:column; gap:3px; }
.abf-footer .abf-brand-type strong { font:normal 34px Georgia,serif; color:var(--abf-text); }
.abf-footer .abf-brand-type small { font-size:9px; letter-spacing:.22em; }
.abf-footer .abf-social { display:flex; align-items:center; gap:13px; margin:0; padding:0; }
.abf-footer .abf-social-link {
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; color:var(--abf-text); background:none; border:0;
}
.abf-footer a.abf-social-link:hover,
.abf-footer a.abf-social-link:focus-visible,
.abf-footer .abf-link-list a:hover,
.abf-footer .abf-link-list a:focus-visible,
.abf-footer .abf-legal a:hover,
.abf-footer .abf-legal a:focus-visible { color:var(--abf-accent); }
.abf-footer .abf-social-icon { display:block; width:18px; height:18px; flex:0 0 18px; }
.abf-footer .abf-link-list,
.abf-footer .abf-menu-links,
.abf-footer .abf-legal .abf-link-list { list-style:none; margin:0; padding:0; }
.abf-footer .abf-payment-badge {
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:28px; padding:2px; border-radius:4px;
  background:#fff; color:#111; border:1px solid rgba(17,17,17,.06);
}
.abf-footer .abf-visa { color:#16439b; font:900 italic 16px/1 Arial,sans-serif; letter-spacing:-1px; }
.abf-footer .abf-mc { width:35px; height:21px; }
.abf-footer .abf-payment-amex { background:#1877d3; }
.abf-footer .abf-amex { color:#fff; font:900 8px/1.05 Arial,sans-serif; text-align:center; letter-spacing:-.3px; }
.abf-footer .abf-paypal { color:#073e91; font:italic 900 12px/1 Arial,sans-serif; letter-spacing:-.6px; }
.abf-footer .abf-paypal span { color:#20a4d6; }
.abf-footer .abf-applepay { display:flex; align-items:center; gap:0; color:#111; font:700 12px/1 Arial,sans-serif; }
.abf-footer .abf-applepay svg { width:15px; height:15px; }
.abf-footer .abf-gpay { display:flex; align-items:center; gap:1px; font:600 11px/1 Arial,sans-serif; color:#555; }
.abf-footer .abf-gpay strong { font:700 16px/1 Arial,sans-serif; color:#4285f4; letter-spacing:-1.1px; }
.abf-footer a:focus-visible, .abf-footer summary:focus-visible { outline:2px solid var(--abf-accent); outline-offset:2px; }

/* Desktop reference layout */
.abf-footer .abf-mobile-layout { display:none; }
.abf-footer .abf-desktop-layout { display:block; padding:10px 0 6px; }
.abf-footer .abf-desktop-grid {
  display:grid; grid-template-columns: 1.25fr .72fr .84fr .94fr .9fr .88fr 1.18fr;
  gap:0; align-items:start; border-bottom:1px solid var(--abf-border);
}
.abf-footer .abf-desktop-col {
  padding:10px 18px 11px; min-height:109px; border-right:1px solid var(--abf-border);
}
.abf-footer .abf-desktop-col:last-child { border-right:0; padding-right:0; }
.abf-footer .abf-col-intro { padding-left:0; }
.abf-footer .abf-desktop-heading {
  margin:0 0 7px; font-size:12px; line-height:1.2; font-weight:700; color:var(--abf-text);
}
.abf-footer .abf-intro {
  margin:8px 0 11px; max-width:178px; font-size:10.5px; line-height:1.42; color:var(--abf-muted);
}
.abf-footer .abf-desktop-col .abf-link-list li { margin:0 0 3px; }
.abf-footer .abf-desktop-col .abf-link-list li:last-child { margin-bottom:0; }
.abf-footer .abf-desktop-col .abf-link-list a,
.abf-footer .abf-desktop-col .abf-link-list span {
  font-size:10.5px; line-height:1.42; color:var(--abf-muted);
}
.abf-footer .abf-col-utility .abf-download-note {
  margin:0 0 7px; font-size:10px; line-height:1.35; color:var(--abf-muted);
}
.abf-footer .abf-store-badges { display:flex; gap:7px; flex-wrap:wrap; margin:0 0 9px; }
.abf-footer .abf-store-badge {
  display:inline-flex; align-items:center; gap:6px; min-width:85px; height:28px;
  padding:4px 7px; border-radius:5px; background:#111; color:#fff;
}
.abf-footer .abf-store-icon { display:inline-flex; align-items:center; justify-content:center; min-width:13px; font-size:13px; line-height:1; }
.abf-footer .abf-store-copy { display:flex; flex-direction:column; line-height:1; }
.abf-footer .abf-store-copy small { font-size:7px; opacity:.84; }
.abf-footer .abf-store-copy strong { font-size:10px; font-weight:700; }
.abf-footer .abf-secure-heading { margin-top:2px; }
.abf-footer .abf-payments { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.abf-footer .abf-desktop-bottom {
  display:flex; justify-content:space-between; align-items:center; gap:16px; padding:5px 0 0;
}
.abf-footer .abf-copyright { margin:0; font-size:9px; line-height:1.35; color:var(--abf-muted); }
.abf-footer .abf-legal .abf-link-list { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.abf-footer .abf-legal .abf-link-list li { position:relative; }
.abf-footer .abf-legal .abf-link-list li + li::before {
  content:''; position:absolute; left:-4px; top:50%; width:1px; height:9px;
  transform:translateY(-50%); background:var(--abf-border);
}
.abf-footer .abf-legal .abf-link-list a,
.abf-footer .abf-legal .abf-link-list span { font-size:9px; line-height:1.2; color:var(--abf-muted); }

/* Slightly tighter desktop scaling */
@media (min-width:768px) and (max-width:1150px) {
  .abf-footer .abf-inner { padding:0 18px; }
  .abf-footer .abf-desktop-grid { grid-template-columns: 1.18fr .74fr .84fr .92fr .88fr .86fr 1.06fr; }
  .abf-footer .abf-desktop-col { padding-left:12px; padding-right:12px; }
  .abf-footer .abf-logo { width:185px; }
  .abf-footer .abf-intro { max-width:150px; }
}

/* Mobile reference layout */
@media (max-width:767px) {
  .abf-footer { font-size:11px; }
  .abf-footer .abf-inner { padding:3px 15px 7px; }
  .abf-footer .abf-desktop-layout { display:none; }
  .abf-footer .abf-mobile-layout { display:block; }
  .abf-footer .abf-brand-row {
    display:flex; align-items:center; justify-content:space-between; gap:4px;
    min-height:33px; padding:1px 0 3px; border-bottom:1px solid var(--abf-border);
  }
  .abf-footer .abf-logo { width:125px; max-height:28px; }
  .abf-footer .abf-social { gap:clamp(9px,4.5vw,18px); }
  .abf-footer .abf-social-link { width:21px; height:22px; padding:1px; }
  .abf-footer .abf-menu-grid { display:block; padding:0; }
  .abf-footer details.abf-menu { display:block; border-bottom:1px solid var(--abf-border); }
  .abf-footer details.abf-menu:last-child { border-bottom:0; }
  .abf-footer .abf-menu-heading {
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    list-style:none; cursor:pointer; min-height:20px; padding:1px 1px 1px 0;
    margin:0; font-size:10.5px; line-height:18px; font-weight:700;
  }
  .abf-footer .abf-menu-heading::-webkit-details-marker { display:none; }
  .abf-footer .abf-menu-heading::marker { display:none; content:''; }
  .abf-footer .abf-chevron { display:block; width:16px; height:16px; transition:transform .2s ease; }
  .abf-footer details[open] .abf-chevron { transform:rotate(180deg); }
  .abf-footer .abf-menu-links { display:block; padding:2px 0 9px 5px; }
  .abf-footer .abf-menu-links li { margin:0 0 5px; }
  .abf-footer .abf-menu-links a,
  .abf-footer .abf-menu-links span { font-size:10.5px; line-height:1.35; color:var(--abf-muted); }
  .abf-footer .abf-bottom {
    display:flex; justify-content:space-between; align-items:center; gap:6px;
    min-height:32px; padding:4px 0 0; flex-wrap:nowrap;
  }
  .abf-footer .abf-copyright {
    font-size:clamp(8px,2.2vw,9px); letter-spacing:-.22px; line-height:1.25;
    white-space:nowrap; flex:1 1 auto; min-width:0;
  }
  .abf-footer .abf-payments { gap:3px; min-width:0; flex:0 1 auto; }
  .abf-footer .abf-payment-badge {
    width:clamp(27px,8.6vw,35px); height:24px; padding:1px; border-radius:4px; flex:0 1 auto;
  }
  .abf-footer .abf-visa { font-size:13px; letter-spacing:-.7px; }
  .abf-footer .abf-mc { width:27px; height:19px; }
  .abf-footer .abf-amex { font-size:6px; }
  .abf-footer .abf-paypal { font-size:9px; }
  .abf-footer .abf-applepay { font-size:9px; }
  .abf-footer .abf-applepay svg { width:12px; height:13px; }
  .abf-footer .abf-gpay { font-size:9px; }
  .abf-footer .abf-gpay strong { font-size:14px; letter-spacing:-.5px; }
}

@media (max-width:365px) {
  .abf-footer .abf-inner { padding-left:10px; padding-right:10px; }
  .abf-footer .abf-logo { width:114px; }
  .abf-footer .abf-brand-row { gap:2px; }
  .abf-footer .abf-social { gap:clamp(5px,3vw,11px); }
  .abf-footer .abf-social-link { width:20px; }
  .abf-footer .abf-copyright { font-size:8px; white-space:normal; }
  .abf-footer .abf-payment-badge { width:clamp(26px,8vw,29px); }
}
