/** Shopify CDN: Minification failed

Line 370:2 Unexpected "#"
Line 370:4 Unexpected "{"
Line 370:16 Expected ":"

**/
/* ============================================
   Riballe Digital — Landing Page Shopify Theme
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@500;600;700&display=swap');

.rib-lp {
  --rib-bg: hsl(220 20% 7%);
  --rib-fg: hsl(0 0% 95%);
  --rib-card: hsl(220 18% 10%);
  --rib-muted: hsl(220 10% 55%);
  --rib-border: hsl(220 15% 18%);
  --rib-secondary: hsl(220 15% 15%);
  --rib-primary: hsl(145 80% 50%);
  --rib-primary-fg: hsl(220 20% 7%);
  --rib-accent2: hsl(155 70% 70%);
  --rib-radius: 0.75rem;
  --rib-glow: 0 0 40px hsl(145 80% 50% / 0.3);
  --rib-glow-strong: 0 0 60px hsl(145 80% 50% / 0.5);

  font-family: 'Inter', sans-serif;
  background: var(--rib-bg);
  color: var(--rib-fg);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}

.rib-lp *,
.rib-lp *::before,
.rib-lp *::after {
  box-sizing: border-box;
  border-color: var(--rib-border);
}

.rib-lp h1, .rib-lp h2, .rib-lp h3, .rib-lp h4, .rib-lp h5, .rib-lp h6 {
  font-family: 'Space Grotesk', sans-serif;
  margin: 0;
  color: var(--rib-fg);
}
.rib-lp p { margin: 0; }
.rib-lp img { max-width: 100%; height: auto; display: block; }
.rib-lp a { text-decoration: none; color: inherit; }

.rib-container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
}

.rib-text-gradient {
  background: linear-gradient(to right, var(--rib-primary), var(--rib-accent2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.rib-glow-box { box-shadow: var(--rib-glow); }
.rib-glow-box-strong { box-shadow: var(--rib-glow-strong); }

/* ===== HERO ===== */
.rib-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.rib-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, var(--rib-bg), rgba(13,16,22,0.95), var(--rib-bg));
}
.rib-hero-blur {
  position: absolute; top: 0; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 800px;
  border-radius: 9999px;
  background: hsl(145 80% 50% / 0.05);
  filter: blur(120px);
  pointer-events: none;
}
.rib-hero-topbar {
  position: absolute; top: 0; left: 0; right: 0;
  z-index: 20;
  padding: 1.25rem 0;
}
.rib-hero-topbar .rib-hero-logo,
.rib-hero-topbar img.rib-hero-logo {
  width: 170px !important;
  height: auto !important;
  max-width: 170px !important;
  max-height: none !important;
}

@media (min-width: 768px) {
  .rib-hero-topbar .rib-hero-logo,
  .rib-hero-topbar img.rib-hero-logo {
    width: 160px !important;
    max-width: 160px !important;
  }
}

.rib-hero-inner {
  position: relative; z-index: 10;
  padding: 5rem 0;
}
@media (min-width: 768px) { .rib-hero-inner { padding: 8rem 0; } }

.rib-hero-grid {
  display: grid; gap: 3rem;
  align-items: center;
}
@media (min-width: 1024px) {
  .rib-hero-grid { grid-template-columns: 1fr 1fr; gap: 4rem; }
}

.rib-hero-text {
  display: flex; flex-direction: column; gap: 1.5rem;
  text-align: center;
}
@media (min-width: 1024px) { .rib-hero-text { text-align: left; } }

.rib-badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  align-self: center;
  border: 1px solid var(--rib-border);
  background: var(--rib-secondary);
  padding: 0.375rem 1rem;
  border-radius: 9999px;
  font-size: 0.75rem; font-weight: 500;
  color: var(--rib-muted);
}
@media (min-width: 1024px) { .rib-badge { align-self: flex-start; } }
.rib-badge-dot {
  width: 0.5rem; height: 0.5rem; border-radius: 9999px;
  background: var(--rib-primary);
  animation: rib-pulse 2s infinite;
}
@keyframes rib-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.5; } }

.rib-h1 {
  font-size: 2.25rem; font-weight: 700;
  line-height: 1.1; letter-spacing: -0.025em;
}
@media (min-width: 768px) { .rib-h1 { font-size: 3rem; } }
@media (min-width: 1024px) { .rib-h1 { font-size: 3.75rem; } }

