/* =========================================
   PQ SHOP LAYOUT SYSTEM (CONTAINED)
   Inner-scroll results panel + optional sticky filters

   Targets:
   - WooCommerce Shop (product archive)
   - Product tax archives (optional)

   Requires Elementor structure:
   - Root wrapper:       .pq-shop-root
   - Filters container:  .pq-shop-filters (optional)
   - Results wrapper:    .pq-results-panel
   - Loop Grid wrapper:  .pq-loop-grid
   ========================================= */

/* ---- Tuning variables ----------------------------------------------------- */

body.woocommerce-shop,
body.post-type-archive-product,
body.woocommerce-cart,
body.woocommerce-account,
body.woocommerce-checkout{
  /* Adjust this to match sticky header + filters height. */
  --pq-shop-offset: 220px;

  /* If you have a sticky site header, set this to that header height. */
  --pq-shop-sticky-top: 0px;

  /* Optional spacing between filters + grid when both live inside panel */
  --pq-shop-panel-gap: 0px;

  /* Shared commerce button tokens (aligned with add-to-cart light style) */
  --pq-btn-bg: #e5e7ec;
  --pq-btn-bg-hover: #f1f3f7;
  --pq-btn-border: #d4d9e3;
  --pq-btn-text: #4a4f57;
  --pq-btn-text-hover: #2f343b;

  /* Shared portal Woo notice tokens */
  --pq-notice-bg: rgba(56, 56, 56, 0.96);
  --pq-notice-border: rgba(255,255,255,0.18);
  --pq-notice-text: #f2f2f2;
}

/* ---- Shared portal Woo notices ------------------------------------------- */
body:is(.woocommerce-shop, .post-type-archive-product, .woocommerce-cart, .woocommerce-account, .woocommerce-checkout) .pq-results-panel :is(.woocommerce-message, .woocommerce-info, .woocommerce-error){
  margin: 0 0 12px !important;
  padding: 12px 14px 12px 44px !important;
  border-radius: 12px !important;
  border: 1px solid var(--pq-notice-border) !important;
  background: var(--pq-notice-bg) !important;
  color: var(--pq-notice-text) !important;
  box-shadow: none !important;
  overflow-wrap: anywhere;
}

body:is(.woocommerce-shop, .post-type-archive-product, .woocommerce-cart, .woocommerce-account, .woocommerce-checkout) .pq-results-panel :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before{
  color: var(--pq-notice-text) !important;
}

body:is(.woocommerce-shop, .post-type-archive-product, .woocommerce-cart, .woocommerce-account, .woocommerce-checkout) .pq-results-panel :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a{
  color: #ffffff !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

body:is(.woocommerce-shop, .post-type-archive-product, .woocommerce-cart, .woocommerce-account, .woocommerce-checkout) .pq-results-panel .woocommerce-error{
  border-color: rgba(255, 173, 173, 0.28) !important;
}

body:is(.woocommerce-shop, .post-type-archive-product, .woocommerce-cart, .woocommerce-account, .woocommerce-checkout) .pq-results-panel .woocommerce-error li{
  color: inherit !important;
}
/* ==========================================================================
   PORTAL SHELL — LOCK ENTIRE APP TO VIEWPORT HEIGHT
   This prevents the sidebar and main stage from shrinking when few products exist
   ========================================================================== */

/* =========================================================
   ELEMENTOR CANVAS WRAPPERS — FORCE FULL VIEWPORT CHAIN
   Woo archive pages using Canvas still sit inside Elementor wrappers.
   If any wrapper collapses to content height, the portal shrinks.
   ========================================================= */

body.elementor-template-canvas,
body.elementor-template-canvas #page,
body.elementor-template-canvas .elementor,
body.elementor-template-canvas .elementor.elementor-location-archive{
  height: 100%;
  min-height: 0;
}

body.elementor-template-canvas .elementor.elementor-location-archive{
  display: flex;
  flex-direction: column;
}

body.elementor-template-canvas .pq-portal-shell{
  height: 100dvh;

  display: flex;
  flex-direction: column;

  overflow: hidden;
}

body.elementor-template-canvas .pq-portal-frame{
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;

  display: flex;
  flex-direction: row;
  align-items: stretch;

  overflow: hidden;
}

body.elementor-template-canvas .pq-portal-frame > .e-con-inner{
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  flex-direction: row;
  align-items: stretch;
}

body.elementor-template-canvas .pq-portal-sidebar{
  flex: 0 0 auto;
  min-height: 0;
}

body.elementor-template-canvas .pq-results-panel{
  flex: 1 1 auto;
  min-height: 0;
}

/* ---- Sticky filters (optional) ------------------------------------------- */
body.woocommerce-shop .pq-shop-filters,
body.post-type-archive-product .pq-shop-filters{
  position: sticky;
  top: var(--pq-shop-sticky-top);
  z-index: 50;
}

/* ---- Root container constraints (IMPORTANT) -------------------------------
   Elementor containers often create flex contexts that prevent inner overflow
   scrolling unless parents have `min-height: 0`.
   Add `.pq-shop-root` to the OUTERMOST container that wraps filters + results.
*/
body.woocommerce-shop .pq-shop-root,
body.post-type-archive-product .pq-shop-root{
  height: 100%;
  min-height: 0;
}

/* Ensure intermediate Elementor containers inside the root do not block scroll */
body.woocommerce-shop .pq-shop-root .e-con,
body.post-type-archive-product .pq-shop-root .e-con,
body.woocommerce-shop .pq-shop-root .e-con-inner,
body.post-type-archive-product .pq-shop-root .e-con-inner{
  min-height: 0;
}

/* ---- Results inner scroll container -------------------------------------- */
body.woocommerce-shop .pq-results-panel,
body.post-type-archive-product .pq-results-panel{
  /* In portal mode, height must be flex-driven, NOT vh math */
  height: auto;

  /* Make panel a column flex container so children stack cleanly */
  display: flex;
  flex-direction: column;
  gap: var(--pq-shop-panel-gap);

  overflow-y: auto;
  overflow-x: hidden;

  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;

  position: relative;

  /* Helps prevent odd paint/layout "escape" issues in some browsers */
  contain: none;

  /* Critical when parent containers are flex/grid */
  min-height: 0;

  /* Prevent overscroll chaining to the body */
  overscroll-behavior: contain;
}

/* If filters + grid live inside the scroll panel, make the grid section flexible */
body.woocommerce-shop .pq-results-panel .pq-loop-grid,
body.post-type-archive-product .pq-results-panel .pq-loop-grid{
  flex: 1 1 auto;
  min-height: 0;
}

/* If filters are inside the scroll panel, they should not stretch */
body.woocommerce-shop .pq-results-panel .pq-shop-filters,
body.post-type-archive-product .pq-results-panel .pq-shop-filters{
  flex: 0 0 auto;
}

/* Elementor containers sometimes need min-height:0 for scroll clipping */
body.woocommerce-shop .pq-results-panel .e-con,
body.post-type-archive-product .pq-results-panel .e-con,
body.woocommerce-shop .pq-results-panel .e-con-inner,
body.post-type-archive-product .pq-results-panel .e-con-inner{
  min-height: 0;
}

/* Keep Loop Grid from forcing height/overflow weirdness */
body.woocommerce-shop .pq-results-panel .elementor-widget-container,
body.post-type-archive-product .pq-results-panel .elementor-widget-container{
  height: auto;
}

/* ---- Optional: product tax archives too ----------------------------------
   If your shop template is used on category/tag archives, uncomment this.
*/
/*
body.tax-product_cat .pq-results-panel,
body.tax-product_tag .pq-results-panel{
  height: calc(100dvh - var(--pq-shop-offset));
  display: flex;
  flex-direction: column;
  gap: var(--pq-shop-panel-gap);
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  position: relative;
  contain: layout paint;
  min-height: 0;
  overscroll-behavior: contain;
}

body.tax-product_cat .pq-results-panel .pq-loop-grid,
body.tax-product_tag .pq-results-panel .pq-loop-grid{
  flex: 1 1 auto;
  min-height: 0;
}
*/


/* =========================================================
   PQ SHOP — JetPagination inside inner scroll panel
   ========================================================= */

.pq-results-panel .pq-jet-pagination {
  position: static !important;
  display: flex;
  justify-content: center;

  margin-top: 18px;
  margin-bottom: 8px;

  z-index: 1;
}

/* Make sure Jet's internal wrapper doesn't float */
.pq-results-panel .pq-jet-pagination .jet-pagination,
.pq-results-panel .pq-jet-pagination .jet-pagination__navigation {
  position: static !important;
  transform: none !important;
}

/* Prevent overlap caused by widget container behavior */
.pq-results-panel .pq-jet-pagination .elementor-widget-container {
  overflow: visible !important;
}

/* Ensure grid has space for pagination */
.pq-results-panel .pq-loop-grid{
  padding-bottom: 0;
}

/* =========================================================
   PQ PORTAL SHELL — Viewport-locked SaaS layout primitives
   Use these classes on ALL portal pages (Canvas template)

   Required structure:
   .pq-portal-shell
     .pq-portal-sidebar
     .pq-portal-main
       .pq-portal-topbar (optional)
       .pq-results-panel (scroll stage)
   ========================================================= */

/* Root sizing */
html,
body{
  height: 100%;
  min-height: 100%;
  margin: 0;
}

/* =========================================================
   ELEMENTOR CANVAS VIEWPORT ANCHOR
   Ensures portal shell cannot shrink when product count is low
   ========================================================= */

body.elementor-page,
body.elementor-page .elementor,
body.elementor-page .elementor-section-wrap,
body.elementor-page .elementor-container,
body.elementor-page .elementor-widget-wrap{
  height: 100%;
  min-height: 100%;
}

/* The shell becomes the "app viewport" */
.pq-portal-shell{
  height: 100dvh;
  min-height: 100dvh;
  max-height: 100dvh;

  display: flex;
  flex: 1 1 auto;

  width: 100%;
  overflow: hidden;      /* contain scrolling to inner panels */
}

/* Sidebar (fixed column) */
.pq-portal-shell .pq-portal-sidebar{
  flex: 0 0 auto;
  height: 100%;
  min-height: 0;
}

/* Main workspace (flex column) */
.pq-portal-shell .pq-portal-main{
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;         /* CRITICAL for inner scroll panels */
  display: flex;
  flex-direction: column;
  overflow: hidden;      /* prevent double scroll */
}

/* Optional topbar lives above the stage */
.pq-portal-shell .pq-portal-topbar{
  flex: 0 0 auto;
}

/* Stage panel grows and scrolls (portal mode = flex driven, NOT vh math) */
.pq-portal-shell .pq-results-panel{
  flex: 1 1 auto;
  min-height: 0;
  height: auto;          /* IMPORTANT: let flex determine height */
  max-height: none;

  display: flex;
  flex-direction: column;
  align-self: stretch;
  width: 100%;

  overflow: hidden;      /* stage should NOT scroll; loop grid will */
  overflow-x: hidden;

  position: relative;    /* required for Elementor background layers */
}

/* Ensure Elementor background layers inside the results panel can fill */
.pq-results-panel > .elementor-motion-effects-container{
  height: 100%;
}
.pq-results-panel > .elementor-motion-effects-container > .elementor-motion-effects-layer{
  height: 100%;
}

/* Elementor flex containers sometimes block shrinking unless min-height is reset */
.pq-portal-shell .e-con,
.pq-portal-shell .e-con-inner,
.pq-portal-shell .elementor-widget-container{
  min-height: 0;
}

/* =========================================================
   PORTAL MODE OVERRIDE (CRITICAL)
   If a portal page ALSO has Woo shop/archive body classes,
   the earlier shop rule:
     body.woocommerce-shop .pq-results-panel { height: ... !important; }
   will win unless we override with equal/higher specificity.
   ========================================================= */

body.woocommerce-shop .pq-portal-shell .pq-results-panel,
body.post-type-archive-product .pq-portal-shell .pq-results-panel{
  width: 100% !important;
  position: relative !important;
  /* stage wrapper */
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;

  /* IMPORTANT: do not scroll the whole stage */
  overflow: hidden !important;
  contain: none !important;
}

body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-filterbar,
body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-filterbar{
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-loop-grid,
body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-loop-grid{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  /* the Loop Grid widget wrapper should NOT be the scroll surface */
  overflow: hidden !important;
}

/* =========================================================
   PQ PORTAL UI REVEAL
   Scoped JS-driven entrance motion for shell/account surfaces.
   Use this instead of Elementor motion effects on portal containers.
   ========================================================= */

@keyframes pq-ui-fade-in{
  from{
    opacity: 0;
  }
  to{
    opacity: 1;
  }
}

.pq-portal-shell .pq-ui-reveal{
  opacity: 0;
  will-change: opacity;
}

.pq-portal-shell .pq-ui-reveal[data-pq-ui-reveal-state="hidden"]{
  opacity: 0;
  pointer-events: none;
}

.pq-portal-shell .pq-ui-reveal[data-pq-ui-reveal-state="visible"]{
  opacity: 1;
  animation: pq-ui-fade-in 1470ms cubic-bezier(.25,.9,.3,1) both;
  animation-delay: var(--pq-ui-reveal-delay, 0ms);
  pointer-events: auto;
}

@media (prefers-reduced-motion: reduce){
  .pq-portal-shell .pq-ui-reveal{
    animation: none !important;
  }

  .pq-portal-shell .pq-ui-reveal[data-pq-ui-reveal-state="hidden"],
  .pq-portal-shell .pq-ui-reveal[data-pq-ui-reveal-state="visible"]{
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* =========================================================
   PQ MINI CART (PORTAL SIDEBAR)
   - bg #383838, radius 10px
   - white type
   - name + price 14px
   - inner scroll (thin scrollbar, scoped)
   - remove + footer buttons: darker grey pills + hover lift
   - FIX: prevent ajax wrappers from dimming the widget
   ========================================================= */

/* ---------------------------------------------------------
   1) STYLE
   --------------------------------------------------------- */

.pq-mini-cart{
  background: #383838;
  border-radius: 10px;
  padding: 12px;
  color: #ffffff;

  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pq-mini-cart,
.pq-mini-cart *{
  color: inherit;
  box-sizing: border-box;
}

.pq-mini-cart.is-clearing{
  position: relative;
  isolation: isolate;
}

.pq-mini-cart.is-clearing::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,0.24);
  border-top-color: rgba(255,255,255,0.96);
  animation: pq-mini-cart-clearing-spin 760ms linear infinite;
  pointer-events: none;
}

.pq-mini-cart.is-clearing::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(196,78,78,0.2) 0%, rgba(196,78,78,0.12) 100%);
}

.pq-mini-cart.is-clearing > *{
  position: relative;
  z-index: 2;
  opacity: 0.58;
}

/* Header */
.pq-mini-cart__header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.pq-mini-cart__head-copy{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.pq-mini-cart__head-main{
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

.pq-mini-cart__title{
  font-size: 16px;
  font-weight: 800;
  line-height: 1.1;
}

.pq-mini-cart__clear{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 18px;
  padding: 0 8px;
  border: 1px solid rgba(196,78,78,0.24);
  border-radius: 999px;
  background: rgba(196,78,78,0.09);
  color: rgba(255,255,255,0.72);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  letter-spacing: 0.01em;
  white-space: nowrap;
  transition: color 140ms ease, opacity 140ms ease, background-color 140ms ease, border-color 140ms ease;
}

.pq-mini-cart__clear:hover{
  color: rgba(255,255,255,0.9);
  background: rgba(196,78,78,0.14);
  border-color: rgba(196,78,78,0.34);
}

.pq-mini-cart__clear.is-removing{
  pointer-events: none;
  opacity: 0.5;
}

.pq-mini-cart__meta{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  font-size: 13px;
  line-height: 1.1;
  opacity: 0.95;
}

.pq-mini-cart__count{ font-weight: 700; }
.pq-mini-cart__total{ font-weight: 800; }

.pq-mini-cart__reservation{
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  padding: 4px 8px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  font-size: 10px;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  max-width: 100%;
}

.pq-mini-cart__reservation-label{
  opacity: 0.72;
  font-weight: 700;
}

.pq-mini-cart__reservation-value{
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}

.pq-mini-cart__reservation.is-expired{
  border-color: rgba(196,78,78,0.36);
  background: rgba(196,78,78,0.14);
}

/* Inner scroll list */
.pq-mini-cart__items{
  max-height: 420px;          /* default cap; sidebar overrides this to none */
  overflow-y: auto;
  overflow-x: hidden;
  min-height: 0;
  padding-right: 6px;

  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;

  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.25) transparent;
}

/* Chrome / Safari scrollbar — scoped only to mini cart */
.pq-mini-cart__items::-webkit-scrollbar{ width: 6px; }
.pq-mini-cart__items::-webkit-scrollbar-track{ background: transparent; }
.pq-mini-cart__items::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,0.25);
  border-radius: 10px;
}
.pq-mini-cart__items::-webkit-scrollbar-thumb:hover{
  background: rgba(255,255,255,0.40);
}

