/* DecorEdge Shop Filter — base layout.
   All colors/typography/spacing are overridable from the Elementor Style tab. */
.de-shop{display:grid;grid-template-columns:250px 1fr;gap:26px;align-items:start}
.de-pos-right .de-filters{order:2}
.de-pos-right .de-main{order:1}
.de-filters{display:flex;flex-direction:column;gap:14px;position:sticky;top:100px}
.de-fbox{background:#fff;border:1px solid #ece2d8;border-radius:12px;padding:16px 18px}
.de-fbox h4{margin:0 0 10px;font-size:14px;color:#5C3620}
.de-opt{display:flex;align-items:center;gap:9px;font-size:14px;color:#4a3a2e;padding:5px 0;cursor:pointer}
.de-opt input{accent-color:#E17A3A;width:16px;height:16px}
.de-price{width:100%;accent-color:#E17A3A}
.de-price-label{font-size:13px;color:#5C3620;font-weight:700;margin-top:6px}
.de-main{min-width:0}
.de-toolbar{display:flex;justify-content:flex-end;margin-bottom:16px}
.de-sort{border:1.5px solid #ece2d8;background:#fff;border-radius:10px;padding:10px 12px;font-size:14px;color:#5C3620;font-weight:600;cursor:pointer}
.de-grid{position:relative;min-height:200px}
.de-grid.de-loading{opacity:.45;pointer-events:none}
.de-grid.de-loading::after{content:"";position:absolute;top:60px;left:50%;width:34px;height:34px;margin-left:-17px;border:3px solid #ece2d8;border-top-color:#E17A3A;border-radius:50%;animation:de-spin .8s linear infinite}
@keyframes de-spin{to{transform:rotate(360deg)}}
.de-products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.de-card{background:#fff;border:1px solid #ece2d8;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s}
.de-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(92,54,32,.14)}
.de-card-media{position:relative;display:block;aspect-ratio:1 / 1 !important;overflow:hidden;width:100%}
.de-card-media img{position:absolute!important;inset:0;top:0;left:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;display:block;margin:0;padding:0}
.de-badge{position:absolute;top:10px;left:10px;background:#E17A3A;color:#fff;font-size:12px;font-weight:800;padding:4px 9px;border-radius:8px}
.de-card-body{padding:14px;display:flex;flex-direction:column;gap:6px}
.de-card-cat{font-size:11px;font-weight:700;color:#C9622A;text-transform:uppercase;letter-spacing:.5px}
.de-card-title{font-size:15px;font-weight:700;color:#2E2019;line-height:1.3;text-decoration:none}
.de-card-title:hover{color:#E17A3A}
.de-card-rating{font-size:13px}
.de-card-price{font-size:17px;font-weight:800;color:#5C3620}
.de-card-price del{color:#a3968b;font-weight:500;font-size:13px;margin-left:6px}
.de-card-price ins{text-decoration:none}
.de-card-atc{margin-top:8px}
.de-card-atc .button{display:inline-block;width:100%;text-align:center;background:#E17A3A;color:#fff;border:none;border-radius:10px;padding:11px 14px;font-weight:700;cursor:pointer;text-decoration:none}
.de-card-atc .button:hover{background:#C9622A}
.de-no-products{padding:40px 0;color:#7c6a5d;font-size:15px}
.de-pagination{margin-top:26px}
.de-pagination .page-numbers{list-style:none;display:flex;gap:6px;justify-content:center;padding:0;margin:0;flex-wrap:wrap}
.de-pagination .page-numbers li a,.de-pagination .page-numbers li span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1.5px solid #ece2d8;background:#fff;border-radius:10px;font-weight:700;color:#5C3620;text-decoration:none}
.de-pagination .page-numbers li span.current,.de-pagination .page-numbers li a:hover{background:#E17A3A;border-color:#E17A3A;color:#fff}
/* Mobile-only elements hidden on desktop */
.de-filter-toggle,.de-filters-head,.de-filters-foot,.de-filters-overlay{display:none}
@media(max-width:820px){
	.de-shop{grid-template-columns:1fr !important;gap:14px}
	.de-products{grid-template-columns:repeat(2,1fr)}
	.de-filter-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-bottom:14px;padding:13px 18px;background:#5C3620;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer}
	.de-filter-toggle-ic{font-size:16px;line-height:1}
	.de-filters{position:fixed;top:0;left:0;height:100%;width:88%;max-width:360px;z-index:100000;background:#fff;transform:translateX(-105%);transition:transform .3s ease;overflow-y:auto;display:flex;flex-direction:column;gap:0;padding:0;box-shadow:6px 0 34px rgba(0,0,0,.28)}
	.de-filters.de-open{transform:translateX(0)}
	.de-filters-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;padding:16px 18px;border-bottom:1px solid #ece2d8;font-size:16px;font-weight:700;color:#2E2019;z-index:2}
	.de-filters-close{background:none;border:none;font-size:26px;line-height:1;color:#7c6a5d;cursor:pointer;padding:0 4px}
	.de-filters .de-fbox{border:none;border-bottom:1px solid #ece2d8;border-radius:0;margin:0}
	.de-filters-foot{display:flex;gap:10px;margin-top:auto;position:sticky;bottom:0;background:#fff;border-top:1px solid #ece2d8;padding:12px 16px}
	.de-filters-clear{flex:1;background:#fff;border:1.5px solid #ece2d8;border-radius:10px;color:#5C3620;font-weight:700;cursor:pointer;padding:12px}
	.de-filters-apply{flex:1;background:#E17A3A;border:none;border-radius:10px;color:#fff;font-weight:800;cursor:pointer;padding:12px}
	.de-filters-overlay.de-open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99999}
	body.de-filters-lock{overflow:hidden}
}
@media(max-width:480px){.de-products{grid-template-columns:1fr 1fr;gap:12px}}

/* Inherit theme font across the filter grid & its controls */
.de-shop,.de-shop *,.de-shop button,.de-shop input,.de-shop select,.de-shop textarea{font-family:var(--e-global-typography-primary-font-family),Sans-serif}

.de-shop{font-family:var(--e-global-typography-primary-font-family),Sans-serif}
