@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/figtree-regular.ttf") format("truetype");
}
@font-face {
  font-family: "Figtree";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/figtree-semibold.ttf") format("truetype");
}
@font-face {
  font-family: "Libre Caslon Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/libre-caslon-display.ttf") format("truetype");
}

.astral-cosmetics-page {
  --ac-paper: oklch(98% 0.003 265);
  --ac-panel: oklch(91% 0.012 255);
  --ac-image: oklch(96% 0.003 265);
  --ac-ink: oklch(26% 0.018 255);
  --ac-muted: oklch(46% 0.02 255);
  --ac-line: oklch(78% 0.012 255);
  --ac-accent: oklch(90% 0.035 295);
  --ac-action: oklch(32% 0.032 265);
  --ac-action-ink: oklch(98% 0.003 265);
  --ac-focus: oklch(43% 0.13 285);
  --ac-error: oklch(43% 0.14 25);
  --ac-success: oklch(38% 0.08 160);
  --ac-font-body: "Figtree", "Trebuchet MS", sans-serif;
  --ac-font-display: "Libre Caslon Display", Georgia, serif;
  --ac-type-small: 0.875rem;
  --ac-type-body: 1rem;
  --ac-type-lead: 1.25rem;
  --ac-type-title: clamp(2rem, 4vw, 3rem);
  --ac-type-display: clamp(2.75rem, 5.5vw, 6rem);
  --ac-space-1: 0.25rem;
  --ac-space-2: 0.5rem;
  --ac-space-3: 0.75rem;
  --ac-space-4: 1rem;
  --ac-space-6: 1.5rem;
  --ac-space-8: 2rem;
  --ac-space-12: 3rem;
  --ac-space-16: 4rem;
  --ac-space-24: 6rem;
  --ac-gutter: clamp(1rem, 4vw, 4rem);
  --ac-container: 84rem;
  --ac-radius: 0;
  --ac-target: 2.75rem;
  --ac-header-height: 4.5rem;
  --ac-rule: 1px;
  --ac-focus-width: 3px;
  --ac-ease: cubic-bezier(0.25, 1, 0.5, 1);
  --ac-feedback: 150ms;
  margin: 0;
  color: var(--ac-ink);
  background: var(--ac-paper);
  font: 400 var(--ac-type-body)/1.6 var(--ac-font-body);
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  .astral-cosmetics-page {
    --ac-paper: oklch(21% 0.015 255);
    --ac-panel: oklch(28% 0.025 255);
    --ac-image: oklch(96% 0.003 265);
    --ac-ink: oklch(95% 0.006 265);
    --ac-muted: oklch(77% 0.014 255);
    --ac-line: oklch(45% 0.018 255);
    --ac-accent: oklch(40% 0.04 295);
    --ac-action: oklch(90% 0.035 295);
    --ac-action-ink: oklch(22% 0.018 255);
    --ac-focus: oklch(80% 0.1 290);
    --ac-error: oklch(80% 0.1 25);
    --ac-success: oklch(80% 0.08 160);
    color-scheme: dark;
  }
}

