/** Shopify CDN: Minification failed

Line 544:25 Expected "}" to go with "{"

**/
/* ============================================
   VRITTA — Craft theme polish
   Version 2 · May 12, 2026
   COMPLETE replacement for vritta-custom.css
   
   File path: assets/vritta-custom.css
   Loaded from: layout/theme.liquid (before </head>)
   ============================================ */


/* ---------- BRAND TOKENS ---------- */

:root {
  --font-body-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-heading-family: 'Cormorant', Georgia, serif;
  --vritta-ink: #0F1C2E;
  --vritta-ink-muted: rgba(15, 28, 46, 0.7);
  --vritta-ink-soft: rgba(15, 28, 46, 0.55);
  --vritta-ink-dim: rgba(15, 28, 46, 0.4);
  --vritta-line: rgba(15, 28, 46, 0.14);
  --vritta-line-strong: rgba(15, 28, 46, 0.28);
  --vritta-blush: #C8826A;
  --vritta-ivory: #F7F3EC;
  --vritta-warm-ivory: #EDE9E1;
}


/* ---------- TYPOGRAPHY ---------- */

/* Inter for body, UI, navigation, prices, small text */
body,
input, select, textarea, button,
p, li, a, label,
.product__text, .product__description,
.cart-item, .totals,
.field__input, .field__label,
.announcement-bar__message,
.list-menu__item, .header__menu-item,
.footer-block__heading, .footer__content,
.card__information,
.price, .price-item,
.product__title-meta, .tax-note, .shipping-policy,
.rte, .rte p, .rte li {
  font-family: var(--font-body-family);
}

/* Cormorant for headings and display only */
h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5,
.banner__heading,
.product__title, .product__title h1,
.section-header__title,
.rich-text__heading,
.page-header__title,
.cart__title,
.title-wrapper h2,
.card__heading,
.card__heading a {
  font-family: var(--font-heading-family) !important;
  font-weight: 400;
}

body {
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: 0.001em;
}

p, li {
  font-size: 17px;
  line-height: 1.7;
}

