/* Modern polish overlay — preserves layout, refines look & feel */
:root {
  --modern-ease: cubic-bezier(.4, 0, .2, 1);
  --modern-shadow-sm: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);
  --modern-shadow-md: 0 4px 10px -2px rgba(16, 24, 40, .08), 0 8px 24px -4px rgba(16, 24, 40, .10);
  --modern-shadow-lg: 0 10px 25px -8px rgba(16, 24, 40, .15), 0 20px 48px -12px rgba(16, 24, 40, .18);
}

html { scroll-behavior: smooth; }

body, button, input, select, textarea {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern", "liga", "calt", "ss01";
}

/* Smoother images with subtle rounding */
img {
  image-rendering: -webkit-optimize-contrast;
}

/* Refined image containers */
.wp-block-image img,
figure img {
  border-radius: 14px;
  transition: transform .5s var(--modern-ease), box-shadow .5s var(--modern-ease), filter .4s var(--modern-ease);
  box-shadow: var(--modern-shadow-sm);
}
.wp-block-image:hover img,
figure:hover img {
  transform: translateY(-2px);
  box-shadow: var(--modern-shadow-md);
}

/* Buttons – modern pill polish with subtle gradient + hover lift */
.wp-block-button__link,
.elementor-button,
a.elementor-button-link,
button.wp-element-button {
  border-radius: 999px !important;
  letter-spacing: .01em;
  font-weight: 600;
  transition: transform .25s var(--modern-ease), box-shadow .3s var(--modern-ease), filter .25s var(--modern-ease), background-color .25s var(--modern-ease) !important;
  box-shadow: var(--modern-shadow-sm);
  position: relative;
  overflow: hidden;
  will-change: transform;
}
.wp-block-button__link:hover,
.elementor-button:hover,
a.elementor-button-link:hover,
button.wp-element-button:hover {
  transform: translateY(-2px);
  box-shadow: var(--modern-shadow-md);
  filter: brightness(1.04) saturate(1.05);
}
.wp-block-button__link:active,
.elementor-button:active {
  transform: translateY(0);
  box-shadow: var(--modern-shadow-sm);
}

/* Subtle shine sweep on primary CTAs */
.wp-block-button__link::after,
.elementor-button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform .7s var(--modern-ease);
  pointer-events: none;
}
.wp-block-button__link:hover::after,
.elementor-button:hover::after {
  transform: translateX(120%);
}

/* Cards / containers polish */
.wp-block-group.has-background,
.elementor-element.elementor-element-populated {
  border-radius: 18px;
  transition: box-shadow .35s var(--modern-ease), transform .35s var(--modern-ease);
}

/* Refined headings */
h1, h2, h3, h4 {
  letter-spacing: -.018em;
}
h1 { letter-spacing: -.025em; }

/* Links — smoother hover */
a {
  transition: color .2s var(--modern-ease), opacity .2s var(--modern-ease);
}

/* Accordion polish */
.e-n-accordion-item-title {
  transition: background-color .25s var(--modern-ease), color .25s var(--modern-ease);
  border-radius: 12px !important;
}
.e-n-accordion-item-title:hover {
  background-color: rgba(0, 0, 0, .025);
}

/* Inputs */
input[type="text"], input[type="email"], input[type="tel"], textarea, select {
  border-radius: 12px !important;
  transition: border-color .2s var(--modern-ease), box-shadow .2s var(--modern-ease);
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, textarea:focus, select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(80, 58, 168, .18);
}

/* Custom scrollbar */
@media (pointer: fine) {
  ::-webkit-scrollbar { width: 10px; height: 10px; }
  ::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,.18);
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
  }
  ::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,.32); background-clip: padding-box; border: 2px solid transparent; }
  ::-webkit-scrollbar-track { background: transparent; }
}