.astral-cosmetics-page *,
.astral-cosmetics-page *::before,
.astral-cosmetics-page *::after { box-sizing: border-box; }
.astral-cosmetics-page h1,
.astral-cosmetics-page h2,
.astral-cosmetics-page h3 {
  color: var(--ac-ink);
  font-family: var(--ac-font-display);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.astral-cosmetics-page h1 { font-size: var(--ac-type-title); }
.astral-cosmetics-page p { text-wrap: pretty; }
.astral-cosmetics-page a {
  color: inherit;
  text-underline-offset: var(--ac-space-1);
  text-decoration-thickness: var(--ac-rule);
  transition: color var(--ac-feedback) var(--ac-ease), transform var(--ac-feedback) var(--ac-ease);
}
.astral-cosmetics-page a:hover { text-decoration: underline; }
.astral-cosmetics-page a:active,
.astral-cosmetics-page button:active { transform: translateY(var(--ac-rule)); }
.astral-cosmetics-page :focus-visible {
  outline: var(--ac-focus-width) solid var(--ac-focus);
  outline-offset: var(--ac-space-1);
}
.astral-cosmetics-page .wp-site-blocks { padding: 0 !important; }
.astral-cosmetics-page .wp-site-blocks > header,
.astral-cosmetics-page .wp-site-blocks > footer,
.astral-cosmetics-page .site-header,
.astral-cosmetics-page .site-footer { display: none; }
/* WooCommerce can emit its closed cart drawer before its optional styles load. */
.astral-cosmetics-page .wc-block-components-drawer__screen-overlay--is-hidden { display: none !important; }
/* A populated collection must not also display its empty state. */
.astral-cosmetics-page .wp-block-woocommerce-product-collection:has(> .wc-block-product-template > li.product) > .wp-block-woocommerce-product-collection-no-results { display: none; }
.astral-cosmetics-page .wp-site-blocks > main,
.astral-cosmetics-page .site-main {
  max-width: var(--ac-container);
  margin: 0 auto;
  padding: var(--ac-space-12) var(--ac-gutter) var(--ac-space-24);
}
.astral-cosmetics-home .wp-site-blocks > main,
.astral-cosmetics-home .site-main { max-width: none; padding: 0; }
.astral-cosmetics-home .wp-block-post-title,
.astral-cosmetics-home .entry-header { display: none; }
.astral-cosmetics-page .wp-block-post-content,
.astral-cosmetics-page .woocommerce,
.astral-cosmetics-page .astral-cosmetics-storefront.alignfull {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
.astral-cosmetics-page .wp-block-post-content > .astral-cosmetics-storefront { margin-block: 0; }
.astral-cosmetics-page .wp-block-post-content > p { max-width: 65ch; }
.astral-cosmetics-header,
.astral-cosmetics-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ac-space-8);
  padding-inline: var(--ac-gutter);
}
.astral-cosmetics-header { min-height: var(--ac-header-height); border-bottom: var(--ac-rule) solid var(--ac-line); }
.astral-cosmetics-wordmark {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--ac-space-2);
  min-height: var(--ac-target);
  font: 400 var(--ac-type-title)/1 var(--ac-font-display);
  text-decoration: none;
}
.astral-cosmetics-wordmark span { font: 400 var(--ac-type-small)/1.5 var(--ac-font-body); letter-spacing: 0.04em; }
.astral-cosmetics-header nav,
.astral-cosmetics-footer nav { display: flex; flex-wrap: wrap; gap: var(--ac-space-2) var(--ac-space-8); }
.astral-cosmetics-header nav a,
.astral-cosmetics-footer nav a { display: inline-flex; align-items: center; min-width: var(--ac-target); min-height: var(--ac-target); text-decoration: none; }
.astral-cosmetics-header nav a:hover,
.astral-cosmetics-footer nav a:hover { text-decoration: underline; }
.astral-cosmetics-footer {
  border-top: var(--ac-rule) solid var(--ac-line);
  flex-wrap: wrap;
  padding-block: var(--ac-space-12);
}
.astral-cosmetics-footer p { margin: 0; color: var(--ac-muted); font-size: var(--ac-type-small); }

.astral-cosmetics-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 38rem;
  background: var(--ac-panel);
}
.astral-cosmetics-hero-image { grid-column: 2; grid-row: 1; min-width: 0; background: var(--ac-image); }
.astral-cosmetics-hero-image img { display: block; width: 100%; height: 100%; max-height: 48rem; object-fit: cover; }
.astral-cosmetics-hero-copy {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  padding: var(--ac-space-16) var(--ac-gutter);
}
.astral-cosmetics-hero h1 { margin: 0 0 var(--ac-space-8); font-size: var(--ac-type-display); }
.astral-cosmetics-hero p { max-width: 30rem; margin: 0 0 var(--ac-space-8); font-size: var(--ac-type-lead); }
.astral-cosmetics-hero-empty { grid-template-columns: 1fr; }
.astral-cosmetics-hero-empty .astral-cosmetics-hero-image { display: none; }
.astral-cosmetics-selection { max-width: var(--ac-container); margin: auto; padding: var(--ac-space-24) var(--ac-gutter); }
.astral-cosmetics-selection h2 { margin: 0 0 var(--ac-space-6); font-size: var(--ac-type-title); }
.astral-cosmetics-selection > p { max-width: 40rem; margin: 0 0 var(--ac-space-12); color: var(--ac-muted); }
.astral-cosmetics-text-link { display: inline-flex; align-items: center; gap: var(--ac-space-6); min-height: var(--ac-target); }
.astral-cosmetics-size { margin-block: var(--ac-space-4); color: var(--ac-muted); }

