/* Shop Navbar */
#navbar[data-color="yellow"],
#navbar.scrolled[data-color="yellow"],
#buyHeader[data-color="yellow"]
{
  --page-background: var(--brand-yellow);
  --text: var(--screen-black);
  background: var(--brand-yellow);
  color: var(--screen-black);
}

li#nav-buy .cart-checkout
{
    display: contents;
}

li#nav-buy a#cart-button
{
    display: contents;
}

li#nav-buy
{
    gap: .275em;
}

.cart-checkout-button
{
    color: inherit;
    font: inherit;
    display: contents;
}

li#nav-buy #cart-count
{
    display: inline-grid;
    place-items: center;
    place-content: center;
    position: relative;
    height: 1.5em;
    width: 1.3em;
    font-size: .75em;
    padding: .2em 0 0 0;
    margin: 0;
}

li#nav-buy #cart-count:before
{
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: inline-block;
    width: 100%;
    height: 100%;
    -webkit-mask-image: url("../images/shop/toolbar-icon-shop.db93115521cc.svg");
    -webkit-mask-size: contain;
    -webkit-mask-position: 50% 50%;
    -webkit-mask-repeat: no-repeat;
    background-color: var(--white);
}

li#nav-buy:before, li#nav-buy a:after
{
    display: none;
}

body
{
  background-color: var(--page-background);
  /* color: var(--foreground); */
}

main
{
  background-color: var(--page-background);
}

#buyHeader
{
  background-color: var(--brand-yellow);
  text-align: center;
  padding: 0.5em 0;
}

#buyHeader em
{
  font-style: italic;
}

#buyHeader h1
{
  margin-bottom: 0;
  font-size: 2.4em;
  line-height: 1;
}

#buyHeader h2
{
  text-align: center;
  font-size: 1.35em;
  line-height: 1;
  font-weight: 500;
}

p.disclaimer
{
  font-size: 0.7em;
  line-height: 1.2;
  margin: 1em auto;
  text-align: center;
  color: #9e7300;
  color: #6f5001;
}

ul
{
  font-size: inherit;
}

nav.breadcrumb
{
    max-width: 100rem;
    font-size: 0.75em;
    margin: 0 auto;
    display: block;
    text-align: left;
}

nav.breadcrumb ul
{
    list-style: none;
    padding: 0;
    display: contents;
}

nav.breadcrumb li
{
    display: inline-block;
}

nav.breadcrumb a
{
    text-decoration: none;
}

nav.breadcrumb a:hover
{
    text-decoration: underline;
}

nav.breadcrumb li ul::before
{
    content: ">";
    color: var(--subtle);
    
    /* content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    
    background-color: var(--subtle);
    -webkit-mask-position: 100% 50%;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-image: url("../images/shop/pager-next.07cbb5de3467.svg");
    transform: rotate(-90deg); */
}

.shop-items
{
  max-width: 90rem;
  display: grid;
  grid-template-columns: auto;
  justify-items: stretch;
  padding: 0;
  column-gap: 1em;
  row-gap: .5em;
}

.shop-items.single
{
    padding: 1em;
}

.shop-item
{
  display: grid;
  grid-template-columns: auto;
  column-gap: 1em;
  row-gap: .5em;
  border-radius: .4em;
  place-content: stretch;
  align-items: start;
  padding: 1em;
  margin: .5em 0;
}

.shop-item.major:nth-child(even)
{
  background: var(--card-bg);
}