.pq-mini-cart__empty{
  font-size: 13px;
  padding: 6px 0;
  opacity: 0.85;
}

/* Rows: 3 columns (left | price | remove) */
.pq-mini-cart__row{
  display: flex;
  align-items: flex-start;
  gap: 12px;

  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,0.12);
}

.pq-mini-cart__row.is-removing{
  opacity: 0.52;
  background: linear-gradient(90deg, rgba(196,78,78,0.22) 0%, rgba(196,78,78,0.1) 58%, rgba(196,78,78,0) 100%);
  border-radius: 10px;
  animation: pq-mini-cart-remove-flash 320ms ease;
  transition: opacity 160ms ease, background-color 160ms ease;
}

.pq-mini-cart__row.is-added{
  border-radius: 10px;
  animation: pq-mini-cart-added-flash 760ms ease;
}

.pq-mini-cart__left{
  flex: 1 1 auto;
  min-width: 0;
  transition: transform 180ms ease, opacity 160ms ease;
}

.pq-mini-cart__name{
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  word-break: break-word;
}

.pq-mini-cart__qty{
  margin-top: 4px;
  font-size: 13px;
  font-weight: 600;
  opacity: 0.85;
}

/* Price column */
.pq-mini-cart__right{
  flex: 0 0 auto;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  opacity: 0.98;
  transition: transform 180ms ease, opacity 160ms ease;
}

.pq-mini-cart__row.is-removing .pq-mini-cart__left,
.pq-mini-cart__row.is-removing .pq-mini-cart__right{
  transform: translateX(10px);
}

/* Remove button column */
.pq-mini-cart__remove{
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  border-radius: 10px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #2f2f2f;
  border: 1px solid rgba(255,255,255,0.12);

  font-size: 16px;
  line-height: 1;
  text-decoration: none;

  opacity: 0.92;
  transition: transform 140ms ease, opacity 140ms ease, background 140ms ease, border-color 140ms ease;
}

.pq-mini-cart__remove.is-removing{
  pointer-events: none;
  opacity: 0.55;
}

.pq-mini-cart__remove:hover{
  opacity: 1;
  transform: translateY(-1px);
  background: #262626;
  border-color: rgba(255,255,255,0.18);
}

.pq-mini-cart__remove:active{
  transform: translateY(0);
}

/* Footer buttons */
.pq-mini-cart__footer{
  display: flex;
  gap: 10px;
  margin-top: 2px;
}

.pq-mini-cart__btn{
  flex: 1 1 0;
  text-align: center;
  border: 1px solid var(--pq-btn-border);
  border-radius: 10px;

  padding: 10px 12px;

  font-size: 13px;
  font-weight: 800;
  line-height: 1.1;
  text-decoration: none;

  transition: transform 140ms ease, background 140ms ease, border-color 140ms ease;
}

.pq-mini-cart__btn:hover{
  transform: translateY(-1px);
  border-color: var(--pq-btn-border);
}

.pq-mini-cart__btn:active{
  transform: translateY(0);
}


/* ---------------------------------------------------------
   2) FIX: STOP PARENT “DIM ON LOAD” (opacity can’t be overridden by children)
   We target common Elementor/Woo/Jet ajax wrappers and force them back to 1
   ONLY when they contain .pq-mini-cart.
   --------------------------------------------------------- */

/* Elementor / general “loading” wrappers sometimes dim children */
.elementor-loading:has(.pq-mini-cart),
.e-loading:has(.pq-mini-cart),
.is-loading:has(.pq-mini-cart),
.loading:has(.pq-mini-cart){
  opacity: 1 !important;
  filter: none !important;
}

/* Jet / Woo ajax loading wrappers (common class patterns) */
.jet-filters-loading:has(.pq-mini-cart),
.jet-smart-filters-loading:has(.pq-mini-cart),
.jet-ajax-loading:has(.pq-mini-cart),
.woocommerce-loading:has(.pq-mini-cart),
.blockUI:has(.pq-mini-cart){
  opacity: 1 !important;
  filter: none !important;
}

/* If the sidebar/container itself is being dimmed, un-dim it when it contains the cart */
.pq-portal-sidebar:has(.pq-mini-cart),
.pq-portal-shell:has(.pq-mini-cart){
  opacity: 1 !important;
  filter: none !important;
}

/* Safety: remove “disabled” visual treatments that sometimes apply with opacity */
.pq-mini-cart{
  pointer-events: auto !important;
}

/* Force full visibility inside portal sidebar */
.pq-mini-cart,
.pq-mini-cart *,
.pq-mini-cart__btn,
.pq-mini-cart__remove{
  opacity: 1 !important;
}

/* Force white text explicitly */
.pq-mini-cart{
  color: #ffffff !important;
}

/* Ensure buttons render with proper fill */
.pq-mini-cart__btn{
  background: var(--pq-btn-bg) !important;
  border: 1px solid var(--pq-btn-border) !important;
  color: var(--pq-btn-text) !important;
}

.pq-mini-cart__btn:hover{
  background: var(--pq-btn-bg-hover) !important;
  color: var(--pq-btn-text-hover) !important;
}

/* Ensure remove button visible */
.pq-mini-cart__remove{
  background: #2f2f2f !important;
  color: #ffffff !important;
}

/* =========================================================
   PQ MINI CART — Stable reveal (max-height)
   Add `.pq-mini-cart-wrap` to the Elementor container that
   wraps the mini cart shortcode/widget.

   Why:
   - Woo/Flourish often re-renders the cart markup via AJAX.
   - The previous `grid-template-rows: 0fr -> 1fr` technique can
     leave the cart “squished” if the DOM swaps mid-transition.
   - This approach stays robust during markup replacement.
   ========================================================= */

/* NOTE: Elementor outputs BOTH a container and the shortcode widget.
   They were both using `.pq-mini-cart-wrap`, which caused height/overflow
   rules to apply twice. Scope transitions to the *container* only. */

/* Container (Elementor container / e-con) */
.pq-mini-cart-wrap.elementor-element{
  position: relative;
  overflow: hidden;
  min-height: 0;

  /* default open */
  max-height: 2000px;

  transition: max-height 420ms cubic-bezier(.2,.8,.2,1);
}

/* The shortcode widget inside should NOT be max-height/overflow clipped */
.pq-mini-cart-wrap.elementor-widget{
  max-height: none !important;
  overflow: visible !important;
  min-height: 0 !important;
}

/* Collapse ONLY when the cart is empty */
.pq-mini-cart-wrap.elementor-element:has(.pq-mini-cart__empty){
  max-height: 0;
}

/* Animate the cart itself (works regardless of AJAX wrapper structure) */
.pq-mini-cart-wrap.elementor-element .pq-mini-cart{
  min-height: 0;

  opacity: 1;
  transform: translateY(0) scale(1);
  transform-origin: top center;

  will-change: transform, opacity;

  transition:
    opacity 180ms ease,
    transform 420ms cubic-bezier(.2,.8,.2,1);
}

/* Hidden state visuals + click protection */
.pq-mini-cart-wrap.elementor-element:has(.pq-mini-cart__empty) .pq-mini-cart{
  opacity: 0;
  transform: translateY(10px) scale(0.985);
  pointer-events: none;
}

.pq-product-card{
  transition: transform 120ms ease, box-shadow 120ms ease;
}

.pq-product-card:hover{
  transform: translateY(-2px);
}

/* =========================================================
   PQ PRODUCT CARD — responsive type scale + badge room
   Keep desktop look while scaling down cleanly at narrower widths.
   ========================================================= */
.pq-product-card{
  --pq-card-brand-fs: clamp(12px, 0.82vw, 15px);
  --pq-card-title-fs: clamp(22px, 1.62vw, 30px);
  --pq-card-price-fs: clamp(18px, 1.42vw, 26px);
  --pq-card-stock-fs: clamp(18px, 1.45vw, 24px);
}

.pq-product-card .pq-product-brand{
  font-size: var(--pq-card-brand-fs);
  line-height: 1.12;
}

.pq-product-card .elementor-widget-woocommerce-product-title .elementor-heading-title,
.pq-product-card .woocommerce-loop-product__title{
  font-size: var(--pq-card-title-fs);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.pq-product-card .elementor-widget-woocommerce-product-price .price,
.pq-product-card .price{
  font-size: var(--pq-card-price-fs);
  font-weight: 700;
  line-height: 1.05;
}

.pq-product-card .elementor-widget-woocommerce-product-stock .stock,
.pq-product-card .stock{
  font-size: var(--pq-card-stock-fs);
  line-height: 1.08;
}

/* Reserve room near the right edge where the strain pill sits */
.pq-product-card .elementor-widget-container:has(.pq-strain),
.pq-product-card .elementor-shortcode:has(.pq-strain){
  padding-right: clamp(10px, 1vw, 16px) !important;
  overflow: visible !important;
}

/* Media background container: never collapse, keep intentional shape */
.pq-product-card{
  --pq-card-media-w: clamp(98px, 8.6vw, 134px);
}

.pq-product-card .pq-card-media{
  flex: 0 0 var(--pq-card-media-w) !important;
  width: var(--pq-card-media-w) !important;
  min-width: var(--pq-card-media-w) !important;
  max-width: var(--pq-card-media-w) !important;

  align-self: stretch !important; /* match row height inside card padding */
  min-height: clamp(98px, 8.6vw, 134px) !important; /* fallback if row is short */

  border-radius: 10px !important;
  overflow: hidden !important;

  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* Keep loop items/cards full-width in single-column mode */
body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container > *,
body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container > *{
  width: 100% !important;
  max-width: none !important;
}

.pq-product-card,
.pq-product-card.elementor-element,
.pq-product-card > .e-con-inner{
  width: 100% !important;
  max-width: none !important;
}

/* =========================================================
   PQ PORTAL ADD TO CART
   Shortcode-driven replacement for the Elementor native add-to-cart widget.
   ========================================================= */
.pq-product-card .pq-portal-atc,
.pq-portal-atc{
  display: inline-flex;
  align-items: stretch;
  gap: 10px;
  flex-wrap: wrap;
  width: auto;
  max-width: 100%;
}

.pq-portal-atc__qty{
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  min-height: 35px;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

.pq-portal-atc__qty-btn,
.pq-portal-atc__qty-input{
  border: 0;
  background: transparent;
  color: #25272b;
  font-family: Visby, sans-serif !important;
}

.pq-portal-atc__qty-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  min-height: 18px;
  padding: 0 5px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, opacity 160ms ease;
  background: linear-gradient(180deg, rgba(222,225,230,0.82) 0%, rgba(214,218,224,0.8) 100%);
  color: #6b7179;
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.42), 0 2px 5px rgba(0,0,0,0.05);
}

.pq-portal-atc__qty-btn:hover{
  background: linear-gradient(180deg, rgba(227,230,234,0.86) 0%, rgba(218,222,227,0.84) 100%);
  color: #555b63;
}

.pq-portal-atc__qty-btn:disabled{
  opacity: 0.42;
  cursor: default;
}

.pq-portal-atc .pq-portal-atc__qty input.pq-portal-atc__qty-input{
  width: 58px !important;
  min-width: 58px;
  max-width: 58px;
  flex: 0 0 58px;
  padding: 0 11px;
  border: 1px solid rgba(188,193,201,0.9) !important;
  outline: 0 !important;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  background: linear-gradient(180deg, rgba(241,243,246,0.98) 0%, rgba(232,235,239,0.96) 100%) !important;
  color: #22262b !important;
  min-height: 35px;
  border-radius: 15px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.72), 0 3px 8px rgba(0,0,0,0.06) !important;
  background-clip: padding-box;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  -webkit-appearance: none !important;
  appearance: none !important;
  -moz-appearance: textfield;
}

