:root:root {
    /* Brand — cakehousecannabis.com: frosting teal on near-black. */
    --dcm-color-primary: #2DCCD3;
    --dcm-color-body-bg: #0A0F12;
    --dcm-color-surface: #101820;
    --dcm-color-surface-hover: #16222B;
    --dcm-color-surface-muted: #0D1419;
    --dcm-color-text-primary: #F4FAFA;
    --dcm-color-text-secondary: rgba(244, 250, 250, 0.72);
    --dcm-color-text-inverted: #062a2c;
    --dcm-color-border: rgba(45, 204, 211, 0.16);
    --dcm-color-focus: #2DCCD3;
    --dcm-color-focus-shadow: rgba(45, 204, 211, 0.3);

    /* Typography — Oswald headings, Source Sans Pro body. */
    --dcm-font-primary: 'Oswald', 'Arial Narrow', sans-serif;
    --dcm-font-secondary: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

    /* Radius */
    --dcm-radius-sm: 8px;
    --dcm-radius-md: 12px;
    --dcm-radius-lg: 18px;
    --dcm-radius-buttons: 999px;
    --dcm-radius-cards: 14px;

    /* Header */
    --dcm-header-bg: #2DCCD3;
    --dcm-header-text-color: #062a2c;
    --dcm-header-border-color: rgba(6, 42, 44, 0.15);
    --dcm-color-navbar-bg: #101820;

    /* Cart button */
    --dcm-cart-btn-bg-active: #2DCCD3;
    --dcm-cart-btn-bg-empty: rgba(6, 42, 44, 0.85);
    --dcm-cart-btn-text-empty: #5DD9DE;
    --dcm-cart-btn-border-radius: 999px;

    /* Search */
    --dcm-search-input-border-color: rgba(45, 204, 211, 0.25);
    --dcm-search-input-border-radius: 999px;
    --dcm-search-input-focus-border-color: #2DCCD3;
    --dcm-search-input-focus-shadow: 0 0 0 3px rgba(45, 204, 211, 0.2);

    /* Popover / dropdown */
    --dcm-popover-bg: #101820;
    --dcm-popover-item-color: #F4FAFA;
    --dcm-popover-item-hover-bg: #16222B;
    --dcm-popover-border-radius: 12px;
    --dcm-popover-shadow: 0 12px 36px rgba(0, 0, 0, 0.55);

    /* Menu drawer */
    --dcm-drawer-bg: #0D1419;
    --dcm-drawer-tab-active-color: #2DCCD3;
    --dcm-drawer-tab-inactive-color: rgba(244, 250, 250, 0.6);
    --dcm-drawer-accent-color: #2DCCD3;
    --dcm-drawer-nav-heading-color: #F4FAFA;
    --dcm-drawer-nav-link-color: rgba(244, 250, 250, 0.72);

    /* Footer */
    --dcm-footer-bg: #06090C;
    --dcm-footer-text-color: #F4FAFA;
    --dcm-privacy-footer-bg: #05080A;
    --dcm-privacy-footer-border-color: rgba(45, 204, 211, 0.16);
    --dcm-privacy-footer-text-color: rgba(244, 250, 250, 0.6);
    --dcm-privacy-footer-text-hover-color: #5DD9DE;

    /* Status */
    --dcm-color-status-open: #2DCCD3;
    --dcm-color-status-closed: #FF6B76;
    --dcm-color-status-preorder: #FDD79A;

    /* Skeletons on dark */
    --dcm-skeleton-bg: #101820;
    --dcm-skeleton-border-color: rgba(45, 204, 211, 0.1);
    --dcm-skeleton-shimmer-from: rgba(255, 255, 255, 0.02);
    --dcm-skeleton-shimmer-to: rgba(255, 255, 255, 0.08);

    /* Categories / brands cards */
    --dcm-categories-card-bg: #101820;
    --dcm-categories-card-border-color: rgba(45, 204, 211, 0.16);
    --dcm-categories-card-text-color: #F4FAFA;
    --dcm-categories-view-all-bg: #16222B;
    --dcm-brands-card-bg: #101820;
    --dcm-brands-card-border-color: rgba(45, 204, 211, 0.16);
    --dcm-brands-card-border-radius: 14px;
    --dcm-brands-card-name-color: #F4FAFA;

    /* Product */
    --dcm-product-page-bg: #0A0F12;
    --dcm-product-name-color: #F4FAFA;
    --dcm-product-brand-color: #2DCCD3;
    --dcm-product-price-color: #F4FAFA;
    --dcm-product-description-color: rgba(244, 250, 250, 0.72);
    --dcm-product-option-bg: #101820;
    --dcm-product-option-border-color: rgba(45, 204, 211, 0.25);

    /* Cart drawer */
    --dcm-cart-bg: #0D1419;
    --dcm-cart-content-bg: #0D1419;
    --dcm-cart-text-color: #F4FAFA;
    --dcm-cart-border-color: rgba(45, 204, 211, 0.16);
    --dcm-cart-item-bg: #101820;

    /* Carousel navigation */
    --dcm-carousel-btn-bg: #101820;
    --dcm-carousel-btn-hover-bg: #16222B;
    --dcm-carousel-btn-arrow-color: #2DCCD3;

    /* Filters */
    --dcm-filter-heading-color: #F4FAFA;
    --dcm-filter-text-color: rgba(244, 250, 250, 0.72);
    --dcm-filter-border-color: rgba(45, 204, 211, 0.16);

    /* Modal */
    --dcm-modal-bg: #101820;
    --dcm-modal-text-color: #F4FAFA;
    --dcm-modal-border-radius: 14px;
    --dcm-modal-shadow: 0 24px 64px rgba(0, 0, 0, 0.6);

    /* Checkout */
    --dcm-checkout-heading-color: #F4FAFA;
    --dcm-checkout-text-color: rgba(244, 250, 250, 0.72);
    --dcm-checkout-input-bg: #101820;
    --dcm-checkout-summary-bg: #0D1419;

    /* Breadcrumbs */
    --dcm-breadcrumb-link-color: rgba(244, 250, 250, 0.6);
    --dcm-breadcrumb-active-color: #2DCCD3;

    /* Section titles */
    --dcm-section-title-color: #F4FAFA;
    --dcm-section-subtitle-color: rgba(244, 250, 250, 0.6);

    /* Info bar */
    --dcm-infobar-bg: #06090C;
    --dcm-infobar-text-color: rgba(244, 250, 250, 0.72);
    --dcm-infobar-border-color: rgba(45, 204, 211, 0.16);

    /* Content header */
    --dcm-content-header-text-color: #F4FAFA;
    --dcm-content-header-border-color: rgba(45, 204, 211, 0.16);
  }

  body {
    background: var(--dcm-color-body-bg);
    color: var(--dcm-color-text-primary);
    font-family: var(--dcm-font-secondary);
    /* The hero/footer use a 100vw full-bleed breakout; vw units include the
       vertical scrollbar, so clip the few px of horizontal overflow. */
    overflow-x: hidden;
    overflow-x: clip;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--dcm-font-primary);
    letter-spacing: 0.01em;
  }