@media screen and (min-width: 580px)
{
    
    .shop-items
    {
        grid-template-columns: auto auto;
    }
    
    .shop-item.major
    {
        grid-column: span 2;
        grid-template-columns: auto auto;
    }
    
    .shop-item-name,
    .shop-item-price,
    .shop-item-action,
    .shop-item-details,
    .shop-item-description,
    .shop-item-shipping,
    .shop-item-footer
    {
      grid-column: 1;
    }
    
    .major .shop-item-name,
    .major .shop-item-price,
    .major .shop-item-action,
    .major .shop-item-details,
    .major .shop-item-description,
    .major .shop-item-shipping,
    .major .shop-item-footer
    {
      grid-column: 2;
      margin: 0;
    }
    
    .major.shop-item:nth-child(even) .shop-item-name,
    .major.shop-item:nth-child(even) .shop-item-price,
    .major.shop-item:nth-child(even) .shop-item-action,
    .major.shop-item:nth-child(even) .shop-item-details,
    .major.shop-item:nth-child(even) .shop-item-description,
    .major.shop-item:nth-child(even) .shop-item-shipping,
    .major.shop-item:nth-child(even) .shop-item-footer
    {
      grid-column: 1;
    }
    
    .major.shop-item:nth-child(even) .shop-item-gallery
    {
      grid-column: 2;
      grid-row: 1 / span 7;
      margin: 0;
    }
    
    .minor.shop-item
    {
      grid-template-columns: auto;
      padding: 0;
      margin: 0;
      padding: 0;
    }
    
    .minor .shop-item-name,
    .minor .shop-item-price,
    .minor .shop-item-action,
    .minor .shop-item-details,
    .minor .shop-item-description,
    .minor .shop-item-shipping,
    .minor .shop-item-footer
    {
      padding: 0 1em;
    }
}

.shop-item-action
{
  display: grid;
  grid-template-column: auto 1fr;
}

.shop-item-name
{
  font-weight: 700;
  font-size: 2em;
  line-height: 1;
  margin: 0;
}

.shop-item-name a
{
    text-decoration: none;
}

.minor .shop-item-name
{
  font-size: 1.3em;
  line-height: 1;
}

.shop-item-price
{
  font-size: 1.65em;
  line-height: 1;
  margin: 0.25em 0;
  font-weight: 300;
}

.minor .shop-item-price
{
  font-size: 1.5em;
  line-height: 1;
}

.compare-price,
.cart-item-compare-price,
.cart-compare-price
{
  text-decoration: line-through;
  margin-right: 0.15em;
  flex: auto 0 0;
  color: var(--subtle);
}

.currency
{
  margin-left: 0.15em;
  color: var(--subtle);
}

.shop-item-price,
.shop-item-action
{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  justify-items: flex-start;
  width: 100%;
  margin: 0;
}

.shop-item-action
{
    flex-wrap: wrap;
    gap: 0.25em;
}

.shop-item-variant
{
  flex: auto 0 0;
  background: var(--white);
  border: 0.1em solid var(--subtle);
  border-radius: 0.4em;
  padding: 0.05em 0.3em 0.1em 0.3em;
  display: flex;
  align-items: center;
  margin: 0;
}

.shop-item-variant select
{
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  background: inherit;
  padding-right: 1.25em;
  margin-right: -1em;
  cursor: pointer;
}

.shop-item-variant::after
{
  pointer-events: none;
  display: block;
  content: "";
  position: relative;
  top: 0.15em;
  height: 1em;
  width: 1em;
  background-color: var(--subtle);
  -webkit-mask-position: 100% 50%;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-image: url("../images/shop/pager-next.07cbb5de3467.svg");
}

.shop-item-cart-button
{
  flex: auto 1 1;
  margin: 0;
}

.shop-item-description,
.shop-item-details,
.shop-item-shipping,
.shop-item-footer
{
  margin: 0;
}

.shop-item-description :first-child,
.shop-item-details :first-child,
.shop-item-shipping :last-child,
.shop-item-footer :last-child
{
    margin-top: 0;
}

.shop-item-description :last-child,
.shop-item-details :last-child,
.shop-item-shipping :last-child,
.shop-item-footer :last-child
{
    margin-bottom: 0;
}

@media screen and (min-width: 580px)
{
    .shop-item-description
    {
      font-size: 0.85em;
    }
    
    .shop-item-details,
    .shop-item-shipping,
    .shop-item-footer
    {
      font-size: 0.7em;
    }
}

.shop-item-details ul
{
  margin: 0 0 1em 1em;
  padding: 0;
}

.shop-item-gallery
{
  grid-column: 1;
  grid-row: 1 / span 7;
  margin: 0;
}

/* Single item page */

.single-item .single .shop-item
{
  background: var(--card-bg);
}