.pq-portal-atc[data-pq-atc-mode="disabled"] .pq-portal-atc__qty{
  flex: 0 0 auto;
}

.pq-portal-atc[data-pq-atc-mode="disabled"] .pq-portal-atc__qty input.pq-portal-atc__qty-input{
  width: 58px !important;
  min-width: 58px;
  max-width: 58px;
  flex: 0 0 58px;
}

.pq-portal-atc .pq-portal-atc__qty input.pq-portal-atc__qty-input::-webkit-outer-spin-button,
.pq-portal-atc .pq-portal-atc__qty input.pq-portal-atc__qty-input::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

.pq-portal-atc__button{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: clamp(120px, 10vw, 164px);
  min-height: 35px;
  padding: 0 15px;
  border-radius: 17px;
  border: 1px solid rgba(255,255,255,0.18);
  background: linear-gradient(180deg, rgba(244,244,246,0.98) 0%, rgba(230,232,236,0.98) 100%);
  color: #454a51 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.88), 0 8px 18px rgba(0,0,0,0.12);
  font-family: Visby, sans-serif !important;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  overflow: hidden;
  isolation: isolate;
  transition: box-shadow 180ms ease, background-color 220ms ease, color 220ms ease, border-color 220ms ease, opacity 180ms ease;
}

.pq-portal-atc__button:hover{
  background: linear-gradient(180deg, rgba(247,248,250,0.99) 0%, rgba(233,235,239,0.98) 100%);
  color: #2d333a !important;
}

.pq-portal-atc__button:focus,
.pq-portal-atc__button:focus-visible{
  outline: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.85), 0 0 0 3px rgba(241,180,91,0.16), 0 8px 18px rgba(0,0,0,0.12);
}

.pq-portal-atc__button:disabled{
  cursor: default;
}

.pq-portal-atc__button-label,
.pq-portal-atc__spinner,
.pq-portal-atc__check{
  position: relative;
  z-index: 2;
}

.pq-portal-atc__spinner,
.pq-portal-atc__check{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0;
  opacity: 0;
  transition: width 180ms ease, opacity 180ms ease, transform 180ms ease;
  transform: scale(0.7);
  overflow: hidden;
}

.pq-portal-atc__spinner::before{
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 999px;
  border: 2px solid rgba(53,53,53,0.18);
  border-top-color: #30343a;
  animation: pq-portal-atc-spin 820ms linear infinite;
}

.pq-portal-atc__check::before{
  content: "✓";
  font-size: 12px;
  font-weight: 900;
}

.pq-portal-atc__button.is-adding{
  background: linear-gradient(180deg, rgba(236,238,242,0.98) 0%, rgba(223,226,232,0.98) 100%);
  border-color: rgba(207,212,220,0.92);
  color: #2f343a !important;
}

.pq-portal-atc__button.is-adding .pq-portal-atc__spinner{
  width: 13px;
  opacity: 1;
  transform: scale(1);
}

.pq-portal-atc__button.is-added{
  background: linear-gradient(180deg, rgba(232,239,233,0.98) 0%, rgba(220,231,221,0.98) 100%);
  border-color: rgba(151,178,154,0.42);
  color: #2d4c31 !important;
}

.pq-portal-atc__button.is-added .pq-portal-atc__check{
  width: 13px;
  opacity: 1;
  transform: scale(1);
}

.pq-portal-atc__button.is-error{
  background: linear-gradient(180deg, rgba(245,224,224,0.98) 0%, rgba(237,207,207,0.98) 100%);
  border-color: rgba(197,128,128,0.44);
  color: #612d2d !important;
}

.pq-portal-atc--link .pq-portal-atc__button{
  min-width: clamp(120px, 10vw, 164px);
}

.pq-mini-cart--pulse{
  animation: pq-mini-cart-pulse 560ms cubic-bezier(.2,.8,.2,1);
}

@keyframes pq-portal-atc-spin{
  to{
    transform: rotate(360deg);
  }
}

@keyframes pq-mini-cart-pulse{
  0%{
    transform: translateY(0) scale(1);
    box-shadow: 0 0 0 rgba(241,180,91,0);
  }
  32%{
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 0 0 4px rgba(241,180,91,0.14), 0 0 24px rgba(241,180,91,0.18);
  }
  100%{
    transform: translateY(0) scale(1);
    box-shadow: 0 0 0 rgba(241,180,91,0);
  }
}

@keyframes pq-mini-cart-remove-flash{
  0%{
    background: linear-gradient(90deg, rgba(196,78,78,0.04) 0%, rgba(196,78,78,0.02) 58%, rgba(196,78,78,0) 100%);
  }
  45%{
    background: linear-gradient(90deg, rgba(196,78,78,0.24) 0%, rgba(196,78,78,0.12) 58%, rgba(196,78,78,0) 100%);
  }
  100%{
    background: linear-gradient(90deg, rgba(196,78,78,0.14) 0%, rgba(196,78,78,0.08) 58%, rgba(196,78,78,0) 100%);
  }
}

@keyframes pq-mini-cart-added-flash{
  0%{
    background: linear-gradient(90deg, rgba(98,173,105,0.02) 0%, rgba(98,173,105,0.01) 58%, rgba(98,173,105,0) 100%);
  }
  28%{
    background: linear-gradient(90deg, rgba(98,173,105,0.22) 0%, rgba(98,173,105,0.12) 58%, rgba(98,173,105,0) 100%);
  }
  100%{
    background: linear-gradient(90deg, rgba(98,173,105,0) 0%, rgba(98,173,105,0) 58%, rgba(98,173,105,0) 100%);
  }
}

@keyframes pq-mini-cart-clearing-spin{
  to{
    transform: rotate(360deg);
  }
}

@media (max-width: 980px){
  .pq-product-card .pq-portal-atc,
  .pq-portal-atc{
    gap: 8px;
  }

  .pq-portal-atc__qty{
    gap: 5px;
    min-height: 33px;
  }

  .pq-portal-atc__qty-btn{
    min-width: 17px;
    min-height: 17px;
    padding: 0 4px;
    font-size: 14px;
    border-radius: 7px;
  }

  .pq-portal-atc .pq-portal-atc__qty input.pq-portal-atc__qty-input{
    width: 50px !important;
    min-width: 50px;
    max-width: 50px;
    flex: 0 0 50px;
    padding: 0 10px;
    font-size: 12px;
    min-height: 33px;
    border-radius: 14px !important;
  }

  .pq-portal-atc__button{
    min-width: min(100%, 152px);
    min-height: 33px;
    padding: 0 13px;
    font-size: 14px;
  }
}

/* =========================================================
   PQ FILTERBAR — In-bar expanding filters (NO inner scroll)
   - Drawer stays IN FLOW under the top row
   - .pq-results-panel remains the ONLY scroll surface
   - Smooth open/close (no display:none jank)
   ========================================================= */

/* Nothing should clip the expanding drawer */
.pq-filterbar,
.pq-filterbar .e-con,
.pq-filterbar .e-con-inner,
.pq-filterbar .elementor-widget-container{
  overflow: visible !important;
}

/* Force the filterbar container into a simple column flow */
.pq-filterbar.elementor-element.e-con,
.pq-filterbar.elementor-element.e-con.e-flex{
  --height: auto !important;
  --min-height: 0 !important;

  height: auto !important;
  min-height: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;

  overflow: visible !important;
}

.pq-filterbar > .e-con-inner{
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* Drawer: collapsed by max-height (animatable), not display:none */
.pq-filter-drawer{
  width: 100% !important;
  align-self: stretch !important;
  box-sizing: border-box !important;

  max-height: 0 !important;
  overflow: hidden !important;

  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;

  will-change: max-height, opacity, transform;

  transition:
    /* CLOSE sequencing: fade/translate first, then collapse height */
    max-height 520ms cubic-bezier(.2,.8,.2,1) 180ms,
    opacity 180ms ease 0ms,
    transform 180ms cubic-bezier(.2,.8,.2,1) 0ms;
}

/* If Elementor padded the drawer container, remove padding while closed */
body:not(.pq-filters-open) .pq-filter-drawer{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* OPEN */
body.pq-filters-open .pq-filter-drawer{
  max-height: 2200px !important;   /* safe ceiling */

  /* keep clipped even when open (prevents lingering inner frames) */
  overflow: hidden !important;

  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;

  transition:
    /* OPEN sequencing: expand immediately */
    max-height 580ms cubic-bezier(.2,.8,.2,1) 0ms,
    opacity 180ms ease 40ms,
    transform 580ms cubic-bezier(.2,.8,.2,1) 0ms;
}

/* Keep inner widget content natural; do NOT blanket-force overflow on all descendants */
body.pq-filters-open .pq-filter-drawer .e-con,
body.pq-filters-open .pq-filter-drawer .e-con-inner,
body.pq-filters-open .pq-filter-drawer .elementor-widget-container{
  overflow: visible !important;
}



/* =========================================================
   PORTAL SHELL: filters expand, grid shrinks + remains scrollable
   - Filterbar takes natural height
   - Grid gets remaining height and scrolls
   ========================================================= */

body.woocommerce-shop .pq-portal-shell .pq-results-panel,
body.post-type-archive-product .pq-portal-shell .pq-results-panel{
  /* results panel is the stage wrapper */
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;

  /* IMPORTANT: don't make the whole stage scroll */
  overflow: hidden !important;

  /* (optional) kill contain if it causes weird clipping in your browser */
  contain: none !important;
}

/* Your filterbar sits above the grid and can grow */
body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-filterbar,
body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-filterbar{
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

/* The loop grid wrapper becomes the scroll region and shrinks when filters open */
body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-loop-grid,
body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-loop-grid{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}



/* =========================================================
   POLISH — Contained scroll + inertial feel
   - Prevent scroll chaining / rubber-band bleed
   - Add inertial scroll where supported
   ========================================================= */

/* 1) Prevent scroll chaining (trackpad "fling" doesn't move the page) */
.pq-portal-shell,
.pq-portal-sidebar,
.pq-portal-main,
.pq-results-panel,
.pq-loop-grid,
.pq-sidebar-content,
.pq-mini-cart__items{
  overscroll-behavior: contain;
}

/* 2) Inertial scroll polish (mainly iOS Safari; harmless elsewhere) */
.pq-loop-grid,
.pq-sidebar-content,
.pq-mini-cart__items{
  -webkit-overflow-scrolling: touch;
  scroll-behavior: auto;
}





/* =========================================================
   PQ SIDEBAR — Pinned profile card + NO overlap

   Current DOM (per your inspector):
     .pq-portal-sidebar
       .pq-profile-card
       .pq-sidebar-content (contains logo/nav + mini-cart)

   Goals:
   - Sidebar is a fixed-height flex column (portal shell owns the viewport)
   - `.pq-sidebar-content` scrolls (so logo/nav/cart never overlap)
   - Profile card stays pinned to bottom (not inside the scroll area)
   - Do NOT stomp Elementor padding on the profile card
   ========================================================= */

/* Sidebar container: fixed-height column */
.pq-portal-shell .pq-portal-sidebar{
  display: flex !important;
  flex-direction: column !important;

  height: 100% !important;
  min-height: 0 !important;

  /* keep scrolling inside the sidebar-content only */
  overflow: hidden !important;
}

/* Elementor inner wrapper must also be a full-height flex column */
.pq-portal-shell .pq-portal-sidebar > .e-con-inner{
  display: flex !important;
  flex-direction: column !important;

  height: 100% !important;
  min-height: 0 !important;

  /* IMPORTANT: preserve Elementor padding */
  box-sizing: border-box;
}

/* Scroll area: logo/nav/cart live here */
.pq-portal-shell .pq-portal-sidebar .pq-sidebar-content{
  /* if profile card is earlier in DOM, this ensures scroll area stays above it */
  order: 1 !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 16px;

  flex: 1 1 auto !important;
  min-height: 0 !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;

  background-clip: padding-box;

  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;

  /* breathing room above the pinned profile card */
  padding-bottom: 16px;
}

/* Ensure common sidebar blocks don’t flex-shrink into each other */
.pq-portal-shell .pq-portal-sidebar .pq-sidebar-content > *{
  flex: 0 0 auto;
  min-height: 0;
}

/* Profile card: pinned to bottom */
.pq-portal-shell .pq-portal-sidebar .pq-profile-card{
  order: 2 !important;

  flex: 0 0 auto !important;
  margin-top: auto !important;

  /* do NOT force width/padding; let Elementor handle it */
  overflow: visible;
}

/* Mini cart wrapper: let it participate as a normal block inside scroll area */
.pq-portal-shell .pq-portal-sidebar .pq-mini-cart-wrap.elementor-element{
  flex: 0 0 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: stretch !important;
}

/* Make ONLY the cart item list scroll if it gets tall */
.pq-portal-shell .pq-portal-sidebar .pq-mini-cart{
  flex: 0 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
}

.pq-portal-shell .pq-portal-sidebar .pq-mini-cart__items{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: clamp(220px, 46vh, 620px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* =========================================================
   PQ SIDEBAR NAV — Active page state
   JS marks nav links with [data-pq-nav-link] and .is-active
   ========================================================= */
.pq-portal-shell .pq-portal-sidebar .pq-sidebar-content a[data-pq-nav-link]{
  position: relative;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

/* Active nav style: same button system, slightly darker than global light button. */
.pq-portal-sidebar .pq-sidebar-nav .elementor-widget-button.pq-nav-active > a.elementor-button,
.pq-portal-sidebar .pq-sidebar-nav .elementor-widget-button > a.elementor-button.is-active,
.pq-portal-sidebar .pq-sidebar-content a[data-pq-nav-link].is-active{
  background: #d6dbe3 !important;
  border-color: var(--pq-btn-border) !important;
  color: var(--pq-btn-text) !important;
  box-shadow: none !important;
}

.pq-portal-sidebar .pq-sidebar-nav .elementor-widget-button.pq-nav-active > a.elementor-button .elementor-button-text,
.pq-portal-sidebar .pq-sidebar-nav .elementor-widget-button.pq-nav-active > a.elementor-button .elementor-button-icon svg,
.pq-portal-sidebar .pq-sidebar-nav .elementor-widget-button > a.elementor-button.is-active .elementor-button-text,
.pq-portal-sidebar .pq-sidebar-nav .elementor-widget-button > a.elementor-button.is-active .elementor-button-icon svg,
.pq-portal-sidebar .pq-sidebar-content a[data-pq-nav-link].is-active .elementor-button-text,
.pq-portal-sidebar .pq-sidebar-content a[data-pq-nav-link].is-active .elementor-button-icon svg{
  color: var(--pq-btn-text) !important;
  fill: var(--pq-btn-text) !important;
}

/* Keep wrappers neutral; only the actual button should change. */
.pq-portal-sidebar .pq-sidebar-content :is(.elementor-icon-list-item, .elementor-button-wrapper, .elementor-widget-wrap, li, .e-con).pq-nav-active{
  box-shadow: none !important;
  border: 0 !important;
}

/* =========================================
   PQ STRAIN BADGES (GLOBAL)
   Used by [pq_strain_badge] shortcode
   Color‑coded pills: Indica / Sativa / Hybrid
========================================= */

 .pq-strain{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-family: Visby, sans-serif !important;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.02em;
  text-transform: none !important; /* ensure NOT forced uppercase */

  padding: 6px 12px;
  border-radius: 999px !important;

  line-height: 1;
  white-space: nowrap;
  max-width: none;
  margin-right: 4px;
  flex-shrink: 0;

  /* Default (in case variant class is missing) */
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;

  /* FORCE readable badge text even inside theme-styled links/widgets */
  color: #fff !important;
  text-decoration: none !important;

  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.10),
    0 6px 18px rgba(0,0,0,0.30);

  user-select: none;
  cursor: default;
  pointer-events: none;
}

/* Intentional narrow-width feed: keep badge size, move layout to wrap */
@media (max-width: 980px){
  .pq-product-card .elementor-widget-container:has(.pq-strain),
  .pq-product-card .elementor-shortcode:has(.pq-strain){
    padding-right: 0 !important;
  }

  .pq-product-card :is(.e-con, .e-con-inner):has(.pq-strain){
    flex-wrap: wrap !important;
    row-gap: 8px !important;
    column-gap: 10px !important;
    justify-content: flex-start !important;
  }

  .pq-product-card :is(.e-con, .e-con-inner):has(.elementor-widget-woocommerce-product-title):has(.pq-strain)
    .elementor-widget-woocommerce-product-title{
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }
}

/* If shortcode/theme renders as an <a>, enforce the same look */
a.pq-strain,
a.pq-strain:visited,
a.pq-strain:hover,
a.pq-strain:active{
  color:#fff !important;
  text-decoration:none !important;
}

/* Color variants (supports both legacy and shortcode BEM-style classes) */
.pq-strain-indica,
.pq-strain--indica{
  background: #693275 !important;
  border-color: rgba(255,255,255,0.14) !important;
}

.pq-strain-sativa,
.pq-strain--sativa{
  background: #cf6928 !important;
  border-color: rgba(255,255,255,0.14) !important;
}

.pq-strain-hybrid,
.pq-strain--hybrid{
  background: #5d9842 !important;
  border-color: rgba(255,255,255,0.14) !important;
}

/* Compatibility: if the tag slug was accidentally created as "hydrid" */
.pq-strain-hydrid,
.pq-strain--hydrid{
  background: #5d9842 !important;
  border-color: rgba(255,255,255,0.14) !important;
}

/* =========================================================
   PQ SKELETON / SHIMMER (PLAIN CSS — NO NESTING)

   Goal:
   - Add `pq-loading` (preferred) or `loading` to `.pq-product-card` while the card is waiting for image/data.
   - JS may optionally add `.pq-skel` to specific elements.

   Notes:
   - Elementor/Woo output classes vary by widget; we target multiple common selectors.
   - We avoid changing layout; we only paint skeleton overlays.
   ========================================================= */

@keyframes pq-skeleton-shimmer{
  0%{ background-position: -200% 0; }
  100%{ background-position: 200% 0; }
}

/* ------------------------------
   CARD-LEVEL SKELETON (preferred)
   Use: add `.pq-skel-card` to `.pq-product-card` while the grid is fetching
   Result: one shimmer overlay per card (instead of per element)
   ------------------------------ */

/* Support multiple class names so older JS still works */
.pq-product-card.pq-skel-card,
.pq-product-card.pq-loading,
.pq-product-card.loading{
  position: relative;
  overflow: hidden;

  /* keep layout stable but prevent interaction */
  pointer-events: none;
}

/* Hide all inner content WITHOUT collapsing layout */
.pq-product-card.pq-skel-card > *,
.pq-product-card.pq-loading > *,
.pq-product-card.loading > *{
  visibility: hidden;
}

/* Base skeleton wash */
.pq-product-card.pq-skel-card::before,
.pq-product-card.pq-loading::before,
.pq-product-card.loading::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(255,255,255,0.06);
}

/* Shimmer sweep */
.pq-product-card.pq-skel-card::after,
.pq-product-card.pq-loading::after,
.pq-product-card.loading::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0.10) 50%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: pq-skeleton-shimmer 1.05s linear infinite;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce){
  .pq-product-card.pq-skel-card::after,
  .pq-product-card.pq-loading::after,
  .pq-product-card.loading::after{
    animation: none;
  }
}

/* If a card is marked as loaded, restore normal behavior */
.pq-product-card.pq-loaded{
  pointer-events: auto;
}
.pq-product-card.pq-loaded > *{
  visibility: visible;
}
.pq-product-card.pq-loaded::before,
.pq-product-card.pq-loaded::after{
  content: none;
}

/* Generic shimmer utility */
.pq-skel{
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,0.08);
  border-radius: 8px;
}

.pq-skel::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0.10) 50%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: pq-skeleton-shimmer 1.15s linear infinite;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .pq-skel::after{ animation: none; }
}