.astral-cosmetics-page .astral-cosmetics-button,
.astral-cosmetics-page .woocommerce a.button,
.astral-cosmetics-page .woocommerce button.button,
.astral-cosmetics-page .woocommerce input.button,
.astral-cosmetics-page .wc-block-components-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ac-space-8);
  min-height: var(--ac-target);
  padding: var(--ac-space-3) var(--ac-space-6);
  border: var(--ac-rule) solid var(--ac-action);
  border-radius: var(--ac-radius);
  background: var(--ac-action);
  color: var(--ac-action-ink);
  font: 600 var(--ac-type-body)/1.5 var(--ac-font-body);
  text-decoration: none;
  box-shadow: none;
  transition: transform var(--ac-feedback) var(--ac-ease), color var(--ac-feedback) var(--ac-ease);
}
.astral-cosmetics-page .astral-cosmetics-button:hover,
.astral-cosmetics-page .woocommerce .button:hover,
.astral-cosmetics-page .wc-block-components-button:hover { transform: translateY(calc(-1 * var(--ac-rule))); text-decoration: underline; }
.astral-cosmetics-page .woocommerce .button:disabled,
.astral-cosmetics-page .woocommerce .button.disabled,
.astral-cosmetics-page .woocommerce .button.loading,
.astral-cosmetics-page .wc-block-components-button:disabled { background: var(--ac-panel); color: var(--ac-muted); border-color: var(--ac-line); transform: none; cursor: not-allowed; }
.astral-cosmetics-page .woocommerce .button.loading { cursor: progress; }
.astral-cosmetics-page .woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ac-space-12) var(--ac-space-6);
  padding: 0;
  margin-block: var(--ac-space-12);
}
.astral-cosmetics-page .woocommerce ul.products::before,
.astral-cosmetics-page .woocommerce ul.products::after { display: none; }
.astral-cosmetics-page .woocommerce ul.products li.product { width: auto; min-width: 0; float: none; margin: 0; }
.astral-cosmetics-page .woocommerce ul.products li.product a img { aspect-ratio: 1; object-fit: cover; background: var(--ac-image); margin: 0 0 var(--ac-space-6); }
.astral-cosmetics-page .woocommerce ul.products li.product .woocommerce-loop-product__title { font: 400 var(--ac-type-lead)/1.35 var(--ac-font-body); padding: 0; margin-bottom: var(--ac-space-2); }
.astral-cosmetics-page .woocommerce ul.products li.product .price,
.astral-cosmetics-page .woocommerce div.product p.price { color: var(--ac-ink); font-variant-numeric: tabular-nums; }
.astral-cosmetics-page .woocommerce ul.products li.product .button { margin-top: var(--ac-space-4); }
.astral-cosmetics-page .woocommerce .woocommerce-breadcrumb { color: var(--ac-muted); font-size: var(--ac-type-small); }
.astral-cosmetics-page .woocommerce div.product .product_title { overflow-wrap: anywhere; }
.astral-cosmetics-page .woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; border-radius: var(--ac-radius); background: transparent; }
.astral-cosmetics-page .woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--ac-accent); }
.astral-cosmetics-page .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.astral-cosmetics-page .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.astral-cosmetics-page .woocommerce .woocommerce-tabs .panel { max-width: 65ch; }
.astral-cosmetics-page .woocommerce table.shop_table { border: var(--ac-rule) solid var(--ac-line); border-radius: var(--ac-radius); }
.astral-cosmetics-page .woocommerce table.shop_table th,
.astral-cosmetics-page .woocommerce table.shop_table td { border-color: var(--ac-line); padding: var(--ac-space-4); }
.astral-cosmetics-page .woocommerce a.remove { display: inline-flex; align-items: center; justify-content: center; width: var(--ac-target); height: var(--ac-target); color: var(--ac-error) !important; }
.astral-cosmetics-page .woocommerce a.remove:hover { background: var(--ac-panel); }
.astral-cosmetics-page .woocommerce form .form-row input.input-text,
.astral-cosmetics-page .woocommerce form .form-row textarea,
.astral-cosmetics-page .woocommerce select,
.astral-cosmetics-page .woocommerce .quantity input,
.astral-cosmetics-page .woocommerce .input-text {
  min-height: var(--ac-target);
  max-width: 100%;
  padding: var(--ac-space-3);
  border: var(--ac-rule) solid var(--ac-line);
  border-radius: var(--ac-radius);
  background: var(--ac-paper);
  color: var(--ac-ink);
  font: 400 var(--ac-type-body)/1.5 var(--ac-font-body);
}
.astral-cosmetics-page .woocommerce ::placeholder { color: var(--ac-muted); opacity: 1; }
.astral-cosmetics-page .woocommerce form .form-row.woocommerce-invalid input { border-color: var(--ac-error); }
.astral-cosmetics-page .woocommerce form .form-row.woocommerce-validated input { border-color: var(--ac-success); }
.astral-cosmetics-page .woocommerce-info,
.astral-cosmetics-page .woocommerce-message,
.astral-cosmetics-page .woocommerce-error { background: var(--ac-panel); color: var(--ac-ink); border-color: var(--ac-line); }
.astral-cosmetics-page .woocommerce-error::before { color: var(--ac-error); }
.astral-cosmetics-page .woocommerce-message::before { color: var(--ac-success); }
.astral-cosmetics-page .woocommerce-info::before { color: var(--ac-ink); }
.astral-cosmetics-page .woocommerce-checkout #payment { background: var(--ac-panel); border-radius: var(--ac-radius); }
.astral-cosmetics-page .woocommerce-checkout #payment div.payment_box { background: var(--ac-paper); color: var(--ac-ink); }
.astral-cosmetics-page .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--ac-paper); }

