/** Shopify CDN: Minification failed

Line 171:19 Unexpected "*"

**/
/* ==========================================================================
   KW Customs Global CSS Overrides
   Overrides Dawn theme defaults to match the KW Customs design system.
   Loaded on every page via theme.liquid.
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. CSS Custom Properties / Design Tokens
   -------------------------------------------------------------------------- */
:root {
  --kw-purple: #ab3ce0;
  --kw-purple-hover: #9230c4;
  --kw-dark: #1a1a2e;
  --kw-body-text: #797672;
  --kw-heading-color: #222;
  --kw-bg-body: #ffffff;
  --kw-bg-content: #fff;
  --kw-border: #e0e0e0;
  --kw-font: 'Poppins', sans-serif;
  --kw-heading-font: 'Marcellus', serif;
  --kw-page-max-width: 1200px;
}

/* --------------------------------------------------------------------------
   1. Global Typography
   -------------------------------------------------------------------------- */
html,
body {
  font-family: var(--kw-font) !important;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7em;
  color: var(--kw-body-text);
  background-color: var(--kw-bg-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Override Dawn's body font variable */
body,
body * {
  --font-body-family: 'Poppins', sans-serif;
  --font-heading-family: 'Marcellus', serif;
}

p,
span,
li,
td,
th,
label,
.rte,
.rte p {
  font-family: var(--kw-font) !important;
  color: var(--kw-body-text);
  font-weight: 400;
  line-height: 32px;
}

p {
  margin: 0 0 15px;
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: var(--kw-heading-font) !important;
  color: var(--kw-heading-color);
  line-height: 1.2;
  margin-bottom: 0.5em;
  text-transform: uppercase;
  letter-spacing: -0.5px;
}

h1, .h1 {
  font-size: 72px;
  font-weight: 900;
  line-height: 1.08;
}

h2, .h2 {
  font-size: 60px;
  font-weight: 900;
  line-height: 1.15;
}

h3, .h3 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
}

h4, .h4 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}

h5, .h5 {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
}