/* ------------------------------
   CARD LOADING STATE
   ------------------------------ */

/* Support both names so older code still works */
.pq-product-card.pq-loading,
.pq-product-card.loading{
  /* no layout changes; only paint */
}

/* 1) IMAGE: hide the real image and paint a skeleton block in the image area */

/* Common image wrappers (theme + Elementor featured image widget) */
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image,
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image .elementor-widget-container,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image .elementor-widget-container,
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image figure,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image figure{
  position: relative;
}

/* Hide real img while loading */
.pq-product-card.pq-loading:not(.pq-skel-card) img,
.pq-product-card.loading:not(.pq-skel-card) img{
  opacity: 0 !important;
}

/* Skeleton block overlay for the featured image area */
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image::before,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 10px;
  background: rgba(255,255,255,0.06);
}

.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image::after,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 10px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0.10) 50%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: pq-skeleton-shimmer 1.15s linear infinite;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce){
  .pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image::after,
  .pq-product-card.loading:not(.pq-skel-card) .elementor-widget-theme-post-featured-image::after{
    animation: none;
  }
}

/* 2) TEXT LINES: paint skeleton bars over title/price/stock without collapsing height */

/* Title: Elementor Woo product title widget commonly outputs .elementor-heading-title */
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-title .elementor-heading-title,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-title .elementor-heading-title,
/* Fallbacks */
.pq-product-card.pq-loading:not(.pq-skel-card) .woocommerce-loop-product__title,
.pq-product-card.loading:not(.pq-skel-card) .woocommerce-loop-product__title{
  position: relative;
  color: transparent !important;
}

/* Price */
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price,
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price .price,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price .price,
.pq-product-card.pq-loading:not(.pq-skel-card) .price,
.pq-product-card.loading:not(.pq-skel-card) .price{
  position: relative;
  color: transparent !important;
}

/* Stock */
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-stock,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-stock,
.pq-product-card.pq-loading:not(.pq-skel-card) .stock,
.pq-product-card.loading:not(.pq-skel-card) .stock{
  position: relative;
  color: transparent !important;
}

/* Skeleton bar painter (applied via ::before/::after so layout stays intact) */
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-title .elementor-heading-title::before,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-title .elementor-heading-title::before,
.pq-product-card.pq-loading:not(.pq-skel-card) .woocommerce-loop-product__title::before,
.pq-product-card.loading:not(.pq-skel-card) .woocommerce-loop-product__title::before,

.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price::before,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price::before,
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price .price::before,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price .price::before,
.pq-product-card.pq-loading:not(.pq-skel-card) .price::before,
.pq-product-card.loading:not(.pq-skel-card) .price::before,

.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-stock::before,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-stock::before,
.pq-product-card.pq-loading:not(.pq-skel-card) .stock::before,
.pq-product-card.loading:not(.pq-skel-card) .stock::before{
  content: "";
  display: block;
  width: 100%;
  border-radius: 6px;
  background: rgba(255,255,255,0.08);
}

.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-title .elementor-heading-title::after,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-title .elementor-heading-title::after,
.pq-product-card.pq-loading:not(.pq-skel-card) .woocommerce-loop-product__title::after,
.pq-product-card.loading:not(.pq-skel-card) .woocommerce-loop-product__title::after,

.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price::after,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price::after,
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price .price::after,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price .price::after,
.pq-product-card.pq-loading:not(.pq-skel-card) .price::after,
.pq-product-card.loading:not(.pq-skel-card) .price::after,

.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-stock::after,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-stock::after,
.pq-product-card.pq-loading:not(.pq-skel-card) .stock::after,
.pq-product-card.loading:not(.pq-skel-card) .stock::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 6px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0.10) 50%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: pq-skeleton-shimmer 1.15s linear infinite;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce){
  .pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-title .elementor-heading-title::after,
  .pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-title .elementor-heading-title::after,
  .pq-product-card.pq-loading:not(.pq-skel-card) .woocommerce-loop-product__title::after,
  .pq-product-card.loading:not(.pq-skel-card) .woocommerce-loop-product__title::after,

  .pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price::after,
  .pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price::after,
  .pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price .price::after,
  .pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price .price::after,
  .pq-product-card.pq-loading:not(.pq-skel-card) .price::after,
  .pq-product-card.loading:not(.pq-skel-card) .price::after,

  .pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-stock::after,
  .pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-stock::after,
  .pq-product-card.pq-loading:not(.pq-skel-card) .stock::after,
  .pq-product-card.loading:not(.pq-skel-card) .stock::after{
    animation: none;
  }
}

/* Set stable bar heights (applied to the blocks we paint) */
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-title .elementor-heading-title::before,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-title .elementor-heading-title::before,
.pq-product-card.pq-loading:not(.pq-skel-card) .woocommerce-loop-product__title::before,
.pq-product-card.loading:not(.pq-skel-card) .woocommerce-loop-product__title::before{
  min-height: 18px;
}

.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price::before,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price::before,
.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price .price::before,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-price .price::before,
.pq-product-card.pq-loading:not(.pq-skel-card) .price::before,
.pq-product-card.loading:not(.pq-skel-card) .price::before{
  min-height: 16px;
}

.pq-product-card.pq-loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-stock::before,
.pq-product-card.loading:not(.pq-skel-card) .elementor-widget-woocommerce-product-stock::before,
.pq-product-card.pq-loading:not(.pq-skel-card) .stock::before,
.pq-product-card.loading:not(.pq-skel-card) .stock::before{
  min-height: 14px;
}

/* Optional: if JS adds .pq-skel directly to these, keep the radius consistent */
.pq-product-card .elementor-heading-title.pq-skel,
.pq-product-card .price.pq-skel,
.pq-product-card .stock.pq-skel{
  border-radius: 6px;
}


.pq-results-panel.pq-results-loading {
  pointer-events: none;
}
.pq-results-panel.pq-results-loading .pq-loop-grid {
  opacity: 0.9;
}

/* =========================================================
   PQ PRODUCT CARD — baseline containment + hover polish
   (Skeleton styles are defined earlier in this file)
   ========================================================= */

.pq-product-card{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform 120ms ease, box-shadow 120ms ease;
}

.pq-product-card:hover{
  transform: translateY(-2px);
}
/* =========================================================
   PQ Product Brand Label
   ========================================================= */

.pq-product-brand {
  font-family: "Visby", sans-serif;
  font-weight: 700;
  color: #A3A3A3;
  line-height: 1.2;
  display: inline-block;
}


/* =========================================================
   FINAL: Portal scroll + Loop Grid packing (single source)
   - Canvas/portal chain stays viewport-locked
   - Stage (.pq-results-panel) never scrolls
   - ONLY Loop Grid widget container scrolls
   - Loop container packs cards to the top (no stretched gaps)
   ========================================================= */

body.woocommerce-shop .pq-portal-shell .pq-portal-frame,
body.post-type-archive-product .pq-portal-shell .pq-portal-frame,
body.woocommerce-shop .pq-portal-shell .pq-portal-main,
body.post-type-archive-product .pq-portal-shell .pq-portal-main,
body.woocommerce-shop .pq-portal-shell .pq-results-panel,
body.post-type-archive-product .pq-portal-shell .pq-results-panel{
  min-height: 0 !important;
}

body.woocommerce-shop .pq-portal-shell .pq-portal-main > .e-con-inner,
body.post-type-archive-product .pq-portal-shell .pq-portal-main > .e-con-inner{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
}