@media (max-width: 64rem) {
  .astral-cosmetics-hero { min-height: 32rem; }
  .astral-cosmetics-hero-copy { padding-block: var(--ac-space-12); }
  .astral-cosmetics-page .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .astral-cosmetics-header { gap: var(--ac-space-4); }
  .astral-cosmetics-wordmark { flex-direction: column; justify-content: center; gap: 0; font-size: 2rem; }
  .astral-cosmetics-header nav { gap: var(--ac-space-3); }
  .astral-cosmetics-hero { grid-template-columns: 1fr; min-height: 0; }
  .astral-cosmetics-hero-copy { grid-column: 1; grid-row: 1; padding-block: var(--ac-space-12); }
  .astral-cosmetics-hero-image { grid-column: 1; grid-row: 2; }
  .astral-cosmetics-hero-image img { height: auto; aspect-ratio: 4 / 3; }
  .astral-cosmetics-hero p { font-size: var(--ac-type-body); }
  .astral-cosmetics-selection { padding-block: var(--ac-space-12); }
  .astral-cosmetics-page .woocommerce ul.products { gap: var(--ac-space-8) var(--ac-space-4); }
  .astral-cosmetics-page .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: var(--ac-type-body); }
  .astral-cosmetics-page .woocommerce ul.products li.product .button { width: 100%; padding-inline: var(--ac-space-2); font-size: var(--ac-type-small); }
  .astral-cosmetics-footer { align-items: flex-start; flex-direction: column; gap: var(--ac-space-6); }
  .astral-cosmetics-footer nav { gap: var(--ac-space-2) var(--ac-space-6); }
}
@media (prefers-reduced-motion: reduce) {
  .astral-cosmetics-page *,
  .astral-cosmetics-page *::before,
  .astral-cosmetics-page *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
