:root {
  --color-text: #0F172A;
  --color-bg: #ffffff;
  --color-surface: #f7f1e8;
  --color-line: rgba(17, 17, 17, 0.12);
  --color-accent: #debc7b;
  --color-badge: #111111;
  --container: 1140px;
  --content: 750px;
  --radius-soft: 3px;
  --radius-card: 4px;
  --transition: 0.25s ease;
  --ease-soft: cubic-bezier(0.22, 0.61, 0.36, 1);
  --shadow-header: 0 10px 30px rgba(17, 17, 17, 0.08);
  --shadow-float: 0 8px 24px rgba(17, 17, 17, 0.08);
  --color-surface-warm: #fbf7f0;
  --space-mobile-edge: 1.25rem;
  --space-mobile-section: 3.5rem;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: "Raleway", sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1;
  text-transform: uppercase;
}

body.offcanvas-open {
  overflow: hidden;
}

a {
  color: var(--color-text);
  text-decoration: none;
  transition: color var(--transition), background-color var(--transition), border-color var(--transition);
}

a:hover,
a:focus {
  color: var(--color-accent);
}

h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading,
.product_title,
.woocommerce-loop-product__title {
  margin: 0 0 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}

h1,
.entry-title {
  font-size: clamp(2.25rem, 4vw, 3rem);
}

h2 {
  font-size: clamp(1.75rem, 3vw, 2rem);
}

h3 {
  font-size: clamp(1.375rem, 2.6vw, 1.875rem);
}

p,
ul,
ol,
blockquote,
figure {
  margin: 0 0 1rem;
}

img {
  max-width: 100%;
  height: auto;
}

button:not(.hamburger):not(.cart-link):not(.perla-home-hero__dot):not(.perla-home-hero__arrow),
.button,
.wp-element-button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce #respond input#submit.alt,
.woocommerce a.added_to_cart,
.woocommerce-page a.added_to_cart,
a.added_to_cart,
.woocommerce a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button.single_add_to_cart_button {
  border: 1px solid #0f172a;
  border-radius: var(--radius-soft);
  background: #ffffff;
  color: #0f172a;
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  padding: 10px 20px;
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease;
}

button:not(.hamburger):not(.cart-link):not(.offcanvas-cart__close):not(.perla-home-hero__dot):not(.perla-home-hero__arrow):hover,
.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.added_to_cart:hover,
.woocommerce a.added_to_cart:focus,
.woocommerce-page a.added_to_cart:hover,
.woocommerce-page a.added_to_cart:focus,
a.added_to_cart:hover,
a.added_to_cart:focus,
.woocommerce a.checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #place_order:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button:hover {
  background: #0f172a;
  border-color: #0f172a;
  color: #ffffff;
}

input,
select,
textarea {
  border: 1px solid var(--color-line);
  border-radius: 0;
  padding: 0.85rem 1rem;
  font: inherit;
  text-transform: uppercase;
}

.perla-shell {
  width: min(calc(100% - 2rem), var(--container));
  margin: 0 auto;
}

.site {
  min-height: 100vh;
  padding-top: 102px;
}

.site-header {
  position: sticky;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1200;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--color-line);
  transition: background var(--transition), box-shadow var(--transition);
}

.site-header.scrolled {
  box-shadow: var(--shadow-header);
}

.site-header .perla-shell {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.header-container {
  max-width: var(--container);
  margin: 0 auto;
  min-height: 102px;
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}

.header-nav,
.header-right {
  display: flex;
  align-items: center;
  min-width: 0;
}

.header-nav {
  flex: 1 1 0;
}

.header-right {
  flex: 1 1 0;
  justify-content: flex-end;
  gap: 1.5rem;
}

.header-nav-secondary {
  justify-content: flex-end;
}

.site-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.site-logo .custom-logo-link,
.site-logo .site-title-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--color-text);
  justify-content: center;
}

.site-logo img,
.site-logo .custom-logo {
  display: block;
  width: auto;
  max-height: 72px;
  max-width: 200px;
}

.site-title-link {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

.header-nav .nav-menu {
  display: flex;
  gap: 2.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.header-nav .nav-menu li {
  margin: 0;
}

.header-nav .nav-menu li a {
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-decoration: none;
  transition: color var(--transition);
}

.header-nav .nav-menu li a:hover,
.header-nav .nav-menu li.current-menu-item > a,
.header-nav .nav-menu li.current_page_item > a {
  color: var(--color-accent);
}

.cart-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-text);
  text-decoration: none;
  cursor: pointer;
}

.cart-link svg {
  display: block;
  width: 24px;
  height: 24px;
}

.cart-count {
  position: absolute;
  top: -6px;
  right: -10px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--color-accent);
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  transition: transform var(--transition);
}

.cart-link:hover .cart-count {
  transform: scale(1.08);
}

body.perla-quick-view-open {
  overflow: hidden;
}

.perla-variation-field {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: 0.75rem;
}

.perla-variation-field__native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.perla-variation-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.perla-variation-field button.perla-variation-swatch {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: 56px;
  padding: 0.95rem 1.4rem;
  border: 1px solid var(--color-line);
  border-radius: 10px;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.76rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  box-shadow: none;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    opacity 180ms ease;
}

.perla-variation-field button.perla-variation-swatch:hover,
.perla-variation-field button.perla-variation-swatch:focus-visible {
  border-color: var(--color-line);
  background: var(--color-bg);
  color: var(--color-text);
  letter-spacing: 0.08em;
  transform: none;
  box-shadow: none;
}

.perla-variation-field button.perla-variation-swatch.is-selected {
  border-color: var(--color-text);
  background: var(--color-bg);
  color: var(--color-text);
  box-shadow: none;
}

.perla-variation-field button.perla-variation-swatch.is-disabled,
.perla-variation-field button.perla-variation-swatch[aria-disabled="true"] {
  border-color: rgba(15, 23, 42, 0.08);
  background: #f6f3ee;
  color: rgba(15, 23, 42, 0.34);
  opacity: 1;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.perla-variation-swatch__label {
  display: inline-block;
  line-height: 1.1;
}

.perla-variation-swatch__chip {
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: var(--perla-swatch-color, #d6d3d1);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
}

.perla-variation-swatch__thumb {
  width: 1.55rem;
  height: 1.55rem;
  overflow: hidden;
  border-radius: 8px;
  background: #f5f1ea;
}

.perla-variation-swatch__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ───────────────────────────────────────────────
   Quick view — editorial-luxe, ink on bone paper.
   Hairline geometry, restrained ornament, a single
   thin gold seam as the only feminine flourish.
   ─────────────────────────────────────────────── */

.perla-quick-view {
  position: fixed;
  inset: 0;
  z-index: 10010;
  display: grid;
  place-items: center;
  padding: clamp(0.75rem, 3vw, 2rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 320ms var(--ease-soft, ease), visibility 320ms var(--ease-soft, ease);
}

.perla-quick-view.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.perla-quick-view__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 17, 17, 0.42);
  backdrop-filter: blur(6px) saturate(105%);
  -webkit-backdrop-filter: blur(6px) saturate(105%);
}

.perla-quick-view__dialog {
  position: relative;
  width: min(1100px, 100%);
  max-height: min(92vh, 980px);
  overflow: auto;
  background: var(--color-surface-warm, #fbf7f0);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card, 4px);
  box-shadow: 0 40px 90px -20px rgba(17, 17, 17, 0.32);
  scrollbar-gutter: stable;
}

/* Thin gold seam — the one ornament. */
.perla-quick-view__dialog::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--color-accent) 22%,
    var(--color-accent) 78%,
    transparent 100%
  );
  opacity: 0.85;
  pointer-events: none;
}

.perla-quick-view__close {
  position: fixed;
  /* Track the dialog's right edge: dialog max-width is 1100px,
     so beyond that viewport width, inset from the dialog edge. */
  top: max(1rem, calc(50vh - 490px + 1rem));
  right: max(1rem, calc(50vw - 550px + 1rem));
  z-index: 10020;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border-radius: 999px;
  border: 1px solid var(--color-line);
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-text);
  box-shadow: 0 4px 14px rgba(17, 17, 17, 0.08);
  cursor: pointer;
  transition: border-color 200ms ease, color 200ms ease, background-color 200ms ease, transform 200ms ease;
}

.perla-quick-view[aria-hidden="true"] .perla-quick-view__close {
  display: none;
}

.perla-quick-view__close::before,
.perla-quick-view__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  background: currentColor;
  transform-origin: center;
  transition: background-color 200ms ease;
}

.perla-quick-view__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.perla-quick-view__close::after  { transform: translate(-50%, -50%) rotate(-45deg); }

.perla-quick-view__close span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.perla-quick-view__close:hover,
.perla-quick-view__close:focus-visible {
  border-color: var(--color-text);
  color: var(--color-text);
  background: var(--color-bg);
  outline: none;
}

.perla-quick-view__body {
  position: relative;
  z-index: 1;
  padding: 0;
}

.perla-quick-view__status {
  display: grid;
  place-items: center;
  min-height: 420px;
  padding: 3rem 1rem;
  text-align: center;
  font-family: "Montserrat", sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--color-text);
}

.perla-quick-view__status.is-error {
  color: #8b1e3f;
  letter-spacing: 0.18em;
}

/* ─── Skeleton loader ─── */

.perla-quick-view__skeleton {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
  gap: 0;
  align-items: stretch;
  min-height: min(78vh, 760px);
}

.perla-quick-view__skeleton-media,
.perla-quick-view__skeleton-line,
.perla-quick-view__skeleton-block,
.perla-quick-view__skeleton-cta,
.perla-quick-view__skeleton-swatches > span {
  position: relative;
  overflow: hidden;
  background: var(--color-surface);
  border-radius: var(--radius-soft, 3px);
}

.perla-quick-view__skeleton-media::after,
.perla-quick-view__skeleton-line::after,
.perla-quick-view__skeleton-block::after,
.perla-quick-view__skeleton-cta::after,
.perla-quick-view__skeleton-swatches > span::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    transparent 0%,
    rgba(255, 255, 255, 0.55) 45%,
    rgba(255, 255, 255, 0.85) 50%,
    rgba(255, 255, 255, 0.55) 55%,
    transparent 100%
  );
  transform: translateX(-100%);
  animation: perla-quick-view-shimmer 1.6s var(--ease-soft, ease) infinite;
}

.perla-quick-view__skeleton-media {
  border-radius: 0;
  /* lay flat against the media column edge */
  min-height: 100%;
}

.perla-quick-view__skeleton-content {
  display: grid;
  gap: 1.1rem;
  align-content: start;
  padding: clamp(2rem, 3.5vw, 3rem) clamp(1.75rem, 3vw, 2.75rem);
  background: var(--color-bg);
  border-left: 1px solid var(--color-line);
}

.perla-quick-view__skeleton-line {
  height: 12px;
  width: 80%;
}

.perla-quick-view__skeleton-line--eyebrow {
  height: 9px;
  width: 38%;
  margin-bottom: 0.4rem;
}

.perla-quick-view__skeleton-line--title {
  height: 28px;
  width: 75%;
  border-radius: 2px;
}

.perla-quick-view__skeleton-line--title.is-short {
  width: 50%;
}

.perla-quick-view__skeleton-line--price {
  height: 14px;
  width: 30%;
  margin-top: 0.4rem;
}

.perla-quick-view__skeleton-block {
  height: 56px;
  width: 90%;
  margin-top: 0.6rem;
}

.perla-quick-view__skeleton-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.perla-quick-view__skeleton-swatches > span {
  height: 28px;
  width: 64px;
  flex: 0 0 auto;
}

.perla-quick-view__skeleton-swatches > span:nth-child(2) { width: 78px; }
.perla-quick-view__skeleton-swatches > span:nth-child(3) { width: 56px; }
.perla-quick-view__skeleton-swatches > span:nth-child(4) { width: 70px; }

.perla-quick-view__skeleton-cta {
  height: 48px;
  width: 100%;
  margin-top: 0.5rem;
  border-radius: var(--radius-soft, 3px);
  background: rgba(15, 23, 42, 0.08);
}

/* Stagger shimmer entrances so it feels orchestrated, not noisy. */
.perla-quick-view__skeleton-line--eyebrow::after { animation-delay: 0s; }
.perla-quick-view__skeleton-line--title::after { animation-delay: 80ms; }
.perla-quick-view__skeleton-line--title.is-short::after { animation-delay: 140ms; }
.perla-quick-view__skeleton-line--price::after { animation-delay: 200ms; }
.perla-quick-view__skeleton-block::after { animation-delay: 260ms; }
.perla-quick-view__skeleton-swatches > span:nth-child(1)::after { animation-delay: 320ms; }
.perla-quick-view__skeleton-swatches > span:nth-child(2)::after { animation-delay: 360ms; }
.perla-quick-view__skeleton-swatches > span:nth-child(3)::after { animation-delay: 400ms; }
.perla-quick-view__skeleton-swatches > span:nth-child(4)::after { animation-delay: 440ms; }
.perla-quick-view__skeleton-cta::after { animation-delay: 500ms; }

.perla-quick-view__skeleton-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@keyframes perla-quick-view-shimmer {
  0%   { transform: translateX(-100%); }
  60%  { transform: translateX(100%); }
  100% { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
  .perla-quick-view__skeleton-media::after,
  .perla-quick-view__skeleton-line::after,
  .perla-quick-view__skeleton-block::after,
  .perla-quick-view__skeleton-cta::after,
  .perla-quick-view__skeleton-swatches > span::after {
    animation: none;
    opacity: 0.5;
    transform: none;
  }
}

@media (max-width: 900px) {
  .perla-quick-view__skeleton {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .perla-quick-view__skeleton-media {
    aspect-ratio: 4 / 5;
    min-height: 0;
  }

  .perla-quick-view__skeleton-content {
    border-left: 0;
    border-top: 1px solid var(--color-line);
    padding: 1.5rem 1.25rem 1.75rem;
  }
}

.perla-quick-view__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
  gap: 0;
  align-items: stretch;
  min-height: min(78vh, 760px);
}

/* Hairline divider between media and content. */
.perla-quick-view__grid > .perla-quick-view__content {
  border-left: 1px solid var(--color-line);
}

.perla-quick-view__media {
  position: relative;
  overflow: hidden;
  background: var(--color-surface);
}

.perla-quick-view__image,
.perla-quick-view__image--placeholder {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.perla-quick-view__image--placeholder {
  background:
    repeating-linear-gradient(
      45deg,
      rgba(17, 17, 17, 0.04) 0 1px,
      transparent 1px 14px
    ),
    var(--color-surface);
}

.perla-quick-view__content {
  display: grid;
  gap: 1.35rem;
  align-content: start;
  padding: clamp(2rem, 3.5vw, 3rem) clamp(1.75rem, 3vw, 2.75rem);
  background: var(--color-bg);
}

.perla-quick-view__eyebrow {
  position: relative;
  font-family: "Montserrat", sans-serif;
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--color-text);
  padding-bottom: 0.65rem;
}

.perla-quick-view__eyebrow::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 28px;
  height: 1px;
  background: var(--color-accent);
}

.perla-quick-view__eyebrow a {
  color: inherit;
  text-decoration: none;
  transition: color 180ms ease;
}

.perla-quick-view__eyebrow a:hover { color: var(--color-text); }

.perla-quick-view__title {
  margin: 0;
  max-width: 16ch;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: clamp(1.85rem, 2.6vw, 2.6rem);
  line-height: 1.04;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--color-text);
  text-wrap: balance;
}

.perla-quick-view__price {
  display: inline-flex;
  align-items: baseline;
  gap: 0.6rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--color-text);
}

.perla-quick-view__price del {
  font-weight: 400;
  font-size: 0.82rem;
  color: var(--color-text);
  opacity: 0.7;
}

.perla-quick-view__price ins {
  text-decoration: none;
  color: var(--color-text);
}

.perla-quick-view__excerpt,
.perla-quick-view__excerpt p {
  margin: 0;
  max-width: 38ch;
  font-family: "Raleway", sans-serif;
  font-weight: 300;
  color: var(--color-text);
  font-size: 0.95rem;
  line-height: 1.72;
  letter-spacing: 0.005em;
  text-transform: none;
}

/* ─── Purchase block — utilitarian, no card-in-card. */

.perla-quick-view__purchase {
  display: grid;
  gap: 1.15rem;
  margin-top: 0.4rem;
  padding: 1.4rem 0 0;
  border-top: 1px solid var(--color-line);
  background: transparent;
  border-radius: 0;
  backdrop-filter: none;
}

