/* Spliff Nation mobile conversion and trust polish — v2.1.5 */

.sn-gmb-trust-awards {
  border-bottom: 1px solid #e5e5e1;
  background: #fff;
  color: #080b0a;
  padding: 34px 0 30px;
  text-align: center;
}

.sn-gmb-trust-awards__eyebrow {
  margin: 0 0 10px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: .18em;
}

.sn-gmb-trust-awards h2 {
  max-width: 760px;
  margin: 0 auto;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.02;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.sn-gmb-trust-awards__proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 820px;
  margin: 24px auto 0;
  border-top: 1px solid #deded9;
  border-bottom: 1px solid #deded9;
}

.sn-gmb-trust-awards__proof span {
  display: flex;
  min-height: 74px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 12px 8px;
  border-right: 1px solid #deded9;
}

.sn-gmb-trust-awards__proof span:last-child {
  border-right: 0;
}

.sn-gmb-trust-awards__proof b,
.sn-gmb-trust-awards__proof small {
  display: block;
}

.sn-gmb-trust-awards__proof b {
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: .08em;
}

.sn-gmb-trust-awards__proof small {
  margin-top: 4px;
  color: #5a5f5c;
  font-size: 9px;
  line-height: 1.2;
  letter-spacing: .1em;
}

@media (max-width: 600px) {
  .sn-gmb-trust-awards {
    padding: 28px 0 24px;
  }

  .sn-gmb-trust-awards .sn-location-shell {
    width: calc(100% - 32px) !important;
  }

  .sn-gmb-trust-awards__eyebrow {
    max-width: 320px;
    margin-inline: auto;
    font-size: 9px;
  }

  .sn-gmb-trust-awards h2 {
    max-width: 340px;
    font-size: 28px;
    line-height: 1.05;
  }

  .sn-gmb-trust-awards__proof {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 20px;
  }

  .sn-gmb-trust-awards__proof span {
    min-height: 70px;
    padding-inline: 5px;
  }

  .sn-gmb-trust-awards__proof span:nth-child(2) {
    border-right: 0;
  }

  .sn-gmb-trust-awards__proof span:last-child {
    grid-column: 1 / -1;
    min-height: 62px;
    border-top: 1px solid #deded9;
  }

  .sn-gmb-trust-awards__proof b {
    font-size: 10px;
  }

  .sn-gmb-trust-awards__proof small {
    font-size: 8px;
  }

  .sn-location-main .sn-join .sn-location-shell {
    width: calc(100% - 32px) !important;
  }

  body.woocommerce-shop .sn-shop-lower {
    padding-inline: 16px !important;
  }

  body.woocommerce-shop .sn-shop-lower > *,
  body.woocommerce-shop .sn-shop-locations,
  body.woocommerce-shop .sn-shop-faq {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  .sn-dc-guide .sn-dcg-final h2 {
    max-width: 340px !important;
    margin-inline: auto !important;
    font-size: 36px !important;
    line-height: 1.02 !important;
    text-wrap: balance !important;
  }
}
@media (max-width: 600px) {
  .sn-citywide-location-hub .hero {
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
  }

  .sn-citywide-location-hub .hero__video {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  .sn-citywide-location-hub .hero__scrim {
    background: linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .58)) !important;
  }

  .sn-citywide-location-hub .hero__caption {
    inset: auto 0 16px !important;
    width: 92% !important;
    margin-inline: auto !important;
    align-items: end !important;
    gap: 16px !important;
    font-size: 9px !important;
    line-height: 1.42 !important;
    letter-spacing: .15em !important;
  }

  .sn-citywide-location-hub .hero__caption > div,
  .sn-citywide-location-hub .hero__place {
    flex: 1 1 0 !important;
  }

  .sn-citywide-location-hub .statement {
    padding-top: 32px !important;
  }

  .sn-citywide-location-hub .statement__copy {
    width: calc(100% - 32px) !important;
  }

  .sn-citywide-location-hub .statement .eyebrow {
    max-width: 330px !important;
    margin: 0 auto 16px !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
    letter-spacing: .18em !important;
    text-wrap: balance !important;
  }

  .sn-citywide-location-hub .statement h1 {
    max-width: 350px !important;
    margin: 0 auto !important;
    font-size: clamp(38px, 10.5vw, 42px) !important;
    line-height: .94 !important;
    letter-spacing: -.018em !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .sn-citywide-location-hub .statement h2 {
    max-width: 330px !important;
    margin: 20px auto 0 !important;
    font-size: 24px !important;
    line-height: 1.16 !important;
    letter-spacing: -.02em !important;
    text-wrap: balance !important;
  }

  .sn-citywide-location-hub .statement > div > p:not(.eyebrow) {
    max-width: 340px !important;
    margin: 16px auto 0 !important;
    padding: 0 4px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    text-wrap: pretty !important;
  }

  .sn-citywide-location-hub .statement .cta-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 340px !important;
    margin: 22px auto 26px !important;
  }

  .sn-citywide-location-hub .statement .cta-row .btn {
    width: 100% !important;
    min-height: 50px !important;
    padding-inline: 16px !important;
    font-size: 11px !important;
    flex: none !important;
  }

  .sn-citywide-location-hub .proof {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    padding-block: 14px !important;
  }

  .sn-citywide-location-hub .proof > div {
    min-height: 74px !important;
    padding: 7px 4px !important;
  }

  .sn-citywide-location-hub .section {
    padding-block: 32px !important;
  }

  .sn-citywide-location-hub .sec-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: end !important;
  }

  .sn-citywide-location-hub .sec-head h2,
  .sn-citywide-location-hub .how h2 {
    font-size: 16px !important;
    line-height: 1.18 !important;
    letter-spacing: .055em !important;
    text-wrap: balance !important;
  }

  .sn-citywide-location-hub .locations .sec-head {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .sn-citywide-location-hub .locations .sec-head h2 {
    max-width: 320px !important;
    font-size: 22px !important;
    line-height: 1.08 !important;
  }

  .sn-citywide-location-hub .locations .sec-head > span {
    display: block !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .sn-citywide-location-hub .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .sn-citywide-location-hub .product-card {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .sn-citywide-location-hub .product-image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }

  .sn-citywide-location-hub .product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .sn-citywide-location-hub .product-copy {
    min-height: 152px !important;
    padding: 12px 11px 10px !important;
  }

  .sn-citywide-location-hub .product-copy h3 {
    display: -webkit-box !important;
    min-height: 52px !important;
    margin: 0 0 7px !important;
    overflow: hidden !important;
    font-size: 14px !important;
    line-height: 1.24 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
  }

  .sn-citywide-location-hub .product-copy p {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  .sn-citywide-location-hub .product-copy > b {
    margin-top: auto !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  .sn-citywide-location-hub .product-card .add {
    min-height: 46px !important;
    margin: 0 10px 10px !important;
    padding: 11px 12px !important;
    align-items: center !important;
    font-size: 11px !important;
  }

  .sn-citywide-location-hub .location-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  .sn-citywide-location-hub .location-card {
    min-width: 0 !important;
    width: 100% !important;
  }

  .sn-citywide-location-hub .location-image {
    aspect-ratio: 16 / 9 !important;
  }

  .sn-citywide-location-hub .location-copy {
    padding: 16px !important;
  }

  .sn-citywide-location-hub .location-copy h3 {
    font-size: 18px !important;
    line-height: 1.18 !important;
  }

  .sn-citywide-location-hub .location-copy p {
    min-height: 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .sn-citywide-location-hub .location-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 18px !important;
  }

  .sn-citywide-location-hub .sn-faq {
    padding-block: 40px !important;
  }

  .sn-citywide-location-hub .sn-faq h2 {
    max-width: 330px !important;
    font-size: 34px !important;
    line-height: .98 !important;
  }
}