/* Soft entrance on scroll-visible elements */
@media (prefers-reduced-motion: no-preference) {
  .wp-block-image, .elementor-widget-image, .wp-block-button {
    animation: modern-fade-up .6s var(--modern-ease) both;
    animation-timeline: view();
    animation-range: entry 0% entry 40%;
  }
  @keyframes modern-fade-up {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
  }
}

/* Selection */
::selection {
  background: rgba(80, 58, 168, .22);
}

/* ============================================
   HERO — Clean Sweets reference recreation
   Food-edge background + puffy 3D headline + star badge + orange CTA
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700;800;900&display=swap');

/* Warm bakery hero — full food-photo background bleeding from edges */
.elementor-element-f87dad0 {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 245, 220, 0) 0%, rgba(255, 245, 220, .35) 70%, #FFF1D8 100%),
    url('../images/hero-bg.jpg') center top / cover no-repeat,
    #F8E6BE;
  overflow: hidden;
  isolation: isolate;
  padding-top: 18px !important;
}
.elementor-element-f87dad0::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(80% 55% at 50% 38%, rgba(248, 226, 184, .55), transparent 70%),
    radial-gradient(120% 40% at 50% 100%, rgba(255, 230, 190, .9), transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.elementor-element-f87dad0 > .e-con-inner { position: relative; z-index: 1; }

/* Star rating pill badge */
.cs-rating-badge {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 auto 14px;
  padding: 9px 22px;
  background: linear-gradient(180deg, #FFFCF1 0%, #FBEFCB 100%);
  border: 1px solid rgba(238, 152, 2, .25);
  border-radius: 999px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .9) inset,
    0 6px 18px -8px rgba(120, 70, 20, .25);
  align-self: center;
}
.cs-rating-stars {
  color: #F5A623;
  font-size: 17px;
  letter-spacing: 2px;
  text-shadow: 0 1px 0 rgba(120, 70, 0, .25);
}
.cs-rating-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
  font-family: 'Inter', system-ui, sans-serif;
  color: #3a2a16;
}
.cs-rating-text strong { font-weight: 800; font-size: 14px; }
.cs-rating-text span { font-weight: 500; font-size: 11px; color: #6b513a; }

/* Headline — replaced by puffy 3D image */
.elementor-element-6397322 {
  position: relative;
  margin-top: 4px !important;
  margin-bottom: 14px !important;
}
.elementor-element-6397322 h2,
.elementor-element-6397322 .elementor-heading-title {
  display: block;
  width: 100%;
  max-width: 560px;
  margin: 0 auto !important;
  aspect-ratio: 1280 / 768;
  background: url('../images/headline-3d.png') center / contain no-repeat;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px;
  overflow: hidden;
  filter: drop-shadow(0 14px 22px rgba(120, 60, 10, .22));
}
.elementor-element-6397322::after { content: none !important; }

/* Subtitle */
.cs-hero-subtitle {
  font-family: 'Inter', system-ui, sans-serif;
  text-align: center;
  font-size: clamp(15px, 3.8vw, 17px);
  line-height: 1.45;
  font-weight: 600;
  color: #3a2a16;
  max-width: 30ch;
  margin: 0 auto 18px !important;
  text-wrap: balance;
}
.cs-hero-subtitle strong {
  color: #E07A00;
  font-weight: 800;
}

/* Video player — soft cream frame matching reference */
.elementor-element-28438ee {
  position: relative;
  padding: 10px !important;
  background: linear-gradient(180deg, #FFF6E0 0%, #F5E2B0 100%) !important;
  border: 1px solid rgba(238, 152, 2, .35) !important;
  border-radius: 22px !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .8) inset,
    0 18px 36px -16px rgba(120, 70, 10, .35) !important;
  margin-top: 8px !important;
  isolation: isolate;
}
.elementor-element-28438ee vslplay-player {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .35);
  position: relative;
  z-index: 1;
}

