/* ============================================================
   FOOTER — Footer-specific styles
   /assets/css/footer.css
============================================================ */
.footer-newsletter   { background: linear-gradient(135deg, var(--ocean,#0A4F6E) 0%, var(--ocean-d,#063348) 100%); padding: 3.5rem 0; }
.fn-inner            { display: flex; align-items: center; justify-content: space-between; gap: 2.5rem; flex-wrap: wrap; }
.fn-text h3          { color: #fff; font-size: 1.5rem; margin-bottom: .35rem; }
.fn-text p           { color: rgba(255,255,255,.72); font-size: .9rem; }
.fn-row              { display: flex; gap: .5rem; flex-wrap: wrap; }
.fn-row input        { padding: .8rem 1.375rem; border: 1px solid rgba(255,255,255,.2); border-radius: 9999px; background: rgba(255,255,255,.14); color: #fff; font-size: .875rem; width: 280px; outline: none; transition: background .15s; }
.fn-row input:focus  { background: rgba(255,255,255,.24); }
.fn-row input::placeholder { color: rgba(255,255,255,.5); }
.fn-note             { font-size: .72rem; color: rgba(255,255,255,.4); margin-top: .5rem; }

.footer-main         { background: #0A1E2D; padding: 4.5rem 0 2.5rem; }
.footer-grid         { display: grid; grid-template-columns: 1.65fr repeat(3,1fr); gap: 3.5rem; }

.fb-logo             { display: flex; align-items: center; gap: .65rem; margin-bottom: 1.25rem; text-decoration: none; }
.fb-logo-icon        { width: 44px; height: 44px; border-radius: 50%; background: var(--flame,#E8832A); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fb-logo-name        { font-family: var(--serif,'Playfair Display',serif); font-size: 1.1rem; font-weight: 700; color: #fff; line-height: 1.15; }
.fb-logo-sub         { font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.45); }
.fb-desc             { color: rgba(255,255,255,.6); font-size: .845rem; line-height: 1.8; margin-bottom: 1.25rem; }
.fb-contacts         { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1.25rem; }
.fb-contact-row      { display: flex; align-items: flex-start; gap: .5rem; font-size: .795rem; color: rgba(255,255,255,.6); }
.fb-contact-icon     { width: 18px; flex-shrink: 0; margin-top: .05em; }
.fb-contact-row a    { color: rgba(255,255,255,.6); transition: color .15s; }
.fb-contact-row a:hover { color: #fff; }
.fb-socials          { display: flex; gap: .5rem; flex-wrap: wrap; }
.fb-social-btn       { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.75); font-size: .78rem; font-weight: 700; text-decoration: none; transition: all .15s; }
.fb-social-btn:hover { background: var(--hover, var(--flame,#E8832A)); border-color: transparent; color: #fff; }
.fb-social-btn:focus-visible { outline: 2px solid var(--flame,#E8832A); outline-offset: 2px; }

.footer-col          { min-width: 0; }
.fc-heading          { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff; margin-bottom: 1.25rem; padding-bottom: .55rem; border-bottom: 2px solid var(--flame,#E8832A); display: inline-block; }
.fc-links            { display: flex; flex-direction: column; }
.fc-links a          { color: rgba(255,255,255,.58); font-size: .83rem; padding: .3rem 0; transition: all .15s; display: flex; align-items: center; gap: .35rem; }
.fc-links a::before  { content: '›'; color: var(--flame,#E8832A); font-size: .7rem; flex-shrink: 0; }
.fc-links a:hover    { color: #fff; padding-left: .35rem; }
.fc-services         { display: flex; flex-direction: column; gap: .1rem; margin-bottom: 1.25rem; }
.fc-service          { color: rgba(255,255,255,.58); font-size: .83rem; padding: .28rem 0; display: flex; align-items: center; gap: .35rem; }
.fc-service::before  { content: '✓'; color: var(--flame,#E8832A); font-size: .65rem; flex-shrink: 0; }
.fc-cert-label       { font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: .625rem; }
.fc-cert-badges      { display: flex; flex-wrap: wrap; gap: .4rem; }
.fc-cert-badge       { background: rgba(255,255,255,.09); color: rgba(255,255,255,.7); padding: .25rem .625rem; border-radius: 6px; font-size: .68rem; font-weight: 700; border: 1px solid rgba(255,255,255,.1); }

.footer-bottom-bar   { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.08); display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 1.5rem; }
.fbb-label           { font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.32); margin-bottom: .55rem; }
.fbb-payments        { display: flex; flex-wrap: wrap; gap: .4rem; }
.fbb-payment         { background: rgba(255,255,255,.07); color: rgba(255,255,255,.65); padding: .28rem .8rem; border-radius: 7px; font-size: .73rem; border: 1px solid rgba(255,255,255,.1); }
.fbb-trust           { display: flex; gap: .875rem; flex-wrap: wrap; }
.fbb-trust span      { font-size: .75rem; color: rgba(255,255,255,.55); }

.footer-copy         { background: #071318; padding: .9rem 0; }
.fc-copy-inner       { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem; font-size: .72rem; color: rgba(255,255,255,.32); }
.fc-copy-links       { display: flex; gap: 1.25rem; }
.fc-copy-links a     { color: rgba(255,255,255,.32); transition: color .15s; }
.fc-copy-links a:hover { color: rgba(255,255,255,.7); }

/* ── Footer responsive ── */
@media (max-width: 1024px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; } }
@media (max-width: 768px) {
  .footer-grid       { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .fn-inner          { flex-direction: column; align-items: flex-start; }
  .fn-row input      { width: 100%; }
  .fn-row            { width: 100%; flex-direction: column; }
  .fn-row .btn       { width: 100%; }
  .footer-bottom-bar { flex-direction: column; }
  .fc-copy-inner     { flex-direction: column; gap: .5rem; text-align: center; }
  .fc-copy-links     { justify-content: center; }
}