h6, .h6 {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

/* Dawn title classes */
.title,
.title--primary,
.section-header__title,
.collection__title,
.product__title h1 {
  font-family: var(--kw-heading-font) !important;
  color: var(--kw-heading-color);
}

@media screen and (max-width: 991px) {
  h1, .h1 { font-size: 56px; }
  h2, .h2 { font-size: 44px; }
  h3, .h3 { font-size: 30px; }
}

@media screen and (max-width: 749px) {
  h1, .h1 {
    font-size: 40px;
    line-height: 1.15;
  }
  h2, .h2 {
    font-size: 32px;
    line-height: 1.2;
  }
  h3, .h3 {
    font-size: 24px;
  }
  h4, .h4 {
    font-size: 20px;
  }
}

/* --------------------------------------------------------------------------
   2. Page Width Override
   -------------------------------------------------------------------------- */
.page-width {
  max-width: var(--kw-page-max-width) !important;
  padding-left: 2rem;
  padding-right: 2rem;
}

@media screen and (max-width: 749px) {
  .page-width {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* --------------------------------------------------------------------------
   3. Section Spacing
   -------------------------------------------------------------------------- */
.section-template--*,
.shopify-section,
.shopify-section > section,
.shopify-section > div > section {
  --section-padding-top: 80px;
  --section-padding-bottom: 80px;
}

.spaced-section,
.spaced-section--full-width {
  margin-top: 0;
}

main .shopify-section:not(:first-child) {
  margin-top: 0;
}

@media screen and (max-width: 749px) {
  .shopify-section,
  .shopify-section > section,
  .shopify-section > div > section {
    --section-padding-top: 50px;
    --section-padding-bottom: 50px;
  }
}

/* --------------------------------------------------------------------------
   4. Links
   -------------------------------------------------------------------------- */

/* Base: remove Dawn's underline-offset, let links inherit color by default */
a {
  text-decoration: none !important;
  text-underline-offset: unset !important;
  transition: color 0.25s ease;
}

/* Inline content links (inside rich text, article bodies, page content) */
.rte a,
.article-template a,
.page-width .content a,
.shopify-policy__body a {
  color: var(--kw-purple);
}

.rte a:hover,
.article-template a:hover,
.page-width .content a:hover,
.shopify-policy__body a:hover {
  color: var(--kw-purple-hover);
}

/* Breadcrumb links */
.breadcrumbs a,
.breadcrumb a {
  color: var(--kw-purple);
}

.breadcrumbs a:hover,
.breadcrumb a:hover {
  color: var(--kw-purple-hover);
}

/* Exclude header, footer, buttons from generic link coloring */
.header a,
.site-header a,
.header__heading-link {
  color: inherit !important;
}

/* --------------------------------------------------------------------------
   5. Buttons (Primary)
   -------------------------------------------------------------------------- */
.button,
.btn,
button.button,
a.button,
.shopify-challenge__button,
.shopify-payment-button__button,
button[type="submit"],
.cart__submit,
.form__submit,
.product-form__submit,
.button--primary,
input[type="submit"] {
  position: relative;
  font-family: var(--kw-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  background-color: var(--kw-purple) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 20px 50px !important;
  cursor: pointer;
  transition: color 0.5s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  line-height: 24px !important;
  box-shadow: none !important;
  overflow: hidden;
  isolation: isolate;
  --alpha-button-background: 1;
}

.button::after,
.btn::after,
button.button::after,
a.button::after,
.shopify-challenge__button::after,
.shopify-payment-button__button::after,
button[type="submit"]::after,
.cart__submit::after,
.form__submit::after,
.product-form__submit::after,
.button--primary::after,
input[type="submit"]::after {
  content: "" !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: var(--kw-dark) !important;
  transition: width 0.5s ease;
  z-index: -1;
  display: block !important;
}

.button:hover::after,
.btn:hover::after,
button.button:hover::after,
a.button:hover::after,
.shopify-challenge__button:hover::after,
.shopify-payment-button__button:hover::after,
button[type="submit"]:hover::after,
.cart__submit:hover::after,
.form__submit:hover::after,
.product-form__submit:hover::after,
.button--primary:hover::after,
input[type="submit"]:hover::after {
  width: 100%;
}

.button:hover,
.btn:hover,
button.button:hover,
a.button:hover,
.shopify-challenge__button:hover,
.shopify-payment-button__button:hover,
button[type="submit"]:hover,
.cart__submit:hover,
.form__submit:hover,
.product-form__submit:hover,
.button--primary:hover,
input[type="submit"]:hover {
  background-color: var(--kw-purple-hover) !important;
  border-color: var(--kw-purple-hover) !important;
  color: #fff !important;
}

/* Remove Dawn's ::before overlay on buttons (::after is our hover sweep) */
.button::before,
.shopify-payment-button__button::before {
  display: none !important;
}

/* Buttons - Secondary / Outline */
.button--secondary,
.button--tertiary {
  background-color: transparent !important;
  color: var(--kw-purple) !important;
  border: 2px solid var(--kw-purple) !important;
}

.button--secondary:hover,
.button--tertiary:hover {
  background-color: var(--kw-purple) !important;
  color: #fff !important;
  border-color: var(--kw-purple) !important;
}

/* Shopify dynamic checkout / "Buy it now" button */
.shopify-payment-button .shopify-payment-button__button--unbranded {
  background-color: var(--kw-purple) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: var(--kw-font) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-weight: 700 !important;
  padding: 20px 50px !important;
}

.shopify-payment-button .shopify-payment-button__button--unbranded:hover {
  background-color: var(--kw-purple-hover) !important;
}

/* --------------------------------------------------------------------------
   6. Forms: Inputs, Textareas, Selects
   -------------------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select,
.field__input,
.select__select,
.form__input {
  font-family: var(--kw-font) !important;
  font-size: 15px;
  border: 1px solid var(--kw-border) !important;
  border-radius: 2px !important;
  padding: 12px 15px !important;
  color: var(--kw-body-text);
  background-color: #fff;
  transition: border-color 0.25s ease;
  box-shadow: none !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus,
.field__input:focus,
.select__select:focus,
.form__input:focus {
  border-color: var(--kw-purple) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--kw-purple) !important;
}

/* Dawn field wrapper focus styling */
.field:focus-within .field__input,
.field:focus-within .select__select {
  border-color: var(--kw-purple) !important;
  box-shadow: 0 0 0 1px var(--kw-purple) !important;
}

/* Dawn field labels */
.field__label,
.form__label {
  font-family: var(--kw-font) !important;
  color: var(--kw-body-text);
}

/* --------------------------------------------------------------------------
   7. Product Cards
   -------------------------------------------------------------------------- */
.card-wrapper,
.card,
.product-card-wrapper .card,
.collection-product-card {
  background-color: var(--kw-bg-content) !important;
  border-radius: 2px !important;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
  border: none !important;
}

.card-wrapper:hover,
.card:hover,
.product-card-wrapper:hover .card,
.collection-product-card:hover {
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.14) !important;
  transform: translateY(-3px);
}

/* Product card title */
.card__heading,
.card__heading a,
.card-information__text,
.card-information__text a,
.full-unstyled-link .card__heading {
  font-family: var(--kw-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--kw-heading-color) !important;
  text-decoration: none !important;
}

.card__heading a:hover,
.card-information__text a:hover {
  color: var(--kw-purple) !important;
}

/* Product card price */
.price-item,
.price-item--regular,
.price-item--sale,
.price .money,
.card-information .price {
  font-family: var(--kw-font) !important;
  color: var(--kw-purple) !important;
  font-weight: 700 !important;
}

/* Card content area */
.card__content,
.card-information {
  padding: 15px !important;
}

/* Remove Dawn's card border overlay */
.card--card .card__inner::after,
.card--standard .card__inner::after {
  display: none !important;
}

/* --------------------------------------------------------------------------
   8. Product Page
   -------------------------------------------------------------------------- */
.product__title,
.product__title h1 {
  font-family: var(--kw-heading-font) !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  color: var(--kw-heading-color) !important;
}

.product__text,
.product__description,
.product__description .rte {
  font-family: var(--kw-font) !important;
  color: var(--kw-body-text);
  font-size: 15px;
  line-height: 1.7;
}

/* Product price on product page */
.product .price-item,
.product .price-item--regular,
.product .price-item--sale,
.product .price .money,
.product__info-wrapper .price {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--kw-purple) !important;
}

/* Variant pickers */
.product-form__input label,
.variant-picker__label {
  font-family: var(--kw-font) !important;
  font-weight: 600;
  color: var(--kw-heading-color);
}

.product-form__input input[type="radio"] + label,
.swatch-input label {
  border: 1px solid var(--kw-border) !important;
  border-radius: 2px !important;
  font-family: var(--kw-font) !important;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.product-form__input input[type="radio"]:checked + label,
.swatch-input input:checked + label {
  border-color: var(--kw-purple) !important;
  background-color: var(--kw-purple) !important;
  color: #fff !important;
}

/* Quantity input on product page */
.quantity__input {
  font-family: var(--kw-font) !important;
  border-color: var(--kw-border) !important;
}

.quantity__button {
  color: var(--kw-body-text) !important;
}

.quantity__button:hover {
  color: var(--kw-purple) !important;
}

@media screen and (max-width: 749px) {
  .product__title,
  .product__title h1 {
    font-size: 28px !important;
  }
}

/* --------------------------------------------------------------------------
   9. Collection / Grid Pages
   -------------------------------------------------------------------------- */
/* ----- List collections page (Dawn main-list-collections) ----- */
.template-list-collections main {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.template-list-collections .title--primary {
  font-family: var(--kw-heading-font) !important;
  font-size: 48px !important;
  color: var(--kw-heading-color) !important;
  text-transform: uppercase !important;
  margin-bottom: 40px !important;
  text-align: center;
}

.collection-list {
  gap: 30px !important;
}

.collection-list__item .card-wrapper {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.collection-list__item .card-wrapper:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
}

.collection-list .card {
  background: #1a1a2e !important;
  border: none !important;
  overflow: hidden;
}

.collection-list .card.card--text {
  background: linear-gradient(135deg, #1a1a2e 0%, #2a2a4a 60%, rgba(171, 60, 224, 0.6) 100%) !important;
}

.collection-list .card.card--media:not(.card--text) .card__content {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.8) 100%);
  padding: 40px 30px 30px !important;
}

.collection-list .card__inner {
  --ratio-percent: 66% !important;
}

.collection-list .card__heading {
  font-family: var(--kw-heading-font) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.collection-list .card__heading a,
.collection-list .card__heading .full-unstyled-link {
  color: #fff !important;
  text-decoration: none !important;
}

.collection-list .card--text .card__heading {
  font-size: 32px !important;
}

.collection-list .card .icon-arrow {
  color: var(--kw-purple, #ab3ce0);
  transition: transform 0.3s ease;
}

.collection-list__item:hover .icon-arrow {
  transform: translateX(6px);
}

.collection-hero__title,
.collection__title {
  font-family: var(--kw-heading-font) !important;
  font-weight: 700 !important;
  color: var(--kw-heading-color) !important;
}

.collection-hero__description {
  font-family: var(--kw-font) !important;
  color: var(--kw-body-text);
}

/* Grid layout consistency */
.grid--2-col-tablet-down .grid__item,
.grid--4-col-desktop .grid__item,
.grid--3-col-desktop .grid__item {
  padding: 0;
}

/* Facets / Filters */
.facets__label,
.facets__selected,
.facets__summary {
  font-family: var(--kw-font) !important;
}

.active-facets__button {
  background-color: var(--kw-purple) !important;
  color: #fff !important;
}

/* Sort-by dropdown */
.facet-filters__sort select {
  font-family: var(--kw-font) !important;
}

/* --------------------------------------------------------------------------
   10. Cart Page
   -------------------------------------------------------------------------- */
.cart__heading,
.cart-items th {
  font-family: var(--kw-heading-font) !important;
  font-weight: 600 !important;
  color: var(--kw-heading-color) !important;
}

.cart-items td {
  font-family: var(--kw-font) !important;
  color: var(--kw-body-text);
  border-color: var(--kw-border) !important;
}

.cart-item__name,
.cart-item__name a {
  font-family: var(--kw-font) !important;
  font-weight: 600 !important;
  color: var(--kw-heading-color) !important;
}

.cart-item__name a:hover {
  color: var(--kw-purple) !important;
}

.cart-item__price .money,
.cart-item__discounted-prices .money {
  color: var(--kw-purple) !important;
  font-weight: 700 !important;
}

/* Cart totals */
.totals,
.totals__total,
.totals__total-value {
  font-family: var(--kw-font) !important;
  font-weight: 700 !important;
  color: var(--kw-heading-color) !important;
}

/* Checkout button in cart */
.cart__ctas .button,
.cart__ctas button,
.cart__checkout-button,
#checkout,
button[name="checkout"],
a[href="/checkout"] {
  background-color: var(--kw-purple) !important;
  color: #fff !important;
  border-color: var(--kw-purple) !important;
  font-family: var(--kw-font) !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  font-weight: 600 !important;
  border-radius: 2px !important;
}

.cart__ctas .button:hover,
.cart__ctas button:hover,
.cart__checkout-button:hover,
#checkout:hover,
button[name="checkout"]:hover,
a[href="/checkout"]:hover {
  background-color: var(--kw-purple-hover) !important;
  border-color: var(--kw-purple-hover) !important;
}

/* Cart drawer */
.cart-drawer__footer .button,
.cart-drawer__footer button {
  background-color: var(--kw-purple) !important;
  border-color: var(--kw-purple) !important;
}

.cart-drawer__footer .button:hover,
.cart-drawer__footer button:hover {
  background-color: var(--kw-purple-hover) !important;
  border-color: var(--kw-purple-hover) !important;
}

/* --------------------------------------------------------------------------
   11. Breadcrumbs
   -------------------------------------------------------------------------- */
.breadcrumbs,
.breadcrumbs a,
.breadcrumb,
.breadcrumb a,
nav[aria-label="breadcrumb"] a {
  font-family: var(--kw-font) !important;
  font-size: 14px;
  color: var(--kw-body-text) !important;
  text-decoration: none !important;
}

.breadcrumbs a:hover,
.breadcrumb a:hover,
nav[aria-label="breadcrumb"] a:hover {
  color: var(--kw-purple) !important;
}

/* --------------------------------------------------------------------------
   12. Pagination
   -------------------------------------------------------------------------- */
.pagination__list {
  font-family: var(--kw-font) !important;
}

.pagination__list li a,
.pagination__list li span {
  font-family: var(--kw-font) !important;
  border: 1px solid var(--kw-border);
  border-radius: 2px;
  padding: 8px 14px;
  color: var(--kw-body-text);
  text-decoration: none !important;
  transition: all 0.25s ease;
}

.pagination__list li a:hover {
  background-color: var(--kw-purple) !important;
  border-color: var(--kw-purple) !important;
  color: #fff !important;
}

.pagination__list li .pagination__item--current,
.pagination__list li a[aria-current="page"],
.pagination__list .current {
  background-color: var(--kw-purple) !important;
  border-color: var(--kw-purple) !important;
  color: #fff !important;
}

/* --------------------------------------------------------------------------
   13. Footer Override
   -------------------------------------------------------------------------- */
.footer,
.section-footer,
footer.footer,
.footer-block,
.shopify-section--footer {
  background-color: #222 !important;
  color: #ccc !important;
}

.footer *,
.section-footer *,
footer.footer * {
  font-family: var(--kw-font) !important;
}

.footer h2,
.footer h3,
.footer h4,
.footer .footer-block__heading,
.footer .heading {
  color: #fff !important;
  font-weight: 600 !important;
}

.footer p,
.footer li,
.footer span,
.footer .footer-block__details-content,
.footer .copyright {
  color: #ccc !important;
}

.footer a,
.footer .link,
.footer .list-menu__item {
  color: #ccc !important;
  text-decoration: none !important;
  transition: color 0.25s ease;
}

.footer a:hover,
.footer .link:hover,
.footer .list-menu__item:hover {
  color: var(--kw-purple) !important;
}

/* Footer payment icons and social icons */
.footer .list-social__link {
  color: #ccc !important;
}

.footer .list-social__link:hover {
  color: var(--kw-purple) !important;
}

.footer .list-payment__item svg {
  fill: #ccc;
}

/* Footer border */
.footer__content-top,
.footer__content-bottom {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

/* --------------------------------------------------------------------------
   14. Announcement Bar
   -------------------------------------------------------------------------- */
.announcement-bar,
.announcement-bar-section,
.utility-bar {
  background-color: var(--kw-purple) !important;
}

.announcement-bar *,
.announcement-bar__message,
.announcement-bar a {
  font-family: var(--kw-font) !important;
  color: #fff !important;
}

.announcement-bar a:hover {
  opacity: 0.85;
}

/* --------------------------------------------------------------------------
   15. Search Page
   -------------------------------------------------------------------------- */
.search__heading,
.template-search h1 {
  font-family: var(--kw-heading-font) !important;
  color: var(--kw-heading-color) !important;
}

.template-search .card,
.search-results .card {
  background-color: var(--kw-bg-content) !important;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08) !important;
  border-radius: 2px !important;
}

.template-search .card:hover,
.search-results .card:hover {
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.14) !important;
  transform: translateY(-3px);
}

/* Predictive search dropdown */
.predictive-search {
  font-family: var(--kw-font) !important;
  border-color: var(--kw-border) !important;
}

.predictive-search__result-group .predictive-search__heading {
  font-family: var(--kw-heading-font) !important;
  color: var(--kw-heading-color);
}

.predictive-search__item a {
  color: var(--kw-body-text) !important;
}

.predictive-search__item a:hover {
  color: var(--kw-purple) !important;
}

/* --------------------------------------------------------------------------
   16. Badge / Sale Tags
   -------------------------------------------------------------------------- */
.badge,
.card__badge span,
.badge--sale,
.badge--sold-out,
.price__badge-sale,
.price__badge-new {
  background-color: var(--kw-purple) !important;
  color: #fff !important;
  font-family: var(--kw-font) !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px;
  border-radius: 2px !important;
  border: none !important;
}

/* --------------------------------------------------------------------------
   17. Miscellaneous Dawn Overrides
   -------------------------------------------------------------------------- */

/* Override Dawn's CSS variable-based font stacks globally */
body,
.shopify-section {
  --font-body-family: 'Poppins', sans-serif;
  --font-body-style: normal;
  --font-body-weight: 400;
  --font-heading-family: 'Marcellus', serif;
  --font-heading-style: normal;
  --font-heading-weight: 400;
}

/* Override Dawn's focus styling to use purple */
*:focus-visible {
  outline: 2px solid var(--kw-purple) !important;
  outline-offset: 2px;
}

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Selection color */
::selection {
  background-color: var(--kw-purple);
  color: #fff;
}

::-moz-selection {
  background-color: var(--kw-purple);
  color: #fff;
}

/* Remove Dawn's underline animation on links */
.underlined-link::after,
.link--text::after {
  display: none !important;
}

.underlined-link,
.link--text {
  text-decoration: none !important;
  background-image: none !important;
}

/* Loading spinner purple */
.loading__spinner circle {
  stroke: var(--kw-purple) !important;
}

/* Tabs / Collapsible content */
.collapsible-content__trigger,
.accordion__trigger {
  font-family: var(--kw-heading-font) !important;
  font-weight: 600;
  color: var(--kw-heading-color);
}

.collapsible-content__trigger:hover,
.accordion__trigger:hover {
  color: var(--kw-purple);
}

/* Newsletter signup */
.newsletter-form__field-wrapper .field__input {
  border-color: var(--kw-border) !important;
}

.newsletter-form__button {
  background-color: var(--kw-purple) !important;
  color: #fff !important;
}

.newsletter-form__button:hover {
  background-color: var(--kw-purple-hover) !important;
}

/* Image with text section */
.image-with-text .button {
  background-color: var(--kw-purple) !important;
  border-color: var(--kw-purple) !important;
}

/* Rich text section */
.rich-text__heading,
.rich-text .rich-text__heading {
  font-family: var(--kw-heading-font) !important;
  color: var(--kw-heading-color) !important;
}

/* Contact form */
.contact__fields .field__label {
  font-family: var(--kw-font) !important;
}

/* Better proportions for the Drop Us a Line form */
.contact {
  max-width: 780px !important;
}

.contact .title,
.contact h2.title {
  font-family: var(--kw-heading-font) !important;
  font-size: 44px !important;
  line-height: 1.15 !important;
  text-align: center;
  margin-bottom: 40px !important;
}

.contact__fields {
  margin-bottom: 1.5rem;
}

.contact .field__input,
.contact textarea.text-area,
.contact .field textarea {
  font-size: 15px !important;
  padding: 16px 15px !important;
  line-height: 1.4 !important;
}

.contact textarea.text-area,
.contact .field textarea {
  min-height: 160px;
  resize: vertical;
}

.contact .field__label {
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.contact__button {
  text-align: center;
  margin-top: 2rem !important;
}

.contact__button .button {
  min-width: 260px;
}

@media screen and (max-width: 749px) {
  .contact .title,
  .contact h2.title {
    font-size: 32px !important;
    margin-bottom: 28px !important;
  }
}

/* Error / success messages */
.form__message {
  font-family: var(--kw-font) !important;
}

.form__message--error {
  color: #e74c3c;
}

.form__message--success {
  color: var(--kw-purple);
}

/* Slideshow text */
.banner__heading,
.slideshow__text h2 {
  font-family: var(--kw-heading-font) !important;
  font-weight: 700 !important;
}

/* Multicolumn section */
.multicolumn .multicolumn-card__info h3,
.multicolumn-card__heading {
  font-family: var(--kw-heading-font) !important;
  color: var(--kw-heading-color) !important;
  font-weight: 600 !important;
}

/* Blog / Article cards */
.article-card__title,
.article-card__title a,
.blog-articles__article h3 a {
  font-family: var(--kw-heading-font) !important;
  color: var(--kw-heading-color) !important;
  font-weight: 600 !important;
}

.article-card__title a:hover,
.blog-articles__article h3 a:hover {
  color: var(--kw-purple) !important;
}

/* Menu drawer (mobile nav) */
.menu-drawer,
.menu-drawer__menu li a {
  font-family: var(--kw-font) !important;
}

.menu-drawer__menu li a:hover {
  color: var(--kw-purple) !important;
}

/* Header cart count badge */
.cart-count-bubble {
  background-color: var(--kw-purple) !important;
  color: #fff !important;
}

/* --------------------------------------------------------------------------
   18. Policy Pages
   -------------------------------------------------------------------------- */

/* Policy page banner - dark header matching demo page-title */
.shopify-policy__title {
  position: relative;
  background-color: #1a1a2e;
  padding: 140px 0 80px;
  margin-bottom: 0;
  text-align: center;
}

.shopify-policy__title h1 {
  font-family: var(--kw-heading-font) !important;
  font-size: 50px;
  font-weight: 900;
  color: #fff !important;
  text-transform: uppercase;
  margin: 0;
  line-height: 1.1;
}

/* Policy page content body */
.shopify-policy__body {
  background-color: #fff;
  padding: 60px 2rem;
  max-width: var(--kw-page-max-width) !important;
  margin: 0 auto;
  width: 100% !important;
}

/* Override Shopify's injected CDN stylesheet that sets max-width:65ch / 560px */
.shopify-policy__container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

/* Override any other nested containers */
.shopify-policy__body > div,
.shopify-policy__body .page-width {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.shopify-policy__body h1,
.shopify-policy__body h2,
.shopify-policy__body h3,
.shopify-policy__body h4 {
  font-family: var(--kw-heading-font) !important;
  color: var(--kw-heading-color) !important;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

.shopify-policy__body h2 {
  font-size: 24px;
  font-weight: 700;
  padding-bottom: 10px;
  border-bottom: 2px solid #eee;
}

.shopify-policy__body h3 {
  font-size: 20px;
  font-weight: 600;
}

.shopify-policy__body p,
.shopify-policy__body li,
.shopify-policy__body td {
  font-family: var(--kw-font) !important;
  color: var(--kw-body-text);
  font-size: 15px;
  line-height: 1.8;
}

.shopify-policy__body a {
  color: #ab3ce0;
  text-decoration: none;
  transition: color 0.3s ease;
}

.shopify-policy__body a:hover {
  color: #9230c4;
}

.shopify-policy__body ul,
.shopify-policy__body ol {
  padding-left: 25px;
  margin-bottom: 1.5em;
}

.shopify-policy__body ul li,
.shopify-policy__body ol li {
  margin-bottom: 8px;
}

.shopify-policy__body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5em 0;
}

.shopify-policy__body table th,
.shopify-policy__body table td {
  padding: 12px 15px;
  border: 1px solid #e0e0e0;
  text-align: left;
}

.shopify-policy__body table th {
  background-color: #f7f7f7;
  font-weight: 600;
  color: var(--kw-heading-color);
}

/* General page styles matching demo inner pages */
.main-page-title,
.template-page h1,
.page-header h1 {
  font-family: var(--kw-heading-font) !important;
  font-size: 36px;
  font-weight: 700;
  color: var(--kw-heading-color) !important;
}

@media screen and (max-width: 749px) {
  .shopify-policy__title {
    padding: 100px 0 50px;
  }

  .shopify-policy__title h1 {
    font-size: 32px;
  }

  .shopify-policy__body {
    padding: 40px 0;
  }

  .shopify-policy__body h2 {
    font-size: 20px;
  }
}