.perla-quick-view__purchase .variations_form,
.perla-quick-view__purchase form.cart {
  display: grid;
  gap: 1.15rem;
  text-transform: none;
}

.perla-quick-view__purchase table.variations {
  margin: 0;
  border: 0;
  width: 100%;
}

.perla-quick-view__purchase table.variations tbody {
  display: grid;
  gap: 0.95rem;
}

.perla-quick-view__purchase table.variations tr {
  display: grid;
  gap: 0.4rem;
}

.perla-quick-view__purchase table.variations td,
.perla-quick-view__purchase table.variations th {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  text-align: left;
  background: transparent;
}

.perla-quick-view__purchase .variations label {
  display: block;
  margin: 0 0 0.15rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--color-text);
}

.perla-quick-view__purchase .variations select,
.perla-quick-view__purchase .quantity .qty {
  width: 100%;
  min-height: 44px;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-soft, 3px);
  background: var(--color-bg);
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  box-shadow: none;
  transition: border-color 200ms ease;
}

.perla-quick-view__purchase .variations select:focus,
.perla-quick-view__purchase .quantity .qty:focus {
  outline: none;
  border-color: var(--color-text);
}

.perla-quick-view__purchase .single_variation_wrap {
  display: grid;
  gap: 1.1rem;
}

.perla-quick-view__purchase .woocommerce-variation-price {
  font-family: "Montserrat", sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--color-text);
}

.perla-quick-view__purchase .woocommerce-variation-description,
.perla-quick-view__purchase .woocommerce-variation-description p {
  margin: 0;
  font-family: "Raleway", sans-serif;
  font-weight: 300;
  font-size: 0.9rem;
  line-height: 1.65;
  letter-spacing: 0.005em;
  text-transform: none;
  color: var(--color-text);
}

.perla-quick-view__purchase .reset_variations {
  display: inline-block;
  margin-top: 0.25rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--color-text);
  text-decoration: none;
  border-bottom: 1px solid var(--color-line);
  padding-bottom: 1px;
  transition: color 180ms ease, border-color 180ms ease;
}

.perla-quick-view__purchase .reset_variations:hover {
  color: var(--color-text);
  border-color: var(--color-accent);
}

.perla-quick-view__purchase .woocommerce-variation-add-to-cart,
.perla-quick-view__purchase .quantity {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.6rem;
}

.perla-quick-view__purchase .quantity {
  flex: 0 0 96px;
}

#perla-quick-view .perla-quick-view__purchase .single_add_to_cart_button,
#perla-quick-view .perla-quick-view__purchase button.button,
#perla-quick-view .perla-quick-view__purchase a.button,
#perla-quick-view .perla-quick-view__purchase input.button,
#perla-quick-view .perla-quick-view__purchase .button.alt {
  min-height: 48px;
  padding: 0.85rem 1.6rem;
  border-radius: var(--radius-soft, 3px) !important;
  background: var(--color-text) !important;
  background-color: var(--color-text) !important;
  background-image: none !important;
  border: 1px solid var(--color-text) !important;
  color: #ffffff !important;
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, transform 220ms ease;
}

.perla-quick-view__purchase .single_add_to_cart_button {
  flex: 1 1 220px;
  justify-content: center;
  position: relative;
}

/* Hairline gold underline — only on the primary CTA, on hover. */
.perla-quick-view__purchase .single_add_to_cart_button::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: 0;
  height: 1px;
  background: var(--color-accent);
  transform: translateX(-50%);
  transition: width 280ms var(--ease-soft, ease);
}

.perla-quick-view__purchase .single_add_to_cart_button:hover::after,
.perla-quick-view__purchase .single_add_to_cart_button:focus-visible::after {
  width: 28px;
}

#perla-quick-view .perla-quick-view__purchase .single_add_to_cart_button:hover,
#perla-quick-view .perla-quick-view__purchase .single_add_to_cart_button:focus,
#perla-quick-view .perla-quick-view__purchase .button.alt:hover,
#perla-quick-view .perla-quick-view__purchase .button.alt:focus,
#perla-quick-view .perla-quick-view__purchase button.button:hover,
#perla-quick-view .perla-quick-view__purchase button.button:focus,
#perla-quick-view .perla-quick-view__purchase a.button:hover,
#perla-quick-view .perla-quick-view__purchase a.button:focus {
  background: var(--color-bg) !important;
  background-color: var(--color-bg) !important;
  color: var(--color-text) !important;
  border-color: var(--color-text) !important;
  outline: none;
}

.perla-quick-view__purchase .single_add_to_cart_button.loading {
  opacity: 0.7;
  pointer-events: none;
}

.perla-quick-view__purchase .woocommerce-error,
.perla-quick-view__purchase .woocommerce-message,
.perla-quick-view__purchase .woocommerce-info {
  margin: 0;
  padding: 0.85rem 1rem;
  border: 1px solid var(--color-line);
  border-left: 2px solid var(--color-accent);
  border-radius: 0;
  background: var(--color-surface);
  font-family: "Raleway", sans-serif;
  font-weight: 400;
  font-size: 0.88rem;
  line-height: 1.5;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--color-text);
}

/* ─── Variation swatches inside quick view: refined, smaller, ink-on-paper. */

.perla-quick-view__purchase .perla-variation-field {
  gap: 0.55rem;
}

.perla-quick-view__purchase .perla-variation-swatches {
  gap: 0.75rem;
}

#perla-quick-view .perla-quick-view__purchase .perla-variation-swatch {
  gap: 0.6rem;
  min-height: 56px;
  padding: 0.95rem 1.4rem;
  border: 1px solid var(--color-line);
  border-radius: 10px;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.76rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  box-shadow: none;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    color 180ms ease,
    box-shadow 180ms ease,
    opacity 180ms ease;
}

#perla-quick-view .perla-quick-view__purchase .perla-variation-swatch:hover,
#perla-quick-view .perla-quick-view__purchase .perla-variation-swatch:focus-visible {
  border-color: var(--color-line);
  color: var(--color-text);
  background: var(--color-bg);
  box-shadow: none;
  transform: none;
}

#perla-quick-view .perla-quick-view__purchase .perla-variation-swatch.is-selected {
  border-color: var(--color-text);
  background: var(--color-bg);
  color: var(--color-text);
  box-shadow: none;
}

#perla-quick-view .perla-quick-view__purchase .perla-variation-swatch.is-disabled,
#perla-quick-view .perla-quick-view__purchase .perla-variation-swatch[aria-disabled="true"] {
  border-color: var(--color-line);
  background: var(--color-bg);
  color: var(--color-text);
  opacity: 0.55;
  cursor: not-allowed;
  text-decoration: line-through;
  text-decoration-color: var(--color-text);
  text-decoration-thickness: 1px;
}

.perla-quick-view__purchase .perla-variation-swatch__thumb {
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 0;
}

.perla-quick-view__purchase .perla-variation-swatch__chip {
  width: 0.6rem;
  height: 0.6rem;
  border: 1px solid var(--color-line);
  box-shadow: none;
}

/* ─── Mobile ─── */

@media (max-width: 900px) {
  .perla-quick-view {
    padding: 0;
    place-items: stretch;
  }

  .perla-quick-view__dialog {
    width: 100%;
    max-width: 100%;
    max-height: 100vh;
    min-height: 100vh;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    box-shadow: none;
  }

  .perla-quick-view__grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .perla-quick-view__grid > .perla-quick-view__content {
    border-left: 0;
    border-top: 1px solid var(--color-line);
  }

  .perla-quick-view__body {
    padding: 0;
  }

  .perla-quick-view__media {
    aspect-ratio: 4 / 5;
    min-height: 0;
  }

  .perla-quick-view__content {
    gap: 1.05rem;
    padding: 1.5rem 1.25rem 1.75rem;
  }

  .perla-quick-view__title {
    max-width: none;
    font-size: clamp(1.55rem, 6.4vw, 2rem);
    line-height: 1.06;
  }

  .perla-quick-view__price {
    font-size: 0.88rem;
  }

  .perla-quick-view__excerpt,
  .perla-quick-view__excerpt p {
    max-width: none;
    font-size: 0.9rem;
    line-height: 1.65;
  }

  .perla-quick-view__purchase {
    gap: 1rem;
    padding-top: 1.15rem;
  }

  .perla-quick-view__purchase .woocommerce-variation-add-to-cart,
  .perla-quick-view__purchase .quantity {
    display: grid;
  }

  .perla-quick-view__purchase .quantity,
  .perla-quick-view__purchase .single_add_to_cart_button {
    flex: 1 1 auto;
    width: 100%;
  }

  .perla-quick-view__purchase .variations select,
  .perla-quick-view__purchase .quantity .qty,
  .perla-quick-view__purchase .single_add_to_cart_button,
  .perla-quick-view__purchase .button.alt,
  .perla-quick-view__purchase .button {
    min-height: 46px;
  }

  .perla-quick-view__close {
    top: 0.65rem;
    right: 0.65rem;
    width: 2rem;
    height: 2rem;
  }
}

.hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 1300;
  appearance: none;
  outline: none;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}

.hamburger span {
  display: block;
  height: 2px;
  border-radius: 2px;
  background: var(--color-text);
  transition: transform var(--transition), opacity var(--transition);
}

.hamburger:focus,
.hamburger:focus-visible,
.hamburger:active {
  outline: none;
  box-shadow: none;
}

.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

.offcanvas-overlay {
  position: fixed;
  inset: 0;
  z-index: 1250;
  background: rgba(17, 17, 17, 0.28);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition), visibility var(--transition);
}

.offcanvas-overlay.active {
  opacity: 1;
  visibility: visible;
}

.offcanvas {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1300;
  display: flex;
  flex-direction: column;
  width: 320px;
  max-width: 90vw;
  height: 100%;
  padding: 0;
  background: #fff;
  box-shadow: 0 0 20px rgba(17, 17, 17, 0.08);
  transform: translateX(-100%);
  transition: transform var(--transition);
}

.offcanvas.open {
  transform: translateX(0);
}

.offcanvas.right {
  right: 0;
  left: auto;
  transform: translateX(100%);
}

.offcanvas.right.open {
  transform: translateX(0);
}

.offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}

.offcanvas-header h2 {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.16em;
}

.offcanvas-close {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-text);
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
}

.offcanvas-nav ul,
.offcanvas-nav .mobile-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.offcanvas-nav ul li,
.offcanvas-nav .mobile-menu li {
  margin-bottom: 1rem;
}

.offcanvas-nav ul li a,
.offcanvas-nav .mobile-menu li a {
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-decoration: none;
}

.offcanvas-nav ul li a:hover,
.offcanvas-nav .mobile-menu li a:hover {
  color: var(--color-accent);
}

/* Cart slideout — three-zone shell on the design tokens */
.offcanvas-cart {
  width: 460px;
  max-width: 92vw;
  padding: 0;
  background: var(--color-bg);
  isolation: isolate;
}

.offcanvas-cart__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem;
  border-bottom: 1px solid var(--color-line);
  background: var(--color-bg);
}

.offcanvas-cart__title-group {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}

.offcanvas-cart__eyebrow {
  font-family: "Montserrat", sans-serif;
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--color-text);
}

.offcanvas-cart__title {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1;
  color: var(--color-text);
}

.offcanvas-cart .offcanvas-cart__close {
  flex-shrink: 0;
  padding: 6px;
  background: none !important;
  border: none !important;
  border-radius: 0;
  color: var(--color-text);
  cursor: pointer;
  transition: color 200ms ease;
}

.offcanvas-cart .offcanvas-cart__close:hover,
.offcanvas-cart .offcanvas-cart__close:focus-visible {
  background: none !important;
  border: none !important;
  color: var(--color-text);
  outline: none;
  transform: none;
}

.offcanvas-cart__close svg {
  display: block;
  width: 20px;
  height: 20px;
}

.offcanvas-cart__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: var(--color-bg);
}

.offcanvas-cart .woocommerce-mini-cart {
  list-style: none;
  margin: 0;
  padding: 0 1.5rem;
  flex: 1 1 auto;
  overflow-y: auto;
  min-height: 0;
}

.offcanvas-cart .woocommerce-mini-cart-item {
  position: relative;
  margin: 0;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--color-line);
  list-style: none;
  animation: cartItemIn 280ms ease both;
}

.offcanvas-cart .woocommerce-mini-cart-item:last-child {
  border-bottom: 0;
}

.offcanvas-cart .woocommerce-mini-cart-item.is-removing {
  opacity: 0;
  transform: translateX(16px);
  transition: opacity 180ms ease, transform 180ms ease;
  pointer-events: none;
}

@keyframes cartItemIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.offcanvas-cart .woocommerce-mini-cart-item > a:not(.remove) {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding-right: 3rem;
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.45;
  text-transform: uppercase;
  text-decoration: none;
  transition: color var(--transition);
}

.offcanvas-cart .woocommerce-mini-cart-item > a:not(.remove):hover {
  color: var(--color-text);
}

.offcanvas-cart .woocommerce-mini-cart-item img {
  flex-shrink: 0;
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: var(--radius-soft);
  background: var(--color-surface);
}

.offcanvas-cart .woocommerce-mini-cart-item .quantity {
  display: block;
  margin: 0.5rem 0 0;
  padding-left: calc(76px + 1rem);
  padding-right: 3rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-text);
}

.offcanvas-cart .woocommerce-mini-cart-item .quantity .woocommerce-Price-amount {
  color: var(--color-text);
  font-weight: 500;
  letter-spacing: 0.06em;
}

.offcanvas-cart .woocommerce-mini-cart-item .variation,
.offcanvas-cart .woocommerce-mini-cart-item dl.variation {
  margin: 0.35rem 0 0;
  padding: 0 3rem 0 calc(76px + 1rem);
  font-family: "Raleway", sans-serif;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--color-text);
  text-transform: none;
}

.offcanvas-cart .woocommerce-mini-cart-item .variation dt,
.offcanvas-cart .woocommerce-mini-cart-item .variation dd {
  display: inline;
  margin: 0;
}

.offcanvas-cart .woocommerce-mini-cart-item .variation dt {
  margin-right: 0.25rem;
}

.offcanvas-cart .woocommerce-mini-cart-item .variation dd + dt::before {
  content: " · ";
}

.offcanvas-cart .woocommerce-mini-cart-item .remove,
.offcanvas-cart .woocommerce-mini-cart-item a.remove {
  position: absolute;
  top: calc(1.5rem + 4px);
  right: 0;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  color: var(--color-text);
  font-size: 0;
  line-height: 0;
  text-decoration: none;
  transition: color 200ms ease;
}

.offcanvas-cart .woocommerce-mini-cart-item .remove::before,
.offcanvas-cart .woocommerce-mini-cart-item a.remove::before,
.offcanvas-cart .woocommerce-mini-cart-item .remove::after,
.offcanvas-cart .woocommerce-mini-cart-item a.remove::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  background: currentColor;
  border-radius: 1px;
}

.offcanvas-cart .woocommerce-mini-cart-item .remove::before,
.offcanvas-cart .woocommerce-mini-cart-item a.remove::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.offcanvas-cart .woocommerce-mini-cart-item .remove::after,
.offcanvas-cart .woocommerce-mini-cart-item a.remove::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.offcanvas-cart .woocommerce-mini-cart-item .remove:hover,
.offcanvas-cart .woocommerce-mini-cart-item .remove:focus-visible,
.offcanvas-cart .woocommerce-mini-cart-item a.remove:hover,
.offcanvas-cart .woocommerce-mini-cart-item a.remove:focus-visible {
  background: none;
  border: none;
  color: var(--color-text);
  outline: none;
  transform: none;
}

.offcanvas-cart .woocommerce-mini-cart__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin: 0;
  padding: 1.25rem 1.5rem;
  border-top: 1px solid var(--color-line);
  background: var(--color-bg);
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.offcanvas-cart .woocommerce-mini-cart__total strong {
  font-weight: 500;
  color: var(--color-text);
}

.offcanvas-cart .woocommerce-mini-cart__total .woocommerce-Price-amount {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--color-text);
}

.offcanvas-cart .woocommerce-mini-cart__buttons {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 0;
  padding: 0 1.5rem 1.5rem;
  background: var(--color-bg);
}

.offcanvas-cart .woocommerce-mini-cart__buttons .button,
.offcanvas-cart .woocommerce-mini-cart__buttons a.button {
  display: block;
  width: 100%;
  padding: 1rem 1.25rem;
  border-radius: var(--radius-soft);
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}

.offcanvas-cart .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background: transparent;
  border: 1px solid var(--color-text);
  color: var(--color-text);
}

