/* Geometry and controls adapted from Chameleon's cart-modal-g-style and exit-controls.
   Theme-independent Woo markup; bonuses and toast deliberately remain separate. */
body.pp-floating-cart-open { overflow: hidden; }
#pp-floating-cart {
  --fc-bg:rgba(8,21,32,.97); --fc-card:rgba(255,255,255,.045);
  --fc-line:rgba(150,215,227,.18); --fc-ink:#eef5fa; --fc-muted:#a7b9c5;
  position:fixed; inset:0; margin:auto; width:540px; max-width:94vw;
  max-height:85vh; max-height:85dvh; padding:0; overflow:hidden;
  border:1px solid var(--fc-line); border-radius:24px;
  background:var(--fc-bg); color:var(--fc-ink); font-family:"Geist",Arial,sans-serif;
  box-shadow:0 25px 70px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.1);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
}
body.pp-light #pp-floating-cart { --fc-bg:rgba(250,254,255,.97); --fc-card:rgba(224,242,247,.5); --fc-line:rgba(24,76,88,.17); --fc-ink:#122630; --fc-muted:#526572; }
#pp-floating-cart:not([open]) { display:none; }
#pp-floating-cart[open] { display:flex; flex-direction:column; }
#pp-floating-cart::backdrop { background:rgba(3,10,18,.56); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
#pp-floating-cart .pp-fc-heading { display:flex; align-items:center; justify-content:space-between; flex:none; padding:8px 14px 8px 24px; border-bottom:1px solid var(--fc-line); }
#pp-floating-cart h2 { margin:0; font-size:18px; font-weight:650; letter-spacing:-.02em; color:var(--fc-ink); }
#pp-floating-cart .pp-fc-close { width:44px; height:44px; padding:0; border:1px solid var(--fc-line); border-radius:12px; color:var(--fc-ink); background:var(--fc-card); font-size:28px; line-height:1; cursor:pointer; }
#pp-floating-cart .widget_shopping_cart_content { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
#pp-floating-cart ul.woocommerce-mini-cart { overflow:auto; overscroll-behavior:contain; min-height:0; padding:8px 18px; margin:0; list-style:none; }
#pp-floating-cart li.woocommerce-mini-cart-item { display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:4px 10px; padding:12px; margin:4px 0; border:1px solid var(--fc-line); border-radius:12px; background:var(--fc-card); position:relative; }
#pp-floating-cart li::before,#pp-floating-cart li::after { display:none; }
#pp-floating-cart li > a:not(.remove) { grid-column:1; grid-row:1; display:flex; align-items:center; gap:12px; color:var(--fc-ink); font-size:13px; font-weight:600; line-height:1.35; text-decoration:none; overflow-wrap:anywhere; }
#pp-floating-cart li img { float:none; width:50px; height:50px; object-fit:contain; border-radius:9px; margin:0; flex:none; background:rgba(255,255,255,.9); }
#pp-floating-cart li a.remove { grid-column:2; grid-row:1 / span 3; align-self:center; display:flex; align-items:center; justify-content:center; position:static; width:44px; height:44px; border:1px solid var(--fc-line); border-radius:10px; background:transparent; color:var(--fc-muted)!important; font-size:24px; text-decoration:none; }
#pp-floating-cart li a.remove:hover { color:var(--fc-ink)!important; background:var(--fc-card); }
#pp-floating-cart li .quantity { grid-column:1; color:var(--fc-muted); font-size:13px; padding-left:62px; }
#pp-floating-cart li dl.variation { grid-column:1; margin:0; padding-left:62px; border:0; color:var(--fc-muted); font-size:12px; }
#pp-floating-cart dl.variation dt,#pp-floating-cart dl.variation dd { display:inline; float:none; margin:0 4px 0 0; }
#pp-floating-cart dl.variation dd p { display:inline; margin:0; }
#pp-floating-cart .woocommerce-mini-cart__total { display:flex; flex:none; justify-content:space-between; padding:12px 28px; margin:0; border-top:1px solid var(--fc-line); font-size:19px; font-weight:700; }
#pp-floating-cart .woocommerce-mini-cart__buttons { display:grid; grid-template-columns:1fr 1fr; gap:10px; flex:none; margin:0; padding:0 28px 12px; }
#pp-floating-cart .woocommerce-mini-cart__buttons a { display:flex; align-items:center; justify-content:center; min-height:48px; margin:0; padding:12px; border:1px solid var(--fc-line); border-radius:12px; background:transparent; color:var(--fc-ink); font-size:13px; font-weight:650; text-decoration:none; text-align:center; }
#pp-floating-cart .woocommerce-mini-cart__buttons a.checkout { background:linear-gradient(120deg,#70e0e8,#34bccf); border-color:transparent; color:#05232c; }
#pp-floating-cart .pp-fc-continue { flex:none; align-self:center; margin:0 0 10px; padding:8px 16px; min-height:44px; border:0; background:transparent; color:var(--fc-muted); text-decoration:underline; text-underline-offset:3px; font-size:13px; cursor:pointer; }
#pp-floating-cart .woocommerce-mini-cart__empty-message { padding:48px 24px 32px; margin:0; text-align:center; color:var(--fc-muted); }
#pp-floating-cart :focus-visible { outline:3px solid #1a9fb3; outline-offset:2px; }
#pp-floating-cart .pp-fc-recovery { padding:12px 24px; font-size:13px; color:var(--fc-muted); }
#pp-floating-cart .pp-fc-recovery[hidden] { display:none; }
#pp-floating-cart .pp-fc-recovery p { margin:0 0 6px; }
#pp-floating-cart .pp-fc-recovery a { text-decoration:underline; }
@media(max-width:600px) {
  #pp-floating-cart { border-radius:20px; }
  #pp-floating-cart .pp-fc-heading { padding-left:18px; }
  #pp-floating-cart ul.woocommerce-mini-cart { padding:6px 10px; }
  #pp-floating-cart li.woocommerce-mini-cart-item { padding:9px; }
  #pp-floating-cart .woocommerce-mini-cart__total { padding:10px 18px; font-size:17px; }
  #pp-floating-cart .woocommerce-mini-cart__buttons { padding:0 16px 8px; gap:8px; }
}
/* Quantity stepper immediately left of the remove control. */
#pp-floating-cart li.woocommerce-mini-cart-item { grid-template-columns:minmax(0,1fr) 108px 44px; gap:6px; }
#pp-floating-cart li > a:not(.remove) { grid-column:1 / -1; grid-row:1; }
#pp-floating-cart li dl.variation { grid-column:1 / -1; grid-row:2; }
#pp-floating-cart li .quantity { grid-column:1; grid-row:3; padding-left:0; align-self:center; }
#pp-floating-cart li a.remove { grid-column:3; grid-row:3; }
#pp-floating-cart .pp-fc-stepper { grid-column:2; grid-row:3; display:flex; align-items:center; justify-content:space-between; border:1px solid var(--fc-line); border-radius:10px; overflow:hidden; }
#pp-floating-cart .pp-fc-stepper button { width:34px; min-width:34px; height:42px; padding:0; border:0; background:transparent; color:var(--fc-ink); font-size:21px; cursor:pointer; }
#pp-floating-cart .pp-fc-stepper button:hover:not(:disabled) { background:var(--fc-card); }
#pp-floating-cart .pp-fc-stepper button:disabled { opacity:.3; cursor:default; }
#pp-floating-cart .pp-fc-qty { min-width:24px; text-align:center; font-size:14px; font-weight:650; font-variant-numeric:tabular-nums; }
#pp-floating-cart .pp-fc-status { flex:none; margin:0; padding:0 24px 8px; color:var(--fc-muted); font-size:12px; }
#pp-floating-cart .pp-fc-status[hidden] { display:none; }
/* Compact, explicit product header + single aligned action row. */
#pp-floating-cart li.woocommerce-mini-cart-item { grid-template-columns:minmax(0,1fr) 116px 44px; row-gap:12px; padding:12px; }
#pp-floating-cart li > a:not(.remove) { grid-column:1 / -1; grid-row:1; align-items:center; min-width:0; }
#pp-floating-cart .pp-fc-product-copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
#pp-floating-cart .pp-fc-product-name { font-size:14px; line-height:1.3; }
#pp-floating-cart .pp-fc-product-options { font-size:12px; line-height:1.4; font-weight:400; color:var(--fc-muted); }
#pp-floating-cart dl.variation[hidden] { display:none!important; }
#pp-floating-cart li .quantity { grid-row:2; font-size:14px; line-height:1.35; }
#pp-floating-cart .pp-fc-each { font-size:11px; }
#pp-floating-cart .pp-fc-stepper { grid-row:2; min-width:0; height:44px; background:var(--fc-card); }
#pp-floating-cart .pp-fc-stepper button { -webkit-appearance:none; appearance:none; display:flex; justify-content:center; align-items:center; width:38px; min-width:38px; border-radius:0; box-shadow:none; line-height:1; margin:0; }
#pp-floating-cart .pp-fc-qty { flex:1; min-width:24px; line-height:1; }
#pp-floating-cart li a.remove { grid-row:2; box-shadow:none; }
#pp-floating-cart.pp-fc-pointer-open .pp-fc-close:focus { outline:none; box-shadow:none; }
#pp-floating-cart .pp-fc-stepper button:focus-visible { outline-offset:-3px; }
@media(max-width:360px) {
  #pp-floating-cart li.woocommerce-mini-cart-item { padding:10px; column-gap:5px; }
  #pp-floating-cart li .quantity { font-size:12px; }
  #pp-floating-cart .pp-fc-each { display:block; }
}
/* Keep background page lettering from showing through the reading surface. */
#pp-floating-cart { --fc-bg:#081520; }
body.pp-light #pp-floating-cart { --fc-bg:#f8fdfe; }

