/* Sepahan v1.1.55 final: fixed 4-column shop grid + contact widget */
:root{--sepahan-shop-columns:4!important;}

/* Remove old configurable column behavior everywhere */
.sepahan-products-loop,
.woocommerce .sepahan-products-loop,
.woocommerce ul.products,
.woocommerce-page ul.products,
.sepahan-products-grid,
.sepahan-products-grid ul.products,
.sepahan-shop-content ul.products,
.related.products ul.products,
.upsells.products ul.products,
.cross-sells ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.woocommerce ul.products:before,.woocommerce ul.products:after,
.woocommerce-page ul.products:before,.woocommerce-page ul.products:after{display:none!important;content:none!important;}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.sepahan-products-loop li.product,
.sepahan-products-grid li.product,
.sepahan-shop-content ul.products li.product,
.related.products ul.products li.product,
.upsells.products ul.products li.product,
.cross-sells ul.products li.product{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  display:block!important;
}
@media(max-width:1024px){
  .sepahan-products-loop,
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .sepahan-products-grid,
  .sepahan-products-grid ul.products,
  .sepahan-shop-content ul.products,
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
}
@media(max-width:640px){
  .sepahan-products-loop,
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .sepahan-products-grid,
  .sepahan-products-grid ul.products,
  .sepahan-shop-content ul.products,
  .related.products ul.products,
  .upsells.products ul.products,
  .cross-sells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
}

/* Account recently viewed: image + strict two-line title only */
.sepahan-account-products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important;}
.sepahan-account-product{display:flex!important;flex-direction:column!important;gap:9px!important;min-width:0!important;text-decoration:none!important;overflow:hidden!important;}
.sepahan-account-product img{width:100%!important;height:128px!important;object-fit:contain!important;display:block!important;margin:0!important;}
.sepahan-account-product-title,.sepahan-account-product h3,.sepahan-account-product .title{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  line-height:21px!important;
  height:42px!important;
  max-height:42px!important;
  min-height:42px!important;
  font-size:13px!important;
  font-weight:900!important;
  color:var(--sepahan-text,#111827)!important;
  margin:0!important;
}
.dark .sepahan-account-product-title,.dark .sepahan-account-product h3,.dark .sepahan-account-product .title{color:#f8fafc!important;}
.sepahan-account-product-price,.sepahan-account-product .price,.sepahan-account-product del,.sepahan-account-product ins,.sepahan-account-product .sepahan-price-wrap,.sepahan-account-product .amount{display:none!important;}
@media(max-width:768px){.sepahan-account-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

/* Hide removed shop-column setting if stale markup remains. */
.toplevel_page_sepahan-settings [name="sepahan_theme_options[shop_columns]"]{display:none!important;}
.toplevel_page_sepahan-settings [name="sepahan_theme_options[shop_columns]"]{visibility:hidden!important;}
.toplevel_page_sepahan-settings [name="sepahan_theme_options[shop_columns]"] ~ small{display:none!important;}

/* Elementor Contact Widget */
.sepahan-contact-widget{direction:rtl;color:#0f172a;}
.sepahan-contact-card{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e5e7eb;border-radius:24px;padding:24px;box-shadow:0 18px 45px rgba(15,23,42,.08);overflow:hidden;}
.dark .sepahan-contact-card{background:linear-gradient(145deg,#101827,#0b1220);border-color:#243244;box-shadow:0 18px 45px rgba(0,0,0,.28);color:#f8fafc;}
.sepahan-contact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px;}
.sepahan-contact-title{margin:0;font-size:22px;font-weight:1000;line-height:1.5;color:#0f172a;}
.dark .sepahan-contact-title{color:#fff;}
.sepahan-contact-desc{margin:6px 0 0;color:#64748b;font-size:14px;line-height:1.9;}
.dark .sepahan-contact-desc{color:#cbd5e1;}
.sepahan-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.sepahan-contact-field{display:flex;flex-direction:column;gap:7px;min-width:0;}
.sepahan-contact-field.sepahan-full{grid-column:1/-1;}
.sepahan-contact-field label{font-size:13px;font-weight:900;color:#334155;}
.dark .sepahan-contact-field label{color:#e5e7eb;}
.sepahan-contact-field input,.sepahan-contact-field textarea{width:100%;border:1px solid #dbe3ef;border-radius:16px;background:#fff;color:#111827;min-height:48px;padding:11px 14px;font-size:14px;outline:0;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;box-shadow:none;}
.sepahan-contact-field textarea{min-height:130px;resize:vertical;}
.dark .sepahan-contact-field input,.dark .sepahan-contact-field textarea{background:#0f172a;border-color:#334155;color:#f8fafc;}
.sepahan-contact-field input:focus,.sepahan-contact-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12);}
.sepahan-contact-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:4px;}
.sepahan-contact-submit{border:0;border-radius:16px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:1000;padding:12px 22px;min-height:48px;cursor:pointer;box-shadow:0 12px 26px rgba(37,99,235,.22);transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;}
.sepahan-contact-submit:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(37,99,235,.28);}
.sepahan-contact-submit:disabled{opacity:.65;cursor:not-allowed;transform:none;}
.sepahan-contact-status{font-size:13px;font-weight:800;color:#64748b;}
.sepahan-contact-status.is-success{color:#16a34a;}
.sepahan-contact-status.is-error{color:#dc2626;}
.dark .sepahan-contact-status{color:#cbd5e1;}
@media(max-width:700px){.sepahan-contact-form{grid-template-columns:1fr}.sepahan-contact-card{padding:18px;border-radius:20px}.sepahan-contact-title{font-size:19px}}