.offcanvas-cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
.offcanvas-cart .woocommerce-mini-cart__buttons .button:not(.checkout):focus-visible {
  background: var(--color-text);
  color: var(--color-accent);
  outline: none;
}

.offcanvas-cart .woocommerce-mini-cart__buttons .button.checkout {
  background: var(--color-text);
  border: 1px solid var(--color-text);
  color: var(--color-accent);
}

.offcanvas-cart .woocommerce-mini-cart__buttons .button.checkout:hover,
.offcanvas-cart .woocommerce-mini-cart__buttons .button.checkout:focus-visible {
  background: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-text);
  outline: none;
}

.offcanvas-cart .woocommerce-mini-cart__empty-message {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 3rem 1.5rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
  color: var(--color-text);
}

.site-main {
  padding: 3rem 0 5rem;
}

.perla-page-entry > .entry-header,
.perla-page-entry > .entry-content,
.single .entry-header,
.single .entry-content,
.search .site-main .page-header,
.search .site-main .search-results {
  width: min(100%, var(--content));
  margin-inline: auto;
}

.home .perla-page-entry > .entry-content {
  width: 100%;
  max-width: none;
}

.perla-home-hero {
  width: min(100%, 1340px);
  margin: -3rem auto 0;
  position: relative;
}

.perla-home-hero__viewport {
  position: relative;
  min-height: min(78vh, 860px);
  overflow: hidden;
  cursor: grab;
  touch-action: pan-y;
}

.perla-home-hero.is-dragging .perla-home-hero__viewport {
  cursor: grabbing;
}

.perla-home-hero__slide {
  position: absolute;
  inset: 0;
  display: grid;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(100%, 0, 0);
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease;
  will-change: transform, opacity;
}

.perla-home-hero[data-direction="prev"] .perla-home-hero__slide:not(.is-active):not(.is-leaving) {
  transform: translate3d(-100%, 0, 0);
}

.perla-home-hero__slide:not(.is-active):not(.is-leaving) {
  transition: none;
}

.perla-home-hero__slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
  z-index: 1;
  transition:
    transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.25s ease;
}

.perla-home-hero__slide.is-leaving {
  opacity: 1;
  pointer-events: none;
  transform: translate3d(-100%, 0, 0);
  z-index: 1;
}

.perla-home-hero[data-direction="prev"] .perla-home-hero__slide.is-leaving {
  transform: translate3d(100%, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .perla-home-hero__slide,
  .perla-home-hero__slide.is-active,
  .perla-home-hero__slide.is-leaving {
    transition: opacity 0.3s ease;
    transform: none;
  }

  .perla-home-hero__slide:not(.is-active) {
    opacity: 0;
  }
}

.perla-home-hero__media,
.perla-home-hero__content {
  grid-area: 1 / 1;
}

.perla-home-hero__media {
  position: relative;
  overflow: hidden;
  min-height: inherit;
  background: #2a2c30;
}

.perla-home-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(17, 17, 17, 0) 35%, rgba(17, 17, 17, 0.42) 100%),
    var(--perla-slide-overlay, rgba(17, 17, 17, 0.28));
}

.perla-home-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: var(--perla-slide-position-desktop, 50% 50%);
  transform: scale(1);
  transition: transform 9s linear;
  will-change: transform;
}

.perla-home-hero__slide.is-active .perla-home-hero__image {
  transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  .perla-home-hero__slide.is-active .perla-home-hero__image {
    transform: none;
    transition: none;
  }
}

.perla-home-hero__copy::before {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin: 0 0 1.5rem;
  background: rgba(255, 255, 255, 0.65);
}

.perla-home-hero__content {
  position: relative;
  z-index: 1;
  display: grid;
  align-items: center;
  justify-items: start;
  min-height: inherit;
  padding-block: 2rem;
  padding-inline: clamp(1.5rem, 8vw, 7rem) clamp(1.5rem, 6vw, 10rem);
  text-align: left;
}

.perla-home-hero__copy {
  width: min(100%, 38rem);
  margin: 0;
}

.perla-home-hero__title {
  margin-bottom: 1rem;
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-wrap: balance;
  text-shadow: 0 1px 30px rgba(0, 0, 0, 0.18);
}

.perla-home-hero__title--brand {
  font-size: clamp(2.75rem, 7vw, 4.75rem);
}

.perla-home-hero__title--statement {
  font-size: clamp(1.9rem, 4.4vw, 3.05rem);
  max-width: 18ch;
  margin-inline: 0;
}

.perla-home-hero__description {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(0.72rem, 1.4vw, 0.95rem);
  font-weight: 400;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

.perla-home-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 1.75rem 0 0;
  padding: 0.85rem 1.6rem;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: var(--radius-soft);
  background: transparent;
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color var(--transition), color var(--transition), border-color var(--transition);
}

.perla-home-hero__cta:hover,
.perla-home-hero__cta:focus {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(255, 255, 255, 0.95);
  color: #0f172a;
}

.perla-home-hero__progress {
  display: block;
  position: absolute;
  left: var(--space-mobile-edge);
  right: var(--space-mobile-edge);
  bottom: 1rem;
  height: 1px;
  background: rgba(255, 255, 255, 0.12);
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.perla-home-hero__progress-fill {
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .perla-home-hero__progress-fill {
    transition: none !important;
  }
}

.perla-home-hero__controls {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1rem;
  pointer-events: none;
}

.perla-home-hero__arrow,
.perla-home-hero__dots {
  pointer-events: auto;
}

.perla-home-hero__arrow {
  display: none;
  color: #ffffff;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  background: transparent;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: background-color var(--transition-base, 0.35s ease),
    border-color var(--transition-base, 0.35s ease),
    color var(--transition-base, 0.35s ease);
}

.perla-home-hero__arrow:hover,
.perla-home-hero__arrow:focus {
  background: #ffffff;
  border-color: #ffffff;
  color: var(--color-text);
}

.perla-home-hero__arrow span {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}

.perla-home-hero__dots {
  position: absolute;
  right: 50%;
  bottom: 1.5rem;
  transform: translateX(50%);
  display: none;
  align-items: center;
  gap: 0.85rem;
  z-index: 3;
}

@media (min-width: 769px) {
  .perla-home-hero__dots {
    display: inline-flex;
  }

  .perla-home-hero__progress {
    display: none;
  }
}

.perla-home-hero__dot {
  position: relative;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  outline: none;
  cursor: pointer;
  text-transform: none;
  letter-spacing: normal;
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
  transition: transform 0.35s ease;
}

.perla-home-hero__dot:hover {
  background: transparent;
  transform: scale(1.12);
}

.perla-home-hero__dot:focus-visible {
  outline: 1px solid rgba(255, 255, 255, 0.7);
  outline-offset: 3px;
}

.perla-home-hero__dot-core {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 6px;
  margin: -3px 0 0 -3px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.32);
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  transition: background-color 0.3s ease, transform 0.4s ease, box-shadow 0.4s ease;
}

.perla-home-hero__dot:hover .perla-home-hero__dot-core {
  background: rgba(255, 255, 255, 0.85);
  transform: scale(1.25);
}

.perla-home-hero__dot.is-active .perla-home-hero__dot-core {
  background: rgba(255, 255, 255, 0.95);
  transform: scale(1.15);
  box-shadow: 0 0 6px 0 rgba(255, 255, 255, 0.35);
}

.perla-home-hero__dot-ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  pointer-events: none;
  overflow: visible;
}

.perla-home-hero__dot-ring-track,
.perla-home-hero__dot-ring-fill {
  fill: none;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.perla-home-hero__dot-ring-track {
  stroke: rgba(255, 255, 255, 0.2);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.perla-home-hero__dot:hover .perla-home-hero__dot-ring-track,
.perla-home-hero__dot.is-active .perla-home-hero__dot-ring-track {
  opacity: 1;
}

.perla-home-hero__dot-ring-fill {
  stroke: rgba(255, 255, 255, 0.95);
  stroke-linecap: round;
  stroke-dasharray: 62.832;
  stroke-dashoffset: 62.832;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.perla-home-hero__dot.is-active .perla-home-hero__dot-ring-fill {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .perla-home-hero__dot,
  .perla-home-hero__dot-core,
  .perla-home-hero__dot-ring-track,
  .perla-home-hero__dot-ring-fill {
    transition: none !important;
  }
}

.entry-content > * + * {
  margin-top: 1rem;
}

.wp-block-uagb-container,
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
  overflow: clip;
}

.uagb-block-0f62bac5 .uagb-slider-container {
  position: relative;
}

.uagb-block-0f62bac5,
.uagb-block-12e81f89,
.uagb-block-cd2ea0bb,
.uagb-block-8e0801b2 {
  width: min(100%, 1340px);
  margin-inline: auto;
}

.uagb-block-0f62bac5 {
  margin-top: -3rem;
}

.uagb-block-0f62bac5 .uagb-slider-container,
.uagb-block-0f62bac5 .uagb-slider-child-wrap {
  min-height: min(78vh, 860px);
}

.uagb-block-0f62bac5 .swiper-content,
.uagb-block-0f62bac5 .uagb-container-inner-blocks-wrap,
.uagb-block-0f62bac5 .uagb-cta__wrap {
  min-height: inherit;
}

.uagb-block-0f62bac5 .swiper-content {
  display: flex;
  align-items: center;
  justify-content: center;
}

.uagb-block-0f62bac5 .uagb-cta__wrap {
  display: grid;
  place-items: center;
  align-content: center;
  width: min(100% - 3rem, 860px);
  margin: 0 auto;
  padding: 2rem 1rem;
  text-align: center;
}

.uagb-block-fbc06736 .uagb-cta__title,
.uagb-block-229b3959 .uagb-cta__title,
.uagb-block-d2c62645 .uagb-cta__title {
  margin-bottom: 0.9rem;
  color: var(--color-accent);
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-wrap: balance;
}

.uagb-block-fbc06736 .uagb-cta__title {
  font-size: clamp(2.75rem, 7vw, 4.75rem);
}

.uagb-block-229b3959 .uagb-cta__title,
.uagb-block-d2c62645 .uagb-cta__title {
  font-size: clamp(1.9rem, 4.4vw, 3.05rem);
  max-width: 18ch;
  margin-inline: auto;
}

.uagb-block-fbc06736 .uagb-cta__desc,
.uagb-block-229b3959 .uagb-cta__desc {
  margin: 0;
  color: #fff;
  font-size: clamp(0.78rem, 1.7vw, 1.35rem);
  font-weight: 300;
  letter-spacing: 0.45em;
  text-transform: uppercase;
}

.uagb-block-0f62bac5 .swiper-button-prev,
.uagb-block-0f62bac5 .swiper-button-next {
  color: #ffffff;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 999px;
  background: transparent;
}

.uagb-block-0f62bac5 .swiper-button-prev::after,
.uagb-block-0f62bac5 .swiper-button-next::after {
  font-size: 1rem;
  font-weight: 700;
}

.uagb-block-d530ed86,
.uagb-block-12e81f89,
.uagb-block-cd2ea0bb,
.uagb-block-8e0801b2,
.uagb-block-1e7155c0 {
  width: min(100%, var(--container));
  margin-inline: auto;
}

.uagb-block-d530ed86 {
  padding: 4.5rem 1rem 1.5rem;
}

.uagb-block-12e81f89,
.uagb-block-cd2ea0bb,
.uagb-block-8e0801b2 {
  padding-inline: 1rem;
}

.uagb-block-1e7155c0 {
  min-height: 3rem;
}

.uagb-block-556ad9a9,
.uagb-block-e316acb9,
.uagb-block-28d7f504,
.uagb-block-201ad048 {
  margin: 0 auto;
  text-align: center;
}

.uagb-block-556ad9a9 .uagb-ifb-title,
.uagb-block-e316acb9 .uagb-ifb-title,
.uagb-block-28d7f504 .uagb-ifb-title,
.uagb-block-201ad048 .uagb-ifb-title {
  margin-bottom: 0;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.35rem);
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.uagb-block-e316acb9 .uagb-ifb-content,
.uagb-block-28d7f504 .uagb-ifb-content,
.uagb-block-201ad048 .uagb-ifb-content {
  display: grid;
  justify-items: center;
  gap: 1rem;
}

.uagb-infobox-cta-link.wp-block-button__link {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.uagb-infobox-cta-link.wp-block-button__link:hover {
  background-color: transparent !important;
  color: var(--color-accent) !important;
}

.wp-block-uagb-container h2,
.product_title.entry-title,
.woocommerce-js ul.products li.product .woocommerce-loop-product__title,
.woocommerce-loop-product__title {
  text-transform: none;
}

.woocommerce ul.products,
ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2rem 1.25rem;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
  display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  text-align: center;
}

.perla-product-card-media {
  position: relative;
  display: block;
  overflow: hidden;
  margin-bottom: 0.9rem;
  background: rgb(247, 241, 232);
}

.perla-product-card-media.is-sold-out .perla-product-card-image {
  filter: grayscale(0.9) contrast(0.94) brightness(0.78);
  transition: filter 500ms ease;
}

.perla-product-card-media.is-sold-out::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(
    180deg,
    rgba(28, 22, 14, 0.28) 0%,
    rgba(28, 22, 14, 0.38) 100%
  );
  pointer-events: none;
  transition: opacity 400ms ease;
}

.woocommerce ul.products li.product:hover .perla-product-card-media.is-sold-out::after,
.woocommerce ul.products li.product:focus-within .perla-product-card-media.is-sold-out::after {
  opacity: 0.7;
}

.woocommerce ul.products li.product:hover .perla-product-card-media.is-sold-out .perla-product-card-image,
.woocommerce ul.products li.product:focus-within .perla-product-card-media.is-sold-out .perla-product-card-image {
  filter: grayscale(0.7) contrast(0.96) brightness(0.84);
}

.perla-product-card-media.is-sold-out.has-hover-image .perla-product-card-image--secondary {
  display: none;
}

.woocommerce ul.products li.product:hover .perla-product-card-media.is-sold-out.has-hover-image img.perla-product-card-image--primary,
.woocommerce ul.products li.product:focus-within .perla-product-card-media.is-sold-out.has-hover-image img.perla-product-card-image--primary {
  opacity: 1;
}

.perla-product-card-soldout {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  width: min(78%, 18rem);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.perla-product-card-soldout__rule {
  flex: 1 1 auto;
  height: 1px;
  background: rgb(247, 241, 232);
  opacity: 0.75;
  transform-origin: center;
  transform: scaleX(1);
  transition: opacity 400ms ease, transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

.perla-product-card-soldout__label {
  flex: 0 0 auto;
  font-family: "Montserrat", sans-serif;
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.32em;
  line-height: 1;
  text-transform: uppercase;
  color: rgb(247, 241, 232);
  white-space: nowrap;
  padding-bottom: 1px;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.25);
}

.woocommerce ul.products li.product:hover .perla-product-card-soldout__rule,
.woocommerce ul.products li.product:focus-within .perla-product-card-soldout__rule {
  transform: scaleX(0.78);
  opacity: 0.4;
}

@media (prefers-reduced-motion: reduce) {
  .perla-product-card-media.is-sold-out .perla-product-card-image,
  .perla-product-card-soldout__rule,
  .perla-product-card-media.is-sold-out::after {
    transition: none;
  }
}

.perla-product-card-image {
  display: block;
  width: 100%;
  aspect-ratio: auto 300 / 450;
  object-fit: cover;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.woocommerce ul.products li.product .perla-product-card-media.has-hover-image img.perla-product-card-image--secondary {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  will-change: opacity;
}

.woocommerce ul.products li.product .perla-product-card-media.has-hover-image img.perla-product-card-image--primary {
  position: relative;
  z-index: 0;
  opacity: 1;
  will-change: opacity;
}

.woocommerce ul.products li.product:hover .perla-product-card-media.has-hover-image img.perla-product-card-image--secondary,
.woocommerce ul.products li.product:focus-within .perla-product-card-media.has-hover-image img.perla-product-card-image--secondary {
  opacity: 1;
  transition: opacity 400ms ease-out;
}

.woocommerce ul.products li.product:hover .perla-product-card-media.has-hover-image img.perla-product-card-image--primary,
.woocommerce ul.products li.product:focus-within .perla-product-card-media.has-hover-image img.perla-product-card-image--primary {
  opacity: 0;
  transition: opacity 350ms ease-in 150ms;
}

@media (prefers-reduced-motion: reduce) {
  .perla-product-card-media.has-hover-image .perla-product-card-image--primary,
  .perla-product-card-media.has-hover-image .perla-product-card-image--secondary {
    transition: opacity 200ms linear;
  }
}

.woocommerce ul.products li.product a img {
  margin-bottom: 0.9rem;
  aspect-ratio: auto 300 / 450;
  object-fit: cover;
}

.woocommerce ul.products li.product a .perla-product-card-media img {
  margin-bottom: 0;
}

.woocommerce-Price-amount.amount {
  margin-left: 5px;
}

.uagb-block-12e81f89 .woocommerce,
.uagb-block-cd2ea0bb .woocommerce,
.uagb-block-8e0801b2 .uagb-instagram__outer-wrap {
  width: 100%;
}

.uagb-block-12e81f89 .woocommerce ul.products,
.uagb-block-12e81f89 ul.products {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.uagb-block-12e81f89 .woocommerce ul.products li.product,
.uagb-block-12e81f89 ul.products li.product,
.uagb-block-cd2ea0bb .product-categories li {
  display: grid;
  align-content: start;
}

.uagb-block-12e81f89 .woocommerce ul.products li.product .button {
  justify-self: center;
}

.uagb-block-12e81f89 .woocommerce ul.products li.product .price,
.uagb-block-12e81f89 .woocommerce ul.products li.product .button,
.uagb-block-cd2ea0bb .count {
  margin-top: 0.6rem;
}

.uagb-block-cd2ea0bb .woocommerce.columns-4,
.uagb-block-cd2ea0bb .woocommerce.columns-3,
.uagb-block-cd2ea0bb .woocommerce {
  width: 100%;
}

.uagb-block-cd2ea0bb .product-categories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.uagb-block-cd2ea0bb .product-categories li.product-category,
ul.product-categories li.product-category,
ul.products li.product-category {
  margin: 0;
}

.perla-product-category-card,
.uagb-block-cd2ea0bb .product-categories li.perla-product-category-card,
ul.product-categories li.perla-product-category-card,
ul.products li.perla-product-category-card {
  display: block !important;
  width: 100%;
  min-width: 0;
  overflow: clip;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  transform: none !important;
  transition: none !important;
}

.perla-product-category-card:hover,
.perla-product-category-card:focus-within,
.uagb-block-cd2ea0bb .product-categories li.perla-product-category-card:hover,
.uagb-block-cd2ea0bb .product-categories li.perla-product-category-card:focus-within,
ul.products li.perla-product-category-card:hover,
ul.products li.perla-product-category-card:focus-within {
  transform: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
  background: transparent !important;
}

.perla-product-category-card__link {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  text-decoration: none;
  color: var(--color-text);
}

.perla-product-category-card__media {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  aspect-ratio: auto 300 / 450;
  overflow: hidden;
  background: transparent;
  isolation: isolate;
}

.perla-product-category-card__image {
  grid-area: 1 / 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.001);
  transform-origin: center center;
  filter: brightness(0.78);
  transition: transform 1100ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 700ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.perla-product-category-card__overlay {
  grid-area: 1 / 1;
  display: grid;
  place-items: center;
  place-content: center;
  grid-auto-rows: max-content;
  justify-items: center;
  row-gap: 1.15rem;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  background:
    linear-gradient(180deg, rgba(17, 12, 10, 0.45) 0%, rgba(17, 12, 10, 0.7) 55%, rgba(17, 12, 10, 0.88) 100%);
  transition: background 600ms cubic-bezier(0.22, 1, 0.36, 1);
  text-align: center;
}

.perla-product-category-card__headline {
  z-index: 2;
  width: 100%;
  max-width: min(calc(100% - 1rem), 18rem);
  display: grid;
  justify-items: center;
  row-gap: 0.85rem;
  justify-self: center;
  margin: 0 auto;
  box-sizing: border-box;
  text-align: center;
  transform: translateY(0);
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.perla-product-category-card__title {
  display: block;
  width: 100%;
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.35rem, 1.6vw, 1.95rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: 0.018em;
  color: #fff;
  text-shadow: 0 1px 14px rgba(0, 0, 0, 0.55), 0 0 2px rgba(0, 0, 0, 0.35);
  overflow-wrap: anywhere;
  text-wrap: balance;
  text-align: center;
}

.perla-product-category-card__title::after {
  content: "";
  display: block;
  width: 1.75rem;
  height: 1px;
  margin: 0.85rem auto 0;
  background: rgba(255, 255, 255, 0.78);
  transform: scaleX(0.35);
  transform-origin: center;
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
}

.perla-product-category-card__count {
  display: block;
  width: 100%;
  margin: 0;
  opacity: 0;
  transform: translateY(6px);
  color: rgba(255, 255, 255, 0.92);
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-align: center;
  transition: opacity 420ms ease 60ms,
    transform 600ms cubic-bezier(0.22, 1, 0.36, 1) 60ms;
}

.perla-product-category-card__footer {
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  max-width: calc(100% - 1.5rem);
  justify-self: center;
  margin: 0;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 420ms ease 140ms,
    transform 600ms cubic-bezier(0.22, 1, 0.36, 1) 140ms;
}

.perla-product-category-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 8rem;
  max-width: 100%;
  white-space: nowrap;
  min-height: 2.6rem;
  padding: 0.7rem 1.5rem;
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.85);
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
  transition: background-color 320ms ease, color 320ms ease,
    border-color 320ms ease;
}

.perla-product-category-card:hover .perla-product-category-card__image,
.perla-product-category-card:focus-within .perla-product-category-card__image {
  transform: scale(1.35);
  filter: brightness(0.65);
}

.perla-product-category-card:hover .perla-product-category-card__overlay,
.perla-product-category-card:focus-within .perla-product-category-card__overlay {
  background:
    linear-gradient(180deg, rgba(17, 12, 10, 0.55) 0%, rgba(17, 12, 10, 0.78) 55%, rgba(17, 12, 10, 0.92) 100%);
}

.perla-product-category-card:hover .perla-product-category-card__headline,
.perla-product-category-card:focus-within .perla-product-category-card__headline {
  transform: translateY(-0.75rem);
}

.perla-product-category-card:hover .perla-product-category-card__title::after,
.perla-product-category-card:focus-within .perla-product-category-card__title::after {
  transform: scaleX(1);
}

.perla-product-category-card:hover .perla-product-category-card__count,
.perla-product-category-card:focus-within .perla-product-category-card__count {
  opacity: 1;
  transform: translateY(0);
}

.perla-product-category-card:hover .perla-product-category-card__footer,
.perla-product-category-card:focus-within .perla-product-category-card__footer {
  opacity: 1;
  transform: translateY(0);
}

.perla-product-category-card:hover .perla-product-category-card__button,
.perla-product-category-card:focus-within .perla-product-category-card__button {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .perla-product-category-card__image,
  .perla-product-category-card__overlay,
  .perla-product-category-card__headline,
  .perla-product-category-card__title::after,
  .perla-product-category-card__count,
  .perla-product-category-card__footer,
  .perla-product-category-card__button {
    transition: none;
  }
  .perla-product-category-card:hover .perla-product-category-card__headline,
  .perla-product-category-card:focus-within .perla-product-category-card__headline,
  .perla-product-category-card:hover .perla-product-category-card__image,
  .perla-product-category-card:focus-within .perla-product-category-card__image {
    transform: none;
  }
}

.uagb-block-56fd947c {
  width: min(100%, 920px);
  margin: 0 auto;
}

.uagb-block-56fd947c .uagb-tm__content {
  max-width: none;
  padding: 1rem 0;
  text-align: center;
}

.uagb-block-56fd947c .uagb-tm__desc {
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(1.1rem, 2.5vw, 1.45rem);
  font-style: italic;
  font-weight: 300;
  line-height: 1.4;
  text-transform: none;
}

.uagb-block-56fd947c .uagb-tm__author-name {
  display: inline-block;
  margin-top: 1.4rem;
  color: var(--color-text);
  font-family: "Raleway", sans-serif;
  font-size: 0.86rem;
  font-weight: 500;
  letter-spacing: 0.28em;
}

.uagb-block-56fd947c .slick-arrow {
  width: 44px;
  height: 44px;
  border: 1px solid var(--color-line);
  border-radius: 999px;
  background: var(--color-bg);
}

.uagb-block-8e0801b2 {
  padding-top: 2rem;
  padding-bottom: 3rem;
}

.uagb-block-d5c8474e .swiper,
.uagb-block-d5c8474e .swiper-wrapper {
  align-items: stretch;
}

.uagb-block-d5c8474e .swiper-slide {
  height: auto;
}

.uagb-block-d5c8474e img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.perla-shop-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: start;
  transition: opacity var(--transition-base);
}

.perla-shop-layout.is-loading {
  opacity: 0.58;
  pointer-events: none;
}

#primary.is-loading {
  opacity: 0.58;
  pointer-events: none;
  transition: opacity var(--transition-base);
}

.perla-shop-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1.5rem;
}