.single-item .single .shop-item-gallery
{
    width: 100%;
    display: grid;
    font-size: 1.5rem;
}
    .single-item .single .gallery-header
    {
        height: 60rem;    
        width: 100%;
    }
    .single-item .single .gallery-images
    {
        max-width: 100%;
        margin: 1em;
    }
.single-item .single .shop-item-details,
.single-item .single .shop-item-shipping
{
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.single-item .shop-items.related
{
    grid-template-columns: auto auto auto;
    grid-gap: 1em;
    background: var(--card-bg);
    max-width: unset;
    padding: 5rem calc(50vw - 45rem);
}

.related .shop-item
{
    padding: 0;
}

.related .related-items-header
{
    grid-column: 1 / span 3;
    margin: 0;
    font-size: 1.75em;
}

.related .gallery-header
{
    height: calc(28.5rem - .5em);
    width: calc(28.5rem - .5em);
}

.related .shop-item-name a::after
{
    content: "";
    display: block;
    width: 100%;
    height: 80rem;
    background: transparent;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 200;
}

.related .shop-item-price
{
    font-size: 1.25em;
}


@media screen and (min-width: 580px)
{
    .shop-item-gallery
    {
        justify-self: start;
    }
    
    .related .shop-item-name a::after
    {
        height: calc(28.5rem - .5em);
    }
    
}

.shop-item-shipping
{
    
}

.shop-item-footer
{
  margin: 1em 0;
}

.shop-item-footer a
{
  display: block;
}

.gallery-header
{
  font-size: 1em;
  height: 80rem;
  position: relative;
  color: transparent;
  margin: 0;
  line-height: 1;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat:  no-repeat;
  overflow: hidden;
  border-radius: 0.4em;
}

.gallery-header a::after
{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top:0;
    left:0;
}

.gallery-images
{
  display: grid;
  grid-template-columns: repeat(auto-fit, 13.5rem);
  grid-gap: 1rem;
  list-style: none;
  margin: .5em auto;
  padding: 0;
  place-content: center;
  max-width: 80rem;
}

.gallery-image
{
  margin: 0;
  padding: 0;
  height: 13.5rem;
  width: 13.5rem;
  color: transparent;
  position: relative;
  background-size: contain;
  background-position: 50% 50%;
  background-repeat:  no-repeat;
  overflow: hidden;
  border-radius: 0.4rem;
  cursor: pointer;
}

@media screen and (min-width: 580px)
{
    .gallery-header
    {
        height: calc(45rem - .5em);
        width: calc(45rem - .5em);
    }
    .gallery-images
    {
        grid-template-columns: repeat(auto-fit, 6.75rem);
        max-width: calc(45rem - .5em);
    }
    .gallery-image
    {
        height: 6.75rem;
        width: 6.75rem;
    }
    .related .gallery-header
    {
        height: calc(28.5rem - .5em);
        width: calc(28.5rem - .5em);
    }
}

.gallery-image a::after
{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#zoom-container
{
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  background: rgba(0,0,0,0.75);
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  transition: 250ms opacity ease;
}

#zoom-container #zoomed-image
{
  display: block;
  width: 100vw;
  height: 100vh;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  max-width: 100vw;
  max-height: 100vh;
  transform: scale(0);
  transition: 500ms transform ease;
  cursor: pointer;
}

body.zoomed
{
  overflow: hidden;
  pointer-events: none;
}

body.zoomed #zoom-container
{
  opacity: 1;
  pointer-events: all;
  position: fixed;
  z-index: 101011;
}

body.zoomed #zoom-container #zoomed-image
{
  transform: scale(1);
}


div.checkout-button
{
  background-color: var(--purple);
  color: var(--white);
}

button.add-to-cart,
a.cart-button
{
  -webkit-appearance: none;
  -moz-appearance: none;
  -appearance: none;
  border-radius: 1em;
  border: 0.1em solid var(--purple);
  background-color: var(--purple);
  color: var(--white);
  text-transform: none;
  letter-spacing: inherit;
  padding: 0.15em 0.5em 0.25em 0.5em;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  margin: 0 auto;
}

/* ! Outside stores */



.outside-store-link section
{
    --card-bg: #37393d; /* CB gray */
    --text: white;
    
    margin: 3em auto;
    padding-left: 7em;    
    
    background-image: url("../images/shop/shop-outside-store-link-cb-1.71213771d85b.png");
    background-size: contain;
    background-repeat: no-repeat;
}
    .outside-store-link,
    .outside-store-link *
    {
        text-decoration: none !important;
    }
    .outside-store-link section strong
    {
        color: var(--brand-yellow);
    }
    .outside-store-link section em
    {
        display: inline-block;
        background: var(--brand-yellow);
        color: var(--card-bg);
        border-radius: .5em;
        width: 1em;
        height: 1em;
        line-height: .8em;
        text-align: center;
    }

/* ! Policies and Help */

.policies
{
  display: grid;
  grid-template-columns: auto auto auto;
  max-width: 100rem;
  align-items: start;
  margin: 6rem auto 4rem auto;
  font-size: 0.8em;
}

.policy
{
  display: grid;
  text-align: center;
}

.policyTitle
{
  margin: 0.5em auto;
  font-weight: 700;
}

.policy::before
{
  content: "";
  height: 2.4em;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  background: var(--subtle);
}

.policyDetails
{
  margin: 0 1em 2em 1em;
  line-height: 1.2em;
}

.policy.cancel::before
{
  -webkit-mask-image: url("../images/calendar.1c8836bff0b0.svg");
}

.policy.warranty::before
{
  -webkit-mask-image: url("../images/high-five.475a119d4542.svg");
  -webkit-mask-size: auto 100%;
}

.policy.shipping::before
{
  -webkit-mask-image: url("../images/plane.f4be2c521e6c.svg");
}

#buyHelp
{
  text-align: center;
  margin: 0 auto;
}

.button
{
  background-color: var(--button-bg);
  color: var(--button-text);
  font-size: 1em;
  text-transform: unset;
  letter-spacing: unset;
  white-space: unset;
  font-style: normal;
  display: block;
  width: max-content;
  border-radius: 1em;
}

.button::before
{
  content: "";
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
}

#buyHelp .button
{
  margin-bottom: 0;
  background-color: var(--purple);
  color: var(--white);
  position: relative;
}

#buyHelp .button::before
{
    top: 0.15em;
      margin-right: 0.25em;
      -webkit-mask-image: url("../images/toolbar-icon-help.b1ee519a9db6.svg");
      -webkit-mask-size: 1em;
      -webkit-mask-position: 0% 50%;
      -webkit-mask-repeat: no-repeat;
      background-color: var(--brand-yellow);
}

#buyHelp .button a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
}

/* Cart */

.cart
{
    margin: 1em auto;
    display: grid;
    position: relative;
    
    border-radius: 0.5em;
    background-color: var(--card-bg);
    padding: 1em 1em 0 1em;
}

.cart-empty
{
    display: grid;
    place-items: center;
    padding: 1em 1em 2em 1em;
}

.cart-items
{
    display: grid;
    width: 100%;
    margin: 0 auto;
}

.cart-item,
.cart-row
{
    display: contents;
}

.cart-row dt,
.cart-row dd
{
    margin: 0;
    padding: 0.25em;
    border-bottom: 0.1rem solid var(--subtle);
    gap: 0.5em;
}

.cart-item dt
{
    display: none;
}

.cart-item:first-child dt
{
    display: block;
    align-content: center;
    align-self: baseline;
    grid-row: 1;
    text-transform: uppercase;
    font-size: 0.75em;
    font-weight: 700;
    border-bottom: 0.2rem solid var(--subtle);
    padding-bottom: 0.5em;
}

dd.cart-item-description::before
{
    display: block;
    content: "";
    height: 1.75em;
    width: 1.75em;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.cart-item-quantity
{
    display: flex;
    align-items: center;
    text-align: right;
    justify-content: end;
}

.quantity
{
}

.quantity-actions
{
    display: flex;
    flex-direction: row;
    gap: 0.125em;
    padding: 0;
}

.cart-item-add,
.cart-item-remove
{   
    font-size: .75em;
    border: 0;
    background: var(--bright);
    color: var(--white);
    border-radius: 100%;
    font-weight: bold;
    width: 1em;
    height: 1em;
    line-height: 1;
    padding: 0.1em 0 0.2em 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
}

.cart-item-add
{
    background: var(--aqua);
    order: 2

}
.cart-item-remove
{
    background: var(--red);
    order: 1;
}

form.remove-promo
{
    display: contents;
}

.cart-item-promo-remove,
.cart-promo-remove
{
    font-size: .75em;
    border: 0;
    width: 1em;
    height: 1em;
    overflow: hidden;
    line-height: 1;
    padding: 0.1em;
    margin: 0;
    display: inline-block;
    cursor: pointer;
    top: 0.3em;
    position: relative;
    
    color: transparent;
    -webkit-mask-image: url("../images/shop/close-button.c23f1ca9caa0.svg");
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    background-color: var(--bright);
}

.cart-item-description
{
    display: flex;
    align-items: center;
    gap: 0.35em;
}

.cart-item-description a
{
    text-decoration: none;
}

.cart-item-price
{
    flex-wrap: wrap
}

.cart-item-price,
dd.cart-subtotal,
dd.cart-tax
{
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 0.15em;
}

.ghost-price
{
    color: var(--subtle);
}

dt.cart-subtotal,
dt.cart-discounts,
dt.cart-tax
{
    grid-column-end: span 2;
    text-align: right;
    border: 0;
}

dd.cart-subtotal,
dd.cart-discounts,
dd.cart-tax
{
    border: 0;
}

dd.cart-discounts
{
    display: flex;
    align-items: center;
    justify-content: end;
}

.title
{
    display: flex;
    flex-direction: column;
    align-items: end;
}

.cart-item-compare-price,
.cart-compare-price
{
    order: 2;
    flex: 0 1 auto;
    margin-right: 0;
}

.cart-item-total,
.cart-total
{
    order: 1;
    flex: 0 1 auto;
}

.cart-item-discount-title,
.cart-discount-title
{
    font-size: 0.6em;
    order: 3;
    flex: 0 1 auto;
    display: flex;
    align-items: start;
    justify-content: end;
    color: var(--bright);
    gap: 0.15em;
}

.cart-item-discount-title
{
    flex: 0 0 100%;
}

.cart-discount-title
{
    align-self: center;
}

dt.cart-item-price
{
    text-align: right;
}

dd.cart-discount
{
    display: flex;
    align-self: center;
    justify-self: center;
}

.cart-item-discount-title::before,
.cart-discount-title::before
{
    content: "";
    width: 1em;
    height: 1em;
    display: inline-block;
    background-color: currentcolor;
    top: 0.125em;
    position: relative;
    
    -webkit-mask-position: 50% 50%;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-image: url("../images/shop/tag.478f63ed68ac.svg");
}

.cart-promocode
{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
    padding: 1em 0;
    margin: 0;
}

.cart-promocode form
{
    display: contents;
}

.cart-promocode label
{
    text-transform: uppercase;
    font-size: 0.7em;
    font-weight: 500;
    flex: 0 0 auto;
}

.cart-promocode input.promocode
{
    font-family: monospace;
    text-transform: uppercase;
    padding: 0.25em 0.5em;
    margin: 0;
    flex: 0 1 auto;
    font-size: 0.7em;
}

.cart-promocode button
{
    padding: 0.5em;
    margin: 0;
    font-size: 0.625em;
    line-height: 1;
    text-transform: uppercase;
    font-weight: bold;
    background: var(--button-bg);
    color: var(--button-text);
    align-self: center;
    border-radius: 1em;
}

.cart-actions .button::before
{
    display: none;
}

.cart-actions
{
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    column-gap: 0.5em;
    margin: 0;
}

div.button
{
    padding: 0.25em 0.75em;
}

.cart-actions div.button,
.actions .button,
menu.actions a.action,
a.action,
button.action
{
    border-radius: 1em;
}

.cart-actions div.button.back,
.actions .button.back,
div.button.back
{
    background-color: var(--button-text);
    color: var(--button-bg);
    border: 0.2rem solid var(--button-bg);
}

/* Checkout Form */

.checkout
{
    display: grid;
    padding: 0.5em;
    gap: 0.5em;
    max-width: 110rem;
    margin: 0 auto;
}

@media (min-width: 640px)
{
    .checkout
    {
        grid-template-columns: 1fr auto;
    }
    
    .order-summary
    {
        font-size: 0.7em;
        order: 2;
    }
    
    .checkout-step
    {
        order: 1;
    }
}

.order-receipt
{
    display: block;
    padding: 1em;
    max-width: 90rem;
    margin: 1em auto;
    background-color: var(--card-bg);
    border-radius: 0.5em;
}   

.order-receipt h2
{
    margin: 0;
}

.order-summary
{
    margin: 0;
    display: grid;
    gap: 0.5em;
    align-content: start;
    max-width: unset;
}

.order-summary .cart
{
    margin: 0;
    padding: 1em;
}

.order-summary .cart-items
{
    max-width: unset;
}

.order-summary .cart .cart-item-quantity
{
    text-align: center;
    justify-content: center;
}

dl.order-summary-group
{
    margin: 0;
}

.checkout h2,
.checkout h3
{
    margin: 0 0 0.5em 0;
}

h3.form-group-header,
.order-summary-group dt
{
    font-size: 1.25em;
    font-weight: 700;
    margin-top: 0.5em;
}

.order-summary-group dd
{
    margin: 0.25em auto;
}

.checkout-step
{
    padding: 1em;
    margin: 0;
    border-radius: 0.5em;
    background-color: var(--card-bg);
    max-width: unset;
}

.order-summary dl.order-summary
{
    display: grid;
    gap: 1em;
    padding: 1em;
    background: var(--card-bg);
    border-radius: 0.5em;
}

.form-group.shipping-address,
.form-group.billing-address
{
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}

.form-group.shipping-address .control-group,
.form-group.billing-address .control-group
{
    grid-column: 1 / span 12;
}

.form-group.shipping-address .control-group,
.form-group.shipping-address .control-group select,
.form-group.shipping-address .control-group input,
.form-group.billing-address .control-group,
.form-group.billing-address .control-group select,
.form-group.billing-address .control-group input
{
    margin: 0;
}

.control-group.labeled-select
{
    position: relative;
}

.control-group.labeled-select::after
{
    content: "";
    width: 1em;
    height: 1em;
    display: block;
    position: absolute;
    top: 1.75em;
    right: 0.25em;
    -webkit-mask-image: url("../images/shop/pager-next.07cbb5de3467.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    -webkit-mask-position: center;
    background-color: var(--text);
    pointer-events: none;
}

div.control-group.state #us_state .control::after,
div.control-group.country .control::after
{
  content: "";
  position: absolute;
  height: 1em;
  width: 1em;
  top: 50%;
  left: 100%;
  transform: translate(-125%, -40%);
  background-color: var(--text-strong);
  pointer-events: none;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="0.514in" height="0.319in"><path fill-rule="evenodd" d="M20.022,21.778 C20.464,21.602 20.880,21.338 21.238,20.980 L35.622,6.595 C37.031,5.186 37.031,2.902 35.622,1.494 L35.532,1.403 C34.123,-0.005 31.839,-0.005 30.431,1.403 L18.609,13.623 L7.088,1.881 C5.679,0.472 3.395,0.472 1.986,1.881 C0.578,3.290 0.578,5.574 1.986,6.983 L16.033,21.029 C17.112,22.108 18.702,22.353 20.022,21.778 Z"/></svg>');
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
}

#div_id_city,
#div_id_country,
#div_id_zipcode,
#div_id_state
{
    width: unset;
    margin: unset;
}

.form-group.shipping-address .control-group.name,
.form-group.billing-address .control-group.name
{
    grid-column: 1 / span 7;
}

.form-group.shipping-address .control-group.tel,
.form-group.billing-address .control-group.tel
{
    grid-column: 8 / span 5;
}

.form-group.shipping-address .control-group.city,
.form-group.billing-address .control-group.city
{
    grid-column: 1 / span 8;
}

.form-group.shipping-address .control-group.city.fullwidth,
.form-group.billing-address .control-group.city.fullwidth
{
    grid-column: 1 / span 12;
}

.form-group.shipping-address .region-wrapper,
.form-group.billing-address .region-wrapper
{
    grid-column: 9 / span 4;
}

.form-group.shipping-address .control-group.zip,
.form-group.billing-address .control-group.zip
{
    grid-column: 9 / span 4;
}

.form-group.shipping-address .control-group.country,
.form-group.billing-address .control-group.country
{
    grid-column: 1 / span 8;
}

.form-group.verify-address 
{
    display: grid;
    place-content: center;
    margin: 1em auto;
}

.form-group.verify-address button
{
    margin: 0 auto;
}

.order-summary .verified-address
{
    margin: 0;
    font-size: 0.75em;
    display: inline-grid;
    background-color: var(--card-bg);
}

.address-label {
    position: relative;
    display: flex;
}

.address-label input  {
    display: inline-block;
    width: 1em;
    height: 1em;
    border-radius: 100%;
}

.address-label input {
    position: relative;
    margin-right: 1em;
}

.address-label input::after
{
  content: "";
  position: absolute;
  height: .5em;
  width: .5em;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--text);
  opacity: 0;
  border-radius: 100%;
}

.address-label input:checked::after
{
  opacity: 1;
}

.address-label .verified-address-radio:checked + div {
    color: var(--text);
}

.address-label .verified-address-radio + div {
    color: var(--subtle);
}

.order-summary .cart-item-quantity,
.order-summary .cart-item-description
{
    align-items: start;
}

.order-summary .cart-item-price
{
    flex-direction: column;
    align-items: end;
    justify-content: start;
}

.order-summary .cart-compare-price
{
    order: 2;
}

.order-summary span
{
    order: 1;
}

.order-summary span.cart-item-discount-title
{
    order: 3;
    flex: 1 1 auto;
}

div.shipping-option-radio label {
    display: inline;
}

div.shipping-option-radio input {
    display: inline-block;
}

.order-shipping-how .usps,
.order-shipping-how .intl
{
    position: relative;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-items: start;
    gap: 0.25em;
}

.order-shipping-how .usps::before,
.order-shipping-how .intl::before
{
    content: "";
    width: 1em;
    height: 1em;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.order-shipping-how .usps::before
{
    background-image: url("../images/usps-logo.d8aed3f6dad5.png");
}

.order-shipping-how .intl::before
{
    background-image: url("../images/passport-logo.ed5fd41dfbea.png");
}

dl.order-total
{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25em;
    font-size: 1.35em;
}

.order-total dt
{
    font-weight: inherit;
}

.order-total dd
{
    margin: 0;
    font-weight: bold;
}

section div
{
    max-width: unset;
    margin: unset;
}

.card h2.shop-item-name
{
    font-size: 2em;
    margin: 0;
    text-align: unset;
}

div.control-group,
div.control-group.radio input
{
    margin: 0;
}

div.control-group .control input
{
    margin-bottom: 0;
}


div.control-group label,
div.control-group select
{
    margin: 0;
}

menu.actions
{
    grid-row: unset;
    grid-column: unset;
    font-size: 1em;
}


div#card-wrapper,
div#payment-element
{
    display: contents;
}

#div_id_reuse_shipping_address
{
    margin: 0 0 1em 0;
}



/* Cart info modal */

nav .popover
{
    position: absolute;
    box-shadow: 0 .5rem 2.0rem rgba(0,0,0,.2);
    width: 30.0rem;
    top: 5.5rem;
    left: -5.75rem;
    background: white;
    border-radius: 1.0rem;
    padding: 2.0rem;
    font-size: 1.6rem;
    line-height: 2.0rem;
    font-weight: 400;
    text-wrap: wrap;
    color: #444;
    opacity: 0;
    transition-property: top, opacity;
    transition-duration: .5s;
    transition-timing-function: ease-in-out;
    z-index: -1;
}

nav ul li#nav-buy:hover .popover
{
    opacity: 1;
}

.popover:after
{
    content: "";
    z-index: -1;
    width: 1.6rem;
    height: 1.6rem;
    background: #fff;
    margin-left: -1.0rem;
    position: absolute;
    top: -.8rem;
    left: 50%;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