/* CTA — pressable orange 3D button */
.elementor-element-704a238 .elementor-button {
  background: linear-gradient(180deg, #FFD27A 0%, #F5A623 35%, #EE9802 60%, #C97A00 100%) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 17px !important;
  letter-spacing: .02em !important;
  padding: 18px 32px !important;
  border: 1px solid #B86A00 !important;
  text-shadow: 0 1px 0 rgba(120, 60, 0, .45), 0 2px 3px rgba(69, 50, 32, .25);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .55) inset,
    0 -3px 0 rgba(120, 60, 0, .35) inset,
    0 2px 0 #A85F00,
    0 4px 0 #8A4D00,
    0 6px 0 #6E3D00,
    0 14px 28px -8px rgba(238, 152, 2, .55),
    0 22px 36px -16px rgba(69, 50, 32, .45) !important;
  transition: transform .12s var(--modern-ease), box-shadow .12s var(--modern-ease) !important;
  animation: cta-breathe 3.2s ease-in-out infinite;
}
.elementor-element-704a238 .elementor-button:hover {
  filter: brightness(1.04);
  transform: translateY(-1px);
}
.elementor-element-704a238 .elementor-button:active {
  transform: translateY(4px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .4) inset,
    0 -2px 0 rgba(120, 60, 0, .35) inset,
    0 1px 0 #A85F00,
    0 2px 0 #8A4D00,
    0 8px 14px -6px rgba(238, 152, 2, .55) !important;
}
@keyframes cta-breathe {
  0%, 100% { box-shadow:
    0 1px 0 rgba(255, 255, 255, .55) inset,
    0 -3px 0 rgba(120, 60, 0, .35) inset,
    0 2px 0 #A85F00, 0 4px 0 #8A4D00, 0 6px 0 #6E3D00,
    0 14px 28px -8px rgba(238, 152, 2, .55),
    0 22px 36px -16px rgba(69, 50, 32, .45); }
  50%      { box-shadow:
    0 1px 0 rgba(255, 255, 255, .55) inset,
    0 -3px 0 rgba(120, 60, 0, .35) inset,
    0 2px 0 #A85F00, 0 4px 0 #8A4D00, 0 6px 0 #6E3D00,
    0 14px 32px -6px rgba(245, 166, 35, .75),
    0 22px 44px -14px rgba(69, 50, 32, .5); }
}