.perla-filter-toggle {
  display: none;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 1.15rem;
  border: 1px solid var(--color-text);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--transition-base), color var(--transition-base);
}

.perla-filter-toggle:hover,
.perla-filter-toggle:focus-visible {
  background: var(--color-text);
  color: #fff;
  outline: none;
}

/* =============================================================
   Shop sidebar / filters drawer — editorial system
   ------------------------------------------------------------
   Hairline-divided sections, quiet small-caps labels, plain text
   facet rows. The same selectors style the inline desktop sidebar
   and the off-canvas mobile drawer so both stay in sync.
   ============================================================= */

.perla-shop-sidebar {
  position: sticky;
  top: var(--perla-sticky-top, 110px);
  align-self: start;
  max-height: calc(100dvh - var(--perla-sticky-top, 110px) - 1.5rem);
  padding-right: 0.4rem;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(56, 41, 32, 0.18) transparent;
}

.perla-shop-sidebar::-webkit-scrollbar {
  width: 3px;
}

.perla-shop-sidebar::-webkit-scrollbar-thumb {
  background: rgba(56, 41, 32, 0.18);
}

.offcanvas-filters {
  left: 0;
  width: min(380px, 100vw);
  max-width: 100vw;
  padding: 0;
  background: #fff;
  box-shadow: 0 32px 80px rgba(17, 17, 17, 0.08);
}

.offcanvas-filters .offcanvas-header {
  position: sticky;
  top: 0;
  z-index: 2;
  margin-bottom: 0;
  padding: 1.5rem 1.5rem 1.1rem;
  background: #fff;
  border-bottom: 1px solid rgba(56, 41, 32, 0.1);
}

.offcanvas-filters .offcanvas-header h2 {
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.offcanvas-filters .offcanvas-close {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--color-text);
  font-size: 1.5rem;
  line-height: 1;
}

.offcanvas-filters-body {
  flex: 1;
  overflow-y: auto;
  padding: 0.25rem 1.5rem 2rem;
}

.wc-block-product-categories-list-item__name {
  font-weight: 400;
}

.perla-shop-sidebar,
.perla-filters-panel {
  --perla-filter-rule: rgba(56, 41, 32, 0.12);
  --perla-filter-rule-strong: rgba(56, 41, 32, 0.32);
}

/* Open blocks — no card chrome, hairline rules between sections. */
.perla-shop-sidebar .widget,
.perla-filters-panel .widget,
.perla-filters-panel .wp-block-group {
  margin: 0;
  padding: 1.5rem 0 1.4rem;
  border: 0;
  border-top: 1px solid var(--perla-filter-rule);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.perla-shop-sidebar .widget:first-child,
.perla-filters-panel .widget:first-child,
.perla-filters-panel .wp-block-group:first-child {
  border-top: 0;
  padding-top: 0.25rem;
}

.perla-shop-sidebar .widget + .widget,
.perla-filters-panel .widget + .widget,
.perla-filters-panel .wp-block-group + .wp-block-group {
  margin-top: 0;
}

/* Quiet labels — receding, not competing. */
.perla-shop-sidebar .widget-title,
.perla-filters-panel .widget-title,
.perla-filters-panel .wc-block-product-categories__title {
  margin: 0 0 0.9rem;
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.perla-shop-sidebar ul,
.perla-filters-panel ul,
.perla-shop-sidebar ol,
.perla-filters-panel ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.perla-shop-sidebar li,
.perla-filters-panel li {
  margin: 0;
}

.perla-shop-sidebar a,
.perla-filters-panel a,
.perla-shop-sidebar label,
.perla-filters-panel label {
  color: var(--color-text);
  text-decoration: none;
}

/* Counts inline as soft tabular figures, no chip. */
.perla-shop-sidebar .count,
.perla-filters-panel .count,
.perla-shop-sidebar .wc-block-product-categories-list-item-count,
.perla-filters-panel .wc-block-product-categories-list-item-count {
  display: inline-flex;
  flex-shrink: 0;
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  font-variant-numeric: tabular-nums;
}

/* Plain text rows — generous tap target via padding, no chip. */
.perla-shop-sidebar .product-categories li,
.perla-filters-panel .product-categories li,
.perla-shop-sidebar .wc-block-product-categories-list-item,
.perla-filters-panel .wc-block-product-categories-list-item,
.perla-shop-sidebar .woocommerce-widget-layered-nav-list__item,
.perla-filters-panel .woocommerce-widget-layered-nav-list__item,
.perla-shop-sidebar .wc-block-checkbox-list li,
.perla-filters-panel .wc-block-checkbox-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
}

.perla-shop-sidebar .product-categories li + li,
.perla-filters-panel .product-categories li + li,
.perla-shop-sidebar .wc-block-product-categories-list-item + .wc-block-product-categories-list-item,
.perla-filters-panel .wc-block-product-categories-list-item + .wc-block-product-categories-list-item,
.perla-shop-sidebar .woocommerce-widget-layered-nav-list__item + .woocommerce-widget-layered-nav-list__item,
.perla-filters-panel .woocommerce-widget-layered-nav-list__item + .woocommerce-widget-layered-nav-list__item,
.perla-shop-sidebar .wc-block-checkbox-list li + li,
.perla-filters-panel .wc-block-checkbox-list li + li {
  margin-top: 0.05rem;
}

.perla-shop-sidebar .product-categories a,
.perla-filters-panel .product-categories a,
.perla-shop-sidebar .wc-block-product-categories-list-item a,
.perla-filters-panel .wc-block-product-categories-list-item a,
.perla-shop-sidebar .woocommerce-widget-layered-nav-list__item a,
.perla-filters-panel .woocommerce-widget-layered-nav-list__item a,
.perla-shop-sidebar .wc-block-checkbox-list label,
.perla-filters-panel .wc-block-checkbox-list label {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  width: 100%;
  padding: 0.55rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.4;
  text-transform: none;
  cursor: pointer;
  transition: color var(--transition-base), opacity var(--transition-base);
}

.perla-shop-sidebar .product-categories a:hover,
.perla-filters-panel .product-categories a:hover,
.perla-shop-sidebar .wc-block-product-categories-list-item a:hover,
.perla-filters-panel .wc-block-product-categories-list-item a:hover,
.perla-shop-sidebar .woocommerce-widget-layered-nav-list__item a:hover,
.perla-filters-panel .woocommerce-widget-layered-nav-list__item a:hover,
.perla-shop-sidebar .wc-block-checkbox-list label:hover,
.perla-filters-panel .wc-block-checkbox-list label:hover {
  color: var(--color-text);
  opacity: 0.6;
}

/* Selected state — weight + tighter tracking; no fill. */
.perla-shop-sidebar .woocommerce-widget-layered-nav-list__item.chosen a,
.perla-filters-panel .woocommerce-widget-layered-nav-list__item.chosen a,
.perla-shop-sidebar .wc-block-checkbox-list input:checked + label,
.perla-filters-panel .wc-block-checkbox-list input:checked + label,
.perla-shop-sidebar .product-categories .current-cat > a,
.perla-filters-panel .product-categories .current-cat > a {
  font-weight: 500;
  letter-spacing: 0.06em;
  opacity: 1;
}

/* Custom checkbox — 12px hairline square that fills when checked. */
.perla-shop-sidebar .wc-block-checkbox-list label,
.perla-filters-panel .wc-block-checkbox-list label {
  position: relative;
  padding-left: 1.6rem;
}

.perla-shop-sidebar .wc-block-checkbox-list label::before,
.perla-filters-panel .wc-block-checkbox-list label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  border: 1px solid var(--perla-filter-rule-strong);
  background: transparent;
  transition: background var(--transition-base), border-color var(--transition-base);
}

.perla-shop-sidebar .wc-block-checkbox-list input:checked + label::before,
.perla-filters-panel .wc-block-checkbox-list input:checked + label::before {
  background: var(--color-text);
  border-color: var(--color-text);
}

