/* RediFlame Shopify cart v1.0.0 · drawer and buy-box additions in the RediFlame look.
   Uses the site's tokens when present, with the Master Brand values as fallbacks. */

/* header cart button: keeps the red pill, adds the count */
.rf-cart-link{position:relative;cursor:pointer}
.rf-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--canvas,#F4F0E5);color:var(--black,#171813);font:700 .78rem/1 var(--display,"Oswald",Impact,sans-serif);letter-spacing:0}
.rf-count[hidden]{display:none}

/* lock the page while the drawer is open */
html.rf-locked,html.rf-locked body{overflow:hidden}

.rf-overlay{position:fixed;inset:0;z-index:1000;background:rgba(23,24,19,.55);opacity:0;transition:opacity .25s}
.rf-overlay.is-open{opacity:1}
.rf-overlay[hidden]{display:none}

.rf-cart{position:fixed;top:0;right:0;bottom:0;z-index:1001;display:flex;flex-direction:column;width:min(440px,100%);background:var(--canvas,#F4F0E5);color:var(--ink,#171813);box-shadow:-24px 0 60px -20px rgba(23,24,19,.6);transform:translateX(104%);transition:transform .25s ease;font:400 17px/1.5 var(--body,"Source Sans Pro",system-ui,sans-serif)}
.rf-cart.is-open{transform:none}
.rf-cart[hidden]{display:none}
.rf-cart.is-busy .rf-body,.rf-cart.is-busy .rf-foot{opacity:.6}

.rf-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;background:var(--black,#171813);color:var(--canvas,#F4F0E5)}
.rf-head h2{margin:0;font:700 1.35rem/1 var(--display,"Oswald",Impact,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:inherit}
.rf-close{min-height:44px;padding:0 16px;border:2px solid rgba(244,240,229,.35);border-radius:999px;background:transparent;color:inherit;font:700 .8rem/1 var(--display,"Oswald",Impact,sans-serif);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.rf-close:hover{border-color:var(--canvas,#F4F0E5)}
.rf-cart :focus-visible{outline:3px solid var(--red,#A72D2B);outline-offset:2px}
.rf-head :focus-visible{outline-color:var(--clay,#C8B98D)}

.rf-msg{margin:0;padding:0 22px}
.rf-msg:empty{display:none}
.rf-msg.is-bad{padding:12px 22px;background:var(--red-4,#2d0c0b);color:var(--canvas,#F4F0E5);font-weight:600}

.rf-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:6px 22px}
.rf-empty{padding:40px 0;text-align:center}
.rf-empty p{margin:0 0 18px;font:700 1.2rem/1.2 var(--display,"Oswald",Impact,sans-serif);letter-spacing:.04em;text-transform:uppercase}

.rf-lines{list-style:none;margin:0;padding:0}
.rf-line{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--canvas-3,#E2D9C2)}
.rf-thumb{width:76px;height:76px;border-radius:var(--radius-s,10px);overflow:hidden;background:var(--canvas-2,#ECE5D3);border:1px solid var(--canvas-3,#E2D9C2)}
.rf-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.rf-info p{margin:0}
.rf-name{font:700 1rem/1.2 var(--display,"Oswald",Impact,sans-serif);letter-spacing:.03em;text-transform:uppercase}
.rf-variant{font-size:.92rem;color:var(--muted,#4A4B42)}
.rf-pre{display:inline-block;margin-top:6px!important;padding:3px 9px;border-radius:999px;background:var(--black,#171813);color:var(--canvas,#F4F0E5);font:600 .76rem/1.3 var(--body,system-ui,sans-serif)}
.rf-qty{display:flex;align-items:center;gap:6px;margin-top:10px}
.rf-qty button{min-width:36px;height:36px;border:2px solid var(--clay,#C8B98D);border-radius:999px;background:transparent;color:inherit;font:700 1rem/1 var(--display,"Oswald",Impact,sans-serif);cursor:pointer}
.rf-qty button:hover{border-color:var(--black,#171813)}
.rf-qty span{min-width:24px;text-align:center;font-weight:700}
.rf-qty .rf-remove{min-width:0;height:auto;margin-left:8px;padding:6px 2px;border:0;border-radius:0;font:600 .85rem/1 var(--body,system-ui,sans-serif);text-decoration:underline;text-underline-offset:3px;color:var(--muted,#4A4B42)}
.rf-qty button:disabled{opacity:.5;cursor:wait}
.rf-price{text-align:right;font:700 1.05rem/1.2 var(--display,"Oswald",Impact,sans-serif);white-space:nowrap}
.rf-price s{display:block;font-size:.85rem;color:var(--muted,#4A4B42);font-weight:400}

.rf-foot{padding:16px 22px calc(18px + env(safe-area-inset-bottom,0px));border-top:2px solid var(--clay,#C8B98D);background:var(--canvas-2,#ECE5D3)}
.rf-foot:empty{display:none}
.rf-sum{display:flex;justify-content:space-between;align-items:baseline;font:700 1.15rem/1.3 var(--display,"Oswald",Impact,sans-serif);letter-spacing:.04em;text-transform:uppercase}
.rf-save strong{color:var(--red,#A72D2B)}
.rf-note{margin:6px 0 0;font-size:.9rem;color:var(--muted,#4A4B42)}
.rf-cart .rf-checkout{display:flex;width:100%;max-width:none;margin:14px 0 8px}
.rf-secure{margin:0;font-size:.82rem;text-align:center;color:var(--muted,#4A4B42)}

/* product pages */
.rf-buy.is-adding{opacity:.85;cursor:wait}
.rf-buy[aria-disabled="true"]{pointer-events:none}
.rf-picker .pack-options button{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:60px;padding:8px 18px;text-align:left}
.rf-opt-price{font:600 .85rem/1 var(--body,system-ui,sans-serif);letter-spacing:0;text-transform:none;opacity:.85}

@media (max-width:599px){
  .rf-cart{width:100%}
  .rf-head{padding:14px 16px}
  .rf-body{padding:4px 16px}
  .rf-foot{padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px))}
  .rf-line{grid-template-columns:64px 1fr auto;gap:12px}
  .rf-thumb{width:64px;height:64px}
  .rf-picker .pack-options button{flex:1 1 calc(50% - 10px)}
}
@media (prefers-reduced-motion:reduce){
  .rf-cart,.rf-overlay{transition:none}
}

/* WordPress admin bar (logged-in editors only) */
.admin-bar .rf-cart{top:32px}
@media (max-width:782px){.admin-bar .rf-cart{top:46px}}