/* Carry the warm bakery palette into the rest of the page */
body {
  background:
    linear-gradient(180deg, #FFF1D8 0%, #FBE9C2 60%, #F4DDA8 100%) !important;
}

/* ============================================
   MOBILE REORG — full-bleed hero, tight stack
   ============================================ */
@media (max-width: 768px) {
  /* Let hero background bleed to the screen edges */
  body {
    --wp--style--root--padding-right: 0px !important;
    --wp--style--root--padding-left: 0px !important;
  }
  /* Hide rating badge on mobile (user request) */
  .cs-rating-badge { display: none !important; }

  /* Hero: ONE single sweets-frame photo, no repeat, sized to fill, edges only */
  .elementor-element-f87dad0 {
    padding: 6px 14px 24px !important;
    border-radius: 0 !important;
    background-color: #F8E6BE !important;
    background-image:
      linear-gradient(180deg, rgba(255, 241, 216, .25) 0%, rgba(255, 241, 216, .10) 50%, rgba(255, 241, 216, .55) 100%),
      url('../images/hero-bg-frame.jpg') !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: center top, center top !important;
    background-size: 100% 100%, cover !important;
  }
  .elementor-element-f87dad0::before { display: none; }
  .elementor-element-f87dad0 > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    position: relative;
    z-index: 1;
  }

  /* Headline pushed to the very top, with halo behind */
  .elementor-element-6397322 {
    width: 100%;
    margin: -6px 0 -14px !important;
    position: relative;
  }
  .elementor-element-6397322::before {
    content: "";
    position: absolute;
    inset: -16px -6px -16px;
    background: radial-gradient(60% 65% at 50% 55%, rgba(255, 250, 235, .9) 0%, rgba(255, 248, 225, .65) 45%, rgba(255, 245, 215, 0) 78%);
    z-index: 0;
    pointer-events: none;
    filter: blur(3px);
  }
  .elementor-element-6397322 .elementor-widget-container { position: relative; z-index: 1; }
  .elementor-element-6397322 h2,
  .elementor-element-6397322 .elementor-heading-title {
    max-width: 100% !important;
    width: 100%;
    filter: drop-shadow(0 6px 10px rgba(120, 60, 10, .28)) drop-shadow(0 14px 22px rgba(120, 60, 10, .22));
  }

  /* Subtitle: glued to the headline, halo + real drop-shadow */
  .cs-hero-subtitle {
    position: relative;
    max-width: 34ch;
    font-size: 14.5px;
    line-height: 1.3;
    margin: -16px auto 6px !important;
    padding: 6px 14px 8px;
    text-shadow: none;
    filter: drop-shadow(0 4px 10px rgba(60, 30, 0, .35));
    z-index: 1;
  }
  .cs-hero-subtitle::before {
    content: "";
    position: absolute;
    inset: -4px -6px -6px;
    background: radial-gradient(70% 80% at 50% 50%, rgba(255, 250, 235, .9) 0%, rgba(255, 248, 225, .65) 45%, rgba(255, 245, 215, 0) 80%);
    z-index: -1;
    filter: blur(3px);
    pointer-events: none;
  }

  /* Video: floating, no card frame — just shadow */
  .elementor-element-28438ee {
    width: 100% !important;
    margin-top: 6px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 16px !important;
    box-shadow:
      0 10px 24px -10px rgba(69, 35, 10, .45),
      0 24px 44px -16px rgba(69, 35, 10, .35) !important;
  }
  .elementor-element-28438ee vslplay-player {
    border-radius: 16px;
  }

  /* CTA full-width */
  .elementor-element-704a238 { width: 100%; margin-top: 14px; }
  .elementor-element-704a238 .elementor-button {
    width: 100%;
    padding: 16px 18px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 380px) {
  .cs-rating-text span { display: none; }
  .cs-hero-subtitle { font-size: 14px; }
}






/* ============================================
   SECTION HEADINGS — puffy 3D, matches hero
   ============================================ */

/* Keep original italic serif font from the page; add puffy 3D depth
   in a vibrant orange tone that pops against the warm background. */
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading .elementor-heading-title {
  color: #F5A623 !important;
  -webkit-text-stroke: 0;
  text-shadow:
    0 1px 0 #e08e12,
    0 2px 0 #c97a00,
    0 3px 0 #a86500,
    0 4px 0 #8a5200,
    0 5px 0 #6e4100,
    0 6px 0 #553200,
    0 7px 0 #3a2200,
    0 10px 14px rgba(60, 30, 0, .55),
    0 16px 28px rgba(60, 30, 0, .45) !important;
  letter-spacing: -0.005em !important;
  line-height: 1.08 !important;
  filter: drop-shadow(0 2px 0 rgba(255, 240, 200, .35));
}

/* Hero headline is a replaced image — never apply the text-shadow stack to it */
.elementor-element-6397322 h2,
.elementor-element-6397322 .elementor-heading-title {
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  color: transparent !important;
  filter: drop-shadow(0 14px 22px rgba(120, 60, 10, .22)) !important;
}

@media (max-width: 768px) {
  .elementor-widget-heading h1,
  .elementor-widget-heading h2,
  .elementor-widget-heading h3,
  .elementor-widget-heading .elementor-heading-title {
    text-shadow:
      0 1px 0 #e08e12,
      0 2px 0 #c97a00,
      0 3px 0 #a86500,
      0 4px 0 #8a5200,
      0 5px 0 #6e4100,
      0 6px 0 #553200,
      0 8px 12px rgba(60, 30, 0, .55),
      0 14px 22px rgba(60, 30, 0, .45) !important;
  }
}


/* ============================================
   SCROLL REVEAL — igloo-style smooth entrance
   ============================================ */
@media (prefers-reduced-motion: no-preference) {
  .reveal-on-scroll {
    opacity: 0;
    transform: translate3d(0, 36px, 0) scale(.985);
    filter: blur(6px);
    transition:
      opacity .9s cubic-bezier(.22,.61,.36,1) var(--reveal-delay, 0ms),
      transform 1s cubic-bezier(.22,.61,.36,1) var(--reveal-delay, 0ms),
      filter .9s cubic-bezier(.22,.61,.36,1) var(--reveal-delay, 0ms);
    will-change: opacity, transform, filter;
  }
  .reveal-on-scroll.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }
  /* Nested children get a subtle additional lift for parallax feel */
  .reveal-on-scroll .elementor-widget-image img,
  .reveal-on-scroll figure img {
    transition: transform 1.1s cubic-bezier(.22,.61,.36,1);
  }
  .reveal-on-scroll:not(.is-revealed) .elementor-widget-image img,
  .reveal-on-scroll:not(.is-revealed) figure img {
    transform: scale(1.04);
  }
}

