/* ============================================
   CART & FAVORITES — نسخه قوی
============================================ */

.app-header .cart-icon-btn{position:relative;}
.app-header .cart-icon-btn .badge{
  position:absolute;top:4px;left:4px;
  min-width:17px;height:17px;padding:0 4px;
  border-radius:9px;
  background:linear-gradient(135deg,#ff6b9d,#ff4d8d) !important;
  color:#fff !important;
  font-size:10px;font-weight:700;
  display:grid;place-items:center;
  box-shadow:0 3px 8px rgba(255,77,141,.5);
  border:1.5px solid #fff;
}

.cart-page{
  max-width:560px !important;
  margin:0 auto !important;
  padding:0 16px 30px !important;
  box-sizing:border-box !important;
}

.cart-title-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin-bottom:16px !important;
  padding-top:6px !important;
}
.cart-title{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  font-size:17px !important;
  font-weight:800 !important;
}
.cart-title > i{
  width:34px !important;height:34px !important;
  border-radius:12px !important;
  display:grid !important;place-items:center !important;
  font-size:14px !important;
  background:linear-gradient(135deg,#ffe1ee,#f0e4ff) !important;
  color:#ff6b9d !important;
}
.cart-title small{
  display:block !important;
  font-size:11px !important;
  font-weight:500 !important;
  color:#93829d !important;
  margin-top:2px !important;
}
.cart-clear-btn{
  display:inline-flex !important;
  align-items:center !important;gap:6px !important;
  padding:8px 13px !important;
  border-radius:12px !important;
  background:#ffe8e8 !important;
  color:#d32f2f !important;
  font-size:11.5px !important;font-weight:700 !important;
  border:none !important;cursor:pointer !important;
  font-family:inherit !important;
}

.cart-list{
  display:flex !important;
  flex-direction:column !important;
  gap:11px !important;
  margin-bottom:16px !important;
}
.cart-item{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:12px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.9) !important;
  box-shadow:0 4px 14px rgba(196,110,160,.1) !important;
}
.cart-thumb{
  width:72px !important;height:72px !important;
  border-radius:14px !important;
  overflow:hidden !important;
  flex-shrink:0 !important;
  display:grid !important;place-items:center !important;
  color:#fff !important;font-size:26px !important;
  position:relative !important;
  text-decoration:none !important;
}
.cart-thumb img{
  width:100% !important;height:100% !important;
  object-fit:cover !important;
}
.cart-info{
  flex:1 !important;
  min-width:0 !important;
}
.cart-name{
  font-size:13px !important;font-weight:800 !important;
  color:#2e1c38 !important;
  margin-bottom:3px !important;
  white-space:nowrap !important;overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.cart-cat{
  font-size:10.5px !important;
  color:#93829d !important;
  margin-bottom:8px !important;
}

.qty-control{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  margin-top:8px !important;
}
.qty-btn{
  width:30px !important;height:30px !important;
  border-radius:10px !important;
  display:grid !important;place-items:center !important;
  background:#fbf7fe !important;
  border:1px solid #f0e4f2 !important;
  color:#a855f7 !important;
  font-size:12px !important;
  cursor:pointer !important;
  font-family:inherit !important;
  padding:0 !important;
}
.qty-btn:disabled{opacity:.45 !important;cursor:not-allowed !important;}
.qty-num{
  min-width:32px !important;
  text-align:center !important;
  font-size:13px !important;font-weight:800 !important;
  color:#2e1c38 !important;
}

.cart-right{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:8px !important;
  flex-shrink:0 !important;
}
.cart-subtotal{
  font-size:13px !important;font-weight:900 !important;
  color:#e0356f !important;
  white-space:nowrap !important;
}
.cart-subtotal small{
  font-size:9.5px !important;font-weight:500 !important;
  color:#93829d !important;
}
.cart-remove-btn{
  width:32px !important;height:32px !important;
  border-radius:10px !important;
  display:grid !important;place-items:center !important;
  background:#ffe8e8 !important;
  color:#d32f2f !important;
  font-size:12px !important;
  cursor:pointer !important;
  border:none !important;
  padding:0 !important;
}

.cart-summary{
  background:#fff !important;
  border-radius:20px !important;
  padding:18px !important;
  box-shadow:0 4px 14px rgba(196,110,160,.1) !important;
  border:1px solid rgba(255,255,255,.9) !important;
  margin-bottom:16px !important;
}
.cart-summary-title{
  display:flex !important;
  align-items:center !important;gap:9px !important;
  font-size:14px !important;font-weight:800 !important;
  margin-bottom:14px !important;
  padding-bottom:12px !important;
  border-bottom:1px dashed #f0e4f2 !important;
}
.cart-summary-title i{
  width:28px !important;height:28px !important;
  border-radius:10px !important;
  display:grid !important;place-items:center !important;
  font-size:12px !important;
  background:linear-gradient(135deg,#ffe1ee,#f0e4ff) !important;
  color:#ff6b9d !important;
}
.cart-summary-row{
  display:flex !important;
  justify-content:space-between !important;
  padding:8px 0 !important;
  font-size:12.5px !important;
  color:#6d5a78 !important;
}
.cart-summary-row b{color:#2e1c38 !important;font-weight:800 !important;}
.cart-summary-total{
  display:flex !important;
  justify-content:space-between !important;
  padding:14px 0 4px !important;
  margin-top:8px !important;
  border-top:1px dashed #f0e4f2 !important;
  align-items:center !important;
}
.cart-summary-total span{
  font-size:13px !important;font-weight:700 !important;
  color:#2e1c38 !important;
}
.cart-summary-total b{
  font-size:17px !important;font-weight:900 !important;
  color:#e0356f !important;
}
.cart-summary-total b small{
  font-size:10px !important;font-weight:500 !important;
  color:#93829d !important;
}

.cart-checkout{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:100% !important;
  box-sizing:border-box !important;
  padding:16px 22px !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#ff6b9d 0%,#e879c1 50%,#a78bfa 100%) !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:14.5px !important;font-weight:800 !important;
  text-decoration:none !important;
  box-shadow:0 14px 34px rgba(200,90,180,.45) !important;
  border:none !important;cursor:pointer !important;
}
.cart-continue{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:13px 20px !important;
  border-radius:16px !important;
  background:#f3eaf8 !important;
  color:#7c3aed !important;
  font-size:13px !important;font-weight:700 !important;
  text-decoration:none !important;
  margin-top:10px !important;
  width:100% !important;
  box-sizing:border-box !important;
}

.cart-empty,.fav-empty{
  text-align:center !important;
  padding:60px 24px !important;
  background:#fff !important;
  border-radius:22px !important;
  border:1px dashed #e5d4ec !important;
  margin-top:20px !important;
}
.cart-empty > i,.fav-empty > i{
  width:88px !important;height:88px !important;
  border-radius:30px !important;
  display:grid !important;place-items:center !important;
  margin:0 auto 18px !important;
  font-size:36px !important;
  color:#fff !important;
  background:linear-gradient(135deg,#ffb3c9,#c4b5fd) !important;
  box-shadow:0 12px 28px rgba(200,90,180,.25) !important;
}
.fav-empty > i{
  background:linear-gradient(135deg,#f472b6,#ec4899) !important;
  box-shadow:0 12px 28px rgba(236,72,153,.35) !important;
}
.cart-empty h3,.fav-empty h3{
  font-size:16px !important;font-weight:800 !important;
  margin-bottom:8px !important;
}
.cart-empty p,.fav-empty p{
  font-size:12.5px !important;
  color:#93829d !important;
  line-height:1.9 !important;
  margin-bottom:22px !important;
}
.cart-empty a,.fav-empty a{
  display:inline-flex !important;
  align-items:center !important;gap:8px !important;
  padding:13px 24px !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,#ff8fb1,#c084fc) !important;
  color:#fff !important;
  font-size:13px !important;font-weight:800 !important;
  text-decoration:none !important;
  box-shadow:0 10px 24px rgba(200,90,180,.35) !important;
}
.fav-empty a{
  background:linear-gradient(135deg,#f472b6,#ec4899) !important;
}

.site-flash{
  display:flex !important;
  align-items:center !important;gap:10px !important;
  padding:13px 16px !important;
  border-radius:16px !important;
  font-size:13px !important;font-weight:700 !important;
  margin-bottom:16px !important;
}
.site-flash.is-ok{
  background:#e6f9ee !important;color:#12a05c !important;
  border:1px solid #b9ecd0 !important;
}
.site-flash.is-err{
  background:#ffe8e8 !important;color:#d32f2f !important;
  border:1px solid #ffc9c9 !important;
}

.stock-overlay{
  position:absolute !important;
  top:8px;right:8px;z-index:5;
  padding:4px 10px;border-radius:100px;
  font-size:9.5px;font-weight:800;color:#fff;
}
.stock-overlay.is-out{background:#e11d48 !important;}
.product-card.is-out .product-img,
.product-card.is-out .product-media > i{
  filter:grayscale(.75) !important;
  opacity:.65 !important;
}

@media (max-width:420px){
  .cart-thumb{width:60px !important;height:60px !important;font-size:22px !important;}
  .cart-name{font-size:12px !important;}
  .cart-subtotal{font-size:12px !important;}
}

.checkout-form{}
.checkout-field{margin-bottom:14px;}
.checkout-field label{display:block;font-size:12.5px;font-weight:700;color:#6d5a78;margin-bottom:6px;}
.checkout-field label span{color:#e11d48;}
.checkout-field input,
.checkout-field textarea{width:100%;box-sizing:border-box;padding:13px 15px;
border:1px solid #f0e4f2;border-radius:14px;background:#fff;font-size:13px;
color:#2e1c38;outline:none;font-family:inherit;transition:.25s;}
.checkout-field input:focus,
.checkout-field textarea:focus{border-color:#ff8fb1;box-shadow:0 0 0 3px rgba(255,143,177,.15);}
.checkout-field textarea{min-height:90px;resize:vertical;line-height:1.8;}
.checkout-field small{display:block;font-size:10.5px;color:#93829d;margin-top:4px;}
.checkout-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed #f8f1fb;}
.checkout-item:last-of-type{border-bottom:none;}
.checkout-item-thumb{width:48px;height:48px;border-radius:12px;overflow:hidden;flex-shrink:0;
display:grid;place-items:center;color:#fff;font-size:18px;}
.checkout-item-thumb img{width:100%;height:100%;object-fit:cover;}
.checkout-item-info{flex:1;min-width:0;}
.checkout-item-name{font-size:12.5px;font-weight:700;color:#2e1c38;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.checkout-item-meta{font-size:10.5px;color:#93829d;margin-top:2px;}
.checkout-item-sub{font-size:12px;font-weight:800;color:#e0356f;white-space:nowrap;}
.checkout-item-sub small{font-size:9px;font-weight:500;color:#93829d;}
.success-card{text-align:center;padding:40px 24px;background:#fff;border-radius:24px;
box-shadow:0 10px 30px rgba(196,110,160,.15);border:1px solid rgba(255,255,255,.9);margin-top:20px;}
.success-icon{width:90px;height:90px;border-radius:50%;margin:0 auto 20px;
display:grid;place-items:center;font-size:40px;color:#fff;
background:linear-gradient(135deg,#10b981,#059669);
box-shadow:0 15px 35px rgba(16,185,129,.4);animation:pulseSuccess 2s ease-in-out infinite;}
@keyframes pulseSuccess{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
.success-title{font-size:22px;font-weight:900;margin-bottom:10px;
background:linear-gradient(120deg,#10b981,#a855f7);-webkit-background-clip:text;
background-clip:text;-webkit-text-fill-color:transparent;}
.success-text{font-size:13px;color:#93829d;line-height:1.9;margin-bottom:24px;}
.success-info{background:#fbf7fe;border-radius:16px;padding:16px;margin-bottom:16px;text-align:right;}
.success-row{display:flex;justify-content:space-between;padding:8px 0;
font-size:12.5px;border-bottom:1px dashed #f0e4f7;}
.success-row:last-child{border-bottom:none;}
.success-row span{color:#6d5a78;font-weight:600;}
.success-row b{color:#2e1c38;font-weight:800;}




/* ============================================
   ORDER SUCCESS — نسخه اصلاح‌شده
============================================ */
.success-card{
  text-align:center;
  padding:32px 22px;
  background:#fff;
  border-radius:24px;
  box-shadow:0 10px 30px rgba(196,110,160,.15);
  border:1px solid rgba(255,255,255,.9);
  margin-top:20px;
}

.success-icon{
  width:90px;height:90px;
  border-radius:50%;
  margin:0 auto 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#10b981,#059669);
  box-shadow:0 15px 35px rgba(16,185,129,.4);
  animation:pulseSuccess 2s ease-in-out infinite;
  position:relative;
}
.success-icon i{
  color:#fff;
  font-size:38px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  position:relative;
  top:1px;
}
@keyframes pulseSuccess{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.04);}
}

.success-title{
  font-size:22px;
  font-weight:900;
  margin-bottom:10px;
  background:linear-gradient(120deg,#10b981,#a855f7);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}

.success-text{
  font-size:13px;
  color:#93829d;
  line-height:1.9;
  margin-bottom:24px;
}

.success-info{
  background:#fbf7fe;
  border-radius:16px;
  padding:8px 16px;
  margin-bottom:0;
  text-align:right;
}

.success-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:11px 0;
  font-size:12.5px;
  border-bottom:1px dashed #f0e4f7;
}
.success-row:last-child{border-bottom:none;}
.success-row span{color:#6d5a78;font-weight:600;flex-shrink:0;}
.success-row b{
  color:#2e1c38;
  font-weight:800;
  text-align:left;
  word-break:break-all;
  direction:rtl;
}
.success-row b[dir="ltr"]{direction:ltr;}

/* ============ DOWNLOAD BUTTON ============ */
.receipt-download-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
  padding:11px 20px;
  margin-top:10px;
  border-radius:14px;
  background:#fff;
  color:#7c3aed;
  border:1.5px solid #e5d4ec;
  font-family:inherit;
  font-size:12.5px;
  font-weight:700;
  cursor:pointer;
  transition:.25s;
}
.receipt-download-btn:hover{
  background:#fbf7fe;
  border-color:#a855f7;
  transform:translateY(-1px);
}
.receipt-download-btn:active{transform:scale(.97);}
.receipt-download-btn:disabled{opacity:.7;cursor:wait;}

/* ============ responsive ============ */
@media (max-width:420px){
  .success-card{padding:24px 16px;}
  .success-icon{width:74px;height:74px;}
  .success-icon i{font-size:30px;}
  .success-title{font-size:19px;}
  .success-row{font-size:11.5px;padding:10px 0;}
  .receipt-download-btn{font-size:11.5px;padding:10px 16px;}
}

/* ============================================
   LIVE SEARCH
============================================ */
.search-bar-wrap{
  position:relative;
  margin:6px 0 16px;
}

.search-bar-wrap .search-bar{
  margin:0;
}

.sr-clear{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:24px;
  height:24px;
  border-radius:50%;
  background:#f0e4f2;
  display:none;
  place-items:center;
  color:#93829d;
  font-size:10px;
  border:none;
  cursor:pointer;
  transition:.2s;
  z-index:5;
}
.sr-clear.show{display:grid;}
.sr-clear:hover{background:#e5d4ec;}

.search-results{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  background:#fff;
  border-radius:18px;
  box-shadow:0 20px 50px rgba(160,80,140,.18);
  border:1px solid rgba(255,255,255,.9);
  max-height:400px;
  overflow-y:auto;
  z-index:50;
  display:none;
  padding:8px;
}

.search-results.show{display:block;}
.search-results::-webkit-scrollbar{width:4px;}
.search-results::-webkit-scrollbar-thumb{background:#e5d4ec;border-radius:100px;}

.sr-loading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:24px;
  color:#93829d;
  font-size:12.5px;
  font-weight:600;
}

.sr-empty{
  text-align:center;
  padding:30px 20px;
  color:#93829d;
  font-size:12.5px;
  line-height:1.9;
}
.sr-empty i{
  display:block;
  font-size:28px;
  color:#c9b6d3;
  margin-bottom:10px;
}

.sr-item{
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px;
  border-radius:14px;
  text-decoration:none;
  color:inherit;
  transition:.2s;
  cursor:pointer;
}
.sr-item:hover,
.sr-item.active{
  background:#fbf7fe;
}
.sr-item.is-out{
  opacity:.65;
}
.sr-item.is-out .sr-name::after{
  content:' · ناموجود';
  color:#e11d48;
  font-size:9px;
  font-weight:800;
}

.sr-thumb{
  width:44px;
  height:44px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:18px;
  flex-shrink:0;
  overflow:hidden;
  box-shadow:0 4px 10px rgba(200,90,180,.2);
}
.sr-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.sr-info{
  flex:1;
  min-width:0;
}
.sr-name{
  font-size:12.5px;
  font-weight:800;
  color:#2e1c38;
  margin-bottom:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.sr-cat{
  font-size:10.5px;
  color:#93829d;
}

.sr-price{
  font-size:12px;
  font-weight:800;
  color:#e0356f;
  white-space:nowrap;
  flex-shrink:0;
}
.sr-price small{font-size:9px;color:#93829d;font-weight:500;}

.sr-footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:12px;
  margin-top:6px;
  border-top:1px dashed #f0e4f2;
  font-size:12px;
  font-weight:700;
  color:#a855f7;
  text-decoration:none;
  transition:.2s;
}
.sr-footer:hover{color:#7c3aed;}

/* ============ FAV LOGIN HINT ============ */
.fav-login-hint a{
  transition:.2s;
}
.fav-login-hint a:hover{
  text-decoration:underline;
}

/* ============ PRODUCT PAGE SECTIONS ============ */
.rec-section{
  margin-top:22px;
  padding-top:20px;
  border-top:1px dashed #f0e4f2;
}

.rec-section:first-of-type{
  border-top:none;
  padding-top:0;
  margin-top:14px;
}

/* ============ CART / ACCOUNT ============ */
.rec-block-inline{
  margin-top:24px;
}

/* Responsive */
@media (min-width:600px){
  .rec-grid{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:900px){
  .rec-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:380px){
  .rec-scroll .product-card{flex:0 0 148px;}
  .rec-title{font-size:14px;}
}

/* ============ SECTIONS (بین بلوک‌ها در product.php) ============ */
.rec-section{
  margin-top:16px;
  padding-top:14px;
  border-top:1px dashed #f0e4f2;
}

.rec-section:first-of-type{
  border-top:none;
  padding-top:0;
  margin-top:8px;
}

/* حذف margin اضافی rec-block وقتی داخل rec-section هست */
.rec-section .rec-block{
  margin:0;
}

/* ============ CART / ACCOUNT ============ */
.rec-block-inline{
  margin-top:16px;
}

/* ============ RESPONSIVE ============ */
@media (min-width:600px){
  .rec-grid{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:900px){
  .rec-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:380px){
  .rec-scroll .product-card{flex:0 0 145px;}
  .rec-title{font-size:14px;}
}

/* ============ SECTIONS (بین بلوک‌ها در product.php) ============ */
.rec-section{
  margin-top:16px;
  padding-top:14px;
  padding-inline: 16px;
  box-sizing: border-box;
  border-top:1px dashed #f0e4f2;
}

.rec-section:first-of-type{
  border-top:none;
  padding-top:0;
  margin-top:8px;
}

/* حذف padding اضافی وقتی rec-block داخل rec-section هست */
.rec-section .rec-block{
  margin:0;
  padding-inline: 0;
}

/* ============ CART / ACCOUNT ============ */
.rec-block-inline{
  margin-top:16px;
}

/* ============ RESPONSIVE ============ */
@media (min-width:600px){
  .rec-grid{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:900px){
  .rec-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:380px){
  .rec-scroll .product-card{flex:0 0 145px;}
  .rec-title{font-size:14px;}
  .rec-block{padding-inline: 14px;}
  .rec-section{padding-inline: 14px;}
}

/* ============ Grid (اسکرول نمی‌کنه) ============ */
.rec-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  padding-inline: 0px;      /* هم از راست هم چپ */
}

/* ============ Slider افقی — فقط padding راست ============ */
.rec-scroll{
  display:flex;
  gap:11px;
  overflow-x:auto;
  padding-inline-start: 16px;  /* ← فاصله از راست */
  padding-inline-end: 0;       /* ← بدون فاصله از چپ */
  padding-block: 2px 8px;
  margin:0;
  scroll-padding-inline-start: 0px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.rec-scroll::-webkit-scrollbar{display:none;}
.rec-scroll .product-card{
  flex:0 0 155px;
  scroll-snap-align:start;
}
.rec-scroll::after{
  content:'';
  flex:0 0 4px;              /* فاصله‌ی خیلی کم در انتهای اسکرول */
}

/* ============ Sections (بین بلوک‌ها) ============ */
.rec-section{
  margin-top:16px;
  padding-top:14px;
  border-top:1px dashed #f0e4f2;
  /* بدون padding-inline */
}

.rec-section:first-of-type{
  border-top:none;
  padding-top:0;
  margin-top:8px;
}

.rec-section .rec-block{
  margin:0;
}

/* ============ Cart / Account ============ */
.rec-block-inline{
  margin-top:16px;
}

/* ============ Responsive ============ */
@media (min-width:600px){
  .rec-grid{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:900px){
  .rec-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:380px){
  .rec-scroll .product-card{flex:0 0 145px;}
  .rec-title{font-size:14px;}
  .rec-head{padding-inline: 14px;}
  .rec-grid{padding-inline: 14px;}
  .rec-scroll{padding-inline-start: 14px;}
}

/* ============================================
   RECOMMENDATIONS — بدون padding اضافی
   (چون داخل .wrap هستن)
============================================ */
.rec-block{
  margin:18px 0 4px;
  padding:0;
}

.rec-head{
  padding:0;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.rec-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  font-weight:800;
  color:#2e1c38;
  letter-spacing:-.2px;
}

.rec-title i{
  width:28px;
  height:28px;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-size:12px;
  background:linear-gradient(135deg,#ffe1ee,#f0e4ff);
  color:#ff6b9d;
  flex-shrink:0;
}

.rec-link{
  font-size:11.5px;
  font-weight:700;
  color:#a855f7;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
  flex-shrink:0;
}

/* Grid */
.rec-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  padding:0;
}

/* Slider افقی — فقط از راست 16px */
.rec-scroll{
  display:flex;
  gap:11px;
  overflow-x:auto;
  overflow-y:hidden;
  padding-block:2px 8px;
  padding-inline-start:16px;
  padding-inline-end:0;
  margin:0;
  scroll-padding-inline-start:16px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.rec-scroll::-webkit-scrollbar{display:none;}
.rec-scroll .product-card{
  flex:0 0 155px;
  scroll-snap-align:start;
}
.rec-scroll::after{
  content:'';
  flex:0 0 4px;
}

/* Sections */
.rec-section{
  margin-top:16px;
  padding-top:14px;
  border-top:1px dashed #f0e4f2;
}
.rec-section:first-of-type{
  border-top:none;
  padding-top:0;
  margin-top:8px;
}
.rec-section .rec-block{
  margin:0;
}

.rec-block-inline{
  margin-top:16px;
}

@media (min-width:600px){
  .rec-grid{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:900px){
  .rec-grid{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:380px){
  .rec-scroll .product-card{flex:0 0 145px;}
  .rec-title{font-size:14px;}
}