
html,body{overflow-x:clip!important}

.elementor-widget-glowie_ritual_collections_clean,
.elementor-widget-glowie_ritual_collections_clean>.elementor-widget-container{
  width:100%!important;
  max-width:none!important;
  overflow:visible!important
}

/* TRUE FULL-WIDTH INNER SECTION.
   JS writes --grc-screen-width + --grc-breakout based on real canvas position. */
.grc-section{
  --grc-screen-width:100%;
  --grc-breakout:0px;
  width:var(--grc-screen-width);
  max-width:none;
  position:relative;
  left:var(--grc-breakout);
  margin:0;
  box-sizing:border-box;
  overflow-x:clip;
  background:#FBF8F2;
  padding:38px 0;
  font-family:Manrope,Arial,sans-serif;
  color:#2D211B
}
.grc-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:26px;
  padding-right:26px;
  box-sizing:border-box
}
.grc-head{
  max-width:1150px;
  margin:0 auto 28px;
  text-align:center
}
.grc-eyebrow{
  color:#0E5B3A;
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
  margin-bottom:10px
}
.grc-title{
  margin:0;
  font-family:Prata,Georgia,serif;
  font-size:58px;
  font-weight:400;
  line-height:.98;
  letter-spacing:-.045em;
  color:#422D24
}
.grc-subtitle{
  max-width:760px;
  margin:12px auto 0;
  color:#746A63;
  font-size:14px;
  line-height:1.5
}

/* Four wide cards use ALL available width */
.grc-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  width:100%;
  max-width:none;
  align-items:start
}
.grc-item{
  --grc-accent:#0F5B3B;
  width:100%;
  min-width:0;
  text-align:center;
  opacity:0;
  transform:translateY(20px)
}
.grc-section.grc-ready .grc-item{
  opacity:1;
  transform:none;
  transition:opacity .6s ease,transform .6s cubic-bezier(.2,.75,.2,1)
}
.grc-section.grc-ready .grc-item:nth-child(2){transition-delay:.06s}
.grc-section.grc-ready .grc-item:nth-child(3){transition-delay:.12s}
.grc-section.grc-ready .grc-item:nth-child(4){transition-delay:.18s}

.grc-card{
  width:100%;
  height:500px;
  border-radius:28px;
  padding:24px 24px 20px;
  box-sizing:border-box;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-decoration:none;
  color:#2D211B;
  box-shadow:0 18px 45px rgba(38,61,50,.075);
  transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .4s ease,filter .4s ease
}

