:root {
  --divine-ink: #171717;
  --divine-ivory: #f0e9df;
  --divine-sand: #faf8f4;
  --divine-gold: #b89a68;
  --divine-stone: #81766c;
  --divine-header-surface: #f0e9df;
  --divine-footer-surface: #f0e9df;
  --divine-button-hover: #38332e;
}

/* Palette balance: surfaces lead, charcoal directs action, gold only accents. */
body { background: var(--divine-sand); color: var(--divine-ink); }

.divine-site-header {
  background: var(--divine-header-surface) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--divine-stone) 24%, transparent);
  color: var(--divine-ink) !important;
  padding: 0;
  position: relative;
  z-index: 10;
}

.divine-utility-bar {
  background: var(--divine-header-surface) !important;
  margin-inline: calc(50% - 50vw) !important;
  padding: 0.6rem var(--wp--preset--spacing--30);
  width: 100vw;
}
.divine-utility-bar p { font-size: 0.62rem !important; font-weight: 600; letter-spacing: 0.14em; margin: 0; text-transform: uppercase; }
.divine-site-header__inner {
  align-items: center;
  display: grid !important;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  min-height: 5.5rem;
}

.divine-wordmark,
.divine-footer-wordmark {
  font-family: Iowan Old Style, Baskerville, Times New Roman, serif;
  font-size: clamp(1rem, 1.7vw, 1.35rem);
  font-weight: 400;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  white-space: nowrap;
}