/* Italic — Cormorant needs a size bump to match Inter's optical weight */
em, i, .rte em, .rte i {
  font-family: var(--font-heading-family);
  font-style: italic;
  font-size: 1.15em;
}
/* Heading scale */
.banner__heading {
  font-size: clamp(40px, 5vw, 62px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
  font-weight: 400 !important;
}
h1, .h1, .product__title h1 {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.018em;
  font-weight: 400;
}
h2, .h2 {
  font-size: clamp(24px, 2.8vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.012em;
  font-weight: 400;
}
h3, .h3 {
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.25;
  letter-spacing: -0.005em;
  font-weight: 400;
}

/* Reading width for prose blocks */
.rich-text__blocks {
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
}
.product__description {
  max-width: 38rem;
}


/* ---------- NAVIGATION ---------- */

.header__menu-item,
.list-menu__item,
.header__inline-menu .list-menu__item {
  font-family: var(--font-body-family) !important;
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 12px 18px !important;
  transition: opacity 0.2s ease;
}

.header__menu-item:hover,
.list-menu__item:hover {
  opacity: 0.6;
}

/* Active state — Craft handles its own underline. Do not add ::after. */

.header__heading-logo,
.header__heading-link {
  font-family: var(--font-heading-family) !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

.header__icons { gap: 4px; }
.header__icon { padding: 12px; }
.header__icon svg { width: 18px; height: 18px; }


/* ---------- ANNOUNCEMENT BAR ---------- */

.announcement-bar,
.announcement-bar__message {
  font-family: var(--font-body-family) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  padding: 10px 0;
}


/* ---------- PRODUCT PAGE — SPLIT LAYOUT ---------- */


.product__title h1 {
  font-size: clamp(30px, 3.2vw, 42px);
  line-height: 1.06;
  letter-spacing: -0.016em;
  margin-bottom: 16px;
}

.price {
  font-family: var(--font-body-family) !important;
  font-size: 18px !important;
  letter-spacing: 0.02em;
  font-weight: 400;
  margin: 20px 0 28px;
  padding: 18px 0;
  border-bottom: 1px solid var(--vritta-line);
}

.shipping-policy,
.product__tax,
.tax-note {
  font-family: var(--font-body-family) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  margin-top: 6px;
}



/* ---------- BUTTONS ---------- */

.button,
.button--primary,
.button--secondary,
.product-form__submit,
.shopify-payment-button__button {
  font-family: var(--font-body-family) !important;
  font-size: 11.5px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 18px 36px !important;
  border-radius: 0 !important;
  transition: letter-spacing 0.4s cubic-bezier(0.2, 0.6, 0.3, 1) !important;
  min-height: 56px !important;
}

.button:hover,
.button--primary:hover,
.product-form__submit:hover {
  letter-spacing: 0.24em !important;
}


/* ---------- FORM FIELDS (v3 — kill boxes from all sources) ---------- */

/* Kill borders, shadows, outlines, and pseudo-element boxes on all field wrappers */
html body .field,
html body .field > div,
html body .field > span,
html body .field__input-wrap,
html body .field-wrapper,
html body .contact-form .field,
html body .contact-form__field-wrapper,
html body .newsletter-form .field,
html body .newsletter-form__field-wrapper,
html body fieldset,
html body .contact-form fieldset {
  border: 0 none transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 none transparent !important;
  outline-offset: 0 !important;
}

html body .field::before,
html body .field::after,
html body .field__input-wrap::before,
html body .field__input-wrap::after,
html body .contact-form .field::before,
html body .contact-form .field::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
  background: transparent !important;
}

/* .field becomes a positioned container with space above for the label */
html body .field,
html body .contact-form .field,
html body .newsletter-form .field {
  position: relative !important;
  display: block !important;
  padding: 32px 0 0 0 !important;
  margin-bottom: 28px !important;
  min-height: 0 !important;
}

/* Label sits absolutely positioned at top of .field — above the input */
html body .field__label,
html body label.field__label,
html body .field > label,
html body .contact-form .field__label,
html body .newsletter-form .field__label {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  pointer-events: auto !important;
  font-family: var(--font-body-family) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--vritta-ink-soft) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Inputs and textareas — underline only, strip every native and themed box style */
html body input[type="text"],
html body input[type="email"],
html body input[type="tel"],
html body textarea,
html body .field__input,
html body input.field__input,
html body textarea.field__input,
html body .contact-form input,
html body .contact-form textarea,
html body .newsletter-form input,
html body .newsletter-form .field__input {
  border: 0 none transparent !important;
  border-bottom: 1px solid var(--vritta-line-strong) !important;
  border-radius: 0 !important;
  outline: 0 none transparent !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  padding: 12px 0 !important;
  margin: 0 !important;
  font-family: var(--font-body-family) !important;
  font-size: 16px !important;
  color: var(--vritta-ink) !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}

html body input:focus,
html body textarea:focus,
html body .field__input:focus,
html body .contact-form input:focus,
html body .contact-form textarea:focus,
html body .newsletter-form input:focus {
  border: 0 none transparent !important;
  border-bottom: 1px solid var(--vritta-ink) !important;
  outline: 0 none transparent !important;
  box-shadow: none !important;
}

html body textarea,
html body .contact-form textarea {
  min-height: 140px !important;
  resize: vertical !important;
}


/* ---------- TRUST SIGNALS STRIP ---------- */

.multicolumn {
  background: transparent !important;
}
.multicolumn-list {
  border-top: 1px solid var(--vritta-line);
  border-bottom: 1px solid var(--vritta-line);
  padding: 32px 0 !important;
  gap: 0 !important;
  display: flex !important;
  justify-content: space-between;
  align-items: center;
}
.multicolumn-card,
.multicolumn-card__info,
.multicolumn-card-spacing {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 24px !important;
  text-align: center;
  flex: 1;
  position: relative;
}
.multicolumn-list > li:not(:last-child) .multicolumn-card::after {
  content: '';
  position: absolute;
  right: -1px;
  top: 25%;
  height: 50%;
  width: 1px;
  background: var(--vritta-line);
}
.multicolumn-card__info h3,
.multicolumn-card .h3 {
  font-family: var(--font-body-family) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  margin-bottom: 10px !important;
}
.multicolumn-card__info .rte,
.multicolumn-card__info p {
  font-family: var(--font-heading-family) !important;
  font-size: 15px !important;
  line-height: 1.5;
  font-style: italic;
}


/* ---------- PRODUCT GRID CARDS ---------- */

.card__information {
  padding-top: 18px;
  text-align: left;
}
.card__heading,
.card__heading a {
  font-family: var(--font-heading-family) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  letter-spacing: -0.005em !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}
.card__information .price {
  border: none !important;
  padding: 6px 0 0 !important;
  margin: 0 !important;
  font-family: var(--font-body-family) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
}

/* Product title split — main name + descriptor (from theme.liquid JS) */
.vr-name {
  display: block;
  font-family: var(--font-heading-family);
}
.vr-descriptor {
  display: block;
  font-family: var(--font-body-family) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  margin-top: 12px !important;
  line-height: 1.4;
  opacity: 0.65;
}


/* ---------- EMAIL & TEL LINKS ---------- */

/* Uses currentColor so it adapts to the scheme (navy on ivory, ivory on navy) */
a[href^="mailto:"],
a[href^="tel:"] {
  text-decoration: none !important;
  border-bottom: 1px solid currentColor !important;
  padding-bottom: 1px !important;
  opacity: 0.85;
  transition: opacity 0.2s ease;
}
a[href^="mailto:"]:hover,
a[href^="tel:"]:hover {
  opacity: 1;
}


/* ---------- ABOUT / PAGE HEADER ---------- */

.page-header,
.main-page-title-wrapper {
  padding-top: 40px !important;
  padding-bottom: 20px !important;
}
.page-header__title,
h1.main-page-title {
  font-size: clamp(28px, 3.5vw, 42px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.014em !important;
  font-weight: 400 !important;
}


/* ---------- FOOTER ---------- */

/* No color overrides — let Craft's scheme handle navy bg + ivory text */
.footer-block__heading {
  font-family: var(--font-body-family) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  margin-bottom: 16px !important;
  opacity: 0.6;
}
.footer-block__newsletter h2,
.footer__newsletter h2,
.footer-block--newsletter h2 {
  font-family: var(--font-heading-family) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: -0.005em !important;
}


/* ---------- CART BUBBLE ---------- */

.cart-count-bubble {
  font-family: var(--font-body-family) !important;
  font-size: 10px !important;
  letter-spacing: 0.05em !important;
  background: var(--vritta-blush) !important;
  color: var(--vritta-ivory) !important;
}


/* ---------- RICH TEXT ---------- */

.rich-text__heading {
  margin-bottom: 24px !important;
}
.rich-text__text,
.rich-text__text p {
  font-size: 17px !important;
  line-height: 1.75 !important;
}


/* ---------- MOBILE ---------- */

/*
@media screen and (max-width: 749px) {
  body { font-size: 16px; }
  .banner__heading { font-size: clamp(32px, 9vw, 44px) !important; }
  .product__title h1 { font-size: clamp(26px, 7vw, 34px); }
  .multicolumn-list {
    flex-direction: column;
    gap: 24px !important;
    padding: 28px 0 !important;
  }
  .multicolumn-list > li:not(:last-child) .multicolumn-card::after {
    display: none;
  }
}*/

/* Newsletter input — soft outlined box */
.newsletter-form .field__input,
.footer-block--newsletter .field__input {
  border: 1px solid rgba(127, 127, 127, 0.3) !important;
  border-radius: 2px !important;
  padding: 14px 50px 14px