/* Built-in premium palettes */
.grc-item[data-card="1"] .grc-card{background:linear-gradient(150deg,#FFD775 0%,#F5BB52 100%)}
.grc-item[data-card="2"] .grc-card{background:linear-gradient(150deg,#C8E3CD 0%,#A6CFB0 100%)}
.grc-item[data-card="3"] .grc-card{background:linear-gradient(150deg,#FFC0A3 0%,#F09A77 100%)}

/* THE KIT: deliberately more premium / special, without any label */
.grc-item[data-card="4"] .grc-card{
  background:
    radial-gradient(circle at 77% 18%,rgba(237,214,157,.24),transparent 32%),
    linear-gradient(150deg,#6F9B83 0%,#3F745C 100%);
  color:#FFF8EA;
  border:1px solid rgba(215,180,106,.48);
  box-shadow:
    0 20px 55px rgba(37,75,57,.18),
    inset 0 0 0 1px rgba(255,255,255,.05)
}
.grc-feature-glow{
  position:absolute;
  inset:-20%;
  background:radial-gradient(circle at 80% 18%,rgba(239,209,135,.20),transparent 26%);
  z-index:1;
  pointer-events:none
}

/* Independent background layer; ZERO layout influence */
.grc-bg-layer,.grc-art{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none
}
.grc-bg-layer{background-repeat:no-repeat}
.grc-art svg{width:100%;height:100%;display:block}
.grc-art path,.grc-art ellipse{
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round
}
.grc-item[data-card="1"] .grc-art path{stroke:rgba(255,255,255,.72)}
.grc-item[data-card="1"] .grc-art .fill{fill:rgba(60,97,62,.18);stroke:none}
.grc-item[data-card="2"] .grc-art path{stroke:rgba(22,88,58,.24)}
.grc-item[data-card="3"] .grc-art path,.grc-item[data-card="3"] .grc-art ellipse{stroke:rgba(255,255,255,.78)}
.grc-item[data-card="4"] .grc-art path{stroke:rgba(229,207,146,.50)}

.grc-step{
  position:relative;
  z-index:4;
  color:#0C5938;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em
}
.grc-item[data-card="4"] .grc-step{color:#F0D58E}

/* TRUE 1:1 circle, no oval */
.grc-circle{
  --grc-circle-size:235px;
  position:absolute;
  z-index:3;
  top:48px;
  right:7%;
  width:var(--grc-circle-size);
  height:var(--grc-circle-size);
  min-width:var(--grc-circle-size);
  min-height:var(--grc-circle-size);
  aspect-ratio:1/1;
  border-radius:50%;
  overflow:hidden;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 16px 38px rgba(25,62,47,.13),0 0 0 6px rgba(255,255,255,.14);
  flex:none;
  transition:transform .55s cubic-bezier(.2,.75,.2,1)
}
.grc-circle img{
  display:block;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
  transition:transform .65s cubic-bezier(.2,.75,.2,1)
}
.grc-ring{
  position:absolute;
  inset:10px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.78);
  pointer-events:none
}
.grc-item[data-card="4"] .grc-circle{
  border-color:rgba(235,211,151,.72);
  box-shadow:
    0 18px 40px rgba(19,53,39,.22),
    0 0 0 6px rgba(215,180,106,.12)
}

.grc-copy{
  position:relative;
  z-index:4;
  width:100%;
  margin-top:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left
}
.grc-card-title{
  font-family:Prata,Georgia,serif;
  font-size:40px;
  line-height:.96;
  letter-spacing:-.035em;
  font-weight:400
}
.grc-collection{
  margin-top:8px;
  font-size:14px;
  line-height:1.35;
  color:#20372D;
  font-weight:550
}
.grc-collection b{
  display:inline-block;
  font-weight:400;
  transition:transform .3s ease
}
.grc-subline{
  margin-top:7px;
  color:var(--grc-accent);
  font-size:14px;
  line-height:1.25;
  font-weight:800
}
.grc-item[data-card="4"] .grc-collection{color:#F8EFD9}
.grc-item[data-card="4"] .grc-subline{color:#F0D58E}

.grc-under{
  position:relative;
  z-index:5;
  margin-top:-12px;
  display:flex;
  flex-direction:column;
  align-items:center
}
.grc-icon{
  width:72px;
  height:72px;
  aspect-ratio:1/1;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--grc-accent);
  background:#F4EEDC;
  border:1px solid color-mix(in srgb,var(--grc-accent) 30%,transparent);
  box-shadow:0 8px 22px rgba(35,64,51,.09);
  transition:transform .4s cubic-bezier(.2,.75,.2,1)
}
.grc-item[data-card="1"] .grc-icon{background:#FFF0CA}
.grc-item[data-card="2"] .grc-icon{background:#E2F2E6}
.grc-item[data-card="3"] .grc-icon{background:#FFE0D3}
.grc-item[data-card="4"] .grc-icon{
  background:#244F3D;
  border-color:#D7B46A;
  color:#F0D58E;
  box-shadow:0 10px 26px rgba(26,63,46,.20)
}
.grc-icon svg,.grc-icon img{width:48%;height:48%;object-fit:contain;display:block}
.grc-icon svg *{
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round
}
.grc-benefit{
  margin-top:9px;
  font-size:13px;
  line-height:1.35;
  color:#30251F
}
.grc-item[data-card="4"] .grc-benefit{color:#264435}

@media(hover:hover) and (pointer:fine){
  .grc-card:hover{
    transform:translateY(-7px);
    box-shadow:0 28px 65px rgba(34,65,50,.14);
    filter:saturate(1.04)
  }
  .grc-featured .grc-card:hover{
    box-shadow:0 32px 72px rgba(28,68,50,.23),0 0 0 1px rgba(215,180,106,.32)
  }
  .grc-card:hover .grc-circle{transform:translateY(-6px) rotate(1.3deg) scale(1.025)}
  .grc-card:hover .grc-circle img{transform:scale(1.05)}
  .grc-card:hover .grc-collection b{transform:translateX(5px)}
  .grc-item:hover .grc-icon{transform:translateY(-4px) rotate(4deg) scale(1.04)}
}

/* Elementor editor: always visible */
body.elementor-editor-active .grc-item,
.elementor-editor-preview .grc-item,
.elementor-element-edit-mode .grc-item{
  opacity:1!important;
  transform:none!important
}

@media(max-width:1024px){
  .grc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .grc-section{
    width:100%!important;
    left:0!important
  }
  .grc-inner{padding-left:10px;padding-right:10px}
  .grc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .grc-card{height:300px;padding:14px 13px 12px;border-radius:20px}
  .grc-step{font-size:9px}
  .grc-circle{
    --grc-circle-size:120px;
    top:32px;
    right:4%
  }
  .grc-card-title{font-size:25px}
  .grc-collection,.grc-subline{font-size:10px}
  .grc-icon{width:48px;height:48px}
  .grc-benefit{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .grc-item,.grc-card,.grc-circle,.grc-circle img,.grc-icon{transition:none!important}
  .grc-item{opacity:1!important;transform:none!important}
}


/* =========================================================
   v1.1.0 — DISTINCT COLLECTION ART DIRECTIONS
   These are four different art systems, not one repeated design.
   ========================================================= */

.grc-art{
  overflow:hidden;
}

.grc-art-svg{
  width:100%;
  height:100%;
  display:block;
}

/* CLEANSE */
.grc-item[data-card="1"] .grc-card{
  background:
    linear-gradient(155deg,#FFDC79 0%,#FFBF4F 58%,#F6AE3D 100%);
}
.cleanse-art .fill-leaf{
  fill:rgba(57,94,54,.20)!important;
  stroke:none!important;
}
.cleanse-art .soft-wave{
  fill:url(#cl-wave)!important;
  stroke:rgba(255,255,255,.42)!important;
  stroke-width:2!important;
}
.cleanse-art .wave-2{opacity:.62}
.cleanse-art .fine-line{
  stroke:rgba(255,255,255,.82)!important;
  stroke-width:2!important;
}
.cleanse-art .spark{
  stroke:rgba(255,255,255,.88)!important;
  stroke-width:2!important;
}
.cleanse-art .bubble{
  fill:none!important;
  stroke:rgba(255,255,255,.66)!important;
  stroke-width:1.5!important;
}

/* CONDITION */
.grc-item[data-card="2"] .grc-card{
  background:
    linear-gradient(155deg,#D0EBD2 0%,#9CCCA9 58%,#83BA95 100%);
}
.condition-art .moisture-drop{
  fill:rgba(255,255,255,.13)!important;
  stroke:rgba(17,91,58,.30)!important;
  stroke-width:2!important;
}
.condition-art .stem,
.condition-art .leaf{
  stroke:rgba(14,91,57,.36)!important;
  stroke-width:2!important;
}
.condition-art .ring{
  stroke:rgba(255,255,255,.52)!important;
  stroke-width:2!important;
}
.condition-art .ring2{opacity:.55}
.condition-art .shine{
  stroke:rgba(255,255,255,.70)!important;
  stroke-width:1.8!important;
}

/* TREAT */
.grc-item[data-card="3"] .grc-card{
  background:
    linear-gradient(155deg,#FFC6AC 0%,#F79A78 57%,#EA7C61 100%);
}
.treat-art .orbit{
  stroke:rgba(255,255,255,.84)!important;
  stroke-width:2!important;
}
.treat-art .orbit2{opacity:.78}
.treat-art .orbit3{opacity:.58}
.treat-art .serum-drop{
  fill:rgba(255,255,255,.08)!important;
  stroke:rgba(125,60,43,.24)!important;
  stroke-width:2!important;
}
.treat-art .spark{
  stroke:rgba(255,255,255,.92)!important;
  stroke-width:2!important;
}
.treat-art .small{opacity:.82}

/* THE KIT */
.grc-item[data-card="4"] .grc-card{
  background:
    radial-gradient(circle at 79% 18%,rgba(226,194,119,.18),transparent 28%),
    linear-gradient(155deg,#56876F 0%,#2E684F 56%,#1E513D 100%);
}
.kit-art .gold-orbit{
  stroke:rgba(231,199,124,.56)!important;
  stroke-width:2!important;
}
.kit-art .orbit2{opacity:.72}
.kit-art .botanical{
  stroke:rgba(229,204,146,.48)!important;
  stroke-width:2!important;
}
.kit-art .constellation{
  stroke:rgba(244,217,152,.82)!important;
  stroke-width:2!important;
}
.kit-art .small{opacity:.70}
.kit-art .gold-dot{
  fill:#E7C77C!important;
  stroke:none!important;
}

.grc-item[data-card="4"] .grc-card-title{
  text-shadow:0 2px 18px rgba(0,0,0,.12);
}

/* Subtle motion per art direction */
@media(hover:hover) and (pointer:fine){
  .grc-item[data-card="1"]:hover .cleanse-art .soft-wave{
    transform:translateY(-5px);
    transition:transform .55s ease;
  }
  .grc-item[data-card="2"]:hover .condition-art .ring{
    transform-origin:350px 452px;
    transform:scale(1.07);
    transition:transform .55s ease;
  }
  .grc-item[data-card="3"]:hover .treat-art .orbit{
    transform-box:fill-box;
    transform-origin:center;
    opacity:.98;
    transition:opacity .45s ease;
  }
  .grc-item[data-card="4"]:hover .kit-art .gold-orbit{
    opacity:.88;
    transition:opacity .45s ease;
  }
}


/* =========================================================
   v1.2.0 — EACH CARD HAS ITS OWN VISUAL LANGUAGE
   No repeated stars / repeated motifs.
   ========================================================= */

/* CLEANSE */
.grc-item[data-card="1"] .grc-card{
  background:
    linear-gradient(155deg,#FFE08A 0%,#FFC353 55%,#F4A938 100%) !important;
}
.cleanse-art .fill-leaf{
  fill:rgba(71,95,49,.22)!important;
  stroke:none!important;
}
.cleanse-art .soft-wave{
  fill:url(#cl-wave)!important;
  stroke:rgba(255,255,255,.55)!important;
  stroke-width:2!important;
}
.cleanse-art .wave-2{opacity:.58}
.cleanse-art .fine-line{
  stroke:rgba(255,255,255,.86)!important;
  stroke-width:2!important;
}
.cleanse-art .bubble,
.cleanse-art .drop{
  fill:none!important;
  stroke:rgba(255,255,255,.78)!important;
  stroke-width:1.8!important;
}

/* CONDITION */
.grc-item[data-card="2"] .grc-card{
  background:
    linear-gradient(155deg,#D8EFD8 0%,#A5D4AE 56%,#8AC09A 100%) !important;
}
.condition-art .moisture-drop{
  fill:rgba(255,255,255,.09)!important;
  stroke:rgba(20,91,58,.31)!important;
  stroke-width:2!important;
}
.condition-art .vein-main,
.condition-art .vein{
  stroke:rgba(16,92,58,.38)!important;
  stroke-width:2!important;
}
.condition-art .moisture-ring{
  stroke:rgba(255,255,255,.62)!important;
  stroke-width:2!important;
}
.condition-art .ring2{opacity:.56}
.condition-art .small-drop{
  fill:none!important;
  stroke:rgba(17,92,58,.42)!important;
  stroke-width:1.8!important;
}

/* TREAT */
.grc-item[data-card="3"] .grc-card{
  background:
    linear-gradient(155deg,#FFD0BB 0%,#F6A07C 54%,#E97858 100%) !important;
}
.treat-art .orbit{
  stroke:rgba(255,255,255,.82)!important;
  stroke-width:2!important;
}
.treat-art .orbit2{opacity:.72}
.treat-art .orbit3{opacity:.48}
.treat-art .serum-drop{
  fill:rgba(255,255,255,.06)!important;
  stroke:rgba(118,54,40,.25)!important;
  stroke-width:2!important;
}
.treat-art .molecule{
  fill:none!important;
  stroke:rgba(255,244,238,.82)!important;
  stroke-width:2!important;
}
.treat-art .node{
  fill:#FFF2EB!important;
  stroke:rgba(143,64,44,.24)!important;
  stroke-width:1.4!important;
}

/* THE KIT — premium warm-value card, deliberately NOT green */
.grc-item[data-card="4"] .grc-card{
  background:
    radial-gradient(circle at 78% 16%,rgba(255,239,198,.20),transparent 28%),
    linear-gradient(155deg,#6E3E2D 0%,#8B5A3C 36%,#C58E5E 68%,#E0B57F 100%) !important;
  color:#FFF8EF!important;
  border:1px solid rgba(247,216,158,.52)!important;
  box-shadow:
    0 22px 60px rgba(90,48,30,.22),
    inset 0 0 0 1px rgba(255,255,255,.08)!important;
}
.kit-art .arch-fill{
  fill:url(#kit-arch)!important;
  stroke:none!important;
}
.kit-art .arch-line,
.kit-art .shelf,
.kit-art .bundle-line,
.kit-art .gold-curve{
  fill:none!important;
  stroke:rgba(250,221,166,.66)!important;
  stroke-width:2!important;
}
.kit-art .bundle-line{
  stroke:rgba(255,244,224,.78)!important;
}
.kit-art .gold-dot{
  fill:#F4D69B!important;
  stroke:none!important;
}
.grc-item[data-card="4"] .grc-step{
  color:#F6D99E!important;
}
.grc-item[data-card="4"] .grc-card-title{
  color:#FFF9F1!important;
  text-shadow:0 2px 18px rgba(55,24,14,.20);
}
.grc-item[data-card="4"] .grc-collection{
  color:#FFF1DC!important;
}
.grc-item[data-card="4"] .grc-subline{
  color:#F7D792!important;
}
.grc-item[data-card="4"] .grc-icon{
  background:#4F2D23!important;
  border-color:#EAC983!important;
  color:#F5D592!important;
}
.grc-item[data-card="4"] .grc-benefit{
  color:#5D3C2C!important;
}

/* Keep hover motion unique and subtle */
@media(hover:hover) and (pointer:fine){
  .grc-item[data-card="1"]:hover .cleanse-art .soft-wave{
    transform:translateY(-5px);
    transition:transform .55s ease;
  }
  .grc-item[data-card="2"]:hover .condition-art .moisture-ring{
    transform-origin:361px 451px;
    transform:scale(1.06);
    transition:transform .55s ease;
  }
  .grc-item[data-card="3"]:hover .treat-art .molecule{
    transform:translateY(-4px);
    transition:transform .50s ease;
  }
  .grc-item[data-card="4"]:hover .kit-art .gold-curve{
    transform:translateY(-4px);
    transition:transform .50s ease;
  }
}


/* =========================================================
   v1.2.0 — CUSTOM BOTTOM ICON IS THE COMPLETE ICON IMAGE
   ========================================================= */

/*
 * If a custom icon image is uploaded, the uploaded image itself becomes
 * the full circular badge. There is NO extra background circle, border,
 * padding, or small image sitting on top of another circle.
 */
.grc-icon.grc-icon-image{
  padding:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  display:block !important;
}

.grc-icon.grc-icon-image img{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
}

/* Keep the whole uploaded badge stable while preserving the existing hover feel. */
@media(hover:hover) and (pointer:fine){
  .grc-item:hover .grc-icon.grc-icon-image{
    transform:translateY(-4px) scale(1.055);
  }
}

/* Mobile/tablet: image still fills the entire responsive icon size. */
@media(max-width:767px){
  .grc-icon.grc-icon-image img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }
}


/* =========================================================
   v1.3.0 — ICON IMAGE ZOOM / TRANSPARENT-PADDING FIX
   ========================================================= */
.grc-icon.grc-icon-image{
  position:relative!important;
  overflow:hidden!important;
  border-radius:50%!important;
}
.grc-icon.grc-icon-image img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform-origin:center center!important;
  will-change:transform;
}

/* The uploaded 128×128 image may contain transparent margins.
   Elementor's per-card Icon Image Zoom control enlarges only the image artwork,
   while the outer icon circle size stays unchanged. */