.perla-shop-sidebar .wc-block-checkbox-list input[type="checkbox"],
.perla-filters-panel .wc-block-checkbox-list input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.perla-shop-sidebar .wc-block-checkbox-list input[type="checkbox"]:focus-visible + label::before,
.perla-filters-panel .wc-block-checkbox-list input[type="checkbox"]:focus-visible + label::before {
  outline: 1px solid var(--color-text);
  outline-offset: 2px;
}

.perla-shop-sidebar a:focus-visible,
.perla-filters-panel a:focus-visible {
  outline: 1px solid var(--color-text);
  outline-offset: 3px;
}

/* Active filters — the only chip in the system. Hairline rectangle,
   tap to remove (hover inverts to filled). */
.perla-shop-sidebar .widget_layered_nav_filters ul,
.perla-filters-panel .widget_layered_nav_filters ul,
.perla-shop-sidebar .wc-block-active-filters__list,
.perla-filters-panel .wc-block-active-filters__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.perla-shop-sidebar .widget_layered_nav_filters li,
.perla-filters-panel .widget_layered_nav_filters li,
.perla-shop-sidebar .wc-block-active-filters__list-item,
.perla-filters-panel .wc-block-active-filters__list-item {
  display: inline-flex;
  margin: 0;
}

.perla-shop-sidebar .widget_layered_nav_filters a,
.perla-filters-panel .widget_layered_nav_filters a,
.perla-shop-sidebar .wc-block-active-filters__list-item a,
.perla-filters-panel .wc-block-active-filters__list-item a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--perla-filter-rule-strong);
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: background var(--transition-base), color var(--transition-base);
}

.perla-shop-sidebar .widget_layered_nav_filters a:hover,
.perla-filters-panel .widget_layered_nav_filters a:hover,
.perla-shop-sidebar .wc-block-active-filters__list-item a:hover,
.perla-filters-panel .wc-block-active-filters__list-item a:hover {
  background: var(--color-text);
  color: #fff;
}

/* Price slider — calmer, hairline track, square handle. */
.perla-shop-sidebar .widget_price_filter .price_slider_wrapper,
.perla-filters-panel .widget_price_filter .price_slider_wrapper {
  padding-top: 0.3rem;
}

.perla-shop-sidebar .widget_price_filter .price_slider,
.perla-filters-panel .widget_price_filter .price_slider {
  margin: 0.4rem 0 1.4rem;
  height: 2px;
  border-radius: 0;
  background: rgba(56, 41, 32, 0.14);
}

.perla-shop-sidebar .widget_price_filter .ui-slider-range,
.perla-filters-panel .widget_price_filter .ui-slider-range {
  background: var(--color-text);
}

.perla-shop-sidebar .widget_price_filter .ui-slider-handle,
.perla-filters-panel .widget_price_filter .ui-slider-handle {
  top: -0.3rem;
  width: 0.65rem;
  height: 0.65rem;
  border: 0;
  border-radius: 0;
  background: var(--color-text);
  box-shadow: none;
}

.perla-shop-sidebar .widget_price_filter .price_slider_amount,
.perla-filters-panel .widget_price_filter .price_slider_amount {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
}

.perla-shop-sidebar .widget_price_filter .price_label,
.perla-filters-panel .widget_price_filter .price_label {
  flex: 1 1 auto;
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.perla-shop-sidebar .widget_price_filter .button,
.perla-filters-panel .widget_price_filter .button {
  flex: 0 0 auto;
  min-width: 0;
  padding: 0.55rem 0.95rem;
  border: 1px solid var(--color-text);
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transition: background var(--transition-base), color var(--transition-base);
}

.perla-shop-sidebar .widget_price_filter .button:hover,
.perla-filters-panel .widget_price_filter .button:hover {
  background: var(--color-text);
  color: #fff;
}

.perla-shop-sidebar .select2-container,
.perla-filters-panel .select2-container,
.perla-shop-sidebar select,
.perla-filters-panel select {
  width: 100% !important;
}

.perla-shop-sidebar .select2-selection,
.perla-filters-panel .select2-selection,
.perla-shop-sidebar select,
.perla-filters-panel select {
  min-height: 40px;
  border: 0 !important;
  border-bottom: 1px solid var(--perla-filter-rule-strong) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.perla-shop-sidebar .wc-block-components-filter-reset-button,
.perla-filters-panel .wc-block-components-filter-reset-button {
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.perla-shop-sidebar .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > ul,
.perla-filters-panel .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > ul {
  margin-top: 0.2rem;
  padding-left: 1rem;
  border-left: 1px solid var(--perla-filter-rule);
}

.perla-shop-sidebar .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > ul > li,
.perla-filters-panel .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > ul > li {
  margin-top: 0;
}

.perla-shop-sidebar .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > ul a,
.perla-filters-panel .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > ul a {
  padding-block: 0.4rem;
  font-size: 0.74rem;
  color: var(--color-text);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  color: #fff;
  background: var(--color-text);
  border-color: var(--color-text);
}

.single-product div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 3rem;
}

.woocommerce .single-product div.product > div.images,
.woocommerce-page .single-product div.product > div.images,
.single-product div.product > div.images {
  float: none;
  width: auto;
  min-width: 0;
}

.single-product div.product .woocommerce-product-gallery {
  margin-inline: 0;
}

.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery .flex-viewport {
  max-height: 60vh;
}

.single-product div.product .woocommerce-product-gallery__image,
.single-product div.product .woocommerce-product-gallery__image a,
.single-product div.product .woocommerce-product-gallery__image img,
.single-product div.product .woocommerce-product-gallery img {
  max-height: 60vh;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  margin-inline: auto;
}

.woocommerce .single-product div.product > div.summary,
.woocommerce-page .single-product div.product > div.summary,
.single-product div.product > div.summary {
  float: none;
  width: auto;
  min-width: 0;
  clear: none;
}

.single-product .summary.entry-summary {
  margin: 0;
}

.perla-single-product-category,
.woocommerce div.product .product_meta {
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.16em;
}

.woocommerce div.product .summary .price {
  margin-bottom: 1.2rem;
}

.woocommerce div.product form.cart {
  margin-bottom: 1rem;
}

.woocommerce div.product .woocommerce-product-rating {
  margin-bottom: 1rem;
}

.site-footer {
  padding: 3rem 0 2rem;
  border-top: 1px solid var(--color-line);
  background: var(--color-bg);
}

.site-footer__top {
  display: grid;
  justify-items: center;
  gap: 1.25rem;
  text-align: center;
}

.site-footer__logo .widget {
  margin: 0;
}

.site-footer__logo img {
  width: 160px;
}

.site-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-line);
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.16em;
}

.site-footer__nav {
  margin-top: 1.5rem;
}

.footer-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-menu a {
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
}

.site-footer__bottom {
  margin-top: 1.5rem;
  text-align: center;
}

.site-footer__bottom p {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.16em;
}

.perla-checkout-distraction-free .site-header,
.perla-checkout-distraction-free .site-footer {
  display: none;
}

.perla-checkout-distraction-free .site {
  padding-top: 0;
}

.ast-single-post .entry-content a,
.ast-comment-content a:not(.ast-comment-edit-reply-wrap a),
.woocommerce-js .woocommerce-product-details__short-description a {
  text-decoration: none;
}

#wp_ext_cst_field .optional {
  display: none !important;
}

/* ==========================================================================
   Minimalist luxury design layer
   Refinements only — no structural / layout changes.
   ========================================================================== */

:root {
  --color-line-fine: color-mix(in oklab, var(--color-text) 8%, transparent);
  --color-line-strong: color-mix(in oklab, var(--color-text) 18%, transparent);
  --ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
  --transition-base: 0.35s var(--ease-soft);
  --transition-slow: 0.7s var(--ease-soft);
  --tracking-display: 0.03em;
  --tracking-eyebrow: 0.28em;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  font-kerning: normal;
}

::selection {
  background: var(--color-text);
  color: #ffffff;
}

/* Editorial reading rhythm — restore comfortable case + leading for prose */
.entry-content p,
.entry-content li,
.entry-content blockquote,
.woocommerce-product-details__short-description,
.woocommerce-product-details__short-description p,
.woocommerce-Tabs-panel p,
.woocommerce-Tabs-panel li,
.uagb-tm__desc,
.cart_totals,
.product_meta,
.woocommerce-result-count,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  text-transform: none;
  line-height: 1.7;
  letter-spacing: 0.005em;
}

.entry-content p + p {
  margin-top: 1.15rem;
}

/* Refined display heads */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.product_title,
.woocommerce-loop-product__title {
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}

h1, .entry-title { line-height: 1.05; margin-bottom: 1.25rem; }
h2 { line-height: 1.1; }
h3 { line-height: 1.15; }

/* Reveal-on-hover underline for inline editorial links */
.entry-content a:not(.button):not(.wp-block-button__link):not(.added_to_cart),
.uagb-infobox-cta-link.wp-block-button__link {
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0% 1px;
  padding-bottom: 2px;
  transition: background-size var(--transition-base), color var(--transition);
}

.entry-content a:not(.button):not(.wp-block-button__link):not(.added_to_cart):hover,
.uagb-infobox-cta-link.wp-block-button__link:hover {
  background-size: 100% 1px;
}

.uagb-infobox-cta-link.wp-block-button__link {
  letter-spacing: 0.22em;
  text-decoration: none;
}

/* Buttons — softer easing + subtle tracking shift */
button,
.button,
.wp-element-button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  letter-spacing: 0.16em;
  transition: background-color var(--transition-base), border-color var(--transition-base),
    color var(--transition-base), letter-spacing var(--transition-base);
}

button:hover,
.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  letter-spacing: 0.2em;
}

/* Accessibility — visible keyboard rings without mouse noise */
:where(a, button, input, select, textarea, .button, [tabindex]):focus-visible {
  outline: 1px solid var(--color-text);
  outline-offset: 3px;
}

/* Forms — quieter, transparent, ink on focus */
input, select, textarea {
  background: transparent;
  border-color: var(--color-line-fine);
  text-transform: none;
  letter-spacing: 0.01em;
  transition: border-color var(--transition-base), background-color var(--transition-base);
}

input:hover, select:hover, textarea:hover {
  border-color: var(--color-line-strong);
}

input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--color-text);
}

/* Header — solid white with hairline keyline on scroll (performant, no blur) */
.site-header {
  background: #ffffff;
  border-bottom-color: var(--color-line-fine);
  transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.site-header.scrolled {
  border-bottom-color: var(--color-line-strong);
  box-shadow: 0 1px 0 var(--color-line-fine);
}

/* Nav — animated underline that respects current state */
.header-nav .nav-menu li a {
  position: relative;
  padding-bottom: 4px;
}

.header-nav .nav-menu li a::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: 50% 50%;
  transition: transform var(--transition-base);
}

.header-nav .nav-menu li a:hover::after,
.header-nav .nav-menu li.current-menu-item > a::after,
.header-nav .nav-menu li.current_page_item > a::after {
  transform: scaleX(1);
}

/* Product cards — calm typography, slow image breathing on hover */
.woocommerce ul.products li.product a img {
  transition: transform 1.2s var(--ease-soft), filter var(--transition-base);
  background-color: var(--color-surface);
}

.woocommerce ul.products li.product:not(:has(.perla-product-card-media.has-hover-image)):hover a img {
  transform: scale(1.025);
}

.woocommerce-loop-product__title {
  font-weight: 400;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
}

.woocommerce ul.products li.product .price {
  color: var(--color-text);
  font-family: "Montserrat", sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
}

/* Hero CTA — lighter weight, balanced */
.uagb-block-fbc06736 .uagb-cta__title,
.uagb-block-229b3959 .uagb-cta__title,
.uagb-block-d2c62645 .uagb-cta__title {
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.05;
  text-wrap: balance;
}

.uagb-block-fbc06736 .uagb-cta__desc,
.uagb-block-229b3959 .uagb-cta__desc {
  font-weight: 300;
}

/* Section eyebrows — flatter weight, refined tracking */
.uagb-block-556ad9a9 .uagb-ifb-title,
.uagb-block-e316acb9 .uagb-ifb-title,
.uagb-block-28d7f504 .uagb-ifb-title,
.uagb-block-201ad048 .uagb-ifb-title {
  font-weight: 400;
  letter-spacing: 0.06em;
}

/* Sidebars / panels — quieter surfaces */
.perla-shop-sidebar {
  background: transparent;
  border-color: var(--color-line-fine);
  padding: 2rem;
}

.offcanvas {
  box-shadow: 0 0 60px rgba(17, 17, 17, 0.06);
}

/* Category cards — keep the custom category template styling intact. */
.uagb-block-cd2ea0bb .product-categories li.product-category {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 241, 232, 0.9));
  border-color: rgba(56, 41, 32, 0.12);
  transition: border-color var(--transition-base);
}

.uagb-block-cd2ea0bb .product-categories li.product-category:hover {
  border-color: rgba(56, 41, 32, 0.24);
}

/* Footer — generous breathing room, refined social pills */
.site-footer__social a {
  border-color: var(--color-line-fine);
  transition: background-color var(--transition-base), color var(--transition-base),
    border-color var(--transition-base);
}

.site-footer__social a:hover {
  background: var(--color-text);
  color: #fff;
  border-color: var(--color-text);
}

/* Cart badge polish */
.cart-count {
  letter-spacing: 0.04em;
}

/* Generous desktop white space */
@media (min-width: 1025px) {
  .site-main {
    padding: 5rem 0 8rem;
  }

  .uagb-block-d530ed86 {
    padding: 6.5rem 1rem 2rem;
  }

  .uagb-block-12e81f89,
  .uagb-block-cd2ea0bb,
  .uagb-block-8e0801b2 {
    padding-block: 3rem;
  }

  .uagb-block-1e7155c0 {
    min-height: 5rem;
  }

  .site-footer {
    padding: 5rem 0 3rem;
  }

  .header-nav .nav-menu {
    gap: 2.75rem;
  }
}

/* Mobile clarity — looser leading, tighter tracking, restrained padding */
@media (max-width: 768px) {
  body {
    line-height: 1.5;
  }

  .header-nav .nav-menu li a,
  .footer-menu a,
  .site-footer__bottom p,
  .site-footer__social a {
    letter-spacing: 0.12em;
  }

  h1, .entry-title { line-height: 1.1; }
}

/* Scroll reveal — opt-in via data attribute, set by reveal.js */
[data-perla-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity var(--transition-slow), transform var(--transition-slow);
  will-change: opacity, transform;
}

[data-perla-reveal].is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  [data-perla-reveal] {
    opacity: 1;
    transform: none;
  }
}

