
.wccpwa-wrap{width:100%;position:relative}

.gt_container--qzqhr a.glink span {
  color: white !IMPORTANT;
}


/* Search bar (like screenshot) */
.wccpwa-search{position:relative;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:14px;padding:2px 12px;max-width:520px;margin:0 auto 14px}
.wccpwa-search-input{flex:1;border:0;outline:none;background:transparent;color:#111;font:inherit;padding-right:36px}
.wccpwa-search-input::placeholder{color:rgba(0,0,0,.45)}
.wccpwa-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;opacity:.65;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;line-height:1;}
/* Render the clear (×) icon via CSS so it is consistent across Firefox/iOS and not present in HTML */
.wccpwa-search-clear::before{content:"\00D7";display:block;font-size:20px;line-height:1;}

/* Hide native search cancel buttons so our clear button is consistent */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration{ -webkit-appearance:none; }

/* Carousel + top-right arrows */
.wccpwa-carousel-row{position:relative;padding-bottom:38px;margin:0 0 12px}

/* Sticky carousel behavior */
.wccpwa-sticky-spacer{display:none}
.wccpwa-carousel-row.is-sticky{
  z-index:9998;
  margin:0;
  padding-top:24px;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(120%) blur(6px);
  /*border-bottom:1px solid rgba(0,0,0,.08);*/
}
.wccpwa-carousel-row.is-stuck-end{
  z-index:5;
}
.wccpwa-arrow{position:absolute;width:28px;height:28px;border-radius:999px;background:#fff;border:1px solid #c9a45b;color:#c9a45b;display:flex;align-items:center;justify-content:center;cursor:pointer}
.wccpwa-prev{right:36px}
.wccpwa-next{right:0}

.wccpwa-carousel{display:flex;gap:12px;overflow-x:auto;padding:10px 2px 6px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.wccpwa-carousel::-webkit-scrollbar{display:none}

/* Category card (dark theme compatible) */
.wccpwa-cat{min-width:140px;background:#111;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer}
.wccpwa-cat.is-active{border-color:#c9a45b;box-shadow:0 0 0 1px rgba(201,164,91,.35) inset}
.wccpwa-cat-icon{width:54px;height:54px;border-radius:12px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;overflow:hidden}
.wccpwa-cat-icon img{width:100%;height:100%;object-fit:cover}
.wccpwa-cat-title{color:#c9a45b;text-align:center;font:inherit;font-weight:600}

/* Heading */
.wccpwa-heading{text-align:left;margin:10px 0 16px;color:#c9a45b;font:inherit;font-weight:700;letter-spacing:.5px}
/* Product-grid category navigation arrows (separate from top carousel arrows) */
.wccpwa-products-stage{position:relative}
.wccpwa-products-nav{
  position:absolute;
  top:50%;
  left:0;
  right:0;
  transform:translateY(-50%);
  pointer-events:none;
  z-index:4;
}
.wccpwa-products-arrow{
  position:absolute;
  width:64px;
  height:64px;
  border:0;
  border-radius:999px;
  background:#39e7ad;
  color:#062a7a;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  pointer-events:auto;
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}
.wccpwa-products-arrow svg{
  width:28px;
  height:28px;
  display:block;
}
.wccpwa-products-prev{left:12px}
.wccpwa-products-next{right:12px}

@media (max-width:767px){
  .wccpwa-products-arrow{
    width:58px;
    height:58px;
  }
  .wccpwa-products-arrow svg{
    width:24px;
    height:24px;
  }
}
/* Grid (mobile-first like screenshot) */
.wccpwa-grid{display:grid;gap:14px}
.wccpwa-grid.cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.wccpwa-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.wccpwa-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:900px){.wccpwa-grid.cols-2{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Product card */
.wccpwa-card{background:#fff;border-radius:16px;overflow:hidden;position:relative;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.wccpwa-card-click{border:0;background:transparent;padding:0;display:block;width:100%;text-align:left;cursor:pointer}
.wccpwa-card-img{height:150px;background:#f2f2f2}
.wccpwa-card-img img{width:100%;height:100%;object-fit:cover}
.wccpwa-card-title{padding:10px 12px;color:#222;font:inherit;font-weight:600}

/* Add button (no price) */
.wccpwa-add-btn{margin:0 12px 12px;border:0;border-radius:999px;background:#c9a45b;color:#111;font:inherit;font-weight:700;padding:10px 12px;cursor:pointer;width:auto}
.wccpwa-add-btn.is-in-cart,.wccpwa-add-btn:disabled{opacity:.75;cursor:not-allowed}
.wccpwa-loading{padding:12px;text-align:center;opacity:.7}
.wccpwa-empty{padding:12px;opacity:.75}

/* Floating bottom cart button */
.wccpwa-fab{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:9999;border:0;border-radius:999px;background:#c9a45b;color:#111;padding:10px 16px;display:flex;align-items:center;gap:10px;flex-wrap:nowrap;font:inherit;font-weight:700;box-shadow:0 10px 24px rgba(0,0,0,.25);cursor:pointer}
.wccpwa-special-fab{position:fixed;left:50%;transform:translateX(-50%);bottom:72px;z-index:9999;border:0;border-radius:999px;background:#111;color:#fff;padding:10px 16px;display:flex;align-items:center;gap:10px;flex-wrap:nowrap;font:inherit;font-weight:700;box-shadow:0 10px 24px rgba(0,0,0,.25);cursor:pointer}
.wccpwa-special-fab .wccpwa-fab-icon{filter:invert(0)}
.wccpwa-fab-icon{display:flex;align-items:center;justify-content:center;line-height:1}
.wccpwa-fab-icon i{font-size:18px;line-height:1}
.wccpwa-fab-icon svg{width:18px;height:18px;display:block}
.wccpwa-fab-badge{position:absolute;right:-6px;top:-6px;min-width:22px;height:22px;border-radius:999px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}

/* Modal common */
.wccpwa-modal,.wccpwa-checkout{position:fixed;inset:0;z-index:10000}
.wccpwa-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.wccpwa-modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,92vw);background:#fff;border-radius:14px;overflow:hidden}
.wccpwa-modal-close{position:absolute;right:10px;top:10px;border:0;background:#fff;border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:22px;line-height:1}
.wccpwa-modal-content{padding:12px}
.wccpwa-modal-img{height:180px;background:#f2f2f2;border-radius:10px;overflow:hidden}
.wccpwa-modal-img img{width:100%;height:100%;object-fit:cover}
.wccpwa-modal-title{margin:10px 0 10px;font:inherit;font-weight:700}
.wccpwa-modal-add{border:0;border-radius:999px;background:#c9a45b;color:#111;font:inherit;font-weight:800;padding:10px 14px;cursor:pointer;width:100%}
.wccpwa-added-note{margin-top:8px;font-weight:700;color:#2b7a2b}

/* Checkout (Cart popup)
   Center the popup in the viewport so it doesn't appear stuck to the footer
   when the cart button widget is placed in footer/sections.
*/
.wccpwa-checkout{
  display:flex;
  align-items:center;
  justify-content:center;
}
.wccpwa-checkout-card{
  position:relative;
  left:auto;
  top:auto;
  transform:none;
  width:min(520px,94vw);
  max-height:80vh;
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

/* Cart widget uses a simpler container name */
.wccpwa-checkout-panel{
  position:relative;
  width:min(520px,94vw);
  max-height:80vh;
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.wccpwa-checkout-panel .wccpwa-checkout-close{
  position:absolute;
  right:10px;
  top:10px;
  width:34px;
  height:34px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  line-height:1;
}
.wccpwa-checkout-panel .wccpwa-cart-list{
  margin-top:26px;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:auto;
  max-height:34vh;
  padding-right:4px;
}

/* Make the form scrollable if there are many fields */
.wccpwa-checkout-panel .wccpwa-checkout-form{
  overflow:auto;
  max-height:28vh;
  padding-right:4px;
}

/* Keep the WhatsApp button visible at the bottom */
.wccpwa-checkout-panel .wccpwa-wa-btn{margin-top:auto;}
.wccpwa-checkout-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.12)}
.wccpwa-checkout-title{font-weight:800}
.wccpwa-checkout-close{border:0;background:transparent;font-size:22px;cursor:pointer}
.wccpwa-checkout-body{padding:12px 14px;overflow:auto;display:flex;flex-direction:column;gap:14px}

.wccpwa-cart-row{display:grid;grid-template-columns:52px 1fr auto auto;gap:10px;align-items:center;border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:10px}
.wccpwa-cart-thumb{width:52px;height:52px;border-radius:10px;overflow:hidden;background:#f2f2f2}
.wccpwa-cart-thumb img{width:100%;height:100%;object-fit:cover}
.wccpwa-cart-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:20px;background:#f4efe6;color:#6b4b1f}
.wccpwa-cart-meta{min-width:0}
.wccpwa-cart-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wccpwa-cart-sub{font-size:12px;opacity:.7;margin-top:2px}
.wccpwa-cart-name{font-weight:700}
.wccpwa-cart-qty{opacity:.75}
.wccpwa-cart-remove{border:0;background:transparent;font-size:18px;cursor:pointer}

.wccpwa-field{display:flex;flex-direction:column;gap:6px}
.wccpwa-field label{font-weight:700;opacity:.85}
.wccpwa-field input,.wccpwa-field textarea,.wccpwa-field select{border:1px solid rgba(0,0,0,.18);border-radius:999px;padding:10px 12px;font:inherit;outline:none}
.wccpwa-field textarea{border-radius:14px;min-height:90px;resize:vertical}
.wccpwa-invalid{border-color:#d11 !important;box-shadow:0 0 0 2px rgba(209,17,17,.1)}

.wccpwa-wa-btn{border:0;border-radius:999px;background:#0b5f52;color:#fff;padding:12px 14px;font:inherit;font-weight:800;cursor:pointer}


/* Shortcode cart button positioning */
.wccpwa-fab-static{position:relative;transform:none;left:auto;bottom:auto;}
.wccpwa-fab-fixed{position:fixed;}

.wccpwa-checkout-page{width:min(520px,94vw);margin:10px auto;background:#fff;border-radius:14px;overflow:hidden;}

.wccpwa-add-btn.is-added{opacity:.6;transform:scale(.98)}

.wccpwa-carousel{cursor:grab}
.wccpwa-carousel.is-dragging{cursor:grabbing}

.wccpwa-cart-qty{display:none}


/* Ensure search text is visible while typing (theme-safe) */
.wccpwa-search-input,
.wccpwa-search-widget-input{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  caret-color:#111 !important;
}
.wccpwa-search-input:focus,
.wccpwa-search-widget-input:focus{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  caret-color:#111 !important;
}
.wccpwa-search-input:focus::placeholder,
.wccpwa-search-widget-input:focus::placeholder{
  color:transparent !important;
}

/* Toast */
.wccpwa-toast{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  background:rgba(0,0,0,.85);
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  font-size:14px;
  z-index:999999;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.wccpwa-toast.is-show{
  opacity:1;
  transform:translateX(-50%) translateY(-4px);
}


/* === FIX: Centered cart popup + scroll + visible typing === */
/*
  IMPORTANT: Keep checkout hidden by default.
  We'll toggle .is-open from JS. This prevents the checkout from showing
  as soon as the page loads (themes/Elementor sometimes inject the markup early).
*/
.wccpwa-checkout{
  position:fixed !important;
  inset:0 !important;
  z-index:100000 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:16px !important;
}
.wccpwa-checkout.is-open{
  display:flex !important;
}
.wccpwa-checkout .wccpwa-modal-backdrop{
  position:absolute !important;
  inset:0 !important;
}

.wccpwa-checkout-panel{
  width:min(560px,94vw) !important;
  max-height:calc(100vh - 32px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
  box-shadow:0 20px 60px rgba(0,0,0,.25);
}

.wccpwa-checkout-panel .wccpwa-cart-list,
.wccpwa-checkout-panel .wccpwa-checkout-form{
  max-height:none !important;
  overflow:visible !important;
}

.wccpwa-checkout-panel .wccpwa-wa-btn{
  position:sticky;
  bottom:0;
  width:100%;
  margin-top:12px;
  z-index:2;
}

/* CF7 form inside checkout: remove big default <p> gaps + ensure text is visible */
.wccpwa-checkout-panel .wpcf7 form p{margin:0 !important; padding:0 !important;}
.wccpwa-checkout-panel .wpcf7 form br{display:none !important;}

/* When using CF7-designed wrapper (itq-wa-form), control spacing */
.wccpwa-checkout-panel .itq-wa-form .itq-field{margin-bottom:10px !important;}
.wccpwa-checkout-panel .itq-wa-form label{margin-bottom:6px !important;}

/* Make sure typed/selected text is visible in modal (themes sometimes set transparent text) */
.wccpwa-checkout-panel .itq-wa-form input,
.wccpwa-checkout-panel .itq-wa-form textarea,
.wccpwa-checkout-panel .itq-wa-form select{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  caret-color:#111 !important;
  background:#fff !important;
}
.wccpwa-checkout-panel .itq-wa-form select option{color:#111 !important;}

/* Ensure field typing is visible (themes may override) */
.wccpwa-field input,
.wccpwa-field textarea,
.wccpwa-field select{
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  caret-color:#111 !important;
  background:#fff !important;
}
.wccpwa-field input::placeholder,
.wccpwa-field textarea::placeholder{
  color:rgba(0,0,0,.45) !important;
}
.wccpwa-field input:focus::placeholder,
.wccpwa-field textarea:focus::placeholder{
  color:transparent !important;
}


/* Ensure Elementor icon/SVG fits inside the cart circle */
.wccpwa-fab-icon > svg,
.wccpwa-fab-icon > i{
  display:block;
  width:1em;
  height:1em;
  line-height:1;
}

/* Icon-only circular cart button */
.wccpwa-fab.wccpwa-fab--icononly{
  padding:0 !important;
  width:56px;
  height:56px;
  border-radius:999px;
  justify-content:center;
  gap:0;
}
.wccpwa-fab.wccpwa-fab--icononly .wccpwa-fab-icon{
  width:56px;
  height:56px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}
.wccpwa-fab.wccpwa-fab--icononly .wccpwa-fab-badge{
  position:absolute;
  right:-6px;
  top:-6px;
}

/* Hide clear button until search has value */
.wccpwa-search .wccpwa-search-clear{visibility:hidden;opacity:0;pointer-events:none;}
.wccpwa-search.has-value .wccpwa-search-clear{visibility:visible;opacity:.65;pointer-events:auto;}
/* CSS-only fallback (Firefox/iOS): show clear button when input has value, without JS */
.wccpwa-search-input:not(:placeholder-shown) + .wccpwa-search-clear{visibility:visible;opacity:.65;pointer-events:auto;}
.wccpwa-search-widget-input:not(:placeholder-shown) + .wccpwa-search-clear{visibility:visible;opacity:.65;pointer-events:auto;}

/* Hide carousel arrows automatically when there is nothing to scroll */
.wccpwa-carousel-row.wccpwa-no-arrows .wccpwa-arrow{display:none;}

/* Popup title/description visibility (controlled by Elementor toggles) */
.wccpwa-wrap[data-popup-title="0"] .wccpwa-modal-title{display:none;}
.wccpwa-wrap[data-popup-desc="0"] .wccpwa-modal-desc{display:none;}

/* Special category mode (e.g. Sadya): force-hide per-product add buttons */
.wccpwa-wrap.wccpwa-hide-add .wccpwa-add-btn,
.wccpwa-wrap.wccpwa-hide-add .wccpwa-modal-add{display:none!important}