/* ============================================
   FLOAT ANIMATION — phone, books, and buttons
   ============================================ */
@media (prefers-reduced-motion: no-preference) {
  @keyframes cs-float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-10px); }
  }

  /* Phone mockup */
  img[src*="JE7ml9HgZgnX"],
  img[src*="1tiYZihuwqvU"] {
    animation: cs-float 4.5s ease-in-out infinite;
    will-change: transform;
  }

  /* Three book covers */
  img[src*="G0io8TTZgubN"],
  img[src*="lQMdfOY7hWpf"] {
    animation: cs-float 5s ease-in-out infinite;
    animation-delay: 0s;
    will-change: transform;
  }
  img[src*="JM1pD7wCss2L"],
  img[src*="Em7w6ajHU9BT"] {
    animation: cs-float 5s ease-in-out infinite;
    animation-delay: .4s;
    will-change: transform;
  }
  img[src*="QwGsoJLoIjjG"],
  img[src*="bCFyG57IKq80"] {
    animation: cs-float 5s ease-in-out infinite;
    animation-delay: .8s;
    will-change: transform;
  }

  /* Buttons gently float too (overrides the breathe shadow on hero CTA via composite via transform) */
  .elementor-button {
    animation: cs-float 3.6s ease-in-out infinite;
    will-change: transform;
  }
  /* Pause hero CTA's transform-based breathe is not used; keep float */
  .elementor-element-704a238 .elementor-button {
    animation: cs-float 3.6s ease-in-out infinite, cta-breathe 3.2s ease-in-out infinite;
  }
}

/* ============================================
   TESTIMONIALS & PRICE — warm bg + 3D cards
   ============================================ */

/* Testimonials/bonuses still warm; PRICE section gets white bg */
.elementor-element-8d2b2d9,
.elementor-element-3228e8d {
  background: transparent !important;
}
.elementor-element-8d2b2d9 > .e-con-inner,
.elementor-element-3228e8d > .e-con-inner {
  background: transparent !important;
}
.elementor-element-81c30f0,
.elementor-element-81c30f0 > .e-con-inner {
  background: #ffffff !important;
}

/* Floating 3D testimonial cards */
.elementor-widget-testimonial {
  perspective: 1200px;
}
.elementor-widget-testimonial .elementor-testimonial-wrapper {
  position: relative;
  background: linear-gradient(180deg, #FFFDF6 0%, #FFF4DC 100%);
  border: 1px solid rgba(238, 152, 2, .25);
  border-radius: 22px;
  padding: 26px 22px 22px;
  margin: 14px 6px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .9) inset,
    0 10px 22px -10px rgba(120, 70, 10, .35),
    0 26px 44px -18px rgba(120, 70, 10, .35);
  transform: translateZ(0) rotateX(2deg);
  transform-style: preserve-3d;
  transition: transform .5s var(--modern-ease), box-shadow .5s var(--modern-ease);
  animation: cs-float 5.5s ease-in-out infinite;
  will-change: transform;
}
.elementor-widget-testimonial:nth-of-type(2) .elementor-testimonial-wrapper { animation-delay: .5s; }
.elementor-widget-testimonial:nth-of-type(3) .elementor-testimonial-wrapper { animation-delay: 1s; }