@media (min-width: 1920px) {
  .woocommerce ul.products,
  ul.products,
  .uagb-block-12e81f89 .woocommerce ul.products,
  .uagb-block-12e81f89 ul.products,
  .uagb-block-cd2ea0bb .product-categories {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  body {
    font-size: 16px;
  }

  .perla-home-hero__viewport {
    min-height: 64vh;
  }

  .perla-home-hero__image {
    object-position: var(--perla-slide-position-tablet, var(--perla-slide-position-desktop, 50% 50%));
  }

  .uagb-block-0f62bac5 .uagb-slider-container,
  .uagb-block-0f62bac5 .uagb-slider-child-wrap {
    min-height: 64vh;
  }

  .uagb-block-cd2ea0bb .product-categories {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .perla-shop-layout,
  .single-product div.product {
    grid-template-columns: 1fr;
  }

  .perla-shop-sidebar {
    display: none;
  }

  .perla-shop-toolbar {
    justify-content: flex-start;
  }

  .perla-filter-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 768px) {
  .header-container {
    min-height: 64px;
    padding: 0.5rem var(--space-mobile-edge);
    justify-content: space-between;
    gap: 1rem;
  }

  .header-nav {
    display: none;
  }

  .hamburger {
    display: flex;
    flex: 0 0 44px;
  }

  .site-logo {
    position: static;
    transform: none;
    justify-content: flex-start;
  }

  .header-right {
    flex: 0 0 auto;
    margin-left: auto;
    gap: 0.5rem;
  }

  .site-logo img,
  .site-logo .custom-logo {
    max-height: 40px;
    max-width: 130px;
  }

  .site {
    padding-top: 64px;
  }

  .site-main {
    padding-top: 2rem;
  }

  .perla-home-hero {
    margin-top: -1.5rem;
  }

  .perla-home-hero__viewport {
    min-height: 62svh;
  }

  .perla-home-hero__image {
    object-position: var(--perla-slide-position-mobile, var(--perla-slide-position-tablet, 50% 50%));
  }

  .perla-home-hero__description {
    letter-spacing: 0.28em;
  }

  .perla-home-hero__copy::before {
    width: 36px;
    margin-bottom: 1.1rem;
  }

  .perla-home-hero__content {
    padding-inline: var(--space-mobile-edge) var(--space-mobile-edge);
  }

  .uagb-block-0f62bac5 {
    margin-top: -1.5rem;
  }

  .uagb-block-0f62bac5 .uagb-slider-container,
  .uagb-block-0f62bac5 .uagb-slider-child-wrap {
    min-height: 62svh;
  }

  .uagb-block-0f62bac5 .swiper-button-prev,
  .uagb-block-0f62bac5 .swiper-button-next {
    display: none;
  }

  .uagb-block-fbc06736 .uagb-cta__desc,
  .uagb-block-229b3959 .uagb-cta__desc {
    letter-spacing: 0.28em;
  }

  .uagb-block-d530ed86 {
    padding-top: 3rem;
  }

  .uagb-block-12e81f89,
  .uagb-block-cd2ea0bb,
  .uagb-block-8e0801b2 {
    padding-inline: 0;
  }

  .uagb-block-56fd947c .uagb-tm__desc {
    font-size: 1rem;
  }

  .uagb-block-cd2ea0bb .product-categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 1rem;
  }

  .perla-product-category-card__link {
    display: block;
  }

  /* Mobile: switch from image-overlay layout to image-tile + caption below.
     The overlay is normally layered inside __media via grid-area: 1/1.
     We break it out so the headline flows below the (now square) image. */
  .perla-product-category-card__media {
    display: block;
    aspect-ratio: auto;
    overflow: visible;
    isolation: auto;
  }

  .perla-product-category-card__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transform: none;
    transition: none;
  }

  .perla-product-category-card__overlay {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    padding: 0.85rem 0.25rem 0;
    background: none;
    text-align: center;
  }

  .perla-product-category-card__headline {
    width: 100%;
    max-width: none;
    row-gap: 0.35rem;
    transform: none;
  }

  .perla-product-category-card__title {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: var(--color-text);
    text-shadow: none;
    text-transform: uppercase;
  }

  .perla-product-category-card__title::after {
    display: none;
  }

  .perla-product-category-card__count {
    opacity: 1;
    transform: none;
  color: var(--color-text);
    font-size: 0.7rem;
    font-weight: 300;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: none;
  }

  .perla-product-category-card__footer {
    display: none;
  }

  .woocommerce ul.products,
  ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 1rem;
  }

  .uagb-block-12e81f89 .woocommerce ul.products,
  .uagb-block-12e81f89 ul.products,
  .woocommerce.columns-5 ul.products,
  .woocommerce ul.products.columns-5,
  ul.products.columns-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce.columns-2 ul.products,
  .woocommerce ul.products.columns-2,
  .woocommerce.columns-2 .product-categories,
  .woocommerce .product-categories.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-menu {
    flex-direction: column;
    align-items: center;
  }
}

/* =============================================================
   Mobile menu — luxe redesign
   - Kills the default mobile tap-highlight rectangle
   - Replaces the snap-fade with a soft fade + staggered item entry
   - Editorial centred typography, hairline dividers, no chrome
   ============================================================= */

/* 1. Tap-highlight reset — universal, kills the dark rectangle iOS/Android
      draw on every <button> / <a> tap. This is the source of the "black
      square" the user sees when tapping the hamburger. */
html {
  -webkit-tap-highlight-color: transparent;
}

*,
*::before,
*::after {
  -webkit-tap-highlight-color: transparent;
}

button,
a,
[role="button"] {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

/* Some Android Chromiums also paint a focus ring on touch — suppress it
   while preserving keyboard accessibility through :focus-visible below. */
.hamburger:focus,
.cart-link:focus,
.offcanvas-close:focus,
.offcanvas-nav a:focus,
.offcanvas-nav button:focus {
  outline: none;
  box-shadow: none;
}

.hamburger {
  appearance: none;
  -webkit-appearance: none;
  outline: none;
}

.hamburger:focus { outline: none; }

/* 2. Refine the hamburger lines — thinner, calmer easing */
.hamburger span {
  height: 1px;
  border-radius: 0;
  background: var(--color-text);
  transition: transform 360ms cubic-bezier(0.22, 0.61, 0.36, 1),
              opacity 220ms ease;
}

@media (max-width: 768px) {
  /* 3. Panel — solid white, soft fade, generous breathing room */
  .offcanvas-nav {
    inset: 0;
    z-index: 1100;
    width: 100vw;
    max-width: none;
    height: 100dvh;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    background: #ffffff;
    box-shadow: none;
    transform: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overscroll-behavior: contain;
    transition: opacity 420ms cubic-bezier(0.22, 0.61, 0.36, 1),
                visibility 420ms;
  }

  /* Soft top keyline accent — fades in after the panel */
  .offcanvas-nav::before {
    content: "";
    position: absolute;
    top: 96px;
    left: 50%;
    width: 36px;
    height: 1px;
    background: var(--color-line-fine, rgba(17, 17, 17, 0.16));
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 480ms 220ms ease;
  }

  .offcanvas-nav.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .offcanvas-nav.open::before { opacity: 1; }

  /* 4. Menu list — full-width, hairline dividers, centred */
  .offcanvas-nav ul,
  .offcanvas-nav .mobile-menu {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    max-width: 28rem;
  }

  .offcanvas-nav ul li,
  .offcanvas-nav .mobile-menu li {
    margin: 0;
    width: 100%;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 540ms cubic-bezier(0.22, 0.61, 0.36, 1),
                transform 540ms cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  .offcanvas-nav.open ul li,
  .offcanvas-nav.open .mobile-menu li {
    opacity: 1;
    transform: none;
  }

  /* Stagger — entry feels considered, not snappy */
  .offcanvas-nav.open ul li:nth-child(1),
  .offcanvas-nav.open .mobile-menu li:nth-child(1) { transition-delay: 140ms; }
  .offcanvas-nav.open ul li:nth-child(2),
  .offcanvas-nav.open .mobile-menu li:nth-child(2) { transition-delay: 200ms; }
  .offcanvas-nav.open ul li:nth-child(3),
  .offcanvas-nav.open .mobile-menu li:nth-child(3) { transition-delay: 260ms; }
  .offcanvas-nav.open ul li:nth-child(4),
  .offcanvas-nav.open .mobile-menu li:nth-child(4) { transition-delay: 320ms; }
  .offcanvas-nav.open ul li:nth-child(5),
  .offcanvas-nav.open .mobile-menu li:nth-child(5) { transition-delay: 380ms; }
  .offcanvas-nav.open ul li:nth-child(n+6),
  .offcanvas-nav.open .mobile-menu li:nth-child(n+6) { transition-delay: 440ms; }

  /* 5. Links — editorial type, hairline rows, soft tracking shift on press */
  .offcanvas-nav ul li a,
  .offcanvas-nav .mobile-menu li a {
    display: block;
    width: 100%;
    margin: 0;
    padding: 1rem 0;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(17, 17, 17, 0.07);
    color: var(--color-text);
    font-family: "Montserrat", sans-serif;
    font-size: 0.92rem;
    font-weight: 400;
    letter-spacing: 0.32em;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    transition: letter-spacing 320ms cubic-bezier(0.22, 0.61, 0.36, 1),
                color 240ms ease;
  }

  .offcanvas-nav ul li:first-child a,
  .offcanvas-nav .mobile-menu li:first-child a {
    border-top: 1px solid rgba(17, 17, 17, 0.07);
  }

  .offcanvas-nav ul li a:hover,
  .offcanvas-nav ul li a:focus-visible,
  .offcanvas-nav ul li a:active,
  .offcanvas-nav .mobile-menu li a:hover,
  .offcanvas-nav .mobile-menu li a:focus-visible,
  .offcanvas-nav .mobile-menu li a:active {
    color: var(--color-text);
    letter-spacing: 0.36em;
    background: transparent;
  }

.offcanvas-nav ul li a:focus-visible,
.offcanvas-nav .mobile-menu li a:focus-visible {
  outline: 1px solid var(--color-text);
  outline-offset: 4px;
}
}

/* 6. Reduced motion — keep it accessible, drop the choreography */
@media (prefers-reduced-motion: reduce) {
  .offcanvas-nav,
  .offcanvas-nav::before,
  .offcanvas-nav ul li,
  .offcanvas-nav .mobile-menu li {
    transition: none !important;
  }
  .offcanvas-nav.open ul li,
  .offcanvas-nav.open .mobile-menu li {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Product loop cards — drop the editorial hover underline on the card link */
.entry-content .woocommerce ul.products li.product a:not(.button):not(.added_to_cart),
.woocommerce ul.products li.product a:not(.button):not(.added_to_cart) {
  background-image: none;
  background-size: 0 0;
  padding-bottom: 0;
}

.entry-content .woocommerce ul.products li.product a:not(.button):not(.added_to_cart):hover,
.woocommerce ul.products li.product a:not(.button):not(.added_to_cart):hover {
  background-size: 0 0;
  color: inherit;
}

.entry-content .woocommerce ul.products li.product a:not(.button):not(.added_to_cart):hover .woocommerce-loop-product__title,
.woocommerce ul.products li.product a:not(.button):not(.added_to_cart):hover .woocommerce-loop-product__title,
.entry-content .woocommerce ul.products li.product a:not(.button):not(.added_to_cart):focus .woocommerce-loop-product__title,
.woocommerce ul.products li.product a:not(.button):not(.added_to_cart):focus .woocommerce-loop-product__title {
  color: inherit;
}

/* Product loop card buttons (e.g. "Izvēlēties") — outline style */
.woocommerce ul.products li.product .button,
.woocommerce-js ul.products li.product .button {
  background: transparent;
  border-color: #0F172A;
  color: #0F172A;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:focus,
.woocommerce-js ul.products li.product .button:hover,
.woocommerce-js ul.products li.product .button:focus {
  background: #0F172A;
  border-color: #0F172A;
  color: #ffffff;
}

/* Header icon buttons — proper touch targets + refined animation */
.cart-link,
.hamburger {
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  -webkit-tap-highlight-color: transparent;
}

.cart-link { padding: 10px; }
.hamburger { padding: 13px 10px; }

.cart-link .cart-count {
  top: 2px;
  right: -2px;
}

.hamburger span {
  width: 100%;
  transform-origin: center;
  will-change: transform, opacity;
  transition: transform 380ms cubic-bezier(0.65, 0.05, 0.36, 1),
              opacity 180ms cubic-bezier(0.4, 0, 0.2, 1);
}

.hamburger span:nth-child(1) { transition-delay: 80ms; }
.hamburger span:nth-child(2) { transition-delay: 40ms; }
.hamburger span:nth-child(3) { transition-delay: 0ms; }

.hamburger.active span {
  transition: transform 420ms cubic-bezier(0.34, 1.2, 0.64, 1),
              opacity 140ms cubic-bezier(0.4, 0, 1, 1);
}

.hamburger.active span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
  transition-delay: 140ms, 0ms;
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
  transition-delay: 0ms;
}

.hamburger.active span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
  transition-delay: 140ms, 0ms;
}

.cart-link,
.hamburger {
  transition: transform 260ms cubic-bezier(0.22, 0.61, 0.36, 1),
              opacity 220ms ease;
}

.cart-link:hover,
.hamburger:hover {
  transform: translateY(-1px);
}

.cart-link:active,
.hamburger:active {
  transform: translateY(0) scale(0.94);
  transition-duration: 120ms;
}

.cart-link svg {
  transition: transform 320ms cubic-bezier(0.34, 1.2, 0.64, 1);
}

.cart-link:hover svg {
  transform: translateY(-1px) rotate(-4deg);
}

.cart-count {
  transition: transform 260ms cubic-bezier(0.34, 1.2, 0.64, 1),
              background-color 220ms ease;
}

.cart-link:hover .cart-count {
  transform: scale(1.08);
}

/* ==========================================================================
   Single product — editorial composition
   Gallery, summary, tabs, related/upsells.
   ========================================================================== */

.single-product div.product {
  position: relative;
  align-items: start;
  padding-block: clamp(2rem, 5vw, 4rem);
}

.single-product div.product::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 1px;
  background: var(--color-line-fine);
  pointer-events: none;
}

/* Gallery — hairline frame, refined thumbs */
.single-product div.product .woocommerce-product-gallery {
  position: relative;
  padding: 0;
}

.single-product div.product .woocommerce-product-gallery__wrapper {
  position: relative;
}

.single-product div.product .woocommerce-product-gallery__image {
  display: flex;
  align-items: center;
  justify-content: center;
}

.single-product div.product .woocommerce-product-gallery__image a {
  display: block;
  width: 100%;
}

.single-product div.product .woocommerce-product-gallery__image img {
  display: block;
}

.single-product div.product .woocommerce-product-gallery__trigger {
  top: 1rem;
  right: 1rem;
  width: 38px;
  height: 38px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--color-line-fine);
  border-radius: 999px;
  text-indent: -9999px;
  transition: background var(--transition-base), border-color var(--transition-base);
}

.single-product div.product .woocommerce-product-gallery__trigger::before {
  content: "";
  position: absolute;
  inset: 0;
  background: center/14px 14px no-repeat
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F172A' stroke-width='1.4'><circle cx='11' cy='11' r='6'/><path d='M21 21l-5-5'/></svg>");
}

.single-product div.product .woocommerce-product-gallery__trigger:hover {
  background: var(--color-text);
  border-color: var(--color-text);
}

.single-product div.product .woocommerce-product-gallery__trigger:hover::before {
  filter: invert(1);
}

/* Thumbnails */
.single-product div.product .flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.single-product div.product .flex-control-thumbs li {
  width: 72px;
  margin: 0;
  list-style: none;
  float: none;
}

.single-product div.product .flex-control-thumbs img {
  display: block;
  width: 100%;
  height: 72px;
  object-fit: cover;
  cursor: pointer;
  opacity: 0.55;
  border: 1px solid transparent;
  transition: opacity var(--transition-base), border-color var(--transition-base), transform var(--transition-base);
}

.single-product div.product .flex-control-thumbs img:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.single-product div.product .flex-control-thumbs img.flex-active,
.single-product div.product .flex-control-thumbs .flex-active img {
  opacity: 1;
  border-color: var(--color-accent);
  box-shadow: inset 0 -2px 0 var(--color-accent);
}

/* Summary — editorial rhythm */
.single-product div.product .summary.entry-summary {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  padding-block-start: 0.25rem;
}

.single-product div.product .summary > * {
  margin: 0;
}

.single-product .perla-single-product-category {
  font-size: 0.7rem;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: color-mix(in oklab, var(--color-text) 60%, transparent);
}

.single-product .perla-single-product-category::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 1px;
  background: var(--color-accent);
  vertical-align: middle;
  margin-right: 0.6rem;
  transform: translateY(-2px);
}

.woocommerce div.product .product_title {
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  font-weight: 400;
  letter-spacing: var(--tracking-display);
  line-height: 1.1;
  text-transform: none;
  margin: 0;
}

.woocommerce div.product .product_title::after {
  content: "";
  display: block;
  width: 36px;
  height: 1px;
  background: var(--color-accent);
  margin-top: 1.1rem;
}

.woocommerce div.product .summary .price,
.woocommerce div.product p.price {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  color: var(--color-text);
}

.woocommerce div.product .summary .price del {
  opacity: 0.45;
  font-weight: 300;
  margin-right: 0.6rem;
}

.woocommerce div.product .summary .price ins {
  text-decoration: none;
  background: none;
  color: var(--color-text);
}

.single-product .woocommerce-product-details__short-description {
  color: var(--color-text);
  font-size: 0.95rem;
  line-height: 1.75;
  letter-spacing: 0.01em;
  text-transform: none;
  max-width: 46ch;
  padding-block: 1rem;
  border-block: 1px solid var(--color-line-fine);
}

.single-product .woocommerce-product-details__short-description p {
  margin: 0;
}

.single-product .woocommerce-product-details__short-description p + p {
  margin-top: 0.7rem;
}

/* Cart form — quantity + CTA pairing */
.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.6rem;
  margin: 0.4rem 0 0.5rem;
}

.woocommerce div.product form.cart .quantity {
  flex: 0 0 auto;
}

