/** Shopify CDN: Minification failed

Line 150:0 All "@import" rules must come first

**/
/* ==========================================================================
   ENTROPICA COFFEE CO. — DESIGN TOKENS (Milled Glass Protocol)
   Source of truth: CLAUDE.md §3. Do not hardcode these values elsewhere —
   reference the custom properties below.
   ========================================================================== */

:root {
  --color-void: #000000;
  --color-light: #F9F9F9;
  --color-muted: rgba(249, 249, 249, 0.8);
  --color-dim: rgba(249, 249, 249, 0.6);
  --color-border: rgba(255, 255, 255, 0.03);
  --color-glass-bg: rgba(249, 249, 249, 0.015);

  --ease-entropica: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Milled Glass Protocol — structured containers (cards, policy blocks,
   forms, modal panels). Never use raw flat grey boxes or solid borders. */
.milled-glass {
  background: var(--color-glass-bg);
  border: 1px solid var(--color-border);
  box-shadow:
    inset 0 1px 0 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 0 rgba(0, 0, 0, 0.5);
  position: relative;
  overflow: hidden;
}

/* Titanium Foil Sweep — major section headings (h2) */
.titanium-sweep {
  background: linear-gradient(110deg, #888 0%, var(--color-light) 30%, var(--color-light) 70%, #888 100%);
  background-size: 250% auto;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.titanium-sweep.is-visible {
  animation: titaniumSweep 1.6s var(--ease-entropica) forwards;
}

@keyframes titaniumSweep {
  0% {
    background-position: 200% center;
  }
  100% {
    background-position: 0% center;
  }
}

/* Cinematic Noise Overlay — wrap major section containers in
   .entropica-master-container for a persistent, non-blocking film grain.
   isolation:isolate + a negative z-index on ::before pins the grain to the
   BACKGROUND ONLY: it paints behind every normal-flow content element inside
   the container, never over text, images, or controls. */
.entropica-master-container {
  position: relative;
  isolation: isolate;
}

.entropica-master-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
  opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 150px 150px;
}

/* Custom cursor inside the master container — the established Entropica
   "white dot" cursor, matching every existing section's local copy. */
.entropica-master-container,
.entropica-master-container a,
.entropica-master-container button,
.entropica-master-container input,
.entropica-master-container label {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='4' fill='%23F9F9F9'/%3E%3C/svg%3E") 6 6, auto !important;
}

/* Scroll reveal: bi-directional lens pull focus */
.fade-in-content {
  opacity: 0;
  filter: blur(1.5px);
  transform: translateY(1.5rem);
  transition: opacity 0.7s var(--ease-entropica), filter 0.7s var(--ease-entropica), transform 0.7s var(--ease-entropica);
}

.fade-in-content.is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0);
}

/* Domino grid reveals */
.staggered-item {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.6s var(--ease-entropica), transform 0.6s var(--ease-entropica);
  transition-delay: calc(var(--stagger-idx, 0) * 80ms);
}

.staggered-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Mobile performance: disable blur filters, film grain, and custom cursor
   under 768px (matches CLAUDE.md §4.3 and every existing section's local
   mobile override). */
@media screen and (max-width: 767px) {
  .fade-in-content {
    filter: none !important;
  }

  .entropica-master-container {
    cursor: auto !important;
  }

  .entropica-master-container a,
  .entropica-master-container button,
  .entropica-master-container input,
  .entropica-master-container label {
    cursor: pointer !important;
  }

  .entropica-master-container::before {
    display: none !important;
  }
}

/* ==========================================================================
   SHOPIFY LEGAL POLICY PAGES (/policies/*: refund, privacy, terms, shipping,
   contact-information)
   These render through Shopify's own fixed .shopify-policy__* markup — no
   theme template can override it, so it's styled directly here instead.
   This one block brands every policy page at once.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,400;1,600&family=Montserrat:wght@300;400;500;600&display=swap');

.shopify-policy__container {
  max-width: 74rem;
  margin: 0 auto;
  padding: 100px 20px 120px;
}

.shopify-policy__title h1 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(3.2rem, 5.5vw, 4.8rem);
  letter-spacing: 0.02em;
  line-height: 1.1;
  text-align: center;
  color: var(--color-light);
  margin: 0 0 50px;
}

.shopify-policy__body {
  background: var(--color-glass-bg);
  border: 1px solid var(--color-border);
  box-shadow:
    inset 0 1px 0 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 0 rgba(0, 0, 0, 0.5);
  padding: 50px;
}

.shopify-policy__body .rte p {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  font-size: 1.1rem;
  line-height: 1.9;
  color: var(--color-muted);
  margin: 0 0 20px;
}

.shopify-policy__body .rte p:last-child {
  margin-bottom: 0;
}

.shopify-policy__body .rte h2,
.shopify-policy__body .rte h3 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400;
  color: var(--color-light);
  font-size: 2rem;
  letter-spacing: 0.02em;
  margin: 40px 0 20px;
}

.shopify-policy__body .rte ul,
.shopify-policy__body .rte ol {
  margin: 0 0 20px;
  padding-left: 22px;
  color: var(--color-muted);
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
}

.shopify-policy__body .rte li {
  margin-bottom: 12px;
  line-height: 1.8;
  font-size: 1.1rem;
}

.shopify-policy__body .rte strong {
  color: var(--color-light);
  font-weight: 500;
}

.shopify-policy__body .rte a {
  color: var(--color-light);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.3s ease;
}

.shopify-policy__body .rte a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 749px) {
  .shopify-policy__container {
    padding: 80px 16px 90px;
  }

  .shopify-policy__body {
    padding: 32px 24px;
  }
}
