html { scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; background: #2A0403; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: #BF392B; color: #FFF5DF; }
input::placeholder, textarea::placeholder { color: rgba(255,245,223,0.5); font-weight: 700; }
input, textarea { box-sizing: border-box; max-width: 100%; }
input:focus, textarea:focus { outline: none; background: rgba(255,245,223,0.17) !important; }

@keyframes rfSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes rfBob { 0%, 100% { transform: translateY(-3px); } 50% { transform: translateY(5px); } }
@keyframes rfMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes rfFadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
@keyframes rfFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes rfPop { 0% { opacity: 0; transform: scale(0.82); } 60% { transform: scale(1.04); } 100% { opacity: 1; transform: scale(1); } }
@keyframes rfBump { 0% { transform: scale(1); } 32% { transform: scale(1.24); } 100% { transform: scale(1); } }
@keyframes rfPageIn { from { opacity: 0; } to { opacity: 1; } }

.rf-btn { position: relative; overflow: hidden; }
.rf-btn::after,
.rf-back-top::after {
  content: '';
  position: absolute;
  top: -10%;
  left: -80%;
  width: 55%;
  height: 120%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transform: skewX(-18deg);
  transition: left 0s;
  pointer-events: none;
}
.rf-btn:hover::after,
.rf-back-top:hover::after { left: 140%; transition: left 0.52s ease; }
.rf-btn-icon { transition: transform 0.22s cubic-bezier(0.34,1.56,0.64,1) !important; will-change: transform; }
.rf-btn-icon:hover { transform: scale(1.1) !important; }
.rf-btn-icon:active { transform: scale(0.88) !important; transition-duration: 0.08s !important; }
.rf-back-top { overflow: hidden; }
.rf-back-top::after { background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent); }
.rf-mobile-full-btn { box-sizing: border-box; }
.rf-mobile-action-wrap { box-sizing: border-box; }

.rf-dots { display: none; justify-content: center; align-items: center; gap: 8px; padding: 10px 0 6px; }
.rf-dot { width: 7px; height: 7px; border-radius: 999px; cursor: pointer; transition: background 0.3s, transform 0.3s; flex-shrink: 0; }
.rf-dot-light { background: rgba(255,245,223,0.22); }
.rf-dot-light.rf-dot-on { background: #BF392B; transform: scale(1.5); }
.rf-dot-dark { background: rgba(42,4,3,0.18); }
.rf-dot-dark.rf-dot-on { background: #2A0403; transform: scale(1.5); }

#rf-burger-fixed {
  position: fixed;
  top: 32px;
  left: 0;
  right: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  pointer-events: none;
}
#rf-burger-fixed .rf-burger-inner {
  width: 80px;
  height: 80px;
  pointer-events: auto;
  border-radius: 24px;
  background: #BF392B;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: transform 0.28s cubic-bezier(0.34,1.56,0.64,1), background 0.25s, box-shadow 0.3s ease;
}
#rf-burger-fixed .rf-burger-inner:hover {
  transform: translateY(-3px) scale(1.08);
  background: #A52E22;
  box-shadow: 0 14px 32px -8px rgba(191,57,43,0.6);
}
#rf-burger-fixed .rf-burger-inner:active { transform: translateY(1px) scale(0.9); transition-duration: 0.08s; }
#rf-burger-fixed .rf-burger-shine {
  position: absolute;
  top: -10%;
  left: -80%;
  width: 55%;
  height: 120%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  transform: skewX(-18deg);
  transition: left 0s;
  pointer-events: none;
  z-index: 2;
}
#rf-burger-fixed .rf-burger-inner:hover .rf-burger-shine { left: 140%; transition: left 0.52s ease; }
#rf-burger-fixed .rf-bar {
  position: absolute;
  left: 24px;
  top: 38.75px;
  width: 32px;
  height: 2.5px;
  border-radius: 2px;
  background: #FFF5DF;
  transition: transform 0.4s cubic-bezier(0.22,1,0.36,1);
}

@media (max-width: 860px) {
  .rf-burger-wrap { top: 16px !important; }
  .rf-burger-btn { width: 52px !important; height: 52px !important; border-radius: 16px !important; }
  .rf-burger-bar { left: 14px !important; top: 24.75px !important; width: 24px !important; }
  .rf-cart-wrap { top: 20px !important; right: 16px !important; }
  .rf-cart-btn { width: 52px !important; height: 52px !important; border-radius: 16px !important; }
  .rf-cart-btn svg { width: 26px !important; height: 26px !important; }
  .rf-cart-badge { top: -4px !important; right: -4px !important; width: 20px !important; height: 20px !important; font-size: 11px !important; }
  .rf-cart-drawer { width: 100vw !important; }
  .rf-burger-cart-open { opacity: 0 !important; pointer-events: none !important; }
  .rf-dots { display: flex !important; }
  .rf-gallery {
    scrollbar-width: none !important;
    overflow-y: visible !important;
  }
  .rf-gallery::-webkit-scrollbar { display: none !important; }
  .rf-gallery .rf-card { transform: none !important; }
  .rf-mobile-full-btn {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }
  .rf-mobile-action-wrap {
    width: 100% !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
  }
  #rf-burger-fixed { top: 16px !important; }
  #rf-burger-fixed .rf-burger-inner {
    width: 60px !important;
    height: 60px !important;
    border-radius: 18px !important;
  }
  #rf-burger-fixed .rf-bar {
    left: 16px !important;
    top: 28.75px !important;
    width: 28px !important;
  }
}