.woocommerce div.product form.cart .quantity input.qty {
  width: 70px;
  min-height: 46px;
  padding: 0 0.6rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-align: center;
  background: #fff;
  border: 1px solid var(--color-text);
  border-radius: var(--radius-soft);
  text-transform: uppercase;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart button.single_add_to_cart_button {
  flex: 1 1 auto;
  min-width: 220px;
  min-height: 46px;
  letter-spacing: 0.22em;
  font-size: 0.78rem;
  padding: 0.95rem 1.6rem;
}

/* Variations table */
.woocommerce div.product form.cart .variations {
  width: 100%;
  margin: 0 0 0.5rem;
  border: none;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  padding: 0.35rem 0;
  border: none;
  background: transparent;
}

.woocommerce div.product form.cart .variations label {
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: color-mix(in oklab, var(--color-text) 65%, transparent);
}

.woocommerce div.product form.cart .reset_variations {
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in oklab, var(--color-text) 55%, transparent);
}

/* Product meta */
.woocommerce div.product .product_meta {
  margin-top: 0.8rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-line-fine);
  font-size: 0.7rem;
  color: color-mix(in oklab, var(--color-text) 60%, transparent);
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 1.4rem;
}

.woocommerce div.product .product_meta > span {
  display: inline-flex;
  gap: 0.4rem;
}

.woocommerce div.product .product_meta a {
  color: var(--color-text);
  border-bottom: 1px solid transparent;
  transition: border-color var(--transition-base), color var(--transition-base);
}

.woocommerce div.product .product_meta a:hover {
  color: var(--color-accent);
  border-bottom-color: var(--color-accent);
}

/* Stock + rating */
.woocommerce div.product p.stock {
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: color-mix(in oklab, var(--color-text) 70%, transparent);
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}

.woocommerce div.product p.stock.in-stock::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2f7d4d;
  display: inline-block;
}

.woocommerce div.product p.stock.out-of-stock::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #b94545;
  display: inline-block;
}

/* ==========================================================================
   Tabs — editorial, minimal
   ========================================================================== */

.woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--color-line-fine);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin: 0 0 2rem;
  padding: 0;
  border: none;
  list-style: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: inline-block;
  padding: 0.4rem 0;
  font-family: "Montserrat", sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: color-mix(in oklab, var(--color-text) 55%, transparent);
  border-bottom: 1px solid transparent;
  transition: color var(--transition-base), border-color var(--transition-base);
  text-shadow: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
  color: var(--color-text);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--color-text);
  border-bottom-color: var(--color-accent);
}

.woocommerce div.product .woocommerce-Tabs-panel {
  max-width: 70ch;
}

.woocommerce div.product .woocommerce-Tabs-panel h2 {
  font-size: 1.1rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 1rem;
}

.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes {
  border: none;
}

.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes th,
.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes td {
  padding: 0.85rem 1rem 0.85rem 0;
  border-top: 1px solid var(--color-line-fine);
  border-bottom: none;
  background: transparent;
  text-transform: none;
  font-weight: 400;
  font-style: normal;
  color: var(--color-text);
}

.woocommerce div.product .woocommerce-Tabs-panel--additional_information table.shop_attributes th {
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: color-mix(in oklab, var(--color-text) 60%, transparent);
  width: 30%;
}

/* ==========================================================================
   Related products / Upsells — editorial grid
   ========================================================================== */

.woocommerce .related,
.woocommerce .upsells {
  grid-column: 1 / -1;
  margin-top: clamp(3rem, 6vw, 5rem);
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--color-line-fine);
}

.woocommerce .related > h2,
.woocommerce .upsells > h2 {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 2rem;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--color-text);
}

.woocommerce .related > h2::after,
.woocommerce .upsells > h2::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--color-line-fine);
}

.woocommerce .related ul.products,
.woocommerce .upsells ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product {
  width: auto;
  margin: 0;
  padding: 0;
  float: none;
  text-align: left;
  position: relative;
}

.woocommerce .related ul.products li.product a,
.woocommerce .upsells ul.products li.product a {
  display: block;
}

.woocommerce .related ul.products li.product a > img,
.woocommerce .upsells ul.products li.product a > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto 300 / 450;
  object-fit: cover;
  background: var(--color-surface-warm);
  margin: 0 0 1rem;
  transition: transform 700ms var(--ease-soft), filter 400ms ease;
}

.woocommerce .related ul.products li.product:hover a > img,
.woocommerce .upsells ul.products li.product:hover a > img {
  transform: scale(1.025);
  filter: brightness(0.97);
}

.woocommerce .related ul.products li.product .woocommerce-loop-product__title,
.woocommerce .upsells ul.products li.product .woocommerce-loop-product__title {
  font-family: "Montserrat", sans-serif;
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: none;
  margin: 0 0 0.35rem;
  color: var(--color-text);
}

.woocommerce .related ul.products li.product .price,
.woocommerce .upsells ul.products li.product .price {
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  color: color-mix(in oklab, var(--color-text) 70%, transparent);
}

.woocommerce .related ul.products li.product .button,
.woocommerce .upsells ul.products li.product .button,
.woocommerce .related ul.products li.product .added_to_cart,
.woocommerce .upsells ul.products li.product .added_to_cart {
  margin-top: 0.6rem;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  padding: 0.65rem 1rem;
}

/* Page-load reveal — single performant moment */
@media (prefers-reduced-motion: no-preference) {
  .single-product div.product > .images,
  .single-product div.product > .summary > *,
  .single-product div.product .woocommerce-tabs,
  .single-product .related,
  .single-product .upsells {
    animation: perla-rise 700ms var(--ease-soft) both;
  }

  .single-product div.product > .images { animation-delay: 60ms; }
  .single-product div.product > .summary > *:nth-child(1) { animation-delay: 140ms; }
  .single-product div.product > .summary > *:nth-child(2) { animation-delay: 200ms; }
  .single-product div.product > .summary > *:nth-child(3) { animation-delay: 260ms; }
  .single-product div.product > .summary > *:nth-child(4) { animation-delay: 320ms; }
  .single-product div.product > .summary > *:nth-child(5) { animation-delay: 380ms; }
  .single-product div.product > .summary > *:nth-child(n+6) { animation-delay: 440ms; }

  @keyframes perla-rise {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

/* Mobile */
@media (max-width: 992px) {
  .woocommerce .related ul.products,
  .woocommerce .upsells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem 1rem;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs {
    gap: 1.25rem;
  }
}

@media (max-width: 768px) {
  .single-product div.product {
    padding-block: 1.5rem;
    gap: 1.5rem;
  }

  .woocommerce div.product .product_title {
    font-size: clamp(1.5rem, 6vw, 2rem);
  }

  .woocommerce div.product form.cart .button,
  .woocommerce div.product form.cart button.single_add_to_cart_button {
    min-width: 0;
    width: 100%;
  }

  .single-product div.product .flex-control-thumbs li {
    width: 56px;
  }

  .single-product div.product .flex-control-thumbs img {
    height: 56px;
  }
}

/* ==========================================================================
   Contact page (slug: kontakti) — editorial overhaul.
   Scoped via .perla-contact-page so it cannot leak to other pages.
   ========================================================================== */

.perla-contact-page {
  --pc-ink: var(--color-text, #0f172a);
  --pc-paper: var(--color-bg, #ffffff);
  --pc-cream: var(--color-surface-warm, #fbf7f0);
  --pc-cream-deep: var(--color-surface, #f7f1e8);
  --pc-gold: var(--color-accent, #debc7b);
  --pc-gold-deep: #b9974b;
  --pc-hairline: var(--color-line, rgba(17, 17, 17, 0.12));
  --pc-hairline-soft: rgba(17, 17, 17, 0.08);

  position: relative;
  background: var(--pc-paper);
  color: var(--pc-ink);
}

.perla-contact {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 2.5rem), 1200px);
  margin: 0 auto;
  padding-block: clamp(3.5rem, 9vw, 7.5rem);
}

.perla-contact__frame {
  position: relative;
  padding-top: clamp(2.5rem, 6vw, 4rem);
  border-top: 1px solid var(--pc-hairline);
}

/* Editorial eyebrow row: "01 — KONTAKTI" */
.perla-contact__eyebrow {
  position: absolute;
  top: -0.65em;
  left: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  padding-right: 1rem;
  background: var(--pc-paper);
  font-family: "Montserrat", sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--pc-ink);
}

.perla-contact__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  height: 1.75rem;
  border: 1px solid var(--pc-ink);
  border-radius: 999px;
  font-size: 0.6rem;
  letter-spacing: 0.08em;
}

.perla-contact__rule {
  display: inline-block;
  width: 28px;
  height: 1px;
  background: var(--pc-ink);
}

.perla-contact__eyebrow-label {
  margin: 0;
  padding: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--pc-ink);
  line-height: 1;
}

/* Decorative monogram, bottom-right */
.perla-contact__mark {
  position: absolute;
  right: 0;
  bottom: -0.6em;
  padding-left: 0.85rem;
  background: var(--pc-paper);
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.5em;
  color: var(--pc-gold-deep);
  text-transform: uppercase;
}

.perla-contact__frame::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--pc-hairline);
}

/* ----- Reshape the Spectra container blocks rendered by the_content() ----- */

/* Outer Spectra root container — strip imposed background image, padding, borders */
.perla-contact-page .uagb-block-bf97f44f {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none;
}

.perla-contact-page .uagb-block-bf97f44f > .uagb-container-inner-blocks-wrap {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 6vw, 5.5rem);
  align-items: stretch;
}

/* Left column (heading + contact list) */
.perla-contact-page .uagb-block-ef7f26e3 {
  width: 100% !important;
  padding: clamp(1rem, 3vw, 2rem) 0 !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(2rem, 5vw, 3.5rem);
}

/* Right column (paragraph + form) — no fill panel; the form lives directly on
   the white page, separated from the left column by a hairline divider. */
.perla-contact-page .uagb-block-bb2832cb {
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 1px solid var(--pc-hairline) !important;
  border-radius: 0 !important;
  padding: clamp(0.5rem, 2vw, 1rem) 0 clamp(0.5rem, 2vw, 1rem) clamp(2rem, 5vw, 4rem) !important;
  position: relative;
  box-shadow: none !important;
}

/* ----- Left column typography ----- */

/* "Sazinies ar mums:" — make it the editorial display heading */
.perla-contact-page .uagb-block-395f8b3f {
  margin: 0 !important;
  padding: 0 !important;
}

.perla-contact-page .uagb-block-395f8b3f .uagb-heading-text {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(2.4rem, 6vw, 4.4rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  color: var(--pc-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  position: relative;
  display: block;
  max-width: 12ch;
}

.perla-contact-page .uagb-block-395f8b3f .uagb-heading-text::after {
  content: "";
  display: block;
  width: 64px;
  height: 1px;
  margin-top: clamp(1.25rem, 2.5vw, 2rem);
  background: var(--pc-gold);
}

/* Contact list — turn into an editorial info stack */
.perla-contact-page .uagb-block-ef7f26e3 ul.wp-block-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  font-size: initial !important;
}

.perla-contact-page .uagb-block-ef7f26e3 ul.wp-block-list li {
  position: relative;
  margin: 0 !important;
  padding: 1rem 0 1rem 0 !important;
  border-top: 1px solid var(--pc-hairline-soft);
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(1rem, 1.6vw, 1.2rem) !important;
  letter-spacing: 0.04em;
  text-transform: none !important;
  color: var(--pc-ink) !important;
  line-height: 1.4 !important;
}

.perla-contact-page .uagb-block-ef7f26e3 ul.wp-block-list li:last-child {
  border-bottom: 1px solid var(--pc-hairline-soft);
}

.perla-contact-page .uagb-block-ef7f26e3 ul.wp-block-list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--pc-gold);
  transition: width 480ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.perla-contact-page .uagb-block-ef7f26e3 ul.wp-block-list li:hover::before {
  width: 100%;
}

/* Pull the "Tālr.:" / "E-pasts:" labels into a smaller tracked overline.
   Spectra renders the value as plain text inside <li>, so we use a
   first-letter trick — instead, we layer a pseudo-element bullet. */
.perla-contact-page .uagb-block-ef7f26e3 ul.wp-block-list li {
  display: flex;
  align-items: baseline;
  gap: 1rem;
}

.perla-contact-page .uagb-block-ef7f26e3 ul.wp-block-list li::after {
  content: "";
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pc-gold);
  order: -1;
  transform: translateY(-2px);
}

/* ----- Right column typography ----- */

.perla-contact-page .uagb-block-bb2832cb > p {
  margin: 0 0 clamp(1.5rem, 3vw, 2rem) !important;
  padding: 0 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.32em;
  text-transform: uppercase !important;
  color: var(--pc-ink) !important;
  background: none !important;
}

/* ----- Form ----- */

.perla-contact-page .uagb-forms__outer-wrap {
  margin: 0 !important;
}

.perla-contact-page .uagb-forms-main-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2rem) clamp(1rem, 3vw, 2rem);
}

.perla-contact-page .uagb-forms-name-wrap,
.perla-contact-page .uagb-forms-email-wrap {
  grid-column: span 1;
}

.perla-contact-page .uagb-forms-textarea-wrap,
.perla-contact-page .uagb-forms-main-submit-button-wrap,
.perla-contact-page .uagb-forms-form-hidden-data,
.perla-contact-page .uagb-form-reacaptcha-error-406675fb {
  grid-column: 1 / -1;
}

.perla-contact-page .uagb-forms-field-set {
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
}

.perla-contact-page .uagb-forms-input-label {
  display: block !important;
  margin: 0 0 0.5rem !important;
  padding: 0 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase !important;
  color: var(--pc-ink) !important;
  background: none !important;
}

.perla-contact-page .uagb-forms-input-label.required::after {
  content: "✶";
  margin-left: 0.4rem;
  color: var(--pc-gold);
  font-size: 0.7em;
}

/* Strip Spectra's required asterisk replacement if any */
.perla-contact-page .uagb-forms-input-label.required::before {
  display: none !important;
}

.perla-contact-page .uagb-forms-input {
  width: 100%;
  margin: 0 !important;
  padding: 0.95rem 1rem !important;
  border: 1px solid var(--pc-hairline) !important;
  border-radius: var(--radius-soft, 3px) !important;
  background: var(--pc-paper) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  color: var(--pc-ink) !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  transition: border-color 220ms ease, box-shadow 220ms ease;
}

.perla-contact-page .uagb-forms-input::placeholder {
  color: rgba(17, 17, 17, 0.32);
}

.perla-contact-page .uagb-forms-input:hover {
  border-color: rgba(17, 17, 17, 0.28) !important;
}

.perla-contact-page .uagb-forms-input:focus,
.perla-contact-page .uagb-forms-input:focus-visible {
  outline: none !important;
  border-color: var(--pc-ink) !important;
  box-shadow: 0 0 0 3px rgba(222, 188, 123, 0.28) !important;
}

.perla-contact-page textarea.uagb-forms-input {
  min-height: 8.5rem;
  resize: vertical;
}

/* Submit button */
.perla-contact-page .uagb-forms-main-submit-button-wrap {
  display: flex;
  justify-content: flex-start;
  margin-top: clamp(0.5rem, 2vw, 1rem);
}

.perla-contact-page .uagb-forms-main-submit-button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 0.85rem;
  padding: 1.05rem 2.25rem !important;
  border: 1px solid var(--pc-ink) !important;
  border-radius: 0 !important;
  background: var(--pc-ink) !important;
  color: #fff !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.36em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  cursor: pointer;
  overflow: hidden;
  transition: color 320ms ease, background-color 320ms ease, transform 320ms ease;
}

.perla-contact-page .uagb-forms-main-submit-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--pc-gold);
  transform: translateX(-101%);
  transition: transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
}

.perla-contact-page .uagb-forms-main-submit-button > * {
  position: relative;
  z-index: 1;
}

.perla-contact-page .uagb-forms-main-submit-button .uagb-forms-main-submit-button-text {
  display: inline-flex;
  align-items: center;
}

.perla-contact-page .uagb-forms-main-submit-button .uagb-forms-main-submit-button-text::after {
  content: "→";
  margin-left: 0.85rem;
  font-size: 1rem;
  letter-spacing: 0;
  transition: transform 320ms ease;
}

.perla-contact-page .uagb-forms-main-submit-button:hover {
  color: var(--pc-ink) !important;
  background: var(--pc-ink) !important;
}

.perla-contact-page .uagb-forms-main-submit-button:hover::before {
  transform: translateX(0);
}

.perla-contact-page .uagb-forms-main-submit-button:hover .uagb-forms-main-submit-button-text::after {
  transform: translateX(4px);
}