.elementor-widget-testimonial .elementor-testimonial-wrapper:hover {
  transform: translateY(-4px) rotateX(0) scale(1.01);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .9) inset,
    0 16px 30px -10px rgba(120, 70, 10, .4),
    0 36px 56px -18px rgba(120, 70, 10, .4);
}

/* 5/5 gold star rating injected above each quote */
.elementor-widget-testimonial .elementor-testimonial-content {
  position: relative;
  color: #3a2a16;
  font-style: italic;
  font-size: 16px;
  line-height: 1.5;
  padding-top: 30px;
}
.elementor-widget-testimonial .elementor-testimonial-content::before {
  content: "★★★★★ 5/5";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  font-style: normal;
  font-family: 'Inter', system-ui, sans-serif;
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 2px;
  color: #F5A623;
  text-shadow: 0 1px 0 rgba(120, 70, 0, .25);
}

.elementor-widget-testimonial .elementor-testimonial-image img {
  border-radius: 50%;
  border: 2px solid #F5A623;
  box-shadow: 0 4px 10px -2px rgba(120, 70, 10, .35);
}
.elementor-widget-testimonial .elementor-testimonial-name {
  color: #5a3a16;
  font-weight: 700;
}

/* ============================================
   PRICE CARD — reference recreation
   ============================================ */

/* The whole offer section: warm bakery bg already set; widen container */
.elementor-element-81c30f0 > .e-con-inner {
  max-width: 760px !important;
  padding: 0 12px !important;
}

/* Headings above the card ("Today's Offer" / "Eat Without Fear Again")
   keep their puffy 3D look — no override needed */

/* The price card itself */
.elementor-element-dfb05b2 {
  position: relative;
  background: linear-gradient(180deg, #FBE9C2 0%, #F8DFA8 100%) !important;
  border: 1px solid rgba(238, 152, 2, .35) !important;
  border-radius: 28px !important;
  padding: 0 0 24px !important;
  margin: 18px auto !important;
  max-width: 640px !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .8) inset,
    0 24px 50px -18px rgba(120, 70, 10, .45),
    0 40px 80px -24px rgba(120, 70, 10, .35) !important;
  overflow: hidden;
}

/* Kill default elementor/WP gaps between widgets inside the price card */
.elementor-element-dfb05b2,
.elementor-element-dfb05b2 > .elementor-element,
.elementor-element-dfb05b2 .elementor-widget-container {
  --widgets-spacing: 0px !important;
  row-gap: 0 !important;
}
.elementor-element-dfb05b2 > .elementor-element { margin-top: 0 !important; margin-bottom: 0 !important; }
.elementor-element-dfb05b2 .elementor-widget-container { margin: 0 !important; padding: 0 !important; }

