/* Checkout base only. DM Sans: Copyright 2014 The DM Sans Project Authors.
   Licensed under SIL OFL 1.1; see /checkout/assets/DM-Sans-OFL.txt. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/checkout/assets/dm-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/checkout/assets/dm-sans-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--cream:#f7f4ec;--paper:#fffcf7;--green:#173c2d;--green-dark:#102a21;--orange:#b44820;--orange-light:#ed9c66;--ink:#222c26;--muted:#647069;--line:#dcded5;--heading:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif;--radius:4px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,a,input,summary{-webkit-tap-highlight-color:transparent}
button,a,summary{touch-action:manipulation}
button{font:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button:disabled{cursor:not-allowed}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #d67c45;outline-offset:5px}
h1,h2,h3,p,ul,ol,dl{margin:0}
h1,h2,h3{line-height:1.03;font-weight:700}
h1,h2{font-family:var(--heading);letter-spacing:-.025em}
h1 em,h2 em{font-style:italic}
button,[hidden]{transition:background .18s ease,color .18s ease,transform .18s ease}
[hidden]{display:none!important}
.section-wrap{width:min(1240px,calc(100% - 88px));margin-inline:auto}
.skip-link{position:fixed;left:20px;top:-80px;z-index:20;background:var(--green);color:#fff;padding:14px 20px}
.skip-link:focus{top:12px}
.brand{display:block;flex-shrink:0}
.brand img{width:210px;height:auto}
.button{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:53px;border:0;border-radius:var(--radius);padding:15px 20px;font-size:12px;font-weight:700;letter-spacing:.025em;text-align:left}
.button>span{font-size:22px;line-height:1;font-weight:400}
.button-primary{background:var(--green);color:var(--paper)}
.button-primary:hover{background:var(--green-dark)}
.button-primary:disabled{background:#cfd6cc;color:#58665d}
.text-link{font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:5px;display:inline-flex;gap:30px;align-items:center}
.text-link>span{color:var(--orange);font-size:19px}
.checkout-header{display:flex;align-items:center;justify-content:space-between}
.hosted-checkout .button{width:100%}
.checkout-support>a{text-decoration:underline;text-underline-offset:4px}
.order-summary{position:relative}
.order-summary:after{content:'';position:absolute;left:100%;top:0;bottom:0}
.summary-photo{position:relative;background:#100d08}
.summary-photo>img{position:absolute;object-fit:cover;object-position:center 45%;width:100%;height:100%}
.quantity-badge{position:absolute;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:50%;z-index:1}
.summary-item-title h3{font-family:var(--body)}
.summary-item-title p{color:var(--muted)}
.summary-item-title>span{display:block;color:var(--muted)}
.summary-costs{display:grid;border-bottom:1px solid var(--line)}
.summary-costs>div{display:flex;justify-content:space-between;gap:16px}
.summary-costs dd{margin:0;text-align:right}
.summary-costs>div:last-child dd{color:var(--muted)}
.summary-total{display:flex;justify-content:space-between;align-items:center}
.summary-total>strong{white-space:nowrap}
.summary-total small{color:var(--muted);letter-spacing:0;font-weight:400;margin-right:5px}
.final-total-note{color:var(--muted)}
.checkout-footer{display:flex;border-top:1px solid var(--line)}
.checkout-footer>p{margin-right:auto}
@media(max-width:760px){.button{min-height:53px;font-size:12px;padding-inline:17px}.checkout-footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Checkout-only layout. The landing page keeps its existing stylesheet. */
.checkout-page {
  --line: #e5e5e5;
  --muted: #6c6c6c;
  background: #fff;
  color: #242424;
}

.checkout-page .section-wrap {
  width: min(1120px, calc(100% - 64px));
}

.checkout-page .checkout-header {
  height: 78px;
  gap: 24px;
  border-bottom: 1px solid var(--line);
}

.checkout-page .checkout-header .brand img {
  width: 156px;
  height: auto;
}

