.site-footer { background-color: #1A1A1A; color: #CCCCCC; margin-top: auto; }
.site-footer .footer-inner { max-width: 1200px; margin: 0 auto; padding: 40px 16px 24px; }
.site-footer .footer-top { display: flex; flex-direction: column; gap: 32px; margin-bottom: 28px; }
.site-footer .footer-brand { }
.site-footer .footer-logo { font-size: 24px; font-weight: 900; color: #5A8A3C; margin-bottom: 8px; letter-spacing: -0.5px; }
.site-footer .footer-tagline { font-size: 13px; color: #888888; }
.site-footer .footer-cols { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.site-footer .footer-col { }
.site-footer .footer-col-heading { font-size: 13px; font-weight: 700; color: #FFFFFF; text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 12px; }
.site-footer .footer-links { display: flex; flex-direction: column; gap: 8px; }
.site-footer .footer-links a { font-size: 13px; color: #888888; text-decoration: none; transition: color 0.15s ease; }
.site-footer .footer-links a:hover { color: #5A8A3C; }
.site-footer .footer-social { display: flex; gap: 10px; margin-bottom: 24px; padding-top: 20px; border-top: 1px solid #333333; }
.site-footer .social-link { display: flex; align-items: center; justify-content: center; transition: opacity 0.15s ease; }
.site-footer .social-link:hover { opacity: 0.7; }
.site-footer .footer-bottom { border-top: 1px solid #333333; padding-top: 20px; }
.site-footer .footer-legal { font-size: 12px; color: #666666; line-height: 1.7; margin-bottom: 10px; }
.site-footer .footer-legal a { color: #888888; }
.site-footer .footer-legal a:hover { color: #5A8A3C; }
.site-footer .footer-copy { font-size: 12px; color: #555555; }
.site-footer .footer-logo-ca { color: #FFFFFF; font-weight: 400; }

/* ROC compliance elements */
.site-footer .footer-compliance { border-top: 1px solid #333333; padding: 16px 0; margin-bottom: 0; }
.site-footer .footer-compliance-logos { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-bottom: 10px; }
.site-footer .footer-age-badge { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; border: 2px solid #5A8A3C; font-size: 11px; font-weight: 900; color: #5A8A3C; flex-shrink: 0; }
.site-footer .footer-help-link { font-size: 12px; font-weight: 600; color: #888888; text-decoration: none; transition: color 0.15s ease; }
.site-footer .footer-help-link:hover { color: #5A8A3C; }
.site-footer .footer-camh-link { font-size: 12px; font-weight: 600; color: #888888; text-decoration: none; transition: color 0.15s ease; }
.site-footer .footer-camh-link:hover { color: #5A8A3C; }
.site-footer .footer-rg { font-size: 12px; color: #666666; line-height: 1.6; }
.site-footer .footer-rg a { color: #888888; }
.site-footer .footer-rg a:hover { color: #5A8A3C; }
.site-footer .footer-privacy { border-top: 1px solid #2A2A2A; padding: 12px 0; margin-bottom: 4px; }
.site-footer .footer-privacy-text { font-size: 11px; color: #555555; line-height: 1.65; }
.site-footer .footer-privacy-text a { color: #666666; }
.site-footer .footer-privacy-text a:hover { color: #5A8A3C; }

/* ROC Option A notice bar */
.roc-notice { background-color: #0F1A0F; border-bottom: 1px solid rgba(90,138,60,0.22); padding: 9px 16px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.roc-notice::before { content: ""; display: inline-block; width: 12px; height: 14px; flex-shrink: 0; background-repeat: no-repeat; background-size: contain; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 14' fill='none'%3E%3Cpath d='M6 1C3.8 1 2 2.8 2 5c0 3 4 8 4 8s4-5 4-8c0-2.2-1.8-4-4-4z' stroke='%235A8A3C' stroke-width='1.2' fill='rgba(90,138,60,0.18)'/%3E%3Ccircle cx='6' cy='5' r='1.5' fill='%235A8A3C'/%3E%3C/svg%3E"); }
.roc-notice-text { font-size: 11.5px; color: #B8C8B0; letter-spacing: 0.3px; font-weight: 500; }
.roc-notice-text .roc-place { color: #5A8A3C; font-weight: 700; }

/* RG disclaimer under tables */
.table-disclaimer { font-size: 11px; color: #888888; line-height: 1.6; margin-top: 12px; padding: 0 2px; }
.table-disclaimer a { color: #888888; text-decoration: underline; }
.table-disclaimer a:hover { color: #5A8A3C; }

@media (min-width: 768px) {
  .site-footer .footer-inner { padding: 48px 24px 32px; }
  .site-footer .footer-top { flex-direction: row; }
  .site-footer .footer-brand { flex-shrink: 0; max-width: 220px; }
  .site-footer .footer-cols { grid-template-columns: repeat(3, 1fr); flex: 1; }
}