/* Success / failure messages */
.perla-contact-page .uagb-forms-success-message-406675fb,
.perla-contact-page .uagb-forms-failed-message-406675fb {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--pc-hairline);
  border-left: 2px solid var(--pc-gold-deep);
  border-radius: var(--radius-soft, 3px);
  background: var(--pc-paper);
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pc-ink);
}

.perla-contact-page .uagb-forms-failed-message-406675fb {
  border-left-color: #b14545;
  background: rgba(177, 69, 69, 0.08);
}

/* Page reveal — staggered */
.perla-contact-page .uagb-block-ef7f26e3 > *,
.perla-contact-page .uagb-block-bb2832cb > * {
  opacity: 0;
  transform: translateY(14px);
  animation: perlaContactReveal 720ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.perla-contact-page .perla-contact__eyebrow,
.perla-contact-page .perla-contact__mark {
  opacity: 0;
  animation: perlaContactReveal 600ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
  animation-delay: 80ms;
}

.perla-contact-page .uagb-block-ef7f26e3 > *:nth-child(1) { animation-delay: 120ms; }
.perla-contact-page .uagb-block-ef7f26e3 > *:nth-child(2) { animation-delay: 220ms; }
.perla-contact-page .uagb-block-bb2832cb > *:nth-child(1) { animation-delay: 280ms; }
.perla-contact-page .uagb-block-bb2832cb > *:nth-child(2) { animation-delay: 360ms; }
.perla-contact-page .uagb-block-bb2832cb > *:nth-child(3) { animation-delay: 440ms; }

@keyframes perlaContactReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .perla-contact-page .uagb-block-ef7f26e3 > *,
  .perla-contact-page .uagb-block-bb2832cb > *,
  .perla-contact-page .perla-contact__eyebrow,
  .perla-contact-page .perla-contact__mark {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* ----- Tablet ----- */
@media (max-width: 960px) {
  .perla-contact-page .uagb-block-bf97f44f > .uagb-container-inner-blocks-wrap {
    grid-template-columns: 1fr;
    gap: clamp(2rem, 6vw, 3rem);
  }

  .perla-contact__frame {
    padding-top: clamp(2rem, 5vw, 3rem);
  }

  .perla-contact-page .uagb-block-ef7f26e3 {
    padding: 0 !important;
  }

  .perla-contact-page .uagb-block-bb2832cb {
    border-left: 0 !important;
    border-top: 1px solid var(--pc-hairline) !important;
    padding: clamp(2rem, 5vw, 2.5rem) 0 0 !important;
  }

  .perla-contact-page .uagb-block-395f8b3f .uagb-heading-text {
    font-size: clamp(2.2rem, 8vw, 3.4rem) !important;
    max-width: none;
  }
}

/* ----- Mobile ----- */
@media (max-width: 600px) {
  .perla-contact {
    width: calc(100% - 1.5rem);
    padding-block: clamp(2.5rem, 8vw, 4rem);
  }

  .perla-contact-page .uagb-forms-main-form {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .perla-contact-page .uagb-block-bb2832cb {
    padding: 1.5rem 1.25rem 1.75rem !important;
  }

  .perla-contact__eyebrow {
    font-size: 0.6rem;
    gap: 0.5rem;
  }

  .perla-contact__index {
    min-width: 1.5rem;
    height: 1.5rem;
  }

  .perla-contact-page .uagb-block-ef7f26e3 ul.wp-block-list li {
    font-size: 1rem !important;
    padding: 0.85rem 0 !important;
  }

  .perla-contact-page .uagb-forms-main-submit-button {
    width: 100%;
    justify-content: center;
    padding: 1rem 1.5rem !important;
  }
}

/* ==========================================================================
   About page (slug: par-mums) — editorial overhaul.
   Scoped via .perla-about-page so it cannot leak.
   ========================================================================== */

.perla-about-page {
  --pa-ink: var(--color-text, #0f172a);
  --pa-paper: var(--color-bg, #ffffff);
  --pa-cream: var(--color-surface-warm, #fbf7f0);
  --pa-cream-deep: var(--color-surface, #f7f1e8);
  --pa-gold: var(--color-accent, #debc7b);
  --pa-gold-deep: #b9974b;
  --pa-hairline: var(--color-line, rgba(17, 17, 17, 0.12));
  --pa-hairline-soft: rgba(17, 17, 17, 0.08);
  --pa-mute: rgba(17, 17, 17, 0.62);

  position: relative;
  background: var(--pa-paper);
  color: var(--pa-ink);
}

.perla-about {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 2.5rem), 1180px);
  margin: 0 auto;
  padding-block: clamp(3rem, 8vw, 6rem);
}

/* Masthead */
.perla-about__masthead {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(1rem, 3vw, 2rem);
  padding-bottom: clamp(2rem, 5vw, 3.5rem);
  margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
  border-bottom: 1px solid var(--pa-hairline);
}

.perla-about__kicker-mark {
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.5em;
  color: var(--pa-gold-deep);
  text-transform: uppercase;
}

.perla-about__title {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  letter-spacing: -0.005em;
  line-height: 1;
  text-align: center;
  text-transform: none;
  color: var(--pa-ink);
}

.perla-about__kicker-rule {
  display: block;
  width: clamp(40px, 8vw, 96px);
  height: 1px;
  background: var(--pa-gold);
  justify-self: end;
}

/* ----- Reshape Spectra outer container ----- */

.perla-about-page .wp-block-columns {
  margin: 0 !important;
}

.perla-about-page .wp-block-column {
  padding: 0 !important;
}

.perla-about-page .uagb-block-8b6db4c6 {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none;
}

.perla-about-page .uagb-block-8b6db4c6 > .uagb-container-inner-blocks-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

/* Hide the duplicate "Par mums" h2 — masthead h1 takes its place */
.perla-about-page .uagb-block-175c6364 {
  display: none !important;
}

/* Hero intro paragraph (the strong manifesto line, first paragraph) */
.perla-about-page .uagb-container-inner-blocks-wrap > p.has-medium-font-size:first-of-type,
.perla-about-page .uagb-container-inner-blocks-wrap > .wp-block-paragraph:nth-of-type(1) {
  margin: 0 auto clamp(3.5rem, 8vw, 6rem) !important;
  padding: 0 !important;
  max-width: 30ch;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(1.5rem, 3.5vw, 2.4rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.005em;
  text-align: center;
  text-transform: none !important;
  color: var(--pa-ink) !important;
}

.perla-about-page .uagb-container-inner-blocks-wrap > p.has-medium-font-size:first-of-type strong {
  font-weight: 500 !important;
  color: var(--pa-gold-deep);
  font-style: normal;
}

/* Section headings — Mūsu komanda / Mūsu vērtības / Mūsu filozofija */
.perla-about-page .uagb-block-fcfca40c,
.perla-about-page .uagb-block-12dc0a6e,
.perla-about-page .uagb-block-fe1626e6 {
  margin: clamp(2.5rem, 6vw, 4rem) 0 clamp(1.75rem, 4vw, 2.5rem) !important;
  padding: clamp(1.75rem, 4vw, 2.75rem) 0 0 !important;
  border-top: 1px solid var(--pa-hairline);
  position: relative;
}

.perla-about-page .uagb-block-fcfca40c .uagb-heading-text,
.perla-about-page .uagb-block-12dc0a6e .uagb-heading-text,
.perla-about-page .uagb-block-fe1626e6 .uagb-heading-text {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(1.75rem, 4vw, 2.75rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  color: var(--pa-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: baseline;
  gap: clamp(0.85rem, 2vw, 1.5rem);
}

/* Roman numeral badge before each section heading */
.perla-about-page .uagb-block-fcfca40c .uagb-heading-text::before,
.perla-about-page .uagb-block-12dc0a6e .uagb-heading-text::before,
.perla-about-page .uagb-block-fe1626e6 .uagb-heading-text::before {
  flex: 0 0 auto;
  font-family: "Montserrat", sans-serif;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.4em;
  color: var(--pa-gold-deep);
  transform: translateY(-0.4em);
  padding-right: 0.85rem;
  border-right: 1px solid var(--pa-hairline);
}

.perla-about-page .uagb-block-fcfca40c .uagb-heading-text::before { content: "I"; }
.perla-about-page .uagb-block-12dc0a6e .uagb-heading-text::before { content: "II"; }
.perla-about-page .uagb-block-fe1626e6 .uagb-heading-text::before { content: "III"; }

/* Top accent dot on each section */
.perla-about-page .uagb-block-fcfca40c::before,
.perla-about-page .uagb-block-12dc0a6e::before,
.perla-about-page .uagb-block-fe1626e6::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--pa-gold);
}

/* Team paragraphs (4th, 5th, 6th children of the inner-blocks-wrap) — white
   cards with a hairline border, like product cards in the shop. */
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(2),
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(3),
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(4) {
  margin: 0 0 -1px !important;
  padding: 1.5rem 0 !important;
  background: transparent;
  border-top: 1px solid var(--pa-hairline);
  border-bottom: 1px solid var(--pa-hairline);
  border-radius: 0;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  color: var(--pa-mute) !important;
  position: relative;
}

/* Hover: subtle gold rail on the left edge — a row treatment, not a lifted card. */
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(2)::before,
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(3)::before,
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(4)::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  bottom: -1px;
  width: 2px;
  background: var(--pa-gold-deep);
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform 380ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(2):hover::before,
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(3):hover::before,
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(4):hover::before {
  transform: scaleY(1);
}

.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(2),
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(3),
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(4) {
  padding-left: clamp(1rem, 2.5vw, 1.5rem) !important;
}

.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(2) strong,
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(3) strong,
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(4) strong {
  display: block;
  margin-bottom: 0.5rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--pa-ink);
}

.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(2) br,
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(3) br,
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(4) br {
  display: none;
}

/* Team grid layout on desktop — 3 cards in a row */
@media (min-width: 840px) {
  .perla-about-page .uagb-container-inner-blocks-wrap {
    position: relative;
  }
  .perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(2) {
    grid-column: 1;
  }
}

/* Values paragraphs (5th and 6th p elements) */
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(5),
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(6) {
  margin: 0 auto 1.5rem !important;
  padding: 0 !important;
  max-width: 56ch;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(1rem, 1.6vw, 1.15rem) !important;
  line-height: 1.7 !important;
  letter-spacing: 0.005em !important;
  text-transform: none !important;
  color: var(--pa-ink) !important;
}

/* First values paragraph: subtle drop-cap-style first letter accent */
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(5)::first-letter {
  font-weight: 500;
  color: var(--pa-gold-deep);
  font-size: 1.4em;
  letter-spacing: 0.02em;
}

/* Philosophy paragraph (7th p) — pull-quote treatment */
.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(7) {
  position: relative;
  margin: clamp(1.5rem, 4vw, 2.5rem) auto clamp(2.5rem, 5vw, 3.5rem) !important;
  padding: clamp(2.5rem, 6vw, 4rem) clamp(1.5rem, 4vw, 3rem) clamp(2.5rem, 6vw, 4rem) !important;
  max-width: 64ch;
  background: transparent;
  border-top: 1px solid var(--pa-hairline);
  border-bottom: 1px solid var(--pa-hairline);
  border-radius: 0;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: clamp(1.2rem, 2.2vw, 1.6rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center;
  color: var(--pa-ink) !important;
  font-style: italic;
}

.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(7)::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
  width: 96px;
  height: 1px;
  background: var(--pa-gold-deep);
}

.perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(7)::after {
  content: "\201C";
  position: absolute;
  top: 0.6rem;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0 0.65rem;
  background: var(--pa-paper);
  font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--pa-gold-deep);
  line-height: 1;
  font-style: normal;
  pointer-events: none;
}

/* CTA — VEIKALS button */
.perla-about-page .uagb-block-b5387424 {
  margin: clamp(2rem, 5vw, 3.5rem) 0 0 !important;
  padding: 0 !important;
  display: flex;
  justify-content: center;
}

.perla-about-page .uagb-block-b5387424 .uagb-buttons__wrap {
  margin: 0 !important;
  padding: 0 !important;
  justify-content: center !important;
}

.perla-about-page .uagb-block-a2d5b23b {
  margin: 0 !important;
  padding: 0 !important;
}

.perla-about-page .uagb-block-a2d5b23b .uagb-buttons-repeater,
.perla-about-page .uagb-block-a2d5b23b .wp-block-button__link {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 0.85rem;
  padding: 1.1rem 2.5rem !important;
  border: 1px solid var(--pa-ink) !important;
  border-radius: 0 !important;
  background: var(--pa-ink) !important;
  color: #fff !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.36em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  overflow: hidden;
  transition: color 320ms ease;
}

.perla-about-page .uagb-block-a2d5b23b .uagb-buttons-repeater::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--pa-gold);
  transform: translateX(-101%);
  transition: transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
  z-index: 0;
}

.perla-about-page .uagb-block-a2d5b23b .uagb-button__link {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
}

.perla-about-page .uagb-block-a2d5b23b .uagb-button__link::after {
  content: "→";
  margin-left: 0.85rem;
  font-size: 1rem;
  letter-spacing: 0;
  transition: transform 320ms ease;
}

.perla-about-page .uagb-block-a2d5b23b .uagb-buttons-repeater:hover {
  color: var(--pa-ink) !important;
}

.perla-about-page .uagb-block-a2d5b23b .uagb-buttons-repeater:hover::before {
  transform: translateX(0);
}

.perla-about-page .uagb-block-a2d5b23b .uagb-buttons-repeater:hover .uagb-button__link::after {
  transform: translateX(4px);
}

/* Reveal animation for sections */
.perla-about-page .perla-about__masthead,
.perla-about-page .uagb-container-inner-blocks-wrap > * {
  opacity: 0;
  transform: translateY(14px);
  animation: perlaAboutReveal 720ms cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.perla-about-page .perla-about__masthead { animation-delay: 80ms; }
.perla-about-page .uagb-container-inner-blocks-wrap > *:nth-child(1) { animation-delay: 120ms; }
.perla-about-page .uagb-container-inner-blocks-wrap > *:nth-child(2) { animation-delay: 200ms; }
.perla-about-page .uagb-container-inner-blocks-wrap > *:nth-child(3) { animation-delay: 280ms; }
.perla-about-page .uagb-container-inner-blocks-wrap > *:nth-child(4) { animation-delay: 340ms; }
.perla-about-page .uagb-container-inner-blocks-wrap > *:nth-child(5) { animation-delay: 400ms; }
.perla-about-page .uagb-container-inner-blocks-wrap > *:nth-child(6) { animation-delay: 460ms; }
.perla-about-page .uagb-container-inner-blocks-wrap > *:nth-child(7) { animation-delay: 520ms; }
.perla-about-page .uagb-container-inner-blocks-wrap > *:nth-child(8) { animation-delay: 580ms; }
.perla-about-page .uagb-container-inner-blocks-wrap > *:nth-child(9) { animation-delay: 640ms; }
.perla-about-page .uagb-container-inner-blocks-wrap > *:nth-child(n+10) { animation-delay: 700ms; }

@keyframes perlaAboutReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .perla-about-page .perla-about__masthead,
  .perla-about-page .uagb-container-inner-blocks-wrap > * {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* Tablet */
@media (max-width: 840px) {
  .perla-about__masthead {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 0.85rem;
    padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
  }

  .perla-about__kicker-mark,
  .perla-about__kicker-rule {
    justify-self: center;
  }

  .perla-about__title {
    text-align: center;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .perla-about {
    width: calc(100% - 1.5rem);
    padding-block: clamp(2rem, 6vw, 3.5rem);
  }

  .perla-about-page .uagb-container-inner-blocks-wrap > p.has-medium-font-size:first-of-type {
    font-size: clamp(1.3rem, 6vw, 1.8rem) !important;
    margin-bottom: 2.5rem !important;
  }

  .perla-about-page .uagb-block-fcfca40c .uagb-heading-text,
  .perla-about-page .uagb-block-12dc0a6e .uagb-heading-text,
  .perla-about-page .uagb-block-fe1626e6 .uagb-heading-text {
    font-size: clamp(1.5rem, 7vw, 2rem) !important;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(2),
  .perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(3),
  .perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(4) {
    padding: 1.25rem !important;
  }

  .perla-about-page .uagb-container-inner-blocks-wrap > p:nth-of-type(7) {
    padding: 1.75rem 1.25rem !important;
  }

  .perla-about-page .uagb-block-a2d5b23b .uagb-buttons-repeater,
  .perla-about-page .uagb-block-a2d5b23b .wp-block-button__link {
    width: 100%;
    justify-content: center;
    padding: 1rem 1.5rem !important;
  }
}
