/* Accessible native dialog; its own scroll area keeps navigation available. */
dialog.store-policy-dialog {
  width: min(1080px, calc(100vw - 48px));
  max-width: none;
  max-height: min(850px, calc(100dvh - 48px));
  margin: auto;
  padding: 0;
  color: #173d32;
  border: 1px solid #c5cdbd;
  border-radius: 16px;
  background: #fffef9;
  box-shadow: 0 28px 90px #12281e40;
  overflow: hidden;
}
dialog.store-policy-dialog::backdrop { background: #10281fc4; backdrop-filter: blur(5px); }
.store-policy-dialog *, .store-policy-dialog *::before, .store-policy-dialog *::after { box-sizing: border-box; }
.store-policy-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 30px; border-bottom: 1px solid #e2e5da; }
.store-policy-top > div > span { font-size: 14px; font-weight: 700; letter-spacing: 2px; }
.store-policy-top p { margin: 4px 0 0; color: #6a776c; font-size: 9px; line-height: 1.5; letter-spacing: 1.4px; }
.store-policy-actions { display: flex; align-items: center; gap: 20px; }
.store-policy-dialog button { font: inherit; cursor: pointer; }
.store-policy-actions > button { background: transparent; border: 0; padding: 4px 0; font-size: 12px; color: #305443; }
.store-policy-actions > button.store-policy-close { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #d2d9cb; border-radius: 50%; padding: 0; font-size: 26px; font-weight: 300; }
.store-policy-layout { display: grid; grid-template-columns: 244px minmax(0,1fr); min-height: 0; }
.store-policy-menu { display: block; padding: 26px 16px; background: #f0f2e9; border-right: 1px solid #e2e5da; }
.store-policy-menu > p { margin: 0 10px 18px; color: #737d6c; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .7px; line-height: 1.7; }
.store-policy-menu > button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 14px 12px; border: 0; border-radius: 6px; background: transparent; color: #52634e; font-size: 12px; text-align: left; line-height: 1.6; }
.store-policy-menu > button + button { margin-top: 3px; }
.store-policy-menu > button > span:last-child { color: #8a936c; }
.store-policy-menu > button[aria-current] { background: #173d32; color: #fffef9; }
.store-policy-menu > button[aria-current] > span:last-child { color: #d5c590; }
.store-policy-menu > button:not([aria-current]):hover { background: #e3e8d9; }
.store-policy-content { max-height: min(753px, calc(100dvh - 145px)); min-width: 0; padding: 30px 38px 32px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.store-policy-heading { position: static; display: block; padding: 0; border: 0; box-shadow: none; background: transparent; }
.store-policy-kicker { display: inline-block; color: #7a764f; font-size: 10px; letter-spacing: .7px; font-weight: 500; line-height: 1.6; }
.store-policy-heading h2 { margin: 11px 0 10px; color: #173d32; font-size: clamp(25px,3vw,34px); font-weight: 500; line-height: 1.25; letter-spacing: -.7px; }
.store-policy-heading > p { margin: 0; min-width: 0; color: #617063; font-size: 14px; line-height: 1.8; }
.store-policy-context { margin: 24px 0 30px; padding: 17px 20px; border-left: 3px solid #baaa71; border-radius: 0 5px 5px 0; color: #686140; background: #f5f0dc; font-size: 12px; line-height: 1.8; }
.store-policy-article section { padding: 0; margin: 0; border: 0; }
.store-policy-article section + section { margin-top: 25px; }
.store-policy-article h3 { display: flex; align-items: baseline; gap: 12px; margin: 0 0 8px; color: #264935; font-size: 16px; line-height: 1.6; font-weight: 600; }
.store-policy-article h3 > span { color: #a79a6e; font-size: 10px; font-weight: 500; flex: 0 0 17px; }
.store-policy-article p, .store-policy-article ul { margin: 0 0 0 29px; min-width: 0; max-width: none; color: #5e6a60; font-size: 13px; line-height: 1.9; }
.store-policy-article ul { padding-left: 18px; }
.store-policy-article li + li { margin-top: 8px; }
.store-policy-contact { margin: 30px 0 20px; min-width: 0; padding-top: 19px; border-top: 1px solid #e2e5da; color: #79806e; font-size: 11px; line-height: 1.9; overflow-wrap: anywhere; }
.store-policy-done { display: flex; align-items: center; justify-content: space-between; gap: 50px; min-width: 150px; padding: 12px 19px; color: #fffef9; background: #173d32; border: 0; border-radius: 4px; font-size: 12px!important; }
.store-policy-done > span { color: #d5c590; }
.store-policy-dialog button:focus-visible, .store-policy-content:focus-visible { outline: 2px solid #b49547; outline-offset: 3px; }
.store-policy-heading h2:focus { outline: none; }
body:has(#storePolicies[open]) { overflow: hidden; }
@media(max-width:720px) {
  dialog.store-policy-dialog { width: calc(100vw - 22px); max-height: calc(100dvh - 22px); border-radius: 12px; }
  .store-policy-top { padding: 16px 18px; gap: 10px; }
  .store-policy-top > div > span { font-size: 12px; letter-spacing: 1.7px; }
  .store-policy-top p { font-size: 8px; }
  .store-policy-actions { gap: 13px; }
  .store-policy-actions > button.store-policy-close { width: 34px; height: 34px; }
  .store-policy-layout { display: block; }
  .store-policy-menu { display: flex; gap: 7px; max-width: 100%; padding: 12px 15px; border-right: 0; border-bottom: 1px solid #e2e5da; overflow-x: auto; overscroll-behavior-x: contain; }
  .store-policy-menu > p { display: none; }
  .store-policy-menu > button { flex: 0 0 auto; width: auto; padding: 9px 12px; font-size: 11px; border: 1px solid #d7ddcd; border-radius: 5px; white-space: nowrap; }
  .store-policy-menu > button + button { margin: 0; }
  .store-policy-menu > button > span:last-child { display: none; }
  .store-policy-content { max-height: calc(100dvh - 174px); padding: 24px 21px 26px; scrollbar-gutter: auto; }
  .store-policy-heading h2 { font-size: 28px; }
  .store-policy-heading > p { font-size: 13px; }
  .store-policy-context { margin: 21px 0 26px; padding: 13px 15px; font-size: 11px; }
  .store-policy-article h3 { font-size: 15px; gap: 9px; }
  .store-policy-article p, .store-policy-article ul { margin-left: 26px; font-size: 12px; line-height: 1.85; }
}