.checkout-page .return-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #5d5d5d;
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
}

.checkout-page .return-link:hover,
.checkout-page .checkout-support a:hover,
.checkout-page .checkout-footer a:hover {
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.checkout-page .checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(0, .88fr);
  align-items: stretch;
  min-height: calc(100svh - 141px);
  gap: 0;
}

.checkout-page .checkout-payment {
  min-width: 0;
  padding: 32px 48px 42px 0;
}

.checkout-page .checkout-payment h1 {
  margin: 0 0 20px;
  color: #252525;
  font-family: var(--body);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.035em;
}

.checkout-page #whop-checkout-container {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 400px;
  margin-top: 0;
}

.checkout-page #whop-checkout-container > iframe {
  display: block;
  max-width: 100%;
}

.checkout-page .checkout-state {
  margin: 0;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fafafa;
}

.checkout-page .checkout-state h2 {
  margin-top: 0;
  color: #303030;
  font-family: var(--body);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}

.checkout-page .checkout-state > p,
.checkout-page .hosted-checkout p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.checkout-page .checkout-state .text-link {
  margin-top: 14px;
  font-size: 12px;
}

.checkout-page .hosted-checkout {
  margin-top: 18px;
}

.checkout-page .hosted-checkout .button {
  margin-top: 14px;
  border-radius: 5px;
}

.checkout-page .checkout-support {
  margin-top: 24px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.checkout-page .checkout-support a {
  color: #4a4a4a;
  text-decoration-color: #b6b6b6;
}

.checkout-page .order-summary {
  min-width: 0;
  margin: 0;
  padding: 16px 0 42px 38px;
  border-left: 1px solid var(--line);
  background: #f8f8f7;
}

.checkout-page .order-summary::after {
  width: max(32px, calc((100vw - 1120px) / 2));
  background: #f8f8f7;
}

.checkout-page #order-summary-details {
  border: 0;
}

.checkout-page .order-summary-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 59px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
  list-style: none;
  cursor: pointer;
}

.checkout-page .order-summary-toggle::-webkit-details-marker {
  display: none;
}

.checkout-page .order-summary-toggle > span,
.checkout-page #order-summary-details[open] > summary > span {
  color: #333;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  transform: none;
}

.checkout-page .order-summary-toggle-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.checkout-page .order-summary-toggle-label svg {
  transition: transform .16s ease;
}

.checkout-page #order-summary-details[open] .order-summary-toggle-label svg {
  transform: rotate(180deg);
}

.checkout-page .order-summary-toggle-price {
  white-space: nowrap;
}

.checkout-page .order-summary-toggle-price small {
  margin-right: 3px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 400;
}

.checkout-page .order-summary-body {
  padding-top: 20px;
}

.checkout-page .summary-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  margin-top: 0;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}

.checkout-page .summary-photo {
  width: 64px;
  height: 64px;
  border: 1px solid #ddddda;
  border-radius: 6px;
}

.checkout-page .summary-photo > img {
  border-radius: 5px;
}

.checkout-page .quantity-badge {
  width: 20px;
  height: 20px;
  top: -7px;
  right: -7px;
  background: #727272;
  font-size: 10px;
}

