:root {
  /* Color Palette Variables */
  --ct-bg-dark: #0d1117;
  --ct-bg-surface: #161b22;
  --ct-accent-neon: #00f2fe;
  --ct-accent-deep: #00b8d4;
  --ct-ink-bright: #f0f6fc;
  --ct-ink-gray: #8b949e;
  --ct-gold: #ffb020;
  
  --ct-gradient-pulse: linear-gradient(135deg, #00f2fe 0%, #4facfe 100%);
  
  /* Chosen Fonts */
  --font-display: 'Oswald', sans-serif;
  --font-body: 'Poppins', sans-serif;
  
  /* Config Variables */
  --ct-max-width: 1180px;
  --ct-radius-custom: 14px; /* soft border-radius-style */
  --ct-shadow-deep: 0 20px 25px -5px rgba(0, 0, 0, 0.6), 0 10px 10px -5px rgba(0, 242, 254, 0.12); /* deep shadow-depth + spread */
}

/* Base resets & setups */
body {
  font-family: var(--font-body);
  background-color: var(--ct-bg-dark);
  color: var(--ct-ink-bright);
}

h1, h2, h3, h4, .font-display {
  font-family: var(--font-display);
}

/* Custom Safe Layout Classes (Strictly no banned classes like .container, .row, .col, etc.) */
.ct-viewport-wrap {
  width: 100%;
  max-width: var(--ct-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* Preset F Specific Layouts */

/* Magazine Split Layout for Product Block */
.ct-magazine-split {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

@media (min-width: 768px) {
  .ct-magazine-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: start;
  }
}

/* Alternating Rows features layout */
.ct-alternating-rows {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.ct-alternating-row-item {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: flex-start;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

@media (min-width: 768px) {
  .ct-alternating-row-item {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .ct-alternating-row-item:nth-child(even) {
    flex-direction: row-reverse;
  }
}

/* CSS tag-forma for site-product-price */
.ct-price-tag-badge {
  display: inline-block;
  position: relative;
  background: var(--ct-gradient-pulse);
  color: var(--ct-bg-dark);
  font-weight: 700;
  padding: 0.6rem 2rem;
  padding-right: 2.5rem;
  border-radius: 4px 0 0 4px;
  font-family: var(--font-display);
  font-size: 2rem;
  clip-path: polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%);
  animation: pulse-glow 3s infinite ease-in-out;
}

/* Testimonials Masonry Split Layout (Preset F CSS columns: 3) */
.ct-masonry-wall {
  column-count: 1;
  column-gap: 1.5rem;
}

@media (min-width: 768px) {
  .ct-masonry-wall {
    column-count: 2;
  }
}

@media (min-width: 1024px) {
  .ct-masonry-wall {
    column-count: 3;
  }
}

.ct-masonry-item {
  break-inside: avoid;
  background-color: var(--ct-bg-surface);
  border-radius: var(--ct-radius-custom);
  box-shadow: var(--ct-shadow-deep);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ct-masonry-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 25px 30px -5px rgba(0, 0, 0, 0.7), 0 15px 15px -5px rgba(0, 242, 254, 0.18);
}

/* Custom interactive trigger style (CTA button hover effect) */
.ct-deal-button {
  background: var(--ct-gradient-pulse);
  color: var(--ct-bg-dark);
  font-family: var(--font-display);
  text-transform: uppercase;
  font-weight: 700;
  cursor: pointer;
  box-shadow: var(--ct-shadow-deep);
}

.ct-deal-button:hover {
  transform: translateY(-3px);
  filter: brightness(1.1);
  box-shadow: 0 25px 35px -5px rgba(0, 242, 254, 0.3);
}

.ct-deal-button:active {
  transform: translateY(-1px);
}

/* Ambient glow animations */
@keyframes pulse-glow {
  0%, 100% {
    filter: drop-shadow(0 0 4px rgba(0, 242, 254, 0.2));
  }
  50% {
    filter: drop-shadow(0 0 12px rgba(0, 242, 254, 0.6));
  }
}