/* Solehaven policy structure, scoped to Japanese Matcha across page type scales. */
@font-face{font-family:MatchaInter;src:url('/assets/brand-return/inter-medium.woff2') format('woff2');font-weight:500;font-display:swap}
body.jm-policy-page{margin:0;background:#fffaf0;color:#123a24}
body.jm-policy-page main{display:block;margin:0;padding:0;min-height:0}
.jm-policy-page .shopify-policy__container{box-sizing:border-box;max-width:768px;margin:0 auto;padding:64px 24px 80px;text-align:left;font:500 15px/1.75 MatchaInter,Arial,sans-serif;letter-spacing:normal}
.jm-policy-page .shopify-policy__title h1{margin:0 0 12px;text-align:center;font:500 38px/1.18 MatchaInter,Arial,sans-serif;letter-spacing:-1.2px;text-transform:none}
.jm-policy-page .jm-policy-date{margin:0 0 34px;text-align:center;font-size:11px;line-height:1.6;color:#526653}
.jm-policy-links{display:flex;justify-content:center;gap:8px 22px;flex-wrap:wrap;padding:0 0 30px;margin:0;border-bottom:1px solid #123a2433;font:500 12px/1.6 MatchaInter,Arial,sans-serif}
.jm-policy-links a{color:#123a24;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.jm-policy-links a[aria-current=page]{text-decoration-thickness:2px}
.jm-policy-content{color:#123a24;text-align:left;font:500 14px/1.75 MatchaInter,Arial,sans-serif;letter-spacing:normal;overflow-wrap:anywhere}
.jm-policy-content *{box-sizing:border-box}
.jm-policy-content .jm-policy-promise{padding:26px 0 22px;margin:0 0 30px;border-bottom:1px solid #123a2433}
.jm-policy-content h2,.jm-policy-content h3{margin:30px 0 12px;color:#123a24;font:600 18px/1.35 MatchaInter,Arial,sans-serif;letter-spacing:-.3px;text-transform:none}
.jm-policy-content .jm-policy-promise h2{margin-top:0;font-size:24px;line-height:1.25}
.jm-policy-content p,.jm-policy-content ul,.jm-policy-content ol{margin:0 0 14px;max-width:none;text-align:left;font:inherit;color:inherit}
.jm-policy-content ul,.jm-policy-content ol{display:block;padding-left:22px;list-style:disc}
.jm-policy-content li{display:list-item;padding:0;margin:0 0 12px;font:inherit;list-style:inherit}
.jm-policy-content strong{font-weight:700}
.jm-policy-content a{color:#123a24;text-decoration:underline;text-underline-offset:3px;word-break:break-word;border:0;font:inherit}
.jm-policy-content section{display:block;padding:0;margin:0;scroll-margin-top:20px}
.jm-policy-content .jm-policy-full{margin:0 0 24px;font-size:22px}
.jm-policy-contact{margin-top:36px;padding-top:24px;border-top:1px solid #123a2433;font:500 14px/1.75 MatchaInter,Arial,sans-serif}
html.jm-policy-root-open{overflow:hidden!important}
html.jm-policy-root-open.jm-policy-preserve-gutter{scrollbar-gutter:stable}
body.jm-policy-open{overflow:hidden!important}
dialog.jm-policy-sheet{box-sizing:border-box;position:fixed;inset:0;margin:auto;padding:0;border:0;width:calc(100% - 48px);max-width:680px;height:min(86dvh,840px);max-height:min(86dvh,840px);border-radius:18px;background:#fffaf0;color:#123a24;box-shadow:0 28px 80px #0f172e2e;overflow:hidden;text-align:left;font:500 14px/1.75 MatchaInter,Arial,sans-serif;opacity:1;transform:none;transition:transform 180ms cubic-bezier(.22,.7,.22,1),opacity 150ms ease}
dialog.jm-policy-sheet[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr)}
dialog.jm-policy-sheet[data-state=opening],dialog.jm-policy-sheet[data-state=closing]{opacity:0;transform:translateY(18px)}
dialog.jm-policy-sheet::backdrop{background:#1c1c1e6b;opacity:1;transition:opacity 150ms ease}
dialog.jm-policy-sheet[data-state=opening]::backdrop,dialog.jm-policy-sheet[data-state=closing]::backdrop{opacity:0}
.jm-policy-sheet .jm-policy-grabber{display:none;width:44px;height:5px;margin:10px auto 0;border-radius:999px;background:#123a2440}
.jm-policy-sheet .jm-policy-header{display:flex;align-items:center;justify-content:space-between;position:relative;gap:16px;min-height:72px;padding:16px 24px;margin:0;border-bottom:1px solid #123a2424;background:#fffaf0;color:#123a24}
.jm-policy-sheet .jm-policy-title{margin:0;padding:0;text-align:left;text-transform:none;font:500 19px/1.2 MatchaInter,Arial,sans-serif;letter-spacing:-.38px;color:#123a24}
.jm-policy-sheet .jm-policy-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:50%;box-shadow:none;background:transparent;color:#123a24;font:500 28px/1 MatchaInter,Arial,sans-serif;cursor:pointer;letter-spacing:0;text-transform:none}
.jm-policy-sheet .jm-policy-close:hover{background:#123a240d;transform:none}
.jm-policy-sheet .jm-policy-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:28px 24px 30px;-webkit-overflow-scrolling:touch;overflow-anchor:none}
.jm-policy-sheet .jm-policy-promise{padding-top:0}
.jm-policy-sheet .jm-policy-status{margin:0;font:500 14px/1.7 MatchaInter,Arial,sans-serif}
.jm-policy-sheet .jm-policy-placeholder{display:grid;gap:15px;margin:28px 0 12px;max-width:520px}
.jm-policy-sheet .jm-policy-placeholder span{display:block;height:9px;border-radius:2px;background:#123a240b}
.jm-policy-sheet .jm-policy-placeholder span:nth-child(3n){width:76%}
.jm-policy-sheet .jm-policy-placeholder span:first-child{width:60%;height:16px;margin-bottom:8px;background:#123a2412}
.jm-policy-sheet .jm-policy-page-link{display:inline-block;margin-top:22px;color:#123a24;font:500 12px/1.7 MatchaInter,Arial,sans-serif;text-decoration:underline;text-underline-offset:4px}
.jm-policy-sheet :is(a,button,[tabindex]):focus-visible,.jm-policy-page main a:focus-visible{outline:2px solid #123a24;outline-offset:4px}
.site-footer.jm-footer .jm-footer-policies{grid-column:1/-1;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 24px;width:100%;padding:20px 0 0;margin:0;border-top:1px solid #123a2433;font:500 11px/1.5 MatchaInter,Arial,sans-serif}
.site-footer.jm-footer .jm-footer-policies a{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:6px 0;border:0;color:#123a24;text-decoration:underline;text-underline-offset:4px;font:inherit}
.checkout-footer a[data-jm-policy]{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
@media(max-width:999px){dialog.jm-policy-sheet{inset:auto 0 0;margin:0;width:100%;max-width:none;height:88dvh;max-height:88dvh;border-radius:20px 20px 0 0}dialog.jm-policy-sheet[data-state=opening],dialog.jm-policy-sheet[data-state=closing]{transform:translateY(28px)}.jm-policy-sheet .jm-policy-grabber{display:block}.jm-policy-sheet .jm-policy-header{min-height:60px;padding:12px 20px}.jm-policy-sheet .jm-policy-scroll{padding:24px 20px max(30px,env(safe-area-inset-bottom))}.jm-policy-sheet .jm-policy-title{font-size:19px}}
@media(max-width:700px){.jm-policy-page .shopify-policy__container{padding:38px 22px 54px}.jm-policy-page .shopify-policy__title h1{font-size:32px;letter-spacing:-.8px}.jm-policy-page .jm-policy-date{margin-bottom:20px}.jm-policy-links{gap:0 20px;padding-bottom:16px}.jm-policy-content .jm-policy-promise h2{font-size:22px}.site-footer.jm-footer .jm-footer-policies{display:grid;grid-template-columns:1fr 1fr;justify-content:normal;gap:0 20px;padding:0;margin-top:16px;border-top:0}.site-footer.jm-footer .jm-footer-policies a{justify-content:flex-start;border-bottom:1px solid #123a2433;font-size:11px}}
@media(prefers-reduced-motion:reduce){dialog.jm-policy-sheet,dialog.jm-policy-sheet::backdrop{transition:none}dialog.jm-policy-sheet[data-state=opening],dialog.jm-policy-sheet[data-state=closing]{transform:none}}

.jm-policy-sheet .jm-policy-grabber{grid-row:1}.jm-policy-sheet .jm-policy-header{grid-row:2}.jm-policy-sheet .jm-policy-scroll{grid-row:3}