/* Orange header bar — replaces "Clean Sweet App" heading inside card */
.elementor-element-dfb05b2 .elementor-element-a3b676a {
  margin: 0 !important;
  background: linear-gradient(180deg, #F5A623 0%, #E07A00 100%);
  padding: 18px 16px;
  text-align: center;
  box-shadow: inset 0 -3px 0 rgba(120, 60, 0, .25);
}
.elementor-element-dfb05b2 .elementor-element-a3b676a .elementor-widget-container { padding: 0 !important; }
.elementor-element-dfb05b2 .elementor-element-a3b676a .elementor-heading-title {
  color: #fff !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(26px, 6.5vw, 38px) !important;
  letter-spacing: .01em !important;
  text-shadow:
    0 1px 0 #c97a00,
    0 2px 0 #a86500,
    0 3px 0 #8a5200,
    0 4px 8px rgba(60, 30, 0, .35) !important;
  filter: none !important;
}

/* Price block — separated old price above, new price below */
.cs-price-block { padding: 14px 18px 6px !important; margin: 0 !important; }
.cs-price-heading {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-shadow: none !important;
  color: inherit !important;
  filter: none !important;
  -webkit-text-stroke: 0 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  line-height: 1.1 !important;
}
.cs-price-old-row {
  display: inline-flex !important;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 4px;
}
.cs-old-amount {
  color: #cc2222;
  text-decoration: line-through;
  font-weight: 400;
  font-size: clamp(20px, 5.5vw, 28px);
  text-shadow: none !important;
  filter: none !important;
  -webkit-text-stroke: 0 !important;
}
.cs-old-label {
  color: #2b1a08;
  text-decoration: line-through;
  font-weight: 400;
  font-size: clamp(16px, 4.5vw, 20px);
  text-shadow: none !important;
}
.cs-price-new-row {
  display: inline-flex !important;
  align-items: baseline;
  gap: 10px;
}
.cs-new {
  color: #16a34a;
  font-weight: 900;
  font-size: clamp(64px, 16vw, 92px);
  line-height: 1;
  letter-spacing: -.02em;
}
.cs-today {
  color: #2b1a08;
  font-weight: 700;
  font-size: clamp(18px, 5vw, 24px);
}

/* Feature checklist — simple centered list like the original */
.elementor-element-dfb05b2 .elementor-element-f5ebb02 {
  padding: 6px 18px 8px !important;
}
.elementor-element-dfb05b2 .elementor-element-f5ebb02 .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  align-items: center;
}
.elementor-element-dfb05b2 .elementor-icon-list-item {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
  box-shadow: none !important;
  text-align: center;
}
.elementor-element-dfb05b2 .elementor-icon-list-icon {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  background: transparent !important;
  border-radius: 0;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.elementor-element-dfb05b2 .elementor-icon-list-icon svg {
  display: inline-block !important;
  width: 20px;
  height: 20px;
  fill: #2b1a08 !important;
}
.elementor-element-dfb05b2 .elementor-icon-list-icon::before { content: none !important; }
.elementor-element-dfb05b2 .elementor-icon-list-text {
  font-family: 'Inter', system-ui, sans-serif;
  color: #2b1a08;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.3;
  text-align: center !important;
}

/* Green CTA — pill button matching original */
.elementor-element-dfb05b2 .elementor-element-4aeb06f {
  padding: 10px 18px 14px !important;
  width: 100%;
  text-align: center !important;
}
.elementor-element-dfb05b2 .cs-real-cta.elementor-button {
  display: inline-flex !important;
  width: 100%;
  max-width: 560px;
  justify-content: center;
  align-items: center;
  background: #16a34a !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: clamp(16px, 4.2vw, 20px) !important;
  letter-spacing: .04em !important;
  padding: 16px 22px !important;
  border: 0 !important;
  border-radius: 999px !important;
  text-shadow: none;
  box-shadow: 0 6px 16px -6px rgba(20, 120, 60, .5) !important;
}
.elementor-element-dfb05b2 .cs-real-cta.elementor-button::before { content: none !important; }

@media (max-width: 480px) {
  .elementor-element-dfb05b2 { border-radius: 22px !important; }
  .elementor-element-dfb05b2 .elementor-element-a3b676a { padding: 14px 12px; }
}


/* Hero post-video CTA — larger, attention-grabbing */
.elementor-element-704a238 .elementor-button .elementor-button-text {
  font-size: clamp(20px, 5.5vw, 30px) !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  line-height: 1.15 !important;
}
.elementor-element-704a238 .elementor-button {
  padding: 18px 26px !important;
}
