.elementor-1033 .elementor-element.elementor-element-78c52bd2{--display:flex;--min-height:80px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:32px 32px;--row-gap:32px;--column-gap:32px;--flex-wrap:nowrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#D0D5DD;--border-color:#D0D5DD;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1033 .elementor-element.elementor-element-78c52bd2:not(.elementor-motion-effects-element-type-background), .elementor-1033 .elementor-element.elementor-element-78c52bd2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1B1B1B;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1033 .elementor-element.elementor-element-4eea3ef{padding:020px 020px 020px 020px;text-align:left;}.elementor-1033 .elementor-element.elementor-element-4eea3ef img{width:77px;}.elementor-1033 .elementor-element.elementor-element-51879e06{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--margin-top:0;--margin-bottom:0;--margin-left:auto;--margin-right:0;--padding-top:07px;--padding-bottom:00px;--padding-left:00px;--padding-right:00px;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-1033 .elementor-element.elementor-element-63ede407{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:020px 040px 015px 0px;}.elementor-1033 .elementor-element.elementor-element-63ede407.elementor-element{--order:99999 /* order end hack */;}.elementor-1033 .elementor-element.elementor-element-63ede407 .elementor-icon-wrapper{text-align:center;}.elementor-1033 .elementor-element.elementor-element-63ede407.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-1033 .elementor-element.elementor-element-63ede407.elementor-view-framed .elementor-icon, .elementor-1033 .elementor-element.elementor-element-63ede407.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-1033 .elementor-element.elementor-element-63ede407.elementor-view-framed .elementor-icon, .elementor-1033 .elementor-element.elementor-element-63ede407.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-1033 .elementor-element.elementor-element-63ede407 .elementor-icon{font-size:34px;}.elementor-1033 .elementor-element.elementor-element-63ede407 .elementor-icon svg{height:34px;}.elementor-1033 .elementor-element.elementor-element-b960541{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1033 .elementor-element.elementor-element-765597e{--display:flex;--min-height:69vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;}.elementor-1033 .elementor-element.elementor-element-430dad9{--display:flex;--min-height:774px;}.elementor-1033 .elementor-element.elementor-element-840537b{width:100%;max-width:100%;}.elementor-1033 .elementor-element.elementor-element-8988b53 .e-off-canvas__content{background-color:#FFFFFF;border-radius:20px 0px 0px 20px;}.elementor-1033 .elementor-element.elementor-element-8988b53 .e-off-canvas__overlay{background-color:#000000D1;}.elementor-1033 .elementor-element.elementor-element-8988b53{--e-off-canvas-justify-content:flex-end;--e-off-canvas-width:430px;--e-off-canvas-height:100vh;--e-off-canvas-content-overflow:auto;--e-off-canvas-animation-duration:0.5s;--e-off-canvas-overlay-opacity:1;}.elementor-1033 .elementor-element.elementor-element-f69bb4d{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1033 .elementor-element.elementor-element-f1d3811{padding:10px 10px 10px 10px;}.elementor-1033 .elementor-element.elementor-element-f1d3811 img{width:25%;}.elementor-1033 .elementor-element.elementor-element-424b648{--display:flex;}.elementor-1033 .elementor-element.elementor-element-e932f56.elementor-element{--align-self:center;}.elementor-1033 .elementor-element.elementor-element-7decef9.elementor-element{--align-self:center;}.elementor-1033 .elementor-element.elementor-element-3b7d190c{--display:flex;--min-height:291px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#61CE7000;--border-color:#61CE7000;--border-radius:00px 0px 0px 0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1033 .elementor-element.elementor-element-3b7d190c:not(.elementor-motion-effects-element-type-background), .elementor-1033 .elementor-element.elementor-element-3b7d190c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1B1B1B;}@media(max-width:1024px){.elementor-1033 .elementor-element.elementor-element-78c52bd2{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--margin-top:0px;--margin-bottom:00px;--margin-left:0px;--margin-right:0px;--padding-top:0;--padding-bottom:0;--padding-left:5%;--padding-right:5%;}.elementor-1033 .elementor-element.elementor-element-4eea3ef{padding:10px 10px 10px 10px;}.elementor-1033 .elementor-element.elementor-element-51879e06{--margin-top:0;--margin-bottom:0;--margin-left:0;--margin-right:0;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1033 .elementor-element.elementor-element-63ede407.elementor-element{--align-self:center;}.elementor-1033 .elementor-element.elementor-element-63ede407 .elementor-icon-wrapper{text-align:center;}.elementor-1033 .elementor-element.elementor-element-63ede407 .elementor-icon{font-size:26px;}.elementor-1033 .elementor-element.elementor-element-63ede407 .elementor-icon svg{height:26px;}.elementor-1033 .elementor-element.elementor-element-8988b53{--e-off-canvas-justify-content:flex-end;}.elementor-1033 .elementor-element.elementor-element-8988b53 .e-off-canvas__content{border-radius:020px 0px 0px 020px;}.elementor-1033 .elementor-element.elementor-element-f1d3811{padding:10px 10px 0px 10px;}.elementor-1033 .elementor-element.elementor-element-f1d3811 img{width:25%;}}@media(max-width:767px){.elementor-1033 .elementor-element.elementor-element-78c52bd2{--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0;--padding-bottom:0;--padding-left:5%;--padding-right:5%;}.elementor-1033 .elementor-element.elementor-element-4eea3ef{padding:10px 10px 10px 10px;}.elementor-1033 .elementor-element.elementor-element-4eea3ef img{width:220px;}.elementor-1033 .elementor-element.elementor-element-51879e06{--margin-top:0;--margin-bottom:0;--margin-left:0;--margin-right:0;}.elementor-1033 .elementor-element.elementor-element-765597e{--min-height:1440px;}.elementor-1033 .elementor-element.elementor-element-8988b53{--e-off-canvas-justify-content:flex-end;--e-off-canvas-width:253px;}.elementor-1033 .elementor-element.elementor-element-8988b53 .e-off-canvas__content{border-radius:020px 0px 0px 020px;}.elementor-1033 .elementor-element.elementor-element-f69bb4d{--border-radius:0px 0px 0px 0px;}.elementor-1033 .elementor-element.elementor-element-f1d3811{padding:010px 10px 010px 10px;}.elementor-1033 .elementor-element.elementor-element-f1d3811 img{width:40%;}}@media(min-width:768px){.elementor-1033 .elementor-element.elementor-element-78c52bd2{--content-width:1312px;}.elementor-1033 .elementor-element.elementor-element-51879e06{--width:9%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1033 .elementor-element.elementor-element-51879e06{--width:30%;}}/* Start custom CSS for html, class: .elementor-element-63b6e086 */.cpc-week-pill{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.35rem .75rem; border-radius:9999px;
  background:transparent;               /* no fill */
  color:#fff;                           /* bright white text */
  font:600 14px/1 'Poppins',sans-serif;
  border:1px solid rgba(255,255,255,.8);/* white border */
}
.cpc-week-pill .dot{ opacity:.75 }       /* brighter dot */
@media (max-width:640px){
  .cpc-week-pill{ font-size:13px; padding:.3rem .6rem; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ad17606 *//* ================= CPC Account Dropdown — Static Caret (no animation/duplication) ================= */

/* Base wrapper */
.cpc-account-menu{
  position: relative;
  display: inline-block;
  font-family: 'Poppins', sans-serif;
}

/* Toggle button */
.cpc-account-toggle{
  display:flex; align-items:center; gap:8px;
  background:transparent; border:0;
  padding:8px 12px; border-radius:10px;
  color:#1B1B1B; cursor:pointer;
}
.cpc-account-toggle:hover{ background:#f3f4f6; }
.cpc-account-toggle:focus{ outline:none; }
.cpc-account-toggle:focus-visible{ outline:2px solid #61CE70; outline-offset:2px; }

/* --- STATIC CARET --- */
/* Nuke any previous pseudo-elements/lines/arrows */
.cpc-caret{ 
  display:inline-flex; align-items:center; justify-content:center;
  width:auto; height:auto; line-height:1; vertical-align:middle;
  background:none !important; border:0 !important; transform:none !important;
}
.cpc-caret::after{ content:none !important; border:0 !important; }  /* kill old border-triangle */
.cpc-caret::before{
  content:"▾";                    /* single, solid down chevron */
  display:block;
  font-size:12px; line-height:1;
  color:currentColor;             /* matches label color */
}
/* Ensure no theme/script rotates it when open */
.cpc-account-menu.is-open .cpc-caret{ transform:none !important; }

/* Dropdown panel */
.cpc-account-dropdown{
  display:none;
  position:absolute; top:100%; left:0;
  min-width:180px;
  background:#fff; color:#1B1B1B;
  border:1px solid #e5e7eb; border-radius:12px;
  margin-top:6px; z-index:1000;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}
.cpc-account-menu.is-open .cpc-account-dropdown{ display:block; }

.cpc-account-dropdown a{
  display:block; text-decoration:none;
  padding:12px 14px; border-radius:8px;
  color:inherit; font-size:14px; font-weight:500;
}
.cpc-account-dropdown a:hover{
  background:#f3f4f6; color:#111827;
}

/* Light theme (default) */
.cpc-account-menu--light .cpc-account-toggle{ color:#1B1B1B; }
.cpc-account-menu--light .cpc-account-dropdown{
  background:#fff; color:#1B1B1B; border-color:#e5e7eb;
}

/* Dark theme */
.cpc-account-menu--dark .cpc-account-toggle{ color:#fff; }
.cpc-account-menu--dark .cpc-account-toggle:hover{ background:rgba(255,255,255,.08); }
.cpc-account-menu--dark .cpc-account-dropdown{
  background:#1B1B1B; color:#eee; border-color:#2a2a2a;
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}
.cpc-account-menu--dark .cpc-account-dropdown a:hover{ background:#2a2a2a; }

/* Kill any native marker some themes inject */
.cpc-account-toggle::-webkit-details-marker{ display:none; }

/* ===== Light theme: keep solid background at all times ===== */
.cpc-account-menu--light .cpc-account-toggle{
  background:#fff !important;
  color:#1B1B1B;
  border:1px solid #e5e7eb;
  border-radius:10px;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
  -webkit-tap-highlight-color: transparent; /* no mobile flash */
}

.cpc-account-menu--light .cpc-account-toggle:hover,
.cpc-account-menu--light .cpc-account-toggle:focus,
.cpc-account-menu--light .cpc-account-toggle:active,
.cpc-account-menu--light.is-open .cpc-account-toggle{
  background:#fff !important; /* never goes transparent */
  color:#1B1B1B;
  border-color:#e5e7eb;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
}

.cpc-account-menu--light .cpc-account-toggle:focus-visible{
  outline:2px solid #61CE70; 
  outline-offset:2px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b0ff3a0 */@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
:root{
  --brand:#61CE70;
  --text:#3f3f3f;
  --muted:#737a84;
  --card:#fff;
  --border:#eaeaea;
  --shadow:0 6px 20px rgba(0,0,0,.06);
  --ink:#2b2f36;
  --overlay:rgba(20,24,28,.35);
}

/* Container */
.cpc-menu{
  font-family:'Poppins',sans-serif; color:var(--text);
  background:var(--card); border:1px solid var(--border);
  border-radius:20px; padding:28px 24px; box-shadow:var(--shadow);
  max-width:1360px; width:min(1360px,98vw);
  margin:32px auto;
}

/* Tabs */
.cpc-weeks{
  display:flex; gap:20px; border-bottom:1px solid var(--border);
  margin-bottom:14px; flex-wrap:wrap;
}
.cpc-weeks .tab{
  appearance:none; background:transparent; border:0; padding:.6rem 0;
  color:#8a8f98; font-weight:500; cursor:pointer; position:relative;
}
.cpc-weeks .tab.is-active{ color:#3a3a3a; font-weight:600; }
.cpc-weeks .tab.is-active::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--brand);
}
.cpc-weeks .tab:focus-visible{
  outline:3px solid var(--brand); outline-offset:3px; border-radius:8px;
}
.cpc-weeks .today-badge{
  font-weight:600; color: var(--brand); margin-left:.25rem; white-space: nowrap; font-size:.95em;
}

/* Grid + Card */
.cpc-panels{ margin-top:8px; }
.cpc-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:16px;
}
.cpc-card{
  background:#fff; border:1px solid var(--border); border-radius:14px; overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease; cursor:pointer;
}
.cpc-card:hover{ transform:translateY(-2px); box-shadow:0 10px 20px rgba(0,0,0,.08); }
.cpc-card:focus-visible{ outline:3px solid var(--brand); outline-offset:3px; }
.cpc-card img{ width:100%; height:180px; object-fit:cover; display:block; }
.cpc-card__body{ padding:14px; }
.cpc-card h3{ margin:0 0 8px 0; font-size:16px; font-weight:600; color:var(--text); }
.cpc-tags{
  list-style:none; margin:0 0 8px 0; padding:0;
  display:flex; gap:8px; flex-wrap:wrap;
}
.cpc-tags li{ font-size:12px; padding:.22rem .5rem; border-radius:9999px; background:#f3f5f7; color:#3a3a3a; }
.cpc-tags li.unavailable{ background:#eef1f5; color:#7b8796; }
.cpc-macros{ margin:0 10px 12px 0; color:#7a828e; font-size:13px; }

/* Modal */
.cpc-modal{ border:0; padding:0; width:min(880px,96vw); max-height:90vh; background:transparent; }
.cpc-modal::backdrop{ background:var(--overlay); }
.cpc-modal__overlay{ position:fixed; inset:0; }
.cpc-modal__card{
  display:grid; grid-template-columns:1fr 1fr;
  background:#fff; border-radius:18px; overflow:hidden;
  border:1px solid var(--border); box-shadow:0 30px 80px rgba(0,0,0,.28);
  position:relative;
}
.cpc-modal__media{ background:var(--ink); position:relative; }
.cpc-modal__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.cpc-modal__content{ position:relative; padding:22px 18px 18px; color:var(--text); }
.cpc-modal__content h3{
  margin:0 0 8px 0; font-weight:700; color:var(--text);
  font-size: clamp(18px, 2.2vw, 22px);
  padding-right: 44px; /* room for X on desktop/tablet */
}
.cpc-desc{ margin:8px 0 12px; color:#586270; font-size:14px; }

/* ONE minimalist close X — shared element moved by JS */
/* Base reset: no background, no border, no ring */
#cpc-close{
  position:absolute;
  appearance:none !important;
  -webkit-appearance:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:none !important;
  padding:0 2px !important;
  cursor:pointer;
  line-height:1;
  z-index:10;
  font-weight:700;
}

/* Desktop/Tablet: top-right of content, dark gray */
.cpc-modal__content #cpc-close{
  top:10px; right:12px;
  font-size:28px;
  color:#444 !important;
}
.cpc-modal__content #cpc-close:hover{ color:#222 !important; }
.cpc-modal__content #cpc-close:focus,
.cpc-modal__content #cpc-close:focus-visible{
  outline:none !important; box-shadow:none !important;
}

/* Mobile: top-right of IMAGE, always white (no dynamic blend), with soft shadow */
.cpc-modal__media #cpc-close{
  top:10px; right:10px;
  font-size:26px;
  color:#fff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.55), 0 0 2px rgba(0,0,0,.35);
}
.cpc-modal__media #cpc-close:hover{ color:#fff !important; }
.cpc-modal__media #cpc-close:focus,
.cpc-modal__media #cpc-close:focus-visible{
  outline:none !important; box-shadow:none !important;
}

/* Purchase row */
.cpc-modal__purchase{
  display:flex; align-items:center; gap:12px; margin-top:10px; flex-wrap:wrap;
}
.cpc-price{ font-weight:700; font-size:18px; margin-right:auto; color:var(--brand); }

/* Quantity */
.cpc-qty{
  display:inline-flex; align-items:center; border:1px solid var(--border);
  border-radius:9999px; overflow:hidden; height:36px;
}
.cpc-qty input{
  width:48px; text-align:center; border:0; padding:0;
  font-family:'Poppins',sans-serif; font-size:14px; line-height:1.2;
  color:var(--text); background:#fff; height:100%;
}
.cpc-qty button{
  border:1px solid var(--border) !important;
  background:#f3f4f6 !important;
  padding:0 .6rem; font-size:16px; height:100%; cursor:pointer;
  color:#111 !important; box-shadow:none !important;
}
.cpc-qty button:hover,.cpc-qty button:focus{
  background:#e9e9e9 !important; color:#111 !important; border-color:#d4d4d4 !important;
  box-shadow:none !important; filter:none !important;
}

/* Buttons (Available) */
.cpc-btn,.cpc-btn--cta{
  width:100%; border:1px solid var(--brand); border-radius:9999px; padding:.6rem 1rem;
  font-weight:600; color:#fff; background: var(--brand);
  box-shadow:0 6px 18px rgba(97,206,112,.35);
  transition:transform .12s ease, box-shadow .12s ease;
}
.cpc-btn:hover,.cpc-btn:focus,.cpc-btn:active,
.cpc-btn--cta:hover,.cpc-btn--cta:focus,.cpc-btn--cta:active{
  background: var(--brand) !important; color:#fff !important; border-color: var(--brand) !important;
  transform:translateY(-1px); box-shadow:0 10px 22px rgba(97,206,112,.45) !important; filter:none !important;
}
.cpc-btn:focus-visible{ outline:3px solid var(--brand); outline-offset:2px; }

/* Buttons (Unavailable) */
.cpc-btn.is-unavailable{
  background:#e8eaee !important;
  border-color:#d5d9df !important;
  color:#8d97a6 !important;
  box-shadow:none !important;
  cursor:not-allowed !important;
  transform:none !important;
}
.cpc-btn.is-unavailable:hover,
.cpc-btn.is-unavailable:focus,
.cpc-btn.is-unavailable:active{
  background:#e0e4ea !important;
  border-color:#cfd6de !important;
  color:#94a3b8 !important;
  box-shadow:none !important;
  filter:none !important;
}

/* Unavailable cards: subtle grayscale */
.cpc-card.is-unavailable { filter: grayscale(1) brightness(.92) contrast(.98); }

/* Gold pill (Popular) */
.pill--gold{
  display:inline-flex; align-items:center;
  padding:.22rem .6rem; border-radius:9999px;
  font-weight:700; font-size:12px; color:#3b2905;
  background: linear-gradient(180deg, #ffe7a1 0%, #f7c95f 45%, #e3a018 52%, #f7d47b 100%);
  box-shadow:
    inset 0 1px 2px rgba(255,255,255,.6),
    inset 0 -1px 2px rgba(0,0,0,.08),
    0 1px 3px rgba(0,0,0,.12);
  border: none;
}

/* A11y helpers */
.sr-only{
  position:absolute !important; width:1px !important; height:1px !important;
  padding:0 !important; margin:-1px !important; overflow:hidden !important;
  clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;
}
#cpc-qty{ max-width:64px; text-align:center; border:1px solid var(--border); background:#fff; color:var(--text); }
#cpc-qty::-webkit-outer-spin-button,#cpc-qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
#cpc-qty{ -moz-appearance:textfield; }

/* Toast */
.cpc-toast{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(20px);
  background:var(--ink); color:#fff; padding:.6rem .9rem; border-radius:10px;
  opacity:0; pointer-events:none; transition: all .2s ease;
}
.cpc-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

/* Responsive layout */
@media (max-width:1024px){ .cpc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){
  .cpc-grid{ grid-template-columns:1fr; }
  .cpc-menu{ padding:22px 16px; border-radius:16px; }
  .cpc-modal__card{ grid-template-columns:1fr; }
  .cpc-modal__media{ max-height:42vh; }
}

/* ===== FORCE-CENTER THE MENU CONTAINER (box only) ===== */
.cpc-menu{
  /* usual centering */
  margin-left:auto !important;
  margin-right:auto !important;

  /* if parent is flex/grid */
  align-self:center !important;
  justify-self:center !important;

  /* kill stray floats */
  float:none !important;

  /* avoid box overflow side-effects */
  box-sizing:border-box;
}

/* Last-resort visual centering (works even inside stubborn builders) */
.cpc-menu[data-cpc-menu]{
  position:relative;
  left:50%;
  transform:translateX(-50%);
}

/* Keep width logic from your existing rules */
.cpc-menu{
  max-width:1360px;
  width:min(1360px,98vw);
}

/* Small screens: ensure it can’t “nudge” off-screen due to parent padding */
@media (max-width:640px){
  .cpc-menu{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7decef9 *//* === Account Dropdown: White Sidebar Style (Static Downward Caret) === */
.cpc-account-menu--white {
  position: relative;
  display: inline-block;
  font-family: 'Poppins', sans-serif;
}

.cpc-account-menu--white .cpc-account-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  font-size: 14px;
  font-weight: 600;
  color: #2b2f36;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 8px;
}
.cpc-account-menu--white .cpc-account-toggle:hover { background: #f3f4f6; }

/* Static caret (always points down) */
.cpc-account-menu--white .cpc-caret {
  display: inline-block;
  width: 12px;
  height: 12px;
  position: relative;
}

.cpc-account-menu--white .cpc-caret::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-right: 2px solid #6b7280; /* gray */
  border-bottom: 2px solid #6b7280; /* gray */
  transform: rotate(45deg);         /* ▼ down arrow */
  margin-top: -1px;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,0.25)); /* subtle shadow */
}

/* Dropdown */
.cpc-account-menu--white .cpc-account-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 160px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  margin-top: 6px;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
  z-index: 50;
}
.cpc-account-menu--white.is-open .cpc-account-dropdown { display: block; }

.cpc-account-menu--white .cpc-account-dropdown a {
  display: block;
  padding: 10px 14px;
  font-size: 14px;
  color: #2b2f36;
  text-decoration: none;
}
.cpc-account-menu--white .cpc-account-dropdown a:hover {
  background: #f3f4f6;
  color: #111827;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6528feb */@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap');

:root{
  --brand:#61CE70;
  --ink:#1f1f1f;
  --muted:#6b7280;
  --line:#eceff3;
  --white:#ffffff;
  --shadow-lg:0 14px 30px rgba(0,0,0,.12), 0 6px 12px rgba(0,0,0,.10);
  --shadow-sm:0 6px 14px rgba(0,0,0,.10), 0 2px 6px rgba(0,0,0,.08);
}

/* Panel wrapper (place this inside your off-canvas container) */
.oc-panel{
  font-family:'Poppins',sans-serif;
  color:var(--ink);
  display:flex;
  flex-direction:column;
  gap:18px;
  width:100%;
  box-sizing:border-box;
  /* add breathable space so shadows show even on white */
  padding:16px 12px 20px;
  background:transparent; /* built for white pages */
}

/* Link list */
.oc-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* Menu item (always has a soft drop shadow) */
.oc-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  padding:14px 18px;
  background:var(--white);
  color:#464646;
  text-decoration:none;
  border-radius:14px;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm) !important; /* always on */
  transition:transform .15s ease, box-shadow .15s ease, background .2s ease, color .2s ease;
}

/* Label + chevron */
.oc-item__label{ font-weight:500; font-size:15px; }
.oc-item__chev{ font-size:18px; line-height:1; color:#9aa3ad; }

/* Hover/Focus – still white background, slightly brighter text, a touch more lift */
.oc-item:hover,
.oc-item:focus-visible{
  background:#fff;
  color:#525252;
  box-shadow:var(--shadow-lg) !important;
  transform:translateY(-1px);
  outline:none;
}

/* Active/current page state – faint gray fill but still “white” look */
.oc-item.is-active{
  background:#f7f8fa;
  color:#3f3f3f;
  box-shadow:var(--shadow-lg) !important;
}

/* Auth row */
.oc-auth{
  display:flex;
  gap:12px;
  width:100%;
}

/* Auth buttons share the same “pill + shadow always” style */
.oc-btn{
  flex:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border-radius:9999px;
  padding:.9rem 1.1rem;
  font-size:15px;
  font-weight:500;
  box-shadow:var(--shadow-sm) !important;  /* always on */
  transition:transform .15s ease, box-shadow .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
  border:1px solid var(--line);
}

/* Login (ghost white) */
.oc-btn--ghost{
  background:#fff;
  color:#464646;
}
.oc-btn--ghost:hover,
.oc-btn--ghost:focus-visible{
  background:#f8fafc;
  color:#5a5a5a;
  box-shadow:var(--shadow-lg) !important;
  transform:translateY(-1px);
}

/* Sign up (brand) */
.oc-btn--brand{
  background:var(--brand);
  color:#fff;
  border-color:transparent;
}
.oc-btn--brand:hover,
.oc-btn--brand:focus-visible{
  background:#4dbd61;
  box-shadow:var(--shadow-lg) !important;
  transform:translateY(-1px);
}

/* Tight phones: keep everything full-bleed inside the off-canvas */
@media (max-width:480px){
  .oc-panel{ padding:14px 10px 18px; }
  .oc-item{ padding:13px 16px; }
  .oc-btn{ padding:.85rem 1rem; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-765597e *//* =========================================================
   Clean Plate Club – Full Shop (smaller cards + dividers)
   + Tiny green side cart bubble
   (for shortcode [cpc_full_shop_all])
   ========================================================= */

/* Optional font (remove if your theme already loads Poppins) */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");

/* ---- Design tokens ---- */
:root{
  --cpc-text:#494949;
  --cpc-green:#61CE70;
  --cpc-border:#E5E7EB;
  --cpc-muted:#6B7280;
  --cpc-rule:#F1F3F5;
  --cpc-white:#ffffff;
}

/* ---- Base wrapper ---- */
.cpc-fullshop{
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;
  color:var(--cpc-text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Woo notices spacing */
.cpc-fullshop .woocommerce-notices-wrapper{ margin-bottom:14px; }

/* ---- Header note only (top cart removed) ---- */
.cpc-fullshop .cpc-header{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap; margin-bottom:6px;
}
.cpc-fullshop .cpc-header .cpc-note{ font-weight:600; }
.cpc-fullshop .cpc-header .cpc-cart-btn{ display:none !important; } /* hide header cart */

/* ---- Section dividers & headings ---- */
.cpc-section{
  padding:22px 0;
  border-top:2px solid var(--cpc-rule);
  position:relative;
}
.cpc-section:first-of-type{ border-top:0; padding-top:10px; }
.cpc-section:nth-of-type(even){
  background:linear-gradient(0deg,#fafafa 0%,#ffffff 100%);
}
.cpc-section__head{ display:flex; align-items:center; gap:10px; margin:4px 0 12px; }
.cpc-section__title{ margin:0; font-size:18px; font-weight:700; letter-spacing:.2px; }
.cpc-section__badge{
  padding:4px 10px; font-size:12px; font-weight:700; border-radius:999px;
}
.cpc-section__badge--today{
  background:rgba(97,206,112,.12); color:#0a7a19; border:1px solid rgba(97,206,112,.45);
}
.cpc-section__badge--unavail{ background:#111827; color:#fff; }

/* ---- Grid: 4 per row on desktop (your menus have 4 items) ---- */
.cpc-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
@media (max-width:1200px){ .cpc-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px){  .cpc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){  .cpc-grid{ grid-template-columns:1fr; } }

/* ---- Card (smaller, clean) ---- */
.cpc-card{
  border:1px solid var(--cpc-border); border-radius:14px; background:#fff;
  overflow:hidden; box-shadow:0 6px 14px rgba(0,0,0,.06);
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;
  display:flex; flex-direction:column;
}
.cpc-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 22px rgba(0,0,0,.10);
  border-color:var(--cpc-green);
}

/* Image (3:2, subtle zoom on hover) */
.cpc-card__imgwrap{ position:relative; overflow:hidden; }
.cpc-card__imgwrap img{
  width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; display:block;
  transition:transform .35s ease;
}
.cpc-card:hover .cpc-card__imgwrap img{ transform:scale(1.04); }

/* Unavailable chip */
.cpc-unavail-chip{
  position:absolute; top:10px; left:10px;
  background:#111827; color:#fff; font-weight:700; font-size:11px;
  padding:5px 9px; border-radius:999px;
}

/* Card body */
.cpc-card__body{ padding:10px 12px 10px; display:flex; flex-direction:column; gap:6px; }
.cpc-title{ margin:0; font-size:16px; font-weight:700; color:var(--cpc-text); }
.cpc-tags{ display:flex; gap:6px; list-style:none; margin:0; padding:0; }
.cpc-tags li{
  padding:3px 7px; border:1px solid var(--cpc-border); border-radius:999px;
  font-size:11px; color:var(--cpc-muted); background:#fff;
  box-shadow:0 1px 0 rgba(17,24,39,.04) inset;
}
.pill--gold{ background:#fff7d6; border-color:#f7d24a; color:#7a5c00; }
.cpc-macros{ color:var(--cpc-muted); font-size:13px; }
.cpc-price{ font-weight:700; font-size:14px; }

/* Actions */
.cpc-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.cpc-btn{
  border-radius:10px; padding:8px 12px; font-weight:700;
  border:1px solid var(--cpc-border); background:#fff; color:var(--cpc-text);
  cursor:pointer; transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  font-size:13px;
}
.cpc-btn:hover{ transform:translateY(-1px); }
.cpc-btn--cta,
.button.cpc-btn--cta{
  background:var(--cpc-green)!important; border-color:var(--cpc-green)!important; color:#fff!important;
  box-shadow:0 8px 16px rgba(97,206,112,.22);
}
.cpc-btn.is-unavailable{ opacity:.6; pointer-events:none; }

/* ---- Drawer (inline details below each card) ---- */
.cpc-drawer{
  display:none; border-top:1px dashed var(--cpc-border);
  padding:10px 12px 12px; background:#fafafa;
  transition:opacity .18s ease;
}
.cpc-drawer:not(.is-open){ opacity:0; }
.cpc-drawer.is-open{ display:block; opacity:1; }
.cpc-desc{ color:var(--cpc-muted); line-height:1.55; margin:4px 0 8px; }

/* Qty + Add-to-cart (Woo AJAX) */
.cpc-qty{
  display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--cpc-border); border-radius:10px; padding:5px; background:#fff;
}
.cpc-qty input{
  width:56px; height:34px; text-align:center; border:0; outline:none;
  font-weight:600; color:var(--cpc-text);
}
.cpc-qty button{
  width:30px; height:30px; border-radius:8px;
  border:1px solid var(--cpc-border); background:#fff; color:#111; cursor:pointer;
}

/* ---- Tiny green side cart bubble (sticky) ---- */
#cpc-sticky-cart.cpc-bubble{
  --bubble-size:44px;

  position:fixed; top:50%; right:14px; transform:translateY(-50%);
  z-index:9999;

  display:inline-flex; align-items:center; gap:8px;
  height:var(--bubble-size); padding:0 12px;
  border-radius:999px;

  background:var(--cpc-green); border:1px solid var(--cpc-green); color:#fff;
  box-shadow:0 12px 28px rgba(97,206,112,.35);

  transition:transform .15s ease, box-shadow .15s ease, padding .2s ease, background .2s ease;
  font-weight:700; line-height:1;
}
#cpc-sticky-cart.cpc-bubble svg{ width:18px; height:18px; stroke:currentColor; }

/* Hide 'Cart' label by default; count stays visible */
#cpc-sticky-cart.cpc-bubble span:first-of-type{ display:none; }
#cpc-sticky-cart.cpc-bubble .cpc-cart-count{
  min-width:22px; height:22px; padding:0 6px;
  background:#fff; color:#0a7a19; font-size:12px; font-weight:800; line-height:22px; border-radius:999px;
}

/* Hover/focus: slight pull-out and reveal label on larger screens */
#cpc-sticky-cart.cpc-bubble:hover,
#cpc-sticky-cart.cpc-bubble:focus{
  transform:translateY(-50%) translateX(-2px);
  box-shadow:0 16px 34px rgba(97,206,112,.45);
}
#cpc-sticky-cart.cpc-bubble:hover span:first-of-type,
#cpc-sticky-cart.cpc-bubble:focus span:first-of-type{
  display:inline;
}

@media (max-width:680px){
  #cpc-sticky-cart.cpc-bubble{
    top:auto; bottom:18px; right:14px; transform:none; padding:0 10px;
  }
  #cpc-sticky-cart.cpc-bubble span:first-of-type{ display:none; } /* keep compact on mobile */
}

/* Pop animation when Woo fragments update the count */
@keyframes cpcPop{ 0%{transform:scale(.8);} 70%{transform:scale(1.1);} 100%{transform:scale(1);} }
#cpc-sticky-cart.cpc-bubble .cpc-cart-count{ animation:cpcPop .25s ease; }

/* ---- Accessibility focus rings ---- */
.cpc-fullshop .cpc-card:focus-within,
.cpc-fullshop .cpc-btn:focus,
.cpc-fullshop #cpc-sticky-cart:focus{
  outline:2px solid rgba(97,206,112,.45);
  outline-offset:2px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e590515 *//* === Kill red hover styles inside the CPC popup === */
#cpc-store-popup a,
#cpc-store-popup a:hover,
#cpc-store-popup a:focus,
#cpc-store-popup a:active {
  color: inherit !important;
  background: transparent !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Base buttons: keep static look, no hover tint */
#cpc-store-popup .cpcsp-btn {
  transition: none !important;
}
#cpc-store-popup .cpcsp-btn:hover,
#cpc-store-popup .cpcsp-btn:focus,
#cpc-store-popup .cpcsp-btn:active {
  transform: none !important;
  box-shadow: none !important;
  background: #fff !important;               /* match default */
  border-color: var(--border) !important;
  color: #111 !important;
}

/* Brand button: stay green on hover (no red, no glow) */
#cpc-store-popup .cpcsp-btn--brand,
#cpc-store-popup .cpcsp-btn--brand:hover,
#cpc-store-popup .cpcsp-btn--brand:focus,
#cpc-store-popup .cpcsp-btn--brand:active {
  background: var(--brand) !important;
  border-color: var(--brand) !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Just in case any theme adds red focus rings */
#cpc-store-popup .cpcsp-btn:focus-visible {
  outline: 2px solid rgba(0,0,0,.25) !important; /* subtle, non-red focus */
  outline-offset: 2px !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-51d6ab7f *//* Footer base */
.cpc-footer{
  background:transparent;   /* transparent background */
  color:#f5f5f5;
  padding:20px;
  border-top:1px solid rgba(255,255,255,.1);
}
.cpc-footer__top{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:space-between;
  max-width:1200px;
  margin:0 auto;
}
.cpc-footer__col{
  flex:1 1 240px;
  min-width:200px;
}
.cpc-footer h4{
  font-size:14px;
  font-weight:600;
  margin-bottom:8px;
  color:#fff;
}
.cpc-footer p{
  font-size:12px;
  color:#d0d0d0;
  margin:4px 0;
}

/* Tiny contact form */
.cpc-footer__col form{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.cpc-footer__col input,
.cpc-footer__col textarea{
  padding:6px 8px;
  border-radius:0px;
  border :none;
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:12px;
}
.cpc-footer__col input::placeholder,
.cpc-footer__col textarea::placeholder{
  color:#aaa;
}
.cpc-footer__col button{
  padding:6px 10px;
  border:none;
  border-radius:9999px;
  background:var(--brand);
  color:#fff;
  font-weight:600;
  font-size:12px;
  cursor:pointer;
  transition:all .2s ease;
}
.cpc-footer__col button:hover{
  background:#4dbd61;
}

/* Quick Links */
.cpc-footer-links{
  list-style:none;
  margin:0; padding:0;
}
.cpc-footer-links li{ margin-bottom:6px; }
.cpc-footer-links a{
  color:#d0d0d0;
  text-decoration:none;
  font-size:13px;
  transition:color .2s ease;
}
.cpc-footer-links a:hover{
  color:#fff;
}

/* Copyright column */
.cpc-footer__copy{
  text-align:right;
}
.cpc-footer__copy p{
  margin:3px 0;
}/* End custom CSS */