.divine-header-links { gap: clamp(0.75rem, 2vw, 1.65rem); }
.divine-header-links--utility { justify-self: end; }
.divine-header-links p { margin: 0; }
.divine-header-links a {
  color: var(--divine-ink) !important;
  display: inline-block;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.divine-header-links a::after {
  background: currentColor;
  content: "";
  display: block;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.divine-header-links a:hover::after { transform: scaleX(1); }

.divine-hero {
  align-items: center;
  background: radial-gradient(circle at 82% 24%, var(--divine-ivory) 0%, var(--divine-sand) 50%) !important;
  display: flex;
  isolation: isolate;
  min-height: min(780px, calc(100svh - 122px));
  overflow: hidden;
  position: relative;
}
.divine-hero::before {
  border: 1px solid color-mix(in srgb, var(--divine-gold) 46%, transparent);
  border-radius: 50%;
  content: "";
  height: min(58vw, 760px);
  position: absolute;
  right: -16vw;
  top: -25vw;
  width: min(58vw, 760px);
  z-index: -1;
}
.divine-hero::after {
  color: var(--divine-ivory);
  content: "DJ";
  font-family: Iowan Old Style, Baskerville, Times New Roman, serif;
  font-size: clamp(16rem, 37vw, 38rem);
  font-weight: 400;
  letter-spacing: -0.12em;
  line-height: 0.7;
  pointer-events: none;
  position: absolute;
  right: -0.08em;
  top: 50%;
  transform: translateY(-46%);
  z-index: -1;
}
.divine-hero__content { padding-block: clamp(6rem, 13vw, 11.5rem); position: relative; }
.divine-hero h1 { font-size: clamp(3.65rem, 7.4vw, 7.6rem) !important; letter-spacing: -0.065em; margin-block: 0.4rem 1.6rem; max-width: 11ch; }
.divine-hero p { max-width: 33rem; }
.divine-hero .has-gold-color { font-weight: 600; letter-spacing: 0.12em; }
.divine-hero__content > * { animation: divine-rise 640ms both cubic-bezier(.2,.65,.25,1); }
.divine-hero__content > *:nth-child(1) { animation-delay: 40ms; }
.divine-hero__content > *:nth-child(2) { animation-delay: 120ms; }
.divine-hero__content > *:nth-child(3) { animation-delay: 200ms; }
.divine-hero__content > *:nth-child(4) { animation-delay: 280ms; }
.wp-block-button__link,
.wc-block-components-button,
.wp-element-button {
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.wc-block-components-button,
.wp-element-button {
  background: var(--divine-ink) !important;
  border-color: var(--divine-ink) !important;
  color: var(--divine-ivory) !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:is(:hover, :focus-visible, :active),
.wc-block-components-button:is(:hover, :focus-visible, :active),
.wp-element-button:is(:hover, :focus-visible, :active) {
  background: var(--divine-button-hover) !important;
  border-color: var(--divine-button-hover) !important;
  color: var(--divine-ivory) !important;
}
.wp-block-button__link:focus-visible,
.wc-block-components-button:focus-visible,
.wp-element-button:focus-visible { outline: 2px solid var(--divine-gold); outline-offset: 3px; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  border-color: var(--divine-ink) !important;
  color: var(--divine-ink) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:is(:hover, :focus-visible, :active) {
  background: var(--divine-ink) !important;
  color: var(--divine-ivory) !important;
}

.divine-introduction { padding-block: clamp(6rem, 14vw, 12rem) clamp(2.5rem, 6vw, 5rem); }
.divine-introduction h2 { font-size: clamp(2.6rem, 5.2vw, 5.2rem) !important; letter-spacing: -0.055em; margin-block: 0.3rem 1.1rem; max-width: 12ch; }
.divine-introduction .has-large-font-size { color: var(--divine-stone); max-width: 44rem; }
.divine-promises { border-block: 1px solid color-mix(in srgb, var(--divine-ink) 16%, transparent); gap: 0; margin-bottom: clamp(6rem, 14vw, 12rem); }
.divine-promises > .wp-block-column { padding: 2rem clamp(1.5rem, 4vw, 4rem); }
.divine-promises > .wp-block-column + .wp-block-column { border-left: 1px solid color-mix(in srgb, var(--divine-ink) 16%, transparent); }
.divine-promises h3 { font-size: clamp(1.25rem, 2vw, 1.65rem) !important; margin-top: 0; }
.divine-promises p { color: var(--divine-stone); font-size: 0.92rem; }

.divine-category-gallery { margin: 0 auto clamp(6rem, 13vw, 11rem); max-width: var(--wp--style--global--wide-size); padding-inline: var(--wp--style--root--padding-left); }
.divine-category-gallery__intro { align-items: end; display: flex; justify-content: space-between; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.divine-category-gallery__intro p { color: var(--divine-gold); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em; margin: 0 0 0.6rem; text-transform: uppercase; }
.divine-category-gallery__intro h2 { font-size: clamp(2.6rem, 5vw, 5.25rem); letter-spacing: -0.06em; margin: 0; }
.divine-category-gallery__grid { display: grid; gap: clamp(0.75rem, 1.5vw, 1.25rem); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.divine-category-gallery__item { aspect-ratio: 2 / 3; background: var(--divine-sand); color: var(--divine-ivory); display: block; isolation: isolate; overflow: hidden; position: relative; }
.divine-category-gallery__item img { height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.65,.25,1); width: 100%; }
.divine-category-gallery__veil { background: linear-gradient(to top, color-mix(in srgb, var(--divine-ink) 58%, transparent), transparent 52%); inset: 0; position: absolute; z-index: 1; }
.divine-category-gallery__label { align-items: center; bottom: 1.25rem; display: flex; font-family: Iowan Old Style, Baskerville, Times New Roman, serif; font-size: clamp(1.4rem, 2.2vw, 2rem); justify-content: space-between; left: 1.25rem; letter-spacing: -0.03em; position: absolute; right: 1.25rem; z-index: 2; }
.divine-category-gallery__label span { font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 0.9rem; transition: transform 180ms ease; }
.divine-category-gallery__item:hover img,
.divine-category-gallery__item:focus-visible img { transform: scale(1.045); }
.divine-category-gallery__item:hover .divine-category-gallery__label span,
.divine-category-gallery__item:focus-visible .divine-category-gallery__label span { transform: translate(0.2rem, -0.2rem); }
.divine-category-gallery__item:focus-visible { outline: 2px solid var(--divine-gold); outline-offset: 4px; }

.divine-collection-callout { padding-block: clamp(5rem, 11vw, 9rem); }
.divine-collection-callout__inner { gap: 2.5rem; }
.divine-collection-callout h2 { font-size: clamp(2.75rem, 5vw, 5.5rem) !important; letter-spacing: -0.055em; margin: 0.25rem 0 0; max-width: 9ch; }
.divine-collection-callout .wp-block-button__link { min-width: 15rem; }

.divine-page,
.divine-catalog,
.divine-product { padding-block: clamp(3.5rem, 7vw, 7rem); }
.divine-page > .wp-block-post-title { margin-bottom: clamp(2rem, 5vw, 4rem); }
.divine-page .wp-block-post-content > * { margin-inline: auto; max-width: 760px; }
.divine-page .wp-block-post-content h2 { margin-top: 3rem; }
.divine-post-listing { border-bottom: 1px solid color-mix(in srgb, var(--divine-ink) 16%, transparent); padding-block: 1.5rem; }

.divine-bullions { max-width: 100% !important; }
.divine-bullions__meta { color: var(--divine-gold); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.divine-bullions__updated { color: var(--divine-stone); font-size: 0.875rem; line-height: 1.6; }
.divine-bullions__notice { background: var(--divine-sand); border-left: 2px solid var(--divine-gold); color: var(--divine-stone); padding: 1rem 1.25rem; }
.divine-bullions table { border-collapse: collapse; font-size: 0.92rem; margin: 1.25rem 0 2.75rem; width: 100%; }
.divine-bullions th { border-bottom: 1px solid color-mix(in srgb, var(--divine-ink) 30%, transparent); font-size: 0.67rem; letter-spacing: 0.1em; padding: 0.85rem 1rem; text-align: left; text-transform: uppercase; }
.divine-bullions thead th { background: #d8c39b; color: #29251f; border-bottom-color: #a88b56; }
.divine-bullions td { border-bottom: 1px solid color-mix(in srgb, var(--divine-ink) 12%, transparent); padding: 0.85rem 1rem; }
.divine-bullions th:not(:first-child),
.divine-bullions td:not(:first-child) { text-align: right; white-space: nowrap; }
.divine-bullions tr:hover td { background: var(--divine-sand); }

@media (max-width: 640px) {
  .divine-bullions .wp-block-table { overflow-x: auto; }
  .divine-bullions table { min-width: 32rem; }
}

.divine-catalog > .woocommerce-breadcrumb { color: var(--divine-stone); font-size: 0.7rem; letter-spacing: 0.08em; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); text-transform: uppercase; }
.divine-catalog > .wp-block-query-title { letter-spacing: -0.06em; margin-bottom: 0; }
.divine-catalog__tools { border-block: 1px solid color-mix(in srgb, var(--divine-ink) 16%, transparent); margin: 0 0 2rem; padding-block: 1rem; }
.divine-shop-layout { display: grid; gap: clamp(2.5rem, 5vw, 5rem); grid-template-columns: minmax(12rem, 0.27fr) minmax(0, 1fr); margin-top: 3rem; }
.divine-shop-sidebar { align-self: start; border-top: 1px solid color-mix(in srgb, var(--divine-ink) 18%, transparent); padding-top: 1rem; position: sticky; top: 2rem; }
.divine-shop-sidebar > .has-gold-color { font-weight: 600; letter-spacing: 0.12em; }
.divine-shop-sidebar h2 { font-size: clamp(1.6rem, 2.3vw, 2.25rem) !important; letter-spacing: -0.05em; margin-block: 0.45rem 1.4rem; }
.divine-shop-category-list { border-bottom: 1px solid color-mix(in srgb, var(--divine-ink) 18%, transparent); list-style: none; margin: 0; padding: 0; }
.divine-shop-category-list li { border-top: 1px solid color-mix(in srgb, var(--divine-ink) 18%, transparent); margin: 0; }
.divine-shop-category-list a { align-items: center; display: flex; font-size: 0.82rem; justify-content: space-between; padding-block: 0.9rem; text-decoration: none; }
.divine-shop-category-list a::after { color: var(--divine-gold); content: "→"; font-size: 1rem; transition: transform 180ms ease; }
.divine-shop-category-list a:hover { color: var(--divine-gold); }
.divine-shop-category-list a:hover::after { transform: translateX(0.25rem); }
.divine-shop-results { min-width: 0; }
.wc-block-components-sort-select__select,
.wc-block-components-quantity-selector__input,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector { border-radius: 0; }
.wc-block-components-product-image img,
.wc-block-grid__product-image img { aspect-ratio: 4 / 5; object-fit: cover; transition: transform 360ms cubic-bezier(.2,.65,.25,1); }
.wp-block-woocommerce-product-collection .wc-block-components-product-image { overflow: hidden; }
.wp-block-woocommerce-product-collection .wc-block-components-product-image:hover img { transform: scale(1.025); }
.wp-block-woocommerce-product-collection .wp-block-post-title { font-size: clamp(1.2rem, 1.8vw, 1.55rem) !important; margin-block: 1.15rem 0.35rem; }
.wp-block-woocommerce-product-collection .wp-block-post-title a:hover { color: var(--divine-gold); }
.wp-block-woocommerce-product-collection .wc-block-components-product-sku { color: var(--divine-stone); font-size: 0.65rem; letter-spacing: 0.08em; margin: 0.2rem 0 0.65rem; text-transform: uppercase; }

@media (max-width: 720px) {
  .wp-block-woocommerce-product-collection .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2rem 0.8rem;
  }
}
.wp-block-woocommerce-product-collection .wc-block-components-product-button { margin-top: 1rem; }
.wp-block-woocommerce-product-collection .wp-block-button__link { padding: 0; background: transparent; color: var(--divine-ink); font-size: 0.7rem; text-decoration: underline; text-underline-offset: 0.3em; }
.divine-empty-catalog { border-top: 1px solid color-mix(in srgb, var(--divine-ink) 16%, transparent); padding-block: clamp(6rem, 12vw, 10rem); text-align: center; }
.divine-empty-catalog h2 { margin-block: 0.5rem 1rem; }

.divine-product__layout { align-items: start; }
.divine-product-video { clear: both; margin-top: 1.5rem; }
.divine-product-video h2 { font-size: 1.4rem; margin-bottom: 0.75rem; }
.divine-product-video video { background: #161616; display: block; width: 100%; max-height: 70vh; object-fit: contain; }
.divine-product-video p { font-size: 0.875rem; margin-top: 0.5rem; }
.divine-product-video-slide video { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain; background: #161616; }
.woocommerce-product-gallery.divine-video-active .woocommerce-product-gallery__trigger { display: none; }
.divine-product .wp-block-woocommerce-product-image-gallery { background: #f6f5f3; }
.divine-product .wp-block-post-title { letter-spacing: -0.055em; }
.divine-product .wp-block-woocommerce-product-price { margin-block: 1.5rem; }
.divine-product .wp-block-woocommerce-add-to-cart-form { margin-block: 2rem; }
.divine-product .wp-block-post-excerpt { color: var(--divine-stone); }
.divine-product .wc-block-add-to-cart-form .wc-block-components-button { border-radius: 0; min-height: 3.25rem; }

.divine-site-footer { background: var(--divine-footer-surface) !important; border-top: 1px solid color-mix(in srgb, var(--divine-stone) 24%, transparent); color: var(--divine-ink) !important; margin-top: 0; padding-block: clamp(4rem, 9vw, 7rem) 1.5rem; }
.divine-site-footer .has-ink-color,
.divine-site-footer .has-stone-color,
.divine-site-footer a { color: var(--divine-ink) !important; }
.divine-footer-top { gap: 3rem 5rem; }
.divine-footer-top > .wp-block-group:first-child { gap: 1rem; }
.divine-footer-top .divine-footer-wordmark { display: inline-block; margin-bottom: 0.75rem; }
.divine-footer-top p { margin-block: 0; }
.divine-footer-account-cta { max-width: 20rem; }
.divine-footer-account-cta > * + * { margin-top: 0.8rem; }
.divine-footer-account-cta .wp-block-buttons { margin-top: 1.35rem; }
.divine-footer-account-cta .wp-block-button__link { min-width: 10rem; }
.divine-footer-divider { opacity: 0.62; margin-block: clamp(3.5rem, 7vw, 5.5rem) 2.25rem; }
.divine-footer-divider--bottom { margin-block: clamp(3.25rem, 6vw, 4.75rem) 1.25rem; }
.divine-footer-columns { gap: clamp(2rem, 4vw, 5rem); }
.divine-footer-columns > .wp-block-column { min-width: 0; }
.divine-footer-columns h2 {
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 0.68rem !important;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 1.25rem;
  text-transform: uppercase;
}
.divine-footer-columns p { line-height: 1.35; margin-block: 0.75rem; }
.divine-footer-columns a { display: inline-block; }
.divine-footer-columns a::after {
  background: currentColor;
  content: "";
  display: block;
  height: 1px;
  margin-top: 0.22rem;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}
.divine-footer-columns a:hover { color: var(--divine-ink); }
.divine-footer-columns a:hover::after { transform: scaleX(1); }
.divine-footer-assurance p { max-width: 15rem; }
.divine-footer-legal { gap: 0.5rem 2rem; }
.divine-footer-legal p { margin: 0; }

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

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 720px) {
  .divine-site-header__inner { box-sizing: border-box; padding-inline: 1.5rem; gap: 0 1rem; grid-template-columns: minmax(0, 1fr) auto; min-height: 4.7rem; }
  .divine-wordmark { grid-column: 1 / -1; grid-row: 1; justify-self: center; font-size: 1rem; letter-spacing: 0.075em; margin-block: 1rem 0.25rem; white-space: normal; text-align: center; }
  .divine-header-links { gap: 1rem; }
  .divine-header-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 0.7rem; letter-spacing: 0.045em; }
  .divine-header-links--primary p:last-child,
  .divine-header-links--utility p:first-child { display: none; }
  .divine-utility-bar { padding-block: 0.5rem; }
  .divine-utility-bar p { font-size: 0.52rem !important; }
  .divine-hero { min-height: 0; }
  .divine-hero__content { min-width: 0; width: 100%; padding-block: clamp(3.5rem, 12vw, 5rem); }
  .divine-hero::before { height: 130vw; right: -48vw; top: -12vw; width: 130vw; }
  .divine-hero::after { font-size: 21rem; right: -1.15rem; top: 69%; }
  .divine-hero h1 { font-size: clamp(2.5rem, 10.5vw, 4rem) !important; line-height: 1.08; letter-spacing: -0.05em; max-width: 14ch; overflow-wrap: anywhere; }
  .divine-hero .has-large-font-size,
  .divine-introduction .has-large-font-size { font-size: 1.0625rem !important; line-height: 1.65; }
  .divine-introduction { padding-block: 3.5rem 2rem; }
  .divine-introduction > * { margin-inline-start: 0 !important; }
  .divine-introduction h2,
  .divine-category-gallery__intro h2,
  .divine-collection-callout h2 { font-size: clamp(2rem, 8.5vw, 3rem) !important; line-height: 1.12; max-width: 16ch; }
  /* Columns do not inherit WordPress's global group padding. */
  .divine-promises { box-sizing: border-box; padding-inline: 1.5rem; margin-bottom: 3.5rem; }
  .divine-category-gallery { margin-bottom: 3.5rem; }
  .divine-collection-callout { padding-block: 3.5rem; }
  .divine-collection-callout__inner { gap: 1.75rem; }
  .divine-page > .wp-block-post-title,
  .divine-catalog > .wp-block-query-title,
  .divine-product .wp-block-post-title { font-size: clamp(2rem, 8.5vw, 3rem); overflow-wrap: anywhere; }
  .divine-page .wp-block-post-content,
  .divine-product__layout > .wp-block-column { min-width: 0; overflow-wrap: anywhere; }
	.divine-promises > .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid color-mix(in srgb, var(--divine-ink) 16%, transparent); }
	.divine-promises > .wp-block-column { padding: 1.75rem 0; }
	.divine-category-gallery { padding-inline: var(--wp--style--root--padding-left); }
	.divine-category-gallery__intro { display: block; }
	.divine-category-gallery__grid {
		grid-auto-columns: minmax(10.5rem, 62vw);
		grid-auto-flow: column;
		grid-template-columns: none;
		overflow-x: auto;
		padding-bottom: 0.35rem;
		scroll-padding-inline: var(--wp--style--root--padding-left);
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.divine-category-gallery__grid::-webkit-scrollbar { display: none; }
	.divine-category-gallery__item { aspect-ratio: 2 / 3; scroll-snap-align: start; }
  .divine-shop-layout { display: block; }
  .divine-shop-sidebar { margin-bottom: 2.5rem; position: static; }
  .divine-footer-top { gap: 2.5rem; }
  .divine-footer-columns { gap: 2.25rem 1.5rem; }
  .divine-footer-columns > .wp-block-column { flex-basis: calc(50% - 0.75rem) !important; }
}

@media (max-width: 480px) {
  .divine-footer-columns > .wp-block-column { flex-basis: 100% !important; }
  .divine-footer-divider { margin-block: 3rem 2rem; }
}
/* Persistent storefront contact shortcut. */
.divine-order-review { max-width: 760px; margin: 0 auto; padding: 24px 0 96px; }
.divine-order-items { list-style: none; padding: 0; margin: 32px 0; }
.divine-order-items li { padding: 20px 0; border-bottom: 1px solid #d5cdc0; overflow-wrap: anywhere; }
.divine-order-items h3 { margin: 0 0 12px; }
.divine-order-items p { margin: 8px 0; }
.divine-order-totals > div { display: flex; justify-content: space-between; gap: 24px; padding: 10px 0; }
.divine-order-totals dd { margin: 0; text-align: right; flex-shrink: 0; }
.divine-order-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px; margin: 28px 0; }
.divine-order-send { background: #128c4a; color: white; text-decoration: none; text-align: center; }
.divine-order-send:hover { background: #0d703b; color: white; }
.divine-order-send:focus-visible { outline: 3px solid #172b21; outline-offset: 4px; }
@media (max-width: 600px) { .divine-order-send { width: 100%; box-sizing: border-box; } }
.divine-whatsapp-fab {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: calc(24px + env(safe-area-inset-bottom));
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #128c4a;
  color: #fff;
  box-shadow: 0 4px 18px rgb(0 0 0 / 20%);
  text-decoration: none;
}
.divine-whatsapp-fab:hover { background: #0d703b; color: #fff; }
.divine-whatsapp-fab:focus-visible { outline: 3px solid #172b21; outline-offset: 4px; }
.divine-whatsapp-label {
  position: absolute;
  right: 72px;
  padding: 8px 12px;
  border-radius: 6px;
  background: #172b21;
  color: #fff;
  font: 14px/1.4 sans-serif;
  white-space: nowrap;
  visibility: hidden;
}
.divine-whatsapp-fab:hover .divine-whatsapp-label,
.divine-whatsapp-fab:focus-visible .divine-whatsapp-label { visibility: visible; }
@media (max-width: 600px) {
  .divine-whatsapp-fab { width: 56px; height: 56px; right: max(16px, env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); }
}
@media print { .divine-whatsapp-fab { display: none; } }

/* Video thumbnails use a frame/photo with a small playback cue. */
.flex-control-thumbs li.divine-video-thumbnail { position: relative; }
.flex-control-thumbs li.divine-video-thumbnail::after { content: "▶"; position: absolute; right: 5px; bottom: 5px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(0,0,0,.7); color: #fff; font-size: 11px; pointer-events: none; }

.flex-control-thumbs li.divine-video-thumbnail img { aspect-ratio: 1; object-fit: cover; }

.single-product .divine-ppn-note {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.75rem;
    line-height: 1.5;
    font-weight: 400;
}

.divine-product-navigation { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.divine-product-navigation .woocommerce-breadcrumb { margin-bottom: 0; }
.divine-next-product { display: inline-flex; align-items: center; gap: 0.7rem; min-height: 44px; padding: 0.3rem 0.85rem; border: 1px solid currentColor; border-radius: 3px; font-size: 0.8rem; text-decoration: none; white-space: nowrap; }
.divine-next-product:hover { background: #eee8de; }
.divine-next-product:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.divine-next-product span { font-size: 1.4rem; }
@media (max-width: 480px) { .divine-product-navigation { flex-wrap: wrap; } .divine-next-product { margin-left: auto; } }

/* Purchase controls share the site's charcoal, ivory and champagne palette. */
.divine-product form.cart:not(.variations_form),
.divine-product .woocommerce-variation-add-to-cart {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.divine-product form.cart .quantity { margin: 0 !important; float: none !important; }
.divine-product form.cart .quantity .qty {
  box-sizing: border-box;
  width: 4.5rem;
  min-height: 44px;
  height: 100%;
  padding: 0.7rem 0.35rem;
  border: 1px solid var(--divine-stone);
  border-radius: 0;
  background: var(--divine-sand);
  color: var(--divine-ink);
  font: 400 1rem/1.4 Helvetica Neue, Helvetica, Arial, sans-serif;
  text-align: center;
}
.divine-product .single_add_to_cart_button,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wp-block-button__link {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.9rem 1.5rem;
  border: 1px solid var(--divine-ink);
  border-radius: 0;
  background: var(--divine-ink) !important;
  color: var(--divine-ivory) !important;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease;
}
.divine-product .single_add_to_cart_button { flex: 0 0 auto; min-height: 44px; padding: 0.7rem 1.15rem; float: none !important; }
.divine-product .single_add_to_cart_button:not(:disabled):hover,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wp-block-button__link:hover {
  background: var(--divine-button-hover) !important;
  border-color: var(--divine-gold) !important;
  transform: none;
}
.divine-product .single_add_to_cart_button:focus-visible,
.divine-product form.cart .quantity .qty:focus-visible,
.wp-block-woocommerce-product-collection .wc-block-components-product-button .wp-block-button__link:focus-visible {
  outline: 2px solid var(--divine-gold);
  outline-offset: 3px;
}
.divine-product .single_add_to_cart_button:is(:disabled, .disabled) { opacity: 0.5; cursor: not-allowed; }
@media (max-width: 480px) {
  .wp-block-woocommerce-product-collection .wc-block-components-product-button .wp-block-button__link { width: 100%; padding-inline: 0.65rem; font-size: 0.65rem; }
}

/* Illustrator logo: packaged with the theme for deployment. */
.divine-wordmark.divine-logo { margin: 12px 0; line-height: 0; }
.divine-logo a { display: inline-block; }
.divine-logo img { display: block; width: 132px; height: auto; }
@media (max-width: 782px) {
  .divine-logo img { width: 112px; }
  .divine-wordmark.divine-logo { margin: 12px 0 6px; }
}