.rib-lead {
  max-width: 36rem;
  margin: 0 auto;
  font-size: 1.125rem;
  color: var(--rib-muted);
}
@media (min-width: 768px) { .rib-lead { font-size: 1.25rem; } }
@media (min-width: 1024px) { .rib-lead { margin: 0; } }
.rib-lead strong { color: var(--rib-fg); font-weight: 600; }

.rib-hero-mockup {
  display: flex; justify-content: center;
}
.rib-hero-mockup-inner {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: var(--rib-glow);
}
.rib-hero-mockup img { width: 100%; max-width: 32rem; border-radius: 1rem; }

/* ===== CTA BUTTON ===== */
.rib-cta-wrap { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.rib-cta-wrap.mt-2 { margin-top: 0.5rem; }
.rib-cta-wrap.mt-10 { margin-top: 2.5rem; }

.rib-cta {
  display: inline-flex; align-items: center; gap: 0.75rem;
  background: var(--rib-primary);
  color: var(--rib-primary-fg);
  padding: 1rem 2rem;
  border-radius: 9999px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700; font-size: 1rem;
  box-shadow: var(--rib-glow);
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
}
@media (min-width: 768px) { .rib-cta { font-size: 1.125rem; } }
.rib-cta:hover { transform: scale(1.05); box-shadow: var(--rib-glow-strong); }
.rib-cta-icon { width: 1.25rem; height: 1.25rem; transition: transform 0.2s; }
.rib-cta:hover .rib-cta-icon { transform: rotate(12deg); }
.rib-cta-subtext { font-size: 0.875rem; color: var(--rib-muted); }

/* ===== WHATSAPP FLOATING BUTTON ===== */
.rib-wa-float {
  position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 50;
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: var(--rib-primary);
  color: var(--rib-primary-fg);
  padding: 0.875rem 1.25rem;
  border-radius: 9999px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700; font-size: 0.875rem;
  animation: rib-pulse-glow 2s ease-in-out infinite;
  transition: transform 0.2s;
}
@media (min-width: 768px) { .rib-wa-float { bottom: 2rem; right: 2rem; } }
.rib-wa-float:hover { transform: scale(1.05); }
.rib-wa-label { display: none; }
@media (min-width: 640px) { .rib-wa-label { display: inline; } }
@keyframes rib-pulse-glow {
  0%, 100% { box-shadow: 0 0 20px hsl(145 80% 50% / 0.4); }
  50% { box-shadow: 0 0 40px hsl(145 80% 50% / 0.7); }
}

/* ===== GENERIC SECTIONS ===== */
.rib-section { padding: 5rem 0; }
@media (min-width: 768px) { .rib-section { padding: 7rem 0; } }
.rib-section-card-bg { background: hsl(220 18% 10% / 0.3); }

.rib-eyebrow {
  font-size: 0.875rem; font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.15em;
  color: var(--rib-primary);
  text-align: center; margin-bottom: 0.75rem;
}
.rib-h2 {
  font-size: 1.875rem; font-weight: 700; text-align: center;
}
@media (min-width: 768px) { .rib-h2 { font-size: 2.25rem; } }
@media (min-width: 1024px) { .rib-h2 { font-size: 3rem; } }
.rib-h2-mb { margin-bottom: 3.5rem; }

/* ===== PAIN ===== */
.rib-pain-list { display: flex; flex-direction: column; gap: 1.25rem; margin-bottom: 2.5rem; max-width: 48rem; margin-left: auto; margin-right: auto; }
.rib-pain-item {
  display: flex; align-items: flex-start; gap: 0.75rem;
  border: 1px solid var(--rib-border);
  background: hsl(220 18% 10% / 0.5);
  padding: 1rem 1.5rem;
  border-radius: 0.75rem;
  text-align: left;
  font-size: 1rem;
  color: var(--rib-muted);
}
@media (min-width: 768px) { .rib-pain-item { font-size: 1.125rem; } }
.rib-pain-icon { margin-top: 0.125rem; width: 1.25rem; height: 1.25rem; flex-shrink: 0; color: #ef4444; }
.rib-pain-summary {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700; font-size: 1.5rem; text-align: center;
}
@media (min-width: 768px) { .rib-pain-summary { font-size: 1.875rem; } }

/* ===== AUTHORITY ===== */
.rib-authority-card {
  max-width: 42rem; margin: 0 auto;
  border: 1px solid var(--rib-border);
  background: hsl(220 18% 10% / 0.6);
  border-radius: 1.5rem;
  padding: 3.5rem 2rem;
  text-align: center;
}
@media (min-width: 768px) { .rib-authority-card { padding: 3.5rem 4rem; } }
.rib-authority-h { font-size: 1.5rem; font-weight: 700; }
@media (min-width: 768px) { .rib-authority-h { font-size: 1.875rem; } }
.rib-authority-p { margin-top: 1.5rem; font-size: 1.125rem; color: var(--rib-muted); }
.rib-authority-p strong { color: var(--rib-fg); }

/* ===== SOLUTION ===== */
.rib-solution-h { max-width: 42rem; margin: 0 auto; }
.rib-solution-p { max-width: 36rem; margin: 1.25rem auto 0; font-size: 1.125rem; color: var(--rib-muted); text-align: center; }

/* ===== FEATURES ===== */
.rib-features-grid {
  display: grid; gap: 1.25rem;
  max-width: 64rem; margin: 0 auto;
}
@media (min-width: 640px) { .rib-features-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .rib-features-grid { grid-template-columns: repeat(3, 1fr); } }

.rib-feature {
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  border: 1px solid var(--rib-border);
  background: hsl(220 18% 10% / 0.6);
  padding: 1.5rem;
  border-radius: 1rem;
  text-align: center;
  transition: all 0.2s;
}
.rib-feature:hover {
  border-color: hsl(145 80% 50% / 0.4);
  box-shadow: var(--rib-glow);
}
.rib-feature-icon-wrap {
  width: 3rem; height: 3rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: 0.75rem;
  background: hsl(145 80% 50% / 0.1);
  color: var(--rib-primary);
  transition: background 0.2s;
}
.rib-feature:hover .rib-feature-icon-wrap { background: hsl(145 80% 50% / 0.2); }
.rib-feature-icon { width: 1.5rem; height: 1.5rem; }
.rib-feature-title {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600; font-size: 0.875rem;
}
@media (min-width: 768px) { .rib-feature-title { font-size: 1rem; } }

/* ===== PROCESS ===== */
.rib-process-grid {
  display: grid; gap: 1.5rem;
  max-width: 48rem; margin: 0 auto;
}
@media (min-width: 768px) { .rib-process-grid { grid-template-columns: repeat(2, 1fr); } }

.rib-process-item {
  display: flex; align-items: center; gap: 1.25rem;
  border: 1px solid var(--rib-border);
  background: hsl(220 18% 10% / 0.6);
  padding: 1.5rem;
  border-radius: 1rem;
  transition: border-color 0.2s;
}
.rib-process-item:hover { border-color: hsl(145 80% 50% / 0.4); }
.rib-process-num {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700; font-size: 1.875rem;
  color: hsl(145 80% 50% / 0.3);
}
.rib-process-text { font-weight: 500; color: var(--rib-fg); }
.rib-process-foot { margin-top: 2.5rem; text-align: center; color: var(--rib-muted); }

/* ===== FINAL CTA ===== */
.rib-final-cta { padding: 6rem 0; }
@media (min-width: 768px) { .rib-final-cta { padding: 8rem 0; } }
.rib-final-h {
  max-width: 42rem; margin: 0 auto;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 700; font-size: 1.875rem;
  text-align: center;
}
@media (min-width: 768px) { .rib-final-h { font-size: 2.25rem; } }
@media (min-width: 1024px) { .rib-final-h { font-size: 3rem; } }

/* ===== FOOTER ===== */
.rib-footer {
  border-top: 1px solid var(--rib-border);
  padding: 2rem 0;
}
.rib-footer-inner {
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
}
.rib-footer-logo { height: 2rem; width: auto; opacity: 0.6; }
.rib-footer-text {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.875rem; font-weight: 600;
  color: var(--rib-muted);
}

/* ===== SCROLL REVEAL ===== */
.rib-reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease-out, transform 0.7s ease-out; }
.rib-reveal.is-visible { opacity: 1; transform: translateY(0); }
@media screen and (max-width: 749px) {
  #{{ section_id }}.riballe-store-carousel-section--full {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}