/* Shared site information and affiliate disclosure */
.policy-links{display:flex;flex-wrap:wrap;gap:12px 22px;line-height:1.8}.policy-links a{text-decoration:underline;text-underline-offset:4px}.affiliate-notice{font-size:12px!important;line-height:1.9!important;color:#474b45!important;background:#fff!important;border:1px solid #d5d9cf;padding:12px 16px;margin:20px 0;letter-spacing:normal!important}footer .policy-links{flex-basis:100%;font-size:12px}body.info-page{margin:0;background:#f7f6ef;color:#243027;font:16px/1.95 system-ui,sans-serif}.info-page *{box-sizing:border-box}.info-page a{color:var(--accent);text-underline-offset:4px;overflow-wrap:anywhere}.info-page a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.info-header,.info-footer,.info-main{max-width:900px;margin:auto;padding:26px 28px}.info-header{border-bottom:1px solid #d6d9d0;display:flex;justify-content:space-between;gap:20px}.info-brand{font-weight:750;font-size:20px;text-decoration:none}.info-main{padding-top:50px;padding-bottom:60px}.info-kicker{font-size:11px;letter-spacing:.2em;color:var(--accent);font-weight:700}.info-page h1{font-size:clamp(25px,5vw,36px);line-height:1.5;margin:12px 0}.info-page h2{font-size:20px;margin:32px 0 10px;border-left:4px solid var(--accent);padding-left:14px}.info-card{background:#fff;border:1px solid #d6d9d0;border-radius:12px;padding:24px 32px;margin-top:28px}.info-card p{margin:12px 0}.info-date{font-size:13px;color:#5b655e}.info-footer{border-top:1px solid #d6d9d0;font-size:13px}.info-footer>p{margin-top:24px}.info-page dt{font-weight:700;margin-top:18px}.info-page dd{margin:4px 0 18px}.info-page .back-link{display:inline-block;margin-top:30px}@media(max-width:540px){.info-header,.info-footer,.info-main{padding-left:20px;padding-right:20px}.info-card{padding:18px}.info-header{font-size:13px}.policy-links{gap:10px 18px}}


/* Footer: identity and credit above the information links. */
body:not(.info-page) footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px 32px}
body:not(.info-page) footer>:first-child{grid-column:1;grid-row:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px}
body:not(.info-page) footer>span:first-child{display:block}
body:not(.info-page) footer>:first-child small{display:inline-block;margin:0 0 0 22px;font-size:11px;font-weight:400;white-space:nowrap}
body:not(.info-page) footer .footer-identity .brand{flex-shrink:0;white-space:nowrap}
body:not(.info-page) footer .footer-identity p{margin:0;font-size:11px;white-space:nowrap}
body:not(.info-page) footer>a[href="https://developers.rakuten.com/"]{grid-column:2;grid-row:1;width:auto;max-width:none;min-width:max-content;margin:0;white-space:nowrap;font-size:10px;line-height:1.8}
body:not(.info-page) footer .policy-links{grid-column:1 / -1;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:4px 26px;width:100%;padding-top:12px;border-top:1px solid currentColor}
body:not(.info-page) footer .policy-links a{font-size:11px;line-height:1.8;min-height:36px;max-width:none;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){body:not(.info-page) footer{grid-template-columns:minmax(0,1fr);gap:14px}body:not(.info-page) footer>:first-child{grid-column:1;grid-row:1;align-items:flex-start;gap:6px;flex-direction:column}body:not(.info-page) footer>:first-child small{display:block;margin:5px 0 0;font-size:10px}body:not(.info-page) footer .footer-identity p{font-size:10px}body:not(.info-page) footer .policy-links{grid-row:2;gap:0 20px;padding-top:10px}body:not(.info-page) footer .policy-links a{min-height:44px;font-size:11px}body:not(.info-page) footer>a[href="https://developers.rakuten.com/"]{grid-column:1;grid-row:3;justify-self:start;font-size:10px}}