.checkout-page .summary-item-title h3 {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.checkout-page .summary-item-title p {
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.5;
}

.checkout-page .summary-item-title > span {
  margin-top: 5px;
  font-size: 10px;
  line-height: 1.5;
}

.checkout-page .summary-item > strong {
  grid-column: auto;
  align-self: center;
  margin-top: 0;
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

.checkout-page .summary-costs {
  gap: 14px;
  padding: 22px 0;
}

.checkout-page .summary-costs > div {
  align-items: baseline;
  font-size: 12px;
  line-height: 1.5;
}

.checkout-page .summary-costs > div:last-child dd {
  font-size: 11px;
}

.checkout-page .summary-total {
  padding-top: 21px;
  gap: 16px;
  font-size: 13px;
  line-height: 1.5;
}

.checkout-page .summary-total > strong {
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -.035em;
}

.checkout-page .summary-total small {
  font-size: 10px;
}

.checkout-page .final-total-note {
  margin-top: 9px;
  font-size: 11px;
  line-height: 1.6;
}

.checkout-page .checkout-footer {
  min-height: 63px;
  padding-block: 20px;
  gap: 20px;
  color: #777;
  font-size: 10px;
  line-height: 1.7;
}

@media (min-width: 761px) and (max-width: 1050px) {
  .checkout-page .checkout-payment {
    padding-right: 32px;
  }

  .checkout-page .order-summary {
    padding-left: 28px;
  }

  .checkout-page .summary-item {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 11px;
  }

  .checkout-page .summary-photo {
    width: 56px;
    height: 56px;
    grid-row: 1 / span 2;
  }

  .checkout-page .summary-item > strong {
    grid-column: 2;
    margin-top: -5px;
  }
}

@media (max-width: 760px) {
  .checkout-page .section-wrap {
    width: calc(100% - 40px);
  }

  .checkout-page .checkout-header {
    height: 68px;
    gap: 16px;
    border-bottom: 0;
  }

  .checkout-page .checkout-header .brand img {
    width: 140px;
  }

  .checkout-page .return-link {
    gap: 5px;
    font-size: 11px;
  }

  .checkout-page .checkout-layout {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .checkout-page .checkout-payment {
    grid-row: 2;
    padding: 25px 20px 34px;
  }

  .checkout-page .checkout-payment h1 {
    margin-bottom: 18px;
    font-size: 21px;
  }

  .checkout-page .order-summary {
    grid-row: 1;
    padding: 0;
    border-left: 0;
    border-block: 1px solid var(--line);
  }

  .checkout-page .order-summary::after {
    display: none;
  }

  .checkout-page .order-summary-toggle {
    padding: 17px 20px;
  }

  .checkout-page .order-summary-body {
    padding: 5px 20px 23px;
  }

  .checkout-page .summary-item {
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: 12px;
    padding-bottom: 20px;
  }

  .checkout-page .summary-photo {
    width: 56px;
    height: 56px;
  }

  .checkout-page .summary-item-title h3,
  .checkout-page .summary-item > strong {
    font-size: 12px;
  }

  .checkout-page .summary-item-title p {
    font-size: 10px;
  }

  .checkout-page .summary-item-title > span {
    font-size: 10px;
  }

  .checkout-page .summary-costs {
    gap: 12px;
    padding: 19px 0;
  }

  .checkout-page .summary-total {
    padding-top: 17px;
    font-size: 12px;
  }

  .checkout-page .summary-total > strong {
    font-size: 21px;
  }

  .checkout-page .final-total-note {
    font-size: 10px;
  }

  .checkout-page .checkout-support {
    margin-top: 22px;
  }

  .checkout-page .checkout-footer {
    min-height: 0;
    padding-block: 18px;
    gap: 14px;
    font-size: 9px;
  }

  .checkout-page .checkout-footer > p {
    flex-basis: auto;
    margin-right: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .checkout-page .order-summary-toggle-label svg {
    transition: none;
  }
}

.preview-notice { margin: 0 0 24px; padding: 12px 14px; border: 1px solid #eadab7; border-radius: 5px; color: #6b511f; background: #fff9eb; font-size: 11px; line-height: 1.6; }
.checkout-step { margin-top: 28px; }
.checkout-step:first-child { margin-top: 0; }
.checkout-page .checkout-step h2 { font: 600 17px/1.4 var(--body); letter-spacing: -.025em; margin-bottom: 14px; }
.step-hint { margin: -8px 0 12px; color: #707070; font-size: 11px; }
.payment-loading { color: #6b6b6b; font-size: 12px; padding: 16px 0; }
#payment-methods, #payment-branding { min-width: 0; width: 100%; }
#payment-methods > iframe, #payment-branding > iframe { display: block; max-width: 100%; }
.field { display: flex; flex-direction: column; gap: 5px; min-width: 0; margin: 0 0 13px; }
.field label { color: #525252; font-size: 11px; font-weight: 500; }
.field input, .field select { width: 100%; min-width: 0; min-height: 46px; padding: 11px 12px; border: 1px solid #d8d8d8; border-radius: 5px; background: #fff; color: #252525; font: 13px/1.5 var(--body); }
.field input:focus, .field select:focus { outline: 2px solid #215b32; outline-offset: 1px; }
.field input::placeholder { color: #a0a0a0; }
.address-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr) minmax(0,.9fr); gap: 10px; }
.shipping-option { display: flex; justify-content: space-between; gap: 12px; border: 1px solid #b7c9b5; border-radius: 5px; padding: 13px; background: #f5f8f3; font-size: 12px; }
.preview-pay { width: 100%; margin-top: 24px; min-height: 52px; }
.preview-pay > span { font: 600 13px/1.3 var(--body); white-space: nowrap; }
.preview-pay-note { margin-top: 8px; font-size: 10px; text-align: center; color: #777; }

.customer-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.customer-fields:disabled { opacity: .65; }
.field-hint { font-size: 10px; color: #707070; line-height: 1.5; margin: 0; }
.field label span { color: #777; font-weight: 400; }
.checkout-message { margin: 0 0 20px; padding: 13px 15px; border-radius: 5px; border: 1px solid #d6d9d2; background: #f5f7f2; color: #33402f; font-size: 12px; line-height: 1.6; }
.checkout-message[data-error] { border-color: #d9b8b4; background: #fff4f2; color: #8b2f28; }
.checkout-action { width: 100%; margin-top: 24px; min-height: 52px; }
.checkout-action > span { white-space: nowrap; }
.checkout-action:disabled { opacity: .55; cursor: wait; }
.checkout-quote { margin-top: 24px; border: 1px solid #d7dfd3; padding: 17px; border-radius: 6px; }
.checkout-page .checkout-quote h2 { margin: 0 0 15px; font: 600 16px/1.4 var(--body); }
.checkout-quote dl { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.checkout-quote dl > div { display: flex; justify-content: space-between; gap: 16px; font-size: 12px; }
.checkout-quote dd { margin: 0; white-space: nowrap; }
.checkout-quote .quote-total { font-weight: 600; border-top: 1px solid #e2e6de; padding-top: 12px; margin-top: 2px; }
.checkout-recheck { margin-top: 16px; font-size: 12px; }
.pay-note { margin-top: 9px; font-size: 11px; color: #777; text-align: center; line-height: 1.6; }
.checkout-success { margin: 0 0 24px; padding: 22px; background: #f3f8ef; border: 1px solid #b6c8ac; border-radius: 6px; }
.checkout-success h2 { margin-top: 0; font: 600 20px/1.4 var(--body); }
.checkout-success p { margin-top: 12px; font-size: 13px; line-height: 1.6; }
.payment-reference { font-family: monospace; overflow-wrap: anywhere; }
.checkout-success a, .checkout-success button { display: block; margin-top: 16px; font-size: 12px; }
@media(max-width: 420px) { .address-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } .address-grid .field:first-child { grid-column: 1 / -1; } }

#shipping-fields { min-width: 0; width: 100%; }
#shipping-fields > iframe { display: block; max-width: 100%; }
.checkout-processing #payment-methods, .checkout-processing #shipping-fields { pointer-events: none; opacity: .7; }
/* The SDK's offscreen suggestions frame retains its old measured width after rotation. */
iframe[src*="/payments/addressSuggestions/"] { max-width: calc(100vw - 40px); }

/* Keep the summary background extension from creating horizontal scrolling. */
.checkout-page{overflow-x:clip}

/* Native shipping fields retain the checkout field styling and browser autofill. */
.shipping-name-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.native-shipping-fields input,.native-shipping-fields select{font-size:14px}
@media(max-width:420px){.shipping-name-grid{grid-template-columns:1fr}}
