/* Published store policies, including the delivery-rate grid maintained in the WP page. */
.bp-inner .bp-prose:has(> .bp-info-page) {
    --policy-line: #d5d5d5;
    max-width: 58rem;
    color: #181818;
}
.bp-inner .bp-prose:has(> :is(.bp-terms-page,.bp-privacy-page)) { max-width: 48rem; }
.bp-store .bp-prose:has(> .bp-info-page) > .bp-page-title {
    margin: 0 0 clamp(24px,4vw,42px);
    font-size: clamp(22px,2.6vw,36px); line-height: 1.4; font-weight: 500; letter-spacing: .025em;
}
.bp-inner .bp-info-page {
    font-size: 14px; line-height: 1.9; letter-spacing: .025em; overflow-wrap: anywhere; line-break: strict;
}
.bp-inner .bp-info-page__list { border-bottom: 1px solid var(--policy-line); }
.bp-inner .bp-info-page__row {
    display: grid; grid-template-columns: minmax(9rem, 28%) minmax(0, 1fr);
    column-gap: clamp(20px,3vw,44px); padding: 19px 0; border-top: 1px solid var(--policy-line);
}
.bp-inner .bp-info-page__row--wide { display: block; padding: clamp(22px,3vw,32px) 0; }
.bp-inner .bp-info-page__row > h3, .bp-inner .bp-info-page__content h4 {
    margin: 0; font-size: 14px; font-weight: 600; line-height: 1.65; letter-spacing: .025em;
}
.bp-inner .bp-info-page__row--wide > h3 { margin: 0 0 15px; font-size: clamp(17px,1.7vw,21px); }
.bp-inner .bp-info-page__header h2 { margin: 0 0 16px; font-size: 18px; font-weight: 500; }
.bp-inner .bp-info-page__content { min-width: 0; }
.bp-inner .bp-info-page__content h4 { margin: 26px 0 8px; }
.bp-inner .bp-info-page__content p { margin: 0 0 .8em; }
.bp-inner .bp-info-page__content :last-child { margin-bottom: 0; }
.bp-inner .bp-info-page__content p:empty { display: none; }
.bp-inner .bp-info-page__content :is(ol,ul) { margin: .6em 0 .9em; padding-inline-start: 1.65em; }
.bp-inner .bp-terms-page .bp-info-page__ordered { margin: 0; list-style: decimal; }
.bp-inner .bp-terms-page .bp-info-page__ordered > li { padding-inline-start: .3em; margin: 0 0 1em; }
.bp-inner .bp-info-page__content li::marker { font-variant-numeric: tabular-nums; }
.bp-inner .bp-info-page__content .bp-info-page__alpha { list-style-type: lower-alpha; }
.bp-inner .bp-shipping-jump { margin: -.35rem 0 22px; }
.bp-inner .bp-shipping-jump a {
    display: inline-flex; align-items: center; gap: 12px; min-height: 38px;
    color: #191919; font-size: 13px; text-decoration: underline; text-underline-offset: 4px;
}
.bp-inner #shipping-rates { scroll-margin-top: 6rem; }
.bp-inner .bp-table-scroll { max-width: 100%; overflow-x: auto; }
.bp-inner .bp-shipping-rates { width: 100%; min-width: 0; table-layout: fixed; border: 0; border-collapse: collapse; margin: 0; }
.bp-inner .bp-shipping-rates caption { padding: 0 0 9px; text-align: left; color: #444; font-size: 13px; }
.bp-inner .bp-shipping-rates :is(th,td) {
    padding: 10px 7px; border: 0; border-bottom: 1px solid var(--policy-line);
    text-align: right; vertical-align: middle; white-space: nowrap; font-size: 14px;
    line-height: 1.5; letter-spacing: 0; font-variant-numeric: tabular-nums;
}
.bp-inner .bp-shipping-rates thead th { background: #181818; color: #fff; font-size: 12px; font-weight: 500; }
.bp-inner .bp-shipping-rates tr > :first-child { text-align: left; padding-left: 10px; }
.bp-inner .bp-shipping-rates tr > :last-child { padding-right: 10px; }
.bp-inner .bp-shipping-rates tbody th { background: #fff; font-weight: 500; }
.bp-inner .bp-shipping-rates tbody td { background: #fff; color: #171717; }
.bp-inner .bp-info-page__content .bp-info-page__note { margin-top: 12px; color: #444; font-size: 12px; line-height: 1.75; }
@media (max-width: 700px) {
    .bp-inner .bp-info-page__row { display: block; padding: 15px 0; }
    .bp-inner .bp-info-page__row > h3 { margin-bottom: 5px; }
    .bp-inner .bp-info-page__row--wide { padding: 21px 0; }
    .bp-inner .bp-info-page__row--wide > h3 { margin-bottom: 12px; }
    .bp-inner .bp-shipping-rates :is(td,th) { padding: 9px 3px; font-size: 12px; }
    .bp-inner .bp-shipping-rates thead th { font-size: 11px; }
    .bp-inner .bp-shipping-rates tr > :first-child { padding-left: 5px; }
    .bp-inner .bp-shipping-rates tr > :last-child { padding-right: 5px; }
    .bp-inner .bp-info-page__content :is(ol,ul) { padding-inline-start: 1.4em; }
}

/* Shopping Info and store contact details. */
.bp-guide-nav {
    display: flex; flex-wrap: wrap; gap: 4px 22px;
    padding: 0 0 18px;
}
.bp-store .bp-guide-nav a, .bp-store .bp-contact-map-link {
    display: inline-flex; align-items: center; min-height: 40px; padding: 0 1px;
    color: #191919; font-size: 13px; text-decoration: underline; text-underline-offset: 4px;
}
.bp-shopping-guide .bp-info-page__row, .bp-contact-map { scroll-margin-top: 6rem; }
.bp-inner .bp-shopping-guide .bp-info-page__row > h3 { margin-bottom: 20px; }
.bp-inner .bp-shopping-guide .bp-info-page__content > h4:first-child { margin-top: 0; }
.bp-inner .bp-shopping-guide .bp-table-scroll { margin: 26px 0 5px; }
.bp-inner .bp-shopping-guide .bp-shipping-rates caption { color: #181818; font-size: 14px; font-weight: 600; }
.bp-inner .bp-shopping-guide .bp-info-page__content > p { max-width: 52rem; }
.bp-contact-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 34px; }
.bp-inner .bp-contact-block {
    border-top: 1px solid var(--policy-line); padding: 18px 0 20px;
}
.bp-inner .bp-contact-block h2 { margin: 0 0 18px; font: 500 13px/1.5 var(--bp-font); letter-spacing: .09em; }
.bp-inner .bp-contact-block p { margin: 0; }
.bp-inner .bp-contact-methods { display: grid; }
.bp-inner .bp-contact-method {
    display: grid; gap: 2px; padding: 10px 0 13px; color: #181818; text-decoration: none;
}
.bp-contact-method + .bp-contact-method { border-top: 1px solid var(--policy-line); }
.bp-contact-method span { font-size: 12px; color: #555; }
.bp-contact-method strong { font: 500 clamp(15px,1.5vw,19px)/1.5 var(--bp-font); letter-spacing: .01em; }
.bp-inner .bp-contact-block .bp-shop-name { margin-bottom: 6px; font-weight: 500; font-size: 18px; letter-spacing: .035em; }
.bp-contact-block address { margin: 0; font-style: normal; line-height: 1.85; }
.bp-contact-block address a { color: inherit; }
.bp-contact-map-link { gap: 10px; }
.bp-contact-page .bp-media-grid { clear: both; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 4px 0 16px; gap: 8px; }
.bp-contact-page .bp-media-grid img { aspect-ratio: 3/2; object-fit: cover; }
.bp-contact-map iframe { display: block; width: 100%; height: clamp(240px,36vw,400px); border: 0; }
.bp-contact-page p:empty { display: none; }
.bp-guide-nav a:focus-visible, .bp-contact-page a:focus-visible { outline: 2px solid #171717; outline-offset: 2px; }
@media (hover: hover) {
    .bp-contact-method:hover strong { text-decoration: underline; text-underline-offset: 4px; }
}
@media (max-width: 700px) {
    .bp-guide-nav { gap: 4px 17px; padding-bottom: 12px; }
    .bp-contact-columns { grid-template-columns: minmax(0,1fr); }
    .bp-inner .bp-contact-block { padding: 16px 0; }
    .bp-inner .bp-contact-block h2 { margin-bottom: 10px; }
    .bp-contact-page .bp-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
    .bp-contact-page .bp-media-grid > a:first-child { grid-column: 1 / -1; }
}
