/* The Nature's Palm customer PWA typography system. Loaded last by design. */
@font-face {
  font-family: "Poppins";
  src: url("/assets/fonts/Poppins-Regular.ttf") format("truetype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/fonts/Poppins-Medium.ttf") format("truetype");
  font-display: swap;
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/fonts/Poppins-SemiBold.ttf") format("truetype");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}

@font-face {
  font-family: "Poppins";
  src: url("/assets/fonts/Poppins-Bold.ttf") format("truetype");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
}

:root {
  --font-sans: "Poppins", "Avenir Next", "Segoe UI", Arial, sans-serif;
  --font-regular: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --text-meta: 11px;
  --text-label: 12px;
  --text-secondary: 13px;
  --text-body: 14px;
  --text-card-title: 13px;
  --text-price: 16px;
  --text-section: 16px;
  --text-feature: 24px;
  --text-page-title: 24px;
  --leading-meta: 16px;
  --leading-label: 16px;
  --leading-secondary: 19px;
  --leading-body: 21px;
  --leading-card-title: 18px;
  --leading-price: 21px;
  --leading-section: 22px;
  --leading-feature: 29px;
  --leading-page-title: 30px;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
.tnp-local-storefront-page {
  font-family: var(--font-sans);
  font-synthesis: none;
  font-size: var(--text-body);
  font-weight: var(--font-regular);
  line-height: var(--leading-body);
}

button,
input,
textarea,
select,
dialog,
summary {
  font-family: inherit;
  font-synthesis: none;
}

.tnp-local-app :where(p, a, button, input, textarea, select, label, small, strong, b, span) {
  text-rendering: optimizeLegibility;
}

.tnp-local-app :where(.tnp-local-product__price, .tnp-local-product-page__price, .tnp-local-cart-item strong, .tnp-local-order-summary strong, .tnp-local-order-card > strong, .tnp-local-checkout-total strong, .tnp-custom-atta-ratio, .tnp-custom-atta-health__metrics, .tnp-custom-atta-summary, .tnp-custom-atta-review__price, .tnp-local-cart-badge, [data-cart-quantity]) {
  font-variant-numeric: tabular-nums;
}

/* Shared heading, copy, label and action roles. */
.tnp-local-page-heading h1,
.tnp-custom-atta-heading__title h1,
.tnp-local-empty-state h1,
.tnp-local-auth__brand h1 {
  font-size: var(--text-page-title);
  font-weight: var(--font-bold);
  letter-spacing: 0;
  line-height: var(--leading-page-title);
}

.tnp-local-hero h1,
.tnp-local-custom-atta-card > strong {
  font-size: var(--text-feature);
  font-weight: var(--font-bold);
  letter-spacing: 0;
  line-height: var(--leading-feature);
}

.tnp-local-custom-atta-card__typing {
  min-height: var(--leading-feature);
}

.tnp-local-section-heading h2,
.tnp-custom-atta-presets h2,
.tnp-custom-atta-saved h2,
.tnp-custom-atta-step h2,
.tnp-custom-atta-health h2,
.tnp-custom-atta-name-card h2 {
  font-size: var(--text-section);
  font-weight: var(--font-bold);
  line-height: var(--leading-section);
}

.tnp-local-page-heading p,
.tnp-local-hero p,
.tnp-local-empty-state p,
.tnp-local-product-page__content > p,
.tnp-local-auth__brand p {
  font-size: var(--text-body);
  font-weight: var(--font-regular);
  line-height: var(--leading-body);
}

.tnp-local-section-heading small,
.tnp-local-page-heading small,
.tnp-local-eyebrow,
.tnp-local-hero > div > span,
.tnp-local-custom-atta-card > span,
.tnp-custom-atta-heading > small,
.tnp-custom-atta-presets header small,
.tnp-custom-atta-saved header small,
.tnp-custom-atta-name-card > header small,
.tnp-custom-atta-review header small,
.tnp-local-auth__brand small,
.tnp-local-account-card small,
.tnp-local-location-dialog__header small,
.tnp-local-pack-dialog header small {
  font-size: var(--text-meta);
  font-weight: var(--font-bold);
  letter-spacing: .1em;
  line-height: var(--leading-meta);
}

.tnp-custom-atta-heading__title span {
  font-size: var(--text-meta);
  font-weight: var(--font-semibold);
  line-height: var(--leading-meta);
}

.tnp-local-app :where(.tnp-local-primary-action, .tnp-local-hero a, .tnp-custom-atta-continue, .tnp-custom-atta-preset__details footer button, .tnp-custom-atta-save-choice, .tnp-custom-atta-summary > button, .tnp-local-pack-dialog__footer button) {
  font-size: var(--text-body);
  font-weight: var(--font-semibold);
  line-height: 20px;
}

/* Header and search. */
.tnp-local-location small {
  font-size: var(--text-meta);
  font-weight: var(--font-medium);
  line-height: 14px;
}

.tnp-local-location strong {
  font-size: var(--text-body);
  font-weight: var(--font-bold);
  line-height: 18px;
}

.tnp-local-search input,
.tnp-local-search input::placeholder {
  font-family: var(--font-sans);
  font-size: var(--text-body);
  font-weight: var(--font-medium);
  line-height: 20px;
}

/* Home and categories. */
.tnp-local-hero a,
.tnp-local-custom-atta-card > b {
  font-size: var(--text-body);
  font-weight: var(--font-semibold);
  line-height: 20px;
}

.tnp-local-custom-atta-card > small {
  font-size: var(--text-secondary);
  font-weight: var(--font-regular);
  line-height: var(--leading-secondary);
}

.tnp-local-categories small {
  display: -webkit-box;
  min-height: 28px;
  max-width: 82px;
  overflow: hidden;
  font-size: var(--text-meta);
  font-weight: var(--font-semibold);
  line-height: 14px;
  text-align: center;
  text-overflow: clip;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Catalogue, product cards and packs. */
.tnp-local-collection-tabs a,
.tnp-local-catalog-filter a {
  font-size: var(--text-label);
  font-weight: var(--font-semibold);
  line-height: var(--leading-label);
}

.tnp-local-product__name {
  min-height: 40px;
  font-size: var(--text-card-title);
  font-weight: var(--font-semibold);
  line-height: var(--leading-card-title);
}

.tnp-local-product__description {
  font-size: var(--text-secondary);
  font-weight: var(--font-regular);
  line-height: var(--leading-secondary);
}

.tnp-local-product__unit,
.tnp-local-product__price small,
.tnp-local-product__price del,
.tnp-local-product__badges span {
  font-size: var(--text-meta);
  line-height: 15px;
}

.tnp-local-product__unit,
.tnp-local-product__badges span {
  font-weight: var(--font-medium);
}

.tnp-local-product__price {
  font-size: var(--text-price);
  font-weight: var(--font-bold);
  line-height: var(--leading-price);
}

.tnp-local-product__add,
.tnp-local-product__add--choose {
  font-family: var(--font-sans);
  font-size: var(--text-label);
  font-weight: var(--font-bold);
  line-height: var(--leading-label);
}

.tnp-local-product-page__content h1 {
  font-size: var(--text-page-title);
  font-weight: var(--font-bold);
  line-height: var(--leading-page-title);
}

.tnp-local-product-page__price {
  font-size: 22px;
  font-weight: var(--font-bold);
  line-height: 28px;
}

.tnp-local-product-page__unit,
.tnp-local-detail-packs legend,
.tnp-local-option-selector > span {
  font-size: var(--text-label);
  font-weight: var(--font-semibold);
  line-height: var(--leading-label);
}

.tnp-local-option-pills button,
.tnp-local-option-pill {
  font-size: var(--text-secondary);
  font-weight: var(--font-medium);
  line-height: 18px;
}

.tnp-local-option-pills button small,
.tnp-local-pack-dialog__footer .tnp-local-primary-action strong {
  font-size: var(--text-label);
  font-weight: var(--font-bold);
  line-height: var(--leading-label);
}

.tnp-local-pack-dialog header h2,
.tnp-local-service-card strong {
  font-size: var(--text-card-title);
  font-weight: var(--font-semibold);
  line-height: var(--leading-card-title);
}

.tnp-local-service-card span {
  font-size: var(--text-secondary);
  font-weight: var(--font-regular);
  line-height: var(--leading-secondary);
}

/* Cart, checkout and orders. */
.tnp-local-cart-item h2,
.tnp-local-order-card h2 {
  font-size: var(--text-card-title);
  font-weight: var(--font-semibold);
  line-height: var(--leading-card-title);
}

.tnp-local-cart-item p,
.tnp-local-cart-item span {
  font-size: var(--text-secondary);
  font-weight: var(--font-medium);
  line-height: 18px;
}

.tnp-local-cart-item strong,
.tnp-local-order-card > strong,
.tnp-local-checkout-total strong {
  font-size: var(--text-price);
  font-weight: var(--font-bold);
  line-height: var(--leading-price);
}

.tnp-local-cart-item__quantity b,
.tnp-local-cart-item__quantity button,
.tnp-local-secondary-link,
.tnp-local-order-card summary,
.tnp-local-order-card details p,
.tnp-local-order-card small,
.tnp-local-order-card > a,
.tnp-local-status-chip {
  font-size: var(--text-label);
  line-height: 18px;
}

.tnp-local-cart-item__quantity b,
.tnp-local-secondary-link,
.tnp-local-order-card summary,
.tnp-local-order-card > a,
.tnp-local-status-chip {
  font-weight: var(--font-semibold);
}

.tnp-local-order-summary > div,
.tnp-local-checkout-total {
  font-size: var(--text-body);
  font-weight: var(--font-medium);
  line-height: 20px;
}

.tnp-local-order-summary__total span,
.tnp-local-order-summary__total strong {
  font-size: var(--text-price);
  font-weight: var(--font-bold);
  line-height: var(--leading-price);
}

.tnp-local-checkout-note strong {
  font-size: var(--text-card-title);
  font-weight: var(--font-semibold);
  line-height: var(--leading-card-title);
}

.tnp-local-checkout-note span,
.tnp-local-checkout-note button,
.tnp-local-checkout-shell .woocommerce,
.tnp-local-checkout-shell .woocommerce-checkout-review-order-table {
  font-size: var(--text-secondary);
  line-height: var(--leading-secondary);
}

.tnp-local-checkout-form label,
.tnp-local-checkout-shell .woocommerce label {
  font-size: var(--text-secondary);
  font-weight: var(--font-semibold);
  line-height: 18px;
}

.tnp-local-checkout-form input,
.tnp-local-checkout-form textarea,
.tnp-local-checkout-form select,
.tnp-local-checkout-shell .woocommerce input,
.tnp-local-checkout-shell .woocommerce textarea,
.tnp-local-checkout-shell .woocommerce select {
  font-size: var(--text-body);
  font-weight: var(--font-medium);
  line-height: 20px;
}

.tnp-local-checkout-form > [data-local-checkout-status] {
  font-size: var(--text-label);
  font-weight: var(--font-medium);
  line-height: 18px;
}

/* Account, authentication, location and system states. */
.tnp-local-account-card h1 {
  font-size: var(--text-page-title);
  font-weight: var(--font-bold);
  line-height: var(--leading-page-title);
}

.tnp-local-account-card p,
.tnp-local-auth__hint,
.tnp-local-auth__panel p,
.tnp-local-location-dialog__note {
  font-size: var(--text-secondary);
  line-height: var(--leading-secondary);
}

.tnp-local-account-actions span,
.tnp-local-location-dialog__intro,
.tnp-local-store-choices button {
  font-size: var(--text-body);
  font-weight: var(--font-semibold);
  line-height: 20px;
}

.tnp-local-auth__panel > label,
.tnp-local-auth__phone input,
.tnp-local-auth__panel input[name="code"] {
  font-size: var(--text-body);
  font-weight: var(--font-semibold);
  line-height: 20px;
}

.tnp-local-auth__panel > small,
.tnp-local-auth__session-note,
.tnp-local-auth__back,
.tnp-local-auth__resend,
.tnp-local-auth__status,
.tnp-local-offline,
.tnp-local-toast {
  font-size: var(--text-label);
  line-height: 18px;
}

.tnp-local-location-dialog__header h2,
.tnp-local-auth__panel h2 {
  font-size: var(--text-section);
  font-weight: var(--font-bold);
  line-height: var(--leading-section);
}

/* Customised Atta builder. */
.tnp-custom-atta-paths strong,
.tnp-custom-atta-preset__summary strong,
.tnp-custom-atta-inline-recipe header strong,
.tnp-custom-atta-bases button strong,
.tnp-custom-atta-grain__summary strong {
  font-size: var(--text-card-title);
  font-weight: var(--font-semibold);
  line-height: var(--leading-card-title);
}

.tnp-custom-atta-paths strong,
.tnp-custom-atta-preset__summary strong {
  font-weight: var(--font-bold);
}

.tnp-custom-atta-paths small,
.tnp-custom-atta-step header p,
.tnp-custom-atta-preset__summary small,
.tnp-custom-atta-preset__details-inner > small,
.tnp-custom-atta-guidance,
.tnp-custom-atta-health header p,
.tnp-custom-atta-health__footer,
.tnp-custom-atta-health__suggestion {
  font-size: var(--text-secondary);
  font-weight: var(--font-regular);
  line-height: var(--leading-secondary);
}

.tnp-custom-atta-preset__summary > b,
.tnp-custom-atta-preset__details-inner > em,
.tnp-custom-atta-bases button small,
.tnp-custom-atta-badges b,
.tnp-custom-atta-filters button,
.tnp-custom-atta-grain__summary span,
.tnp-custom-atta-grain__details em,
.tnp-custom-atta-grain__actions label span,
.tnp-custom-atta-health__metrics small,
.tnp-custom-atta-health > p,
.tnp-custom-atta-name small,
.tnp-custom-atta-name-card > header p,
.tnp-custom-atta-summary small,
.tnp-custom-atta-review__facts span,
.tnp-custom-atta-review__price span,
.tnp-custom-atta-save-choice {
  font-size: var(--text-meta);
  font-weight: var(--font-medium);
  line-height: var(--leading-meta);
}

.tnp-custom-atta-preset__details-inner > em,
.tnp-custom-atta-grain__details em,
.tnp-custom-atta-health > p {
  line-height: var(--leading-meta);
}

.tnp-custom-atta-quantity button,
.tnp-custom-atta-mode button,
.tnp-custom-atta-custom-quantity input,
.tnp-custom-atta-custom-quantity label span,
.tnp-custom-atta-custom-quantity > button,
.tnp-custom-atta-search input,
.tnp-custom-atta-grain__actions > button:not(.tnp-custom-atta-grain__remove),
.tnp-custom-atta-grain__actions input,
.tnp-custom-atta-name input {
  font-size: var(--text-body);
  font-weight: var(--font-semibold);
  line-height: 20px;
}

.tnp-custom-atta-ratio > div:first-child strong,
.tnp-custom-atta-health__metrics b {
  font-size: var(--text-price);
  font-weight: var(--font-bold);
  line-height: 20px;
}

.tnp-custom-atta-ratio__ends,
.tnp-custom-atta-inline-recipe header span,
.tnp-custom-atta-inline-recipe > div,
.tnp-custom-atta-inline-recipe > div b,
.tnp-custom-atta-bases button b,
.tnp-custom-atta-health > header > button {
  font-size: var(--text-label);
  font-weight: var(--font-medium);
  line-height: 17px;
}

.tnp-custom-atta-bases button b,
.tnp-custom-atta-health > header > button {
  font-weight: var(--font-semibold);
}

.tnp-custom-atta-summary strong,
.tnp-custom-atta-review__price strong {
  font-size: 18px;
  font-weight: var(--font-bold);
  line-height: 22px;
}

.tnp-custom-atta-summary > span {
  font-size: var(--text-meta);
  font-weight: var(--font-medium);
  line-height: 15px;
}

/* Bottom navigation labels stay readable if a labelled navigation variant is used. */
.tnp-local-bottom-nav small {
  font-size: var(--text-meta);
  font-weight: var(--font-semibold);
  line-height: 14px;
}

.tnp-local-cart-badge {
  font-size: 10px;
  font-weight: var(--font-bold);
  line-height: 13px;
}

@media (max-width: 380px) {
  .tnp-local-main {
    padding-right: 12px;
    padding-left: 12px;
  }

  .tnp-custom-atta-step h2,
  .tnp-custom-atta-health h2,
  .tnp-custom-atta-name-card h2 {
    font-size: 18px;
    line-height: 24px;
  }
}