body.woocommerce-shop .pq-portal-shell .pq-results-panel,
body.post-type-archive-product .pq-portal-shell .pq-results-panel{
  flex: 1 1 0% !important;
  height: 100% !important;
  max-height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* If Elementor inserts extra wrappers between stage and loop grid,
   force that chain to grow and avoid space-distribution collapse. */
body.woocommerce-shop .pq-portal-shell .pq-results-panel > :not(.pq-filterbar),
body.post-type-archive-product .pq-portal-shell .pq-results-panel > :not(.pq-filterbar){
  min-height: 0 !important;
}

body.woocommerce-shop .pq-portal-shell .pq-results-panel :is(.e-con, .e-con-inner):has(.pq-loop-grid),
body.post-type-archive-product .pq-portal-shell .pq-results-panel :is(.e-con, .e-con-inner):has(.pq-loop-grid){
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  height: 100% !important;
  justify-content: flex-start !important;
  align-content: stretch !important;
}

body.woocommerce-shop .pq-portal-shell .pq-results-panel :is(.e-con, .e-con-inner):has(.pq-loop-grid) > .pq-loop-grid,
body.post-type-archive-product .pq-portal-shell .pq-results-panel :is(.e-con, .e-con-inner):has(.pq-loop-grid) > .pq-loop-grid{
  flex: 1 1 0% !important;
  min-height: 0 !important;
}

body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-loop-grid.elementor-element,
body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-loop-grid.elementor-element,
body.woocommerce-shop .pq-portal-shell .pq-results-panel #loop.pq-loop-grid.elementor-element,
body.post-type-archive-product .pq-portal-shell .pq-results-panel #loop.pq-loop-grid.elementor-element{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  overflow: hidden !important;
}

body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-loop-grid.elementor-element > .elementor-widget-container,
body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-loop-grid.elementor-element > .elementor-widget-container,
body.woocommerce-shop .pq-portal-shell .pq-results-panel #loop.pq-loop-grid.elementor-element > .elementor-widget-container,
body.post-type-archive-product .pq-portal-shell .pq-results-panel #loop.pq-loop-grid.elementor-element > .elementor-widget-container{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: block !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container,
body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  align-content: start !important;
  justify-content: start !important;
  align-items: start !important;
  justify-items: stretch !important;
  grid-auto-rows: max-content !important;
}

body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container:not(.elementor-grid),
body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container:not(.elementor-grid){
  justify-content: flex-start !important;
  align-content: flex-start !important;
}

body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container > *,
body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container > *{
  grid-column: 1 / -1 !important;
  align-self: start !important;
}


/* =========================================================
   DESKTOP-LOCK BREAKPOINT
   Keep single-column product list on mid-width devices for now.
   (Prevents Elementor tablet auto-switch to 2 columns.)
   ========================================================= */
@media (max-width: 1100px){
  body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container,
  body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container,
  body.woocommerce-shop .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container.elementor-grid,
  body.post-type-archive-product .pq-portal-shell .pq-results-panel .pq-loop-grid .elementor-loop-container.elementor-grid{
    grid-template-columns: minmax(0, 1fr) !important;
    --grid-template-columns: 1fr !important;
    --grid-columns: 1 !important;
  }
}

/* =========================================================
   PORTAL ACCOUNT STAGE (consolidated)
   - Sidebar remains primary nav; hide Woo internal account nav
   - Stage remains viewport-locked; My Account content is the only scroll surface
   - Portal-native tabs/forms/cards typography and controls
   ========================================================= */
body.woocommerce-account{
  --pq-accent: #f0c54b;
  --pq-surface: #2f2f32;
  --pq-surface-hover: #3a3a3d;
  --pq-border: rgba(255,255,255,0.12);
  --pq-control-h: 42px;
  --pq-radius: 10px;
}

body.woocommerce-account .pq-portal-shell,
body.woocommerce-account .pq-portal-shell .pq-portal-frame,
body.woocommerce-account .pq-portal-shell .pq-portal-main,
body.woocommerce-account .pq-portal-shell .pq-results-panel{
  min-height: 0 !important;
}