/* Polymer mini-cart extras: quiet teal secondary action; checkout remains primary. */
#pp-floating-cart .woocommerce-mini-cart__buttons a.cp-mini-cart-add-extras {
  background:#102c35!important;
  border:1px solid #438b96!important;
  color:#dcf4f5!important;
  box-shadow:none!important;
  text-shadow:none!important;
  animation:none!important;
  filter:none!important;
  transform:none!important;
  font-family:"Geist",Arial,sans-serif;
  font-weight:650;
  transition:background-color .15s ease,border-color .15s ease;
}
#pp-floating-cart .woocommerce-mini-cart__buttons a.cp-mini-cart-add-extras:hover,
#pp-floating-cart .woocommerce-mini-cart__buttons a.cp-mini-cart-add-extras:active {
  background:#193e48!important;
  border-color:#70bac4!important;
}
body.pp-light #pp-floating-cart .woocommerce-mini-cart__buttons a.cp-mini-cart-add-extras {
  background:#edf7f8!important;
  border-color:#438b96!important;
  color:#164653!important;
}
body.pp-light #pp-floating-cart .woocommerce-mini-cart__buttons a.cp-mini-cart-add-extras:hover,
body.pp-light #pp-floating-cart .woocommerce-mini-cart__buttons a.cp-mini-cart-add-extras:active {
  background:#dceef1!important;
  border-color:#277887!important;
}
#pp-floating-cart .woocommerce-mini-cart__buttons a.cp-mini-cart-add-extras:focus-visible {
  outline:2px solid #1a9fb3;
  outline-offset:3px;
}
@media(prefers-reduced-motion:reduce) {
  #pp-floating-cart .woocommerce-mini-cart__buttons a.cp-mini-cart-add-extras { transition:none; }
}
