/*
 * Florida Plant Solutions — AJAX cart drawer v3.5
 */

body.fps-cart-open{overflow:hidden}

.fps-cart-drawer-shell{
  position:fixed;
  z-index:100000;
  inset:0;
  visibility:hidden;
  pointer-events:none;
}
.fps-cart-drawer-shell.is-open{
  visibility:visible;
  pointer-events:auto;
}
.fps-cart-drawer__backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  border-radius:0;
  background:rgba(7,24,16,.56);
  opacity:0;
  cursor:default;
  backdrop-filter:blur(3px);
  transition:opacity .32s ease;
}
.fps-cart-drawer-shell.is-open .fps-cart-drawer__backdrop{opacity:1}
.fps-cart-drawer{
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  display:flex;
  width:min(92vw,430px);
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  color:var(--fps3-ink,var(--fps-ink));
  box-shadow:-28px 0 80px rgba(7,24,16,.24);
  transform:translate3d(105%,0,0);
  transition:transform .38s cubic-bezier(.22,1,.36,1);
  outline:0;
}
.fps-cart-drawer-shell.is-open .fps-cart-drawer{transform:translate3d(0,0,0)}
.fps-cart-drawer__header{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:102px;
  padding:22px 24px;
  border-bottom:1px solid var(--fps3-line,var(--fps-line));
  background:var(--fps3-paper,#f8f6ef);
}
.fps-cart-drawer__header p{
  margin:0 0 4px;
  color:var(--fps3-green-2,var(--fps-leaf));
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.fps-cart-drawer__header h2{
  margin:0;
  font-size:clamp(1.55rem,3vw,2rem);
  line-height:1.05;
}
.fps-cart-drawer__close{
  display:grid;
  width:44px;
  height:44px;
  flex:0 0 44px;
  place-items:center;
  padding:0;
  border:1px solid var(--fps3-line,var(--fps-line));
  border-radius:50%;
  background:#fff;
  color:var(--fps3-ink,var(--fps-ink));
  cursor:pointer;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.fps-cart-drawer__close span{font-size:1.8rem;font-weight:300;line-height:1}
.fps-cart-drawer__close:hover{background:var(--fps3-ink,var(--fps-forest));color:#fff;transform:rotate(8deg)}
.fps-cart-drawer__content{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:0 24px 22px;
  scrollbar-width:thin;
  scrollbar-color:rgba(36,95,65,.35) transparent;
}
.fps-cart-drawer .woocommerce-mini-cart{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.fps-cart-drawer .woocommerce-mini-cart-item{
  position:relative;
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:5px 15px;
  min-height:112px;
  margin:0!important;
  padding:20px 28px 20px 0!important;
  border-bottom:1px solid var(--fps3-line,var(--fps-line));
}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){
  display:grid;
  grid-column:1/-1;
  grid-template-columns:78px minmax(0,1fr);
  align-items:center;
  gap:15px;
  color:inherit;
  font-size:.88rem;
  font-weight:800;
  line-height:1.35;
  text-decoration:none;
}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation{
  grid-column:2/-1;
  width:100%;
  min-width:0;
  margin:6px 0 0!important;
  padding:0!important;
  border:0!important;
  color:var(--fps3-muted,var(--fps-muted));
  font-size:.76rem;
  font-weight:600;
  line-height:1.45;
}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation dt,
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation dd,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation dt,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation dd{
  display:inline;
  float:none!important;
  margin:0!important;
  padding:0!important;
}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation dt,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation dt{font-weight:800}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation dd:after,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation dd:after{content:"";display:block}
.fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove) .variation p,
.fps-cart-drawer .woocommerce-mini-cart-item>.variation p{display:inline;margin:0!important}
.fps-cart-drawer .woocommerce-mini-cart-item img{
  float:none!important;
  width:78px!important;
  height:78px!important;
  margin:0!important;
  border-radius:12px;
  object-fit:cover;
  background:#edf3e7;
}
.fps-cart-drawer .woocommerce-mini-cart-item .quantity,
.fps-cart-drawer .fps-mini-cart-quantity{
  grid-column:2/-1;
  width:100%;
  min-width:0;
  margin-top:7px;
  clear:both;
  color:var(--fps3-muted,var(--fps-muted));
  font-size:.8rem;
  font-weight:700;
}
.fps-mini-cart-quantity__label{
  display:block;
  margin:2px 0 6px;
  color:var(--fps3-ink,var(--fps-ink));
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fps-mini-cart-quantity__row{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.fps-mini-cart-stepper{
  display:grid;
  grid-template-columns:32px 38px 32px;
  align-items:center;
  overflow:hidden;
  border:1px solid var(--fps3-line,var(--fps-line));
  border-radius:999px;
  background:#fff;
}
.fps-mini-cart-stepper__button{
  display:grid!important;
  width:32px!important;
  height:32px!important;
  min-width:0!important;
  min-height:0!important;
  place-items:center;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--fps3-ink,var(--fps-ink))!important;
  font:800 1rem/1 Arial,sans-serif!important;
  cursor:pointer;
}
.fps-mini-cart-stepper__button:hover:not(:disabled){background:#eef3e9!important}
.fps-mini-cart-stepper__button:disabled{opacity:.32;cursor:not-allowed}
.fps-mini-cart-stepper__value{
  width:38px!important;
  height:32px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-right:1px solid var(--fps3-line,var(--fps-line))!important;
  border-left:1px solid var(--fps3-line,var(--fps-line))!important;
  border-radius:0!important;
  background:#fff!important;
  color:var(--fps3-ink,var(--fps-ink))!important;
  font-size:.78rem!important;
  font-weight:850!important;
  line-height:32px!important;
  text-align:center;
  appearance:textfield;
  pointer-events:none;
}
.fps-mini-cart-stepper__value::-webkit-inner-spin-button,
.fps-mini-cart-stepper__value::-webkit-outer-spin-button{margin:0;appearance:none}
.fps-mini-cart-quantity__price{white-space:nowrap;font-size:.76rem}
.fps-mini-cart-quantity.is-updating{opacity:.58;pointer-events:none}
.fps-cart-drawer .woocommerce-mini-cart-item .remove{
  position:absolute!important;
  top:20px;
  right:0;
  display:grid!important;
  width:24px!important;
  height:24px!important;
  place-items:center;
  border:1px solid var(--fps3-line,var(--fps-line));
  border-radius:50%!important;
  background:#fff!important;
  color:#8d5148!important;
  font-size:16px!important;
  line-height:1!important;
  text-decoration:none;
}
.fps-cart-drawer .woocommerce-mini-cart-item .remove:hover{background:#8d5148!important;color:#fff!important}
.fps-cart-drawer .woocommerce-mini-cart__total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:20px 0 14px!important;
  padding:17px 0 0!important;
  border-top:0!important;
  color:var(--fps3-ink,var(--fps-ink));
}
.fps-cart-drawer .woocommerce-mini-cart__total strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.fps-cart-drawer .woocommerce-mini-cart__total .woocommerce-Price-amount{font-size:1.2rem;font-weight:900}
.fps-cart-drawer .woocommerce-mini-cart__buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0!important;
}
.fps-cart-drawer .woocommerce-mini-cart__buttons .button{
  display:flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  margin:0!important;
  padding:12px 15px!important;
  border:1px solid var(--fps3-ink,var(--fps-forest))!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--fps3-ink,var(--fps-forest))!important;
  font-size:.72rem!important;
  font-weight:850!important;
  text-align:center;
}
.fps-cart-drawer .woocommerce-mini-cart__buttons .checkout{
  background:var(--fps3-ink,var(--fps-forest))!important;
  color:#fff!important;
}
.fps-cart-drawer .woocommerce-mini-cart__buttons .button:hover{transform:translateY(-1px)}
.fps-cart-drawer .woocommerce-mini-cart__empty-message{
  margin:0!important;
  padding:64px 20px!important;
  color:var(--fps3-muted,var(--fps-muted));
  font-size:.95rem;
  text-align:center;
}
.fps-cart-drawer__trust{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:10px 18px;
  border-top:1px solid var(--fps3-line,var(--fps-line));
  background:#eef3e9;
  color:var(--fps3-green-2,var(--fps-leaf));
  font-size:.68rem;
  font-weight:800;
  text-align:center;
}
.fps-cart-drawer__trust .fps-icon{width:16px;height:16px;flex:0 0 16px}
.single_add_to_cart_button.is-loading{position:relative;opacity:.72;pointer-events:none}
.single_add_to_cart_button.is-loading:after{content:"";width:16px;height:16px;margin-left:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fpsCartSpin .65s linear infinite}
@keyframes fpsCartSpin{to{transform:rotate(360deg)}}

/* Checkout: express wallets sit between shipping and standard payment options. */
body.woocommerce-checkout .wc-block-components-express-payment.fps-express-checkout-relocated{
  width:100%;
  margin:30px 0 26px;
}
body.woocommerce-checkout .fps-express-checkout-relocated+.wc-block-checkout__payment-method{
  margin-top:0;
}

@media(max-width:600px){
  body.woocommerce-checkout .wc-block-components-express-payment.fps-express-checkout-relocated{
    margin:24px 0 22px;
  }
}

@media(max-width:782px){
  .fps-header__inner{grid-template-columns:1fr auto auto;gap:8px}
  .fps-header__actions{display:flex;grid-column:2;grid-row:1}
  .fps-header__actions>.fps-button{display:none}
  .fps-menu-toggle{grid-column:3;grid-row:1}
  .fps-cart-link{width:42px;height:42px;background:#fff}
}

@media(max-width:480px){
  .fps-cart-drawer{width:min(94vw,400px)}
  .fps-cart-drawer__header{min-height:90px;padding:18px 18px}
  .fps-cart-drawer__content{padding:0 18px 18px}
  .fps-cart-drawer .woocommerce-mini-cart-item{grid-template-columns:68px minmax(0,1fr);gap:5px 12px;padding-right:26px!important}
  .fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){grid-template-columns:68px minmax(0,1fr);gap:12px}
  .fps-cart-drawer .woocommerce-mini-cart-item img{width:68px!important;height:68px!important}
  .fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){align-items:start}
  .fps-mini-cart-quantity__row{gap:7px}
  .fps-mini-cart-stepper{grid-template-columns:30px 34px 30px}
  .fps-mini-cart-stepper__button{width:30px!important;height:30px!important}
  .fps-mini-cart-stepper__value{width:34px!important;height:30px!important;line-height:30px!important}
  .fps-cart-drawer .woocommerce-mini-cart__buttons{grid-template-columns:1fr}
}

@media(max-width:360px){
  .fps-cart-drawer{width:100vw}
  .fps-cart-drawer__header{padding-inline:15px}
  .fps-cart-drawer__content{padding-inline:15px}
  .fps-cart-drawer .woocommerce-mini-cart-item{grid-template-columns:60px minmax(0,1fr);gap:5px 10px;padding-right:25px!important}
  .fps-cart-drawer .woocommerce-mini-cart-item>a:not(.remove){grid-template-columns:60px minmax(0,1fr);gap:10px}
  .fps-cart-drawer .woocommerce-mini-cart-item img{width:60px!important;height:60px!important}
}

@media(prefers-reduced-motion:reduce){
  .fps-cart-drawer,.fps-cart-drawer__backdrop{transition-duration:.01ms}
}