body.woocommerce-account .pq-portal-shell .pq-portal-main{
  height: 100% !important;
  overflow: hidden !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-navigation{
  display: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel > :is(.e-con, .e-con-inner, .elementor-widget-wrap, .elementor-widget-container),
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .elementor-widget-container,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  height: 100% !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-account .woocommerce,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-account,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-content,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .elementor-widget-container,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-container:has(.woocommerce-MyAccount),
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-wrap:has(.woocommerce-MyAccount),
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce fieldset,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .woocommerce-EditAccountForm fieldset,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.shop_table,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.shop_table th,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.shop_table td{
  background: transparent !important;
  box-shadow: none !important;
}

/* Override Woo default account float split so hidden nav does not leave a left gutter */
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount{
  display: block !important;
  width: 100% !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-content{
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  max-width: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-content-wrapper{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Orders tab: enforce a concrete height chain so inner overflow can engage */
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders .woocommerce,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders .woocommerce-MyAccount,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders .woocommerce-MyAccount-content,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders .woocommerce-MyAccount-content-wrapper{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  height: 100% !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders .woocommerce-MyAccount-content-wrapper{
  padding: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: auto !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders .woocommerce-MyAccount-content{
  overflow: hidden !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders table.woocommerce-orders-table{
  display: table !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders .woocommerce-MyAccount-content{
  overflow-y: hidden !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders table.woocommerce-orders-table thead,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders table.woocommerce-orders-table tbody{
  display: table;
  width: 100%;
  table-layout: fixed;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders table.woocommerce-orders-table thead{
  display: table-header-group;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders table.woocommerce-orders-table tbody{
  display: table-row-group;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders table.woocommerce-orders-table tr{
  display: table-row;
  width: 100%;
  table-layout: fixed;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders table.woocommerce-orders-table thead th{
  position: sticky;
  top: 0;
  z-index: 2;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders table.woocommerce-orders-table thead th:first-child{
  border-top-left-radius: 14px;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders table.woocommerce-orders-table thead th:last-child{
  border-top-right-radius: 14px;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-content{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  scrollbar-gutter: auto !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-content,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-content *{
  font-family: "Visby", sans-serif !important;
  font-style: normal !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-content h2,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-content h3,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-content legend{
  font-size: 20px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  margin: 0 0 10px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-MyAccount-content p{
  color: rgba(245,245,245,0.78) !important;
}

/* Account top profile bar */
body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-profile-account-card{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  width: 100%;
  padding: 10px 16px;
  margin: 0 0 14px !important;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  background: #383838;
  box-shadow: none;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-profile-account-card img{
  border-radius: 10px;
  display: block;
}

/* Preferred action-group wrapper (add this class around the buttons). */
body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-profile-account-card .pq-profile-actions{
  margin-left: auto !important;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

/* Fallback when buttons are direct children (no action wrapper). */
body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-profile-account-card > :is(.elementor-widget-button, .pq-profile-logout):first-of-type{
  margin-left: auto !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-profile-account-card :is(.elementor-widget-button, .pq-profile-logout){
  flex: 0 0 auto;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-profile-logout{
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Style profile-bar controls with global button tokens. */
body.woocommerce-account .pq-portal-shell .pq-results-panel :is(
  .pq-profile-account-card .elementor-widget-button .elementor-button,
  a.pq-profile-logout,
  button.pq-profile-logout,
  .elementor-button.pq-profile-logout,
  .pq-profile-logout a,
  .pq-profile-logout button,
  .pq-profile-logout .elementor-button
){
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 16px !important;
  border-radius: var(--pq-radius) !important;
  border: 1px solid var(--pq-btn-border) !important;
  background: var(--pq-btn-bg) !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  opacity: 1 !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel :is(
  .pq-profile-account-card .elementor-widget-button .elementor-button,
  a.pq-profile-logout,
  button.pq-profile-logout,
  .elementor-button.pq-profile-logout,
  .pq-profile-logout a,
  .pq-profile-logout button,
  .pq-profile-logout .elementor-button
):hover{
  border-color: var(--pq-btn-border) !important;
  background: var(--pq-btn-bg-hover) !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  transform: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel :is(
  .pq-profile-account-card .elementor-widget-button .elementor-button,
  a.pq-profile-logout,
  button.pq-profile-logout,
  .elementor-button.pq-profile-logout,
  .pq-profile-logout a,
  .pq-profile-logout button,
  .pq-profile-logout .elementor-button
) .elementor-button-content-wrapper{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel :is(
  .pq-profile-account-card .elementor-widget-button .elementor-button,
  a.pq-profile-logout,
  button.pq-profile-logout,
  .elementor-button.pq-profile-logout,
  .pq-profile-logout a,
  .pq-profile-logout button,
  .pq-profile-logout .elementor-button
) :is(.elementor-button-text, .elementor-button-icon, .elementor-button-icon svg, i){
  color: #000000 !important;
  fill: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  opacity: 1 !important;
}

/* Current page action (if Elementor/JS marks it active). */
body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-profile-account-card :is(
  .elementor-button.is-active,
  .elementor-button[aria-current="page"],
  .pq-profile-logout.is-active,
  .pq-profile-logout[aria-current="page"]
){
  background: #2f333b !important;
  border-color: rgba(255,255,255,0.24) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-radius: var(--pq-radius) !important;
}

/* Deterministic top-bar button active states via explicit classes + Woo body endpoint. */
body.woocommerce-account.woocommerce-edit-account .pq-portal-shell .pq-results-panel .pq-profile-account-card :is(.pq-profile-btn-account, .pq-profile-btn-account .elementor-button),
body.woocommerce-account.woocommerce-edit-address .pq-portal-shell .pq-results-panel .pq-profile-account-card :is(.pq-profile-btn-addresses, .pq-profile-btn-addresses .elementor-button),
body.woocommerce-account.woocommerce-orders .pq-portal-shell .pq-results-panel .pq-profile-account-card :is(.pq-profile-btn-orders, .pq-profile-btn-orders .elementor-button),
body.woocommerce-account.woocommerce-destinations .pq-portal-shell .pq-results-panel .pq-profile-account-card :is(.pq-profile-btn-destinations, .pq-profile-btn-destinations .elementor-button){
  background: #2f333b !important;
  border-color: rgba(255,255,255,0.24) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-radius: var(--pq-radius) !important;
}

body.woocommerce-account.woocommerce-edit-account .pq-portal-shell .pq-results-panel .pq-profile-account-card :is(.pq-profile-btn-account, .pq-profile-btn-account .elementor-button) :is(.elementor-button-text, .elementor-button-icon, .elementor-button-icon svg, i),
body.woocommerce-account.woocommerce-edit-address .pq-portal-shell .pq-results-panel .pq-profile-account-card :is(.pq-profile-btn-addresses, .pq-profile-btn-addresses .elementor-button) :is(.elementor-button-text, .elementor-button-icon, .elementor-button-icon svg, i),
body.woocommerce-account.woocommerce-orders .pq-portal-shell .pq-results-panel .pq-profile-account-card :is(.pq-profile-btn-orders, .pq-profile-btn-orders .elementor-button) :is(.elementor-button-text, .elementor-button-icon, .elementor-button-icon svg, i),
body.woocommerce-account.woocommerce-destinations .pq-portal-shell .pq-results-panel .pq-profile-account-card :is(.pq-profile-btn-destinations, .pq-profile-btn-destinations .elementor-button) :is(.elementor-button-text, .elementor-button-icon, .elementor-button-icon svg, i){
  color: #ffffff !important;
  fill: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* My Account: Destinations endpoint */
body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations{
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 10px;
  padding: 0;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__title{
  margin: 0;
  color: #f1f1f2;
  font-size: 21px;
  line-height: 1.2;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__count{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(23,24,27,0.75);
  color: #f0f0f2;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__empty{
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 14px;
  background: rgb(56, 56, 56);
  color: rgba(255,255,255,0.94);
  padding: 14px 16px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 14px;
  overflow: hidden;
  background: rgb(56, 56, 56);
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table th,
body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table td{
  text-align: left;
  padding: 14px 16px !important;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.94);
  vertical-align: middle;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table thead th{
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table thead th:first-child,
body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table tbody td:first-child{
  padding-left: 26px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table th{
  background: rgb(50, 50, 50) !important;
  font-size: 18px;
  letter-spacing: normal;
  text-transform: none;
  font-weight: 700;
  color: #ffffff;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table tbody tr:nth-child(even){
  background: rgba(255,255,255,0.015);
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table tbody tr:hover{
  background: rgba(255,255,255,0.04);
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table .pq-destination-main{
  color: #ffffff;
  font-weight: 700;
  line-height: 1.25;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table .pq-destination-sub{
  margin-top: 4px;
  color: rgba(255,255,255,0.78);
  font-size: 13px;
  line-height: 1.2;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table .pq-destination-id{
  display: inline-block;
  max-width: 100%;
  border: 1px solid rgba(255,255,255,0.24);
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  color: #e7e8eb;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  line-height: 1.2;
  padding: 6px 12px;
  overflow-wrap: anywhere;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table tbody tr:last-child td{
  border-bottom: 0;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__cta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
  padding: 12px 0 0;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__cta-text{
  margin: 0;
  color: rgba(255,255,255,0.84);
  font-size: 14px;
  line-height: 1.35;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__cta-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--pq-control-h);
  padding: 0 14px;
  border-radius: var(--pq-radius);
  border: 1px solid var(--pq-btn-border);
  background: var(--pq-btn-bg);
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__cta-btn:hover{
  border-color: var(--pq-btn-border);
  background: var(--pq-btn-bg-hover);
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

@media (max-width: 900px){
  body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations{
    padding: 12px;
  }

  body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__title{
    font-size: 19px;
  }

  body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table th,
  body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__table td{
    padding: 12px 14px;
  }

  body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-destinations__cta{
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 1024px){
  body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-profile-account-card{
    flex-wrap: wrap;
    row-gap: 10px;
  }

  body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-profile-account-card .pq-profile-actions{
    width: 100%;
  }
}

/* Remove Elementor-added inner gutters on the account widget stack only. */
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .elementor-widget-container,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__orders,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .woocommerce,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .woocommerce-MyAccount,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .woocommerce-MyAccount-content{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form label{
  font-size: 15px !important;
  line-height: 1.2 !important;
  margin-bottom: 6px !important;
  color: #f1f1f2 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form .required{
  color: var(--pq-accent) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-tabs{
  display: flex;
  flex-wrap: wrap;
  gap: 8px !important;
  margin: 0 0 10px !important;
  padding: 0;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-tab{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--pq-control-h) !important;
  padding: 0 14px !important;
  border-radius: var(--pq-radius) !important;
  border: 1px solid var(--pq-btn-border) !important;
  background: var(--pq-btn-bg) !important;
  color: var(--pq-btn-text) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-tab:hover{
  background: var(--pq-btn-bg-hover) !important;
  border-color: var(--pq-btn-border) !important;
  color: var(--pq-btn-text-hover) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-tab.is-active{
  background: #d7dce5 !important;
  border-color: #c8ced9 !important;
  color: #2f343b !important;
  box-shadow: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .pq-account-tab:focus-visible{
  outline: 2px solid rgba(240,197,75,0.45) !important;
  outline-offset: 2px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.shop_table{
  border: 1px solid var(--pq-border) !important;
  border-radius: var(--pq-radius) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-EditAccountForm,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-address-fields{
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-EditAccountForm fieldset,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-EditAccountForm .form-row,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-address-fields fieldset,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-address-fields .form-row{
  margin-left: 0 !important;
  padding-left: 0 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-EditAccountForm .form-row,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-address-fields .form-row{
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-EditAccountForm fieldset,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-address-fields fieldset{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-inline-size: 0 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form input,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form select,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form textarea{
  min-height: var(--pq-control-h) !important;
  border-radius: var(--pq-radius) !important;
  border: 1px solid #cfd3db !important;
  background: #e6e8ed !important;
  color: #2d3138 !important;
  padding: 0 12px !important;
  font-weight: 600 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form input::placeholder,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form textarea::placeholder{
  color: #69727f !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form textarea{
  min-height: 120px !important;
  padding: 12px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form input:focus,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form select:focus,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form textarea:focus{
  outline: none !important;
  border-color: rgba(240,197,75,0.65) !important;
  box-shadow: 0 0 0 1px rgba(240,197,75,0.30) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .select2-container .select2-selection--single{
  min-height: var(--pq-control-h) !important;
  height: var(--pq-control-h) !important;
  border-radius: var(--pq-radius) !important;
  background: #e6e8ed !important;
  border: 1px solid #cfd3db !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height: var(--pq-control-h) !important;
  color: #2d3138 !important;
  padding-left: 12px !important;
  padding-right: 34px !important;
  font-weight: 600 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow{
  height: var(--pq-control-h) !important;
  right: 10px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .show-password-input{
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 14px !important;
  line-height: 1 !important;
  color: #4d5563 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .button{
  min-height: var(--pq-control-h) !important;
  padding: 0 14px !important;
  border-radius: var(--pq-radius) !important;
  border: 1px solid var(--pq-btn-border) !important;
  background: var(--pq-btn-bg) !important;
  color: var(--pq-btn-text) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .button:hover{
  background: var(--pq-btn-bg-hover) !important;
  border-color: var(--pq-btn-border) !important;
  color: var(--pq-btn-text-hover) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .button:disabled,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .button[disabled]{
  opacity: 0.55 !important;
  cursor: not-allowed !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-EditAccountForm .button,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-address-fields .button,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title a{
  border: 1px solid var(--pq-btn-border) !important;
  background: var(--pq-btn-bg) !important;
  color: var(--pq-btn-text) !important;
  box-shadow: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-EditAccountForm .button:hover,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-address-fields .button:hover{
  border-color: var(--pq-btn-border) !important;
  background: var(--pq-btn-bg-hover) !important;
  color: var(--pq-btn-text-hover) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title a:hover{
  border-color: var(--pq-btn-border) !important;
  background: var(--pq-btn-bg-hover) !important;
  color: var(--pq-btn-text-hover) !important;
  transform: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-EditAccountForm .button:focus,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-EditAccountForm .button:focus-visible,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-address-fields .button:focus,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce form.woocommerce-address-fields .button:focus-visible{
  outline: none !important;
  border-color: rgba(255,255,255,0.16) !important;
  box-shadow: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce a{
  color: var(--pq-accent);
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce a:hover{
  color: #ffe18a;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce mark.order-status{
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: capitalize;
  background: #4b4d52;
  color: #ffffff;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce mark.order-status.status-completed{
  background: #3f7a45;
  color: #eaffea;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce mark.order-status.status-processing{
  background: #6d5b25;
  color: #fff4cf;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce mark.order-status.status-on-hold,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce mark.order-status.status-failed,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce mark.order-status.status-cancelled,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce mark.order-status.status-refunded{
  background: #7f3a3a;
  color: #ffe9e9;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.shop_table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.shop_table th{
  border-bottom: 1px solid rgba(255,255,255,0.14);
  font-weight: 700;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.shop_table td{
  border-top: 1px solid rgba(255,255,255,0.14);
}

/* Orders endpoint: table rhythm, actions, and responsive cleanup */
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table{
  background: rgb(56, 56, 56) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 14px !important;
  color: #f5f5f5 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table th,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table td{
  padding: 14px 16px !important;
  vertical-align: middle;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table th{
  background: rgb(50, 50, 50) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table th,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table th *,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table thead th > .nobr{
  color: #ffffff !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table td{
  color: rgba(255,255,255,0.94) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody th{
  background: transparent !important;
  color: rgba(255,255,255,0.94) !important;
  font-weight: 700 !important;
  border-top: 1px solid rgba(255,255,255,0.14) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody th,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody td{
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.14) !important;
  box-shadow: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table th > .nobr{
  display: inline-block;
  white-space: nowrap;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__header-order-number,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number{
  width: 20%;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__header-order-date,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-date{
  width: 24%;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-date,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-date time{
  font-weight: 600 !important;
  color: rgba(255,255,255,0.96) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__header-order-status,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status{
  width: 20%;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__header-order-total,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-total{
  width: 16%;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__header-order-actions,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions{
  width: 20%;
  text-align: right;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr{
  background: rgba(255,255,255,0.015);
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr:hover{
  background: rgba(255,255,255,0.045);
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-orders-table__cell-order-number a{
  font-weight: 700;
  color: #ffffff !important;
  text-decoration: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-orders-table__cell-order-number a:hover{
  color: #ffffff !important;
  text-decoration: underline !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-orders-table__cell-order-total{
  font-weight: 700;
  color: #ffffff !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-orders-table__cell-order-status{
  color: rgba(255,255,255,0.96) !important;
  font-weight: 600;
}

/* Orders status pills (Woo outputs plain text in this cell) */
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr > td.woocommerce-orders-table__cell-order-status{
  display: table-cell !important;
  vertical-align: middle !important;
  color: transparent !important;
  font-size: 0 !important;
  white-space: nowrap !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr > td.woocommerce-orders-table__cell-order-status::before{
  display: inline-block;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  line-height: 30px;
  text-transform: capitalize;
  white-space: nowrap;
  background: rgb(66, 66, 66);
  content: "Status";
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-draft > td.woocommerce-orders-table__cell-order-status::before,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-checkout-draft > td.woocommerce-orders-table__cell-order-status::before{
  content: "Draft";
  background: #5a5d65;
  border-color: #7a7f89;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-processing > td.woocommerce-orders-table__cell-order-status::before{
  content: "Processing";
  background: #2f5f9c;
  border-color: #4f87cf;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-completed > td.woocommerce-orders-table__cell-order-status::before{
  content: "Completed";
  background: #2f7546;
  border-color: #4a9a65;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-on-hold > td.woocommerce-orders-table__cell-order-status::before{
  content: "On hold";
  background: #a05e1f;
  border-color: #c27c38;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-failed > td.woocommerce-orders-table__cell-order-status::before,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-cancelled > td.woocommerce-orders-table__cell-order-status::before,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-refunded > td.woocommerce-orders-table__cell-order-status::before{
  content: "Failed";
  background: #9b3434;
  border-color: #c35353;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-cancelled > td.woocommerce-orders-table__cell-order-status::before{
  content: "Cancelled";
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-refunded > td.woocommerce-orders-table__cell-order-status::before{
  content: "Refunded";
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-pending > td.woocommerce-orders-table__cell-order-status::before,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr.woocommerce-orders-table__row--status-pending-payment > td.woocommerce-orders-table__cell-order-status::before{
  content: "Pending";
  background: #8a3f8d;
  border-color: #b260b6;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-orders-table__cell-order-actions{
  white-space: normal;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-orders-table__cell-order-actions .button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  font-size: 13px !important;
  margin: 0 !important;
  border-color: rgba(255,255,255,0.18) !important;
  background: rgb(52, 52, 52) !important;
  color: #ffffff !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-orders-table__cell-order-actions .button + .button{
  margin-left: 8px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-orders-table__cell-order-actions .button:hover{
  background: rgb(60, 60, 60) !important;
  border-color: rgba(255,255,255,0.26) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status{
  background: rgb(66, 66, 66) !important;
  color: #f5f5f5 !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
}

/* View order endpoint (exact endpoint hook from Elementor tab) */
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p{
  color: rgba(255,255,255,0.9) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-number,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-date{
  color: #ffffff !important;
  background: transparent !important;
  font-weight: 700 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status{
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle;
  min-height: 34px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  background: rgb(66, 66, 66) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 999px !important;
  padding: 0 12px !important;
  line-height: 1.1 !important;
  overflow: visible !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-order-details__title{
  color: #ffffff !important;
  margin: 0 0 10px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details{
  background: rgb(56, 56, 56) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 14px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details th{
  background: transparent !important;
  color: #ffffff !important;
  border-bottom: 1px solid rgba(255,255,255,0.14) !important;
  padding: 14px 16px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details td{
  color: rgba(255,255,255,0.94) !important;
  background: transparent !important;
  border-top: 1px solid rgba(255,255,255,0.14) !important;
  padding: 14px 16px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details th,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details td{
  border-left: 0 !important;
  border-right: 0 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details tfoot th{
  background: transparent !important;
  border-bottom: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.14) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details tfoot th,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details tfoot td{
  color: #ffffff !important;
  font-weight: 700 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details .product-name a{
  color: #ffffff !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details td.product-name{
  color: #ffffff !important;
  font-weight: 600 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details .product-name a:hover{
  text-decoration: underline !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce table.woocommerce-table--order-details .product-quantity{
  color: rgba(255,255,255,0.82) !important;
  font-weight: 600 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .order-actions-button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 14px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  background: rgb(52, 52, 52) !important;
  color: #ffffff !important;
  line-height: 1 !important;
  margin: 0 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .order-actions-button:hover{
  background: rgb(60, 60, 60) !important;
  border-color: rgba(255,255,255,0.26) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details{
  margin-top: 14px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .woocommerce-columns,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .col2-set{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: start !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .col2-set::before,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .col2-set::after{
  content: none !important;
  display: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .woocommerce-column{
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .woocommerce-column--billing-address,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .col-1{
  grid-column: 1 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .woocommerce-column--shipping-address,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .col-2{
  grid-column: 2 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-column__title{
  color: #ffffff !important;
  margin: 0 0 8px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-column address{
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 12px !important;
  padding: 14px !important;
  color: rgba(255,255,255,0.9) !important;
  height: auto !important;
  min-height: 0 !important;
}

@media (max-width: 782px){
  body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .woocommerce-columns,
  body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce .woocommerce-customer-details .col2-set{
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Status color system: Orders table (when status classes are present) */
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status.status-draft,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status.status-checkout-draft{
  background: #5a5d65 !important;
  border-color: #7a7f89 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status.status-processing{
  background: #2f5f9c !important;
  border-color: #4f87cf !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status.status-completed{
  background: #2f7546 !important;
  border-color: #4a9a65 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status.status-on-hold{
  background: #a05e1f !important;
  border-color: #c27c38 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status.status-failed,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status.status-cancelled,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status.status-refunded{
  background: #9b3434 !important;
  border-color: #c35353 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status.status-pending,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table mark.order-status.status-pending-payment{
  background: #8a3f8d !important;
  border-color: #b260b6 !important;
}

/* Status color system: View-order top pill via body class from PHP */
body.pq-view-order-status-draft .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status,
body.pq-view-order-status-checkout-draft .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status{
  background: #5a5d65 !important;
  border-color: #7a7f89 !important;
}

body.pq-view-order-status-processing .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status{
  background: #2f5f9c !important;
  border-color: #4f87cf !important;
}

body.pq-view-order-status-completed .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status{
  background: #2f7546 !important;
  border-color: #4a9a65 !important;
}

body.pq-view-order-status-on-hold .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status{
  background: #a05e1f !important;
  border-color: #c27c38 !important;
}

body.pq-view-order-status-failed .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status,
body.pq-view-order-status-cancelled .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status,
body.pq-view-order-status-refunded .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status{
  background: #9b3434 !important;
  border-color: #c35353 !important;
}

body.pq-view-order-status-pending .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status,
body.pq-view-order-status-pending-payment .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab__view-order .woocommerce p .order-status{
  background: #8a3f8d !important;
  border-color: #b260b6 !important;
}


body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .woocommerce-pagination{
  margin-top: 14px;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce .woocommerce-pagination .button{
  min-height: 34px !important;
  padding: 0 12px !important;
  font-size: 13px !important;
}

@media (max-width: 782px){
  body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table tbody tr{
    margin-bottom: 10px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 10px;
    overflow: hidden;
  }

  body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table td{
    padding: 10px 12px !important;
  }

  body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__header-order-actions,
  body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions{
    text-align: left;
    width: auto;
  }
}


body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-columns{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address{
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.14) !important;
  padding: 16px;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin-bottom: 10px !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title h2,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title h3,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title a{
  float: none !important;
  clear: both !important;
  position: static !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title h2,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title h3{
  order: 1 !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  text-align: left !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title h2::before,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title h3::before,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title h2::after,
body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title h3::after{
  content: none !important;
  display: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title a{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  order: 2 !important;
  flex: 0 0 auto !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  margin: 0 0 0 auto !important;
  pointer-events: auto !important;
  z-index: 2;
  transition: transform 140ms ease, background 140ms ease, border-color 140ms ease !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address-title a:hover{
  background: #262626 !important;
  border-color: rgba(255,255,255,0.18) !important;
  transform: translateY(-1px);
  text-decoration: none !important;
}

/* Hide account action nav in this specific Elementor account layout */
body > div.elementor.elementor-15 > div > div > div > div.elementor-element.elementor-element-190214ef.e-con-full.pq-results-panel.e-flex.e-con.e-child > div > div.elementor-element.elementor-element-56f7090f.e-con-full.pq-results-panel.e-flex.e-con.e-child > div > div > div > div > nav{
  display: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-Address address{
  margin: 0 !important;
  padding: 8px 0 0 0 !important;
  text-align: left !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  color: rgba(245,245,245,0.9) !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce-address-fields,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab address,
body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab form{
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce-address-fields__field-wrapper{
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab .select2-container .select2-selection--single{
  min-height: var(--pq-control-h) !important;
  height: var(--pq-control-h) !important;
  border-radius: var(--pq-radius) !important;
  background: #e6e8ed !important;
  border: 1px solid #cfd3db !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab .select2-container--default{
  background: transparent !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height: var(--pq-control-h) !important;
  color: #2d3138 !important;
  padding-left: 12px !important;
  padding-right: 34px !important;
  font-weight: 600 !important;
}

body.woocommerce-account .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-my-account .e-my-account-tab .select2-container--default .select2-selection--single .select2-selection__arrow{
  height: var(--pq-control-h) !important;
  right: 10px !important;
}

@media (max-width: 980px){
  body.woocommerce-account .pq-portal-shell .pq-results-panel .woocommerce-columns{
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ==========================================================================
   CART PAGE (endpoint scoped)
   Ordered model:
   1) locked stage chain
   2) single primary scroll surface (.woocommerce)
   3) optional secondary rows scroll (tbody) on taller viewports
   4) visual skin + controls
   ========================================================================== */
body.woocommerce-cart .pq-portal-shell,
body.woocommerce-cart .pq-portal-shell .pq-portal-frame,
body.woocommerce-cart .pq-portal-shell .pq-portal-main,
body.woocommerce-cart .pq-portal-shell .pq-results-panel{
  min-height: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-portal-main{
  height: 100% !important;
  overflow: hidden !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel{
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel > div{
  padding: 10px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel > .e-con-inner,
body.woocommerce-cart .pq-portal-shell .pq-results-panel > :is(.e-con, .e-con-inner, .elementor-widget-wrap, .elementor-widget-container),
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .elementor-widget-container{
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  height: 100% !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce{
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  padding-bottom: 16px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
  color: rgba(245,245,245,0.94) !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart#pq-portal-cart{
  position: relative !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart#pq-portal-cart.is-loading::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 6 !important;
  border-radius: 18px !important;
  background: rgba(20,20,20,0.24) !important;
  pointer-events: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart#pq-portal-cart.is-loading .woocommerce{
  opacity: 0.72 !important;
  transition: opacity 140ms ease !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce a{
  color: #f4f4f4 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce a:hover{
  color: #ffffff !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart__container{
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 22px !important;
  margin-bottom: 18px !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart__container > .e-cart__column.e-cart__column-start{
  min-width: 0 !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart__container > .e-cart__column.e-cart__column-end{
  min-width: 0 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: none !important;
}

/* Remove Elementor/Woo white wrapper shells around cart content */
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart__column-start > form,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart__column-end > div > div,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart__column-start,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart__column-start .e-shop-table.e-cart-section{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart__column-start > form{
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
  gap: 18px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart-collaterals,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart-collaterals .cart_totals,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart__container > .e-cart__column.e-cart__column-end .cart-collaterals,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart__container > .e-cart__column.e-cart__column-end .cart_totals{
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin-bottom: 0 !important;
}

/* Monochrome card language */
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .coupon{
  background: rgb(56, 56, 56) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart{
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart th{
  padding: 12px 14px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 0.02em !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,0.16) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td{
  padding: 12px 14px !important;
  color: rgba(245,245,245,0.94) !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  background: transparent !important;
  font-weight: 500 !important;
  vertical-align: middle !important;
  outline: 0 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td *,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .product-price,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .product-subtotal,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .amount{
  color: #f2f2f2 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-price,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-subtotal,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-price .amount,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-subtotal .amount{
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
}

/* Keep cart columns stable when tbody is enabled as a secondary scroller */
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart th.product-remove,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-remove{
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart th.product-thumbnail,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-thumbnail{
  width: 66px !important;
  min-width: 66px !important;
  max-width: 66px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart th.product-price,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-price{
  width: 104px !important;
  min-width: 104px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart th.product-quantity,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-quantity{
  width: 166px !important;
  min-width: 166px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart th.product-subtotal,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-subtotal{
  width: 108px !important;
  min-width: 108px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-thumbnail a,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-thumbnail a img{
  border-radius: 8px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-thumbnail a{
  display: inline-block !important;
  overflow: hidden !important;
  width: 42px !important;
  height: 42px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.product-thumbnail a img{
  width: 42px !important;
  height: 42px !important;
  object-fit: cover !important;
}

/* Secondary rows scroll: only for taller desktop viewports */
@media (min-width: 981px) and (min-height: 860px){
  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > thead,
  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > tbody tr{
    display: table !important;
    width: 100% !important;
    table-layout: fixed !important;
  }

  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > tbody{
    display: block !important;
    max-height: min(50dvh, 510px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-gutter: stable;
  }

  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > tbody::-webkit-scrollbar{
    width: 8px;
  }

  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > tbody::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,0.22);
    border-radius: 999px;
  }

  /* Keep actions row pinned at the bottom of the scrolling tbody. */
  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > tbody > tr:last-child{
    position: sticky !important;
    bottom: 0 !important;
    z-index: 5 !important;
  }

  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > tbody > tr:last-child > td{
    background: rgb(56, 56, 56) !important;
    border-top: 1px solid rgba(255,255,255,0.18) !important;
  }
}

/* Extra tall desktops: let the items card breathe more. */
@media (min-width: 981px) and (min-height: 1120px){
  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > tbody{
    max-height: min(56dvh, 630px) !important;
  }
}

/* Shorter viewports: disable row-only scroll and rely on parent scroll for guaranteed checkout reachability */
@media (max-height: 859px){
  body.woocommerce-cart .pq-portal-shell .pq-results-panel{
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart,
  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .elementor-widget-container{
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
  }

  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce{
    height: auto !important;
    min-height: 100% !important;
    overflow: visible !important;
  }

  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > thead{
    display: table-header-group !important;
  }

  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > tbody{
    display: table-row-group !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart > tbody tr{
    display: table-row !important;
    width: auto !important;
  }
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .product-name a{
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .pq-cart-item__reservation{
  margin-top: 4px !important;
  color: rgba(255,255,255,0.86) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .pq-cart-item__reservation-label{
  color: inherit !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .pq-cart-item__reservation-value{
  color: rgba(255,255,255,0.94) !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .pq-cart-item__reservation.is-expired,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .pq-cart-item__reservation.is-expired .pq-cart-item__reservation-value{
  color: rgba(255,173,173,0.94) !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .product-remove :is(a.remove, a.pq-cart-remove){
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  line-height: 20px !important;
  font-size: 18px !important;
  color: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 999px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce :is(.pq-cart-row-select, .pq-cart-select-all){
  width: 16px !important;
  height: 16px !important;
  display: inline-grid !important;
  place-content: center !important;
  vertical-align: middle !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border-radius: 5px !important;
  border: 1px solid rgba(255,255,255,0.72) !important;
  background: #222 !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.35) !important;
  cursor: pointer !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce :is(.pq-cart-row-select, .pq-cart-select-all)::before{
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  transform: scale(0) !important;
  transition: transform 120ms ease !important;
  background: #111 !important;
  clip-path: polygon(14% 44%, 0 59%, 39% 100%, 100% 19%, 84% 5%, 37% 61%) !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce :is(.pq-cart-row-select, .pq-cart-select-all):checked{
  background: #ffffff !important;
  border-color: #ffffff !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce :is(.pq-cart-row-select, .pq-cart-select-all):checked::before{
  transform: scale(1) !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .pq-cart-select-all:indeterminate{
  background: #ffffff !important;
  border-color: #ffffff !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .pq-cart-select-all:indeterminate::before{
  width: 10px !important;
  height: 2px !important;
  transform: scale(1) !important;
  clip-path: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce td.product-remove .pq-cart-row-select{
  margin: 0 6px 0 0 !important;
  position: relative !important;
  top: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart thead th.product-remove{
  text-align: center !important;
  overflow: visible !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart thead th.product-remove .pq-cart-select-all-wrap{
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  margin: 0 !important;
  transform: translateX(2px) !important;
  white-space: nowrap !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart thead th.product-remove .pq-cart-select-all{
  margin: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart thead th.product-remove .pq-cart-select-all-label{
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: 0.01em !important;
  color: rgba(255,255,255,0.86) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  user-select: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce td.product-remove{
  text-align: center !important;
  white-space: nowrap !important;
  padding-right: 8px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce td.product-remove :is(a.remove, a.pq-cart-remove){
  display: inline-block !important;
  vertical-align: middle !important;
  float: none !important;
  margin: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .product-remove a:hover{
  background: #2d2d2d !important;
  color: #ffffff !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .quantity{
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .quantity .qty_button{
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  display: inline-block !important;
  font-size: 18px !important;
  line-height: 26px !important;
  text-align: center !important;
  padding: 0 !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  background: #313131 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 2 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .quantity .qty_button:hover{
  background: #3a3a3a !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .quantity .qty_button.minus{
  order: 1 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .quantity .qty{
  order: 2 !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  border-radius: 10px !important;
  background: #2b2b2b !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  opacity: 1 !important;
  appearance: textfield !important;
  -webkit-appearance: textfield !important;
  -moz-appearance: textfield !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .quantity .qty::-webkit-outer-spin-button,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .quantity .qty::-webkit-inner-spin-button{
  -webkit-appearance: none !important;
  margin: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .product-quantity::before{
  pointer-events: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .quantity .qty_button.plus{
  order: 3 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .coupon{
  display: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .coupon.e-cart-section.shop_table{
  display: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .coupon{
  display: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .coupon :is(.form-row-first, .form-row-last){
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .coupon .form-row-first{
  flex: 1 1 auto !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .coupon .form-row-last{
  flex: 0 0 34% !important;
  min-width: 220px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .coupon .input-text{
  width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  background: #2b2b2b !important;
  color: #ffffff !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .coupon button[name="apply_coupon"]{
  width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions .button,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions button[name="update_cart"],
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions button[name="apply_coupon"]{
  min-width: 180px !important;
  width: 180px !important;
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.actions{
  padding: 22px 18px !important;
  text-align: left !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart td.actions > *{
  margin-right: 12px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions button[name="update_cart"],
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions button[name="update_cart"]:disabled,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions #mc-save-cart-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  float: none !important;
  width: 180px !important;
  min-width: 180px !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 48px !important;
  text-align: center !important;
  font-size: 14px !important;
  vertical-align: middle !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions #mc-save-cart-btn{
  margin-left: 8px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions .pq-remove-selected{
  margin-left: 8px !important;
}

/* Force consistent label color on cart action trio (update/remove/save). */
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions button[name="update_cart"],
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions .pq-remove-selected,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions #mc-save-cart-btn{
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .button,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .checkout-button{
  min-height: 48px !important;
  border-radius: 14px !important;
  border: 1px solid var(--pq-btn-border) !important;
  background: var(--pq-btn-bg) !important;
  color: #111111 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .button:hover,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .checkout-button:hover{
  background: var(--pq-btn-bg-hover) !important;
  border-color: var(--pq-btn-border) !important;
  color: #111111 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .button:disabled,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .button[disabled],
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions button:disabled,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions button[disabled]{
  opacity: 1 !important;
  background: #d6dbe3 !important;
  border-color: #c7ced9 !important;
  color: #111111 !important;
  cursor: not-allowed !important;
  box-shadow: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions button[name="update_cart"]:disabled,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions .pq-remove-selected:disabled,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart .actions #mc-save-cart-btn:disabled{
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals{
  padding: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals h2,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals th,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals td{
  color: #ffffff !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals h2{
  margin: 0 !important;
  padding: 20px 22px 16px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-transform: capitalize !important;
  letter-spacing: -0.01em !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals table{
  margin: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals td *,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .woocommerce-Price-amount,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .shipping,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .shipping td,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .order-total td{
  color: #f2f2f2 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals tr th,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals tr td{
  padding: 18px 22px !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
  font-size: 16px !important;
  vertical-align: top !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals tr:first-child th,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals tr:first-child td{
  border-top: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .shipping td{
  line-height: 1.6 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .shipping ul{
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .woocommerce-shipping-destination,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .shipping-calculator-button{
  color: rgba(255,255,255,0.88) !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .shipping-calculator-button{
  display: inline-block !important;
  margin-top: 8px !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .order-total th,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals .order-total td{
  font-weight: 800 !important;
  color: #ffffff !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .e-cart-section{
  margin: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout{
  margin: 0 !important;
  padding: 18px 22px 22px !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button{
  width: 100% !important;
  min-height: 62px !important;
  height: 62px !important;
  border-radius: 14px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .woocommerce-notices-wrapper{
  position: static !important;
  z-index: auto !important;
  pointer-events: auto !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .woocommerce-notices-wrapper .woocommerce-message{
  margin: 0 0 10px !important;
  padding: 10px 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  background: rgba(56, 56, 56, 0.96) !important;
  color: #f3f3f3 !important;
  box-shadow: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before{
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  line-height: 1 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .woocommerce-notices-wrapper .woocommerce-message::before,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .woocommerce-notices-wrapper .woocommerce-info::before,
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .woocommerce-notices-wrapper .woocommerce-error::before{
  color: #f3f3f3 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .woocommerce-notices-wrapper .woocommerce-message a{
  color: #ffffff !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* Empty cart state */
body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .wc-empty-cart-message > div{
  margin: 0 0 16px !important;
  padding: 20px 22px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-top: 1px solid rgba(255,255,255,0.14) !important;
  background: rgb(56, 56, 56) !important;
  color: #f2f2f2 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .wc-empty-cart-message > div::before{
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  line-height: 1 !important;
  font-size: 22px !important;
  color: rgba(255,255,255,0.9) !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .return-to-shop{
  margin: 0 !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .return-to-shop .button{
  min-height: 0 !important;
  height: auto !important;
  line-height: 1.2 !important;
  padding: 10px 20px !important;
  border-radius: 10px !important;
  border: 1px solid var(--pq-btn-border) !important;
  background: var(--pq-btn-bg) !important;
  color: var(--pq-btn-text) !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .return-to-shop .button:hover{
  background: var(--pq-btn-bg-hover) !important;
  border-color: var(--pq-btn-border) !important;
  color: var(--pq-btn-text-hover) !important;
}

/* ==========================================================
   ORDER-ON-BEHALF CONTEXT NOTICE
   Scoped to the rep/customer context wrapper so other Woo notices keep
   their existing behavior.
   ========================================================== */
body:is(.woocommerce-shop, .post-type-archive-product, .woocommerce-cart, .woocommerce-checkout) .pq-results-panel :is(.woocommerce-message, .woocommerce-info, .woocommerce-error):has(.pq-sales-rep-order-context-notice){
  margin: 0 0 12px !important;
  padding: 14px 16px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  background: linear-gradient(135deg, rgba(56,56,56,0.98) 0%, rgba(71,71,71,0.94) 100%) !important;
  color: #f2f2f2 !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.18) !important;
}

body:is(.woocommerce-shop, .post-type-archive-product, .woocommerce-cart, .woocommerce-checkout) .pq-results-panel :is(.woocommerce-message, .woocommerce-info, .woocommerce-error):has(.pq-sales-rep-order-context-notice)::before{
  display: none !important;
  content: none !important;
}

.pq-sales-rep-order-context-notice{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px 16px;
  width: 100%;
  min-width: 0;
}

.pq-sales-rep-order-context-notice__content{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pq-sales-rep-order-context-notice__summary,
.pq-sales-rep-order-context-notice__meta{
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
}

.pq-sales-rep-order-context-notice__eyebrow{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.68);
}

.pq-sales-rep-order-context-notice__customer{
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
}

.pq-sales-rep-order-context-notice__email,
.pq-sales-rep-order-context-notice__badge{
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.08);
  color: #f5f5f5;
  font-size: 13px;
  line-height: 1.35;
}

.pq-sales-rep-order-context-notice__email{
  overflow-wrap: anywhere;
}

.pq-sales-rep-order-context-notice__badge{
  background: rgba(229,231,236,0.14);
  border-color: rgba(229,231,236,0.22);
  font-weight: 600;
}

.pq-sales-rep-order-context-notice__hint{
  color: rgba(255,255,255,0.82);
  line-height: 1.45;
}

.pq-sales-rep-order-context-notice__actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.pq-sales-rep-order-context-notice__clear{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  color: #ffffff !important;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
}

.pq-sales-rep-order-context-notice__clear:hover{
  background: rgba(255,255,255,0.14);
  color: #ffffff !important;
}

@media (max-width: 767px){
  .pq-sales-rep-order-context-notice{
    grid-template-columns: minmax(0, 1fr);
    align-items: flex-start;
  }

  .pq-sales-rep-order-context-notice__actions{
    justify-content: flex-start;
  }
}

@media (max-width: 980px){
  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .shop_table.cart,
  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .cart_totals,
  body.woocommerce-cart .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-cart .woocommerce .coupon{
    border-radius: 12px !important;
  }
}

/* ==========================================================
   CHECKOUT PAGE (endpoint scoped)
   ========================================================== */
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .elementor-widget-container,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce{
  background: transparent !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-notices-wrapper{
  margin: 0 0 10px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error){
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  background: rgb(56, 56, 56) !important;
  color: #f2f2f2 !important;
  box-shadow: none !important;
  margin: 0 0 10px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before{
  color: #f2f2f2 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .e-checkout__container{
  gap: 10px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .e-checkout__column-start > *,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .e-checkout__column-end .e-checkout__order_review,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .e-checkout__column-end .e-checkout__order_review-2{
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 14px !important;
  background: rgb(56, 56, 56) !important;
  padding: 10px !important;
}

/* Neutralize Woo/Elementor inner "white card" wrappers in left column. */
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .col2-set,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .col2-set .col-1,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .col2-set .col-2,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-shipping-fields,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-additional-fields,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-additional-fields__field-wrapper{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-shipping-fields,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-additional-fields{
  margin-bottom: 8px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page h3,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page h4,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields > h3,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-shipping-fields > h3,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #order_review_heading{
  color: #ffffff !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
  font-size: 20px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #ship-to-different-address{
  margin: 4px 0 8px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .pq-acc-heading{
  margin: 0 0 8px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .pq-acc-toggle{
  width: 100%;
  min-height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(22,24,28,0.75);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  text-align: left;
  padding: 0 12px;
  cursor: pointer;
  position: relative;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .pq-acc-toggle::after{
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 2px solid rgba(255,255,255,0.8);
  border-bottom: 2px solid rgba(255,255,255,0.8);
  transform: rotate(45deg);
  transition: transform .18s ease;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields.pq-acc-open .pq-acc-toggle::after{
  transform: rotate(-135deg);
  margin-top: -2px;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper{
  overflow: hidden;
  transition: max-height .2s ease;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #ship-to-different-address .checkbox{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #f1f1f2 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #ship-to-different-address .checkbox input[type="checkbox"]{
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  accent-color: #d9dce3;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-shipping-fields .shipping_address{
  margin: 6px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-shipping-fields .shipping_address > h4{
  margin: 0 0 8px !important;
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #sales_rep_field,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .sales-rep-checkout-field{
  margin: 6px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #sales_rep_id{
  min-height: 36px !important;
  height: 36px !important;
  border-radius: var(--pq-radius, 12px) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  background: rgba(21,22,25,0.72) !important;
  color: #f0f0f1 !important;
  box-shadow: none !important;
  padding: 0 10px !important;
  font-size: 14px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .pq-billing-sync-toggle{
  margin: 0 0 8px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .pq-billing-sync-toggle .checkbox{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(255,255,255,0.9) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .pq-billing-sync-toggle input[type="checkbox"]{
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  accent-color: #d9dce3;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .form-row label{
  color: #f1f1f2 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin-bottom: 4px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce form.checkout .form-row{
  margin: 0 0 6px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .form-row :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select){
  min-height: 36px !important;
  height: 36px !important;
  border-radius: var(--pq-radius, 12px) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  background: rgba(21,22,25,0.72) !important;
  color: #f0f0f1 !important;
  box-shadow: none !important;
  padding: 0 10px !important;
  font-size: 14px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .form-row textarea{
  min-height: 78px !important;
  height: auto !important;
  padding: 8px 10px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .form-row .select2-container .select2-selection--single{
  min-height: 36px !important;
  height: 36px !important;
  border-radius: var(--pq-radius, 12px) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  background: rgba(21,22,25,0.72) !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .form-row .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height: 34px !important;
  color: #f0f0f1 !important;
  padding-left: 10px !important;
  font-size: 14px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .form-row .select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 36px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce form.checkout .woocommerce-checkout-review-order-table{
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table td{
  padding: 10px 12px !important;
  color: rgba(255,255,255,0.94) !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table thead th{
  background: rgb(50, 50, 50) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border-top: 0 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .product-name{
  font-weight: 600 !important;
  color: #ffffff !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .product-quantity{
  color: rgba(255,255,255,0.9) !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table dl.variation{
  margin: 4px 0 0 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table dl.variation dt,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table dl.variation dd,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table dl.variation dd p,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .reservation-timer{
  color: rgba(255,255,255,0.85) !important;
  font-weight: 600 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table tfoot td,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table .order-total :is(th, td, strong, span, bdi){
  color: #ffffff !important;
  font-weight: 700 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-shipping-may-be-available-html{
  color: rgba(255,255,255,0.82) !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #payment{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #payment .woocommerce-privacy-policy-text p{
  color: rgba(255,255,255,0.82) !important;
  font-size: 13px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #payment .woocommerce-privacy-policy-text a{
  color: #ffffff !important;
  text-decoration: underline !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #place_order,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page button[name="woocommerce_checkout_place_order"]{
  min-height: 38px !important;
  height: 38px !important;
  border-radius: 12px !important;
  border: 1px solid #cfd3db !important;
  background: #e6e8ed !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  box-shadow: none !important;
}

/* Payment method area polish */
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #payment .wc_payment_methods{
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #payment .wc_payment_methods > li{
  border: 0 !important;
  background: transparent !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #payment .payment_box,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #payment > ul > li > .payment_box{
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: rgba(255,255,255,0.86) !important;
  padding: 10px 12px !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #payment .payment_box p{
  margin: 0 !important;
}

/* Keep coupon box styled, not bright white */
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .checkout_coupon{
  border-radius: 12px !important;
  background: rgba(56,56,56,0.92) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  box-shadow: none !important;
}

/* Desktop: keep checkout contained with an inner scroll area. */
@media (min-width: 1025px){
  body.woocommerce-checkout .pq-portal-shell,
  body.woocommerce-checkout .pq-portal-shell .pq-portal-frame,
  body.woocommerce-checkout .pq-portal-shell .pq-portal-frame > .e-con-inner,
  body.woocommerce-checkout .pq-portal-shell .pq-results-panel{
    min-height: 0 !important;
    height: 100% !important;
  }

  body.woocommerce-checkout .pq-portal-shell .pq-results-panel{
    overflow: hidden !important;
  }

  body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page,
  body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .elementor-widget-container,
  body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce{
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
  }

  body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce form.checkout{
    max-height: none !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 6px !important;
    scrollbar-width: thin;
  }

  body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce form.checkout::-webkit-scrollbar{
    width: 8px;
  }

  body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce form.checkout::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,0.18);
    border-radius: 999px;
  }
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #place_order:hover,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page button[name="woocommerce_checkout_place_order"]:hover{
  background: #dfe3ea !important;
  border-color: #c6ccd7 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page #place_order:disabled,
body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page button[name="woocommerce_checkout_place_order"]:disabled{
  opacity: 1 !important;
  background: #d6dbe3 !important;
  border-color: #c7ced9 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}

/* Thank-you / order-received endpoint */
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .elementor-widget-container,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .woocommerce,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order{
  color: rgba(255,255,255,0.92) !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order{
  display: grid;
  gap: 16px;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order > p,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order > section{
  margin: 0 !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order > .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order > .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received.order-received{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-size: 22px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order > .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received::before{
  display: none !important;
  content: none !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order > p:not(.woocommerce-notice){
  margin: 0 !important;
  color: rgba(255,255,255,0.72) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 12px !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details::before,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details::after{
  display: none !important;
  content: none !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details li{
  margin: 0 !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,0.13) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.025)) !important;
  color: rgba(255,255,255,0.56) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details li strong,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details li span:last-child{
  display: block !important;
  margin-top: 6px !important;
  color: #ffffff !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  overflow-wrap: anywhere !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details{
  margin: 0 !important;
  padding: 16px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.02)) !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details__title,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details > h2,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-column__title{
  margin: 0 0 12px !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.shop_table.order_details,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.woocommerce-table--order-details{
  margin: 0 !important;
  background: rgba(7,10,14,0.28) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 14px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.shop_table.order_details th,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.shop_table.order_details td,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.woocommerce-table--order-details th,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.woocommerce-table--order-details td{
  padding: 14px 16px !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.shop_table.order_details thead th,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.woocommerce-table--order-details thead th{
  color: rgba(255,255,255,0.66) !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.02) !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.shop_table.order_details tbody th,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.shop_table.order_details tbody td,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.woocommerce-table--order-details tbody th,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.woocommerce-table--order-details tbody td{
  color: rgba(255,255,255,0.94) !important;
  background: transparent !important;
  border-top: 1px solid rgba(255,255,255,0.09) !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.shop_table.order_details tfoot th,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.shop_table.order_details tfoot td,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.woocommerce-table--order-details tfoot th,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.woocommerce-table--order-details tfoot td{
  color: #ffffff !important;
  font-weight: 700 !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details td.product-name,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details td.product-name *,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details .product-name a{
  color: #ffffff !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details .product-name a:hover{
  color: #ffe18a !important;
  text-decoration: underline !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details .product-quantity{
  color: rgba(255,255,255,0.62) !important;
  font-weight: 600 !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details .woocommerce-columns,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details .col2-set{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details .col2-set::before,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details .col2-set::after{
  display: none !important;
  content: none !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details .woocommerce-column,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details .col-1,
body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details .col-2{
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details address{
  margin: 0 !important;
  min-height: 100% !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: rgba(255,255,255,0.88) !important;
  font-style: normal !important;
  line-height: 1.75 !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details a{
  color: #ffffff !important;
  text-decoration: none !important;
}

body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details a:hover{
  color: #ffe18a !important;
  text-decoration: underline !important;
}

@media (max-width: 782px){
  body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order{
    gap: 14px;
  }

  body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel ul.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details{
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details,
  body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details{
    padding: 14px !important;
    border-radius: 14px !important;
  }

  body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.shop_table.order_details th,
  body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.shop_table.order_details td,
  body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.woocommerce-table--order-details th,
  body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-order-details table.woocommerce-table--order-details td{
    padding: 12px 14px !important;
  }

  body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details .woocommerce-columns,
  body.woocommerce-checkout.woocommerce-order-received .pq-portal-shell .pq-results-panel .woocommerce-customer-details .col2-set{
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 980px){
  body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .e-checkout__column-start > *,
  body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .e-checkout__column-end .e-checkout__order_review,
  body.woocommerce-checkout .pq-portal-shell .pq-results-panel .elementor-widget-woocommerce-checkout-page .e-checkout__column-end .e-checkout__order_review-2{
    padding: 12px !important;
  }
}

/* Hide Elementor Login widget's built-in register link; custom register CTA is used below the card. */
body .elementor-widget-login form .elementor-register,
body .elementor-widget-login form a[href*="action=register"],
body .elementor-widget-login form > div > div:nth-child(5) > span{
  display: none !important;
}

/* Front-end auth notices for login/register/reset flows. */
.pq-auth-notice{
  margin: 0 0 12px 0;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.35;
}

.pq-auth-notice--error{
  background: rgba(176, 49, 49, 0.22);
  border: 1px solid rgba(255, 96, 96, 0.46);
  color: #ffd4d4;
}

.pq-auth-notice--success{
  background: rgba(49, 128, 90, 0.22);
  border: 1px solid rgba(96, 214, 153, 0.46);
  color: #d4ffe9;
}
