/* Makanah storefront - fonts via Google Fonts in layout */

:root{
  --rosewood:#8B3A45;
  --rosewood-dark:#6B2C35;
  --rosewood-light:#A8535E;
  --terracotta:#C97B5D;
  --sand:#F2E8DD;
  --sand-light:#FBF6EF;
  --indigo:#33495F;
  --indigo-dark:#243645;
  --gold:#C9A15A;
  --gold-light:#E4CD9C;
  --ink:#2A211D;
  --ink-60:rgba(42,33,29,.6);
  --ink-40:rgba(42,33,29,.4);
  --line:rgba(42,33,29,.12);
  --shadow:0 20px 50px rgba(42,33,29,.10);
  --shadow-sm:0 8px 22px rgba(42,33,29,.08);
  --radius:14px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Tajawal',sans-serif;
  color:var(--ink);
  background:var(--sand-light);
  direction:rtl;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
.container{max-width:1240px;margin:0 auto;padding:0 32px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Tajawal';font-weight:600;font-size:14px;letter-spacing:2.5px;
  color:var(--rosewood);text-transform:uppercase;
}
.eyebrow::before{content:'';width:22px;height:1.5px;background:var(--gold);display:inline-block;}
h1,h2,h3{font-family:'Reem Kufi','ReemKufi';font-weight:700;color:var(--ink);line-height:1.25;}
.section{padding:100px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head.center{margin-inline:auto;text-align:center;}
.section-head h2{font-size:38px;margin-top:14px;}
.section-head p{font-family:'Tajawal';font-size:17px;color:var(--ink-60);margin-top:14px;line-height:1.9;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Cairo';font-weight:700;font-size:15px;
  padding:15px 30px;border-radius:999px;transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--rosewood);color:var(--sand-light);box-shadow:0 10px 24px rgba(139,58,69,.28);}
.btn-primary:hover{background:var(--rosewood-dark);transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.btn-outline:hover{border-color:var(--rosewood);color:var(--rosewood);}
.btn-ghost-light{background:rgba(251,246,239,.12);color:var(--sand-light);border:1.5px solid rgba(251,246,239,.35);}
.btn-ghost-light:hover{background:rgba(251,246,239,.2);}
.btn-sm{padding:10px 20px;font-size:13px;}

/* ---------- icon button ---------- */
.icon-btn{
  width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  color:var(--ink);transition:background .15s ease;position:relative;
}
.icon-btn:hover{background:var(--sand);}
.icon-btn svg{width:20px;height:20px;}
.badge-count{
  position:absolute;top:2px;left:2px;background:var(--rosewood);color:#fff;
  font-size:10px;font-family:'Cairo';font-weight:700;width:16px;height:16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}

/* ---------- announcement bar ---------- */
.announce{
  background:var(--indigo-dark);color:var(--sand);text-align:center;
  font-family:'Tajawal';font-size:13px;letter-spacing:.5px;padding:9px 0;
}
.announce b{color:var(--gold-light);}

/* ---------- header ---------- */
header.site{
  position:sticky;top:0;z-index:50;background:rgba(251,246,239,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:86px;gap:24px;}
.logo-lockup{display:flex;align-items:center;gap:12px;}
.logo-lockup svg{width:38px;height:38px;}
.logo-lockup .word{font-family:'Aref Ruqaa','ArefRuqaa';font-size:30px;color:var(--rosewood);}
.nav-links{display:flex;align-items:center;gap:34px;font-family:'Tajawal';font-weight:500;font-size:15px;}
.nav-links a{position:relative;padding:8px 0;color:var(--ink);opacity:.8;transition:opacity .15s;}
.nav-links a:hover{opacity:1;color:var(--rosewood);}
.nav-links a.active{opacity:1;color:var(--rosewood);font-weight:700;}
.nav-actions{display:flex;align-items:center;gap:6px;}
.nav-search{
  display:flex;align-items:center;gap:10px;background:var(--sand);border-radius:999px;
  padding:10px 18px;width:230px;
}
.nav-search input{background:none;border:none;outline:none;font-family:'Tajawal';font-size:14px;width:100%;color:var(--ink);}
.nav-search svg{width:16px;height:16px;color:var(--ink-40);flex-shrink:0;}
.burger{display:none;}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:76px 0 0;}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.hero-copy .eyebrow{margin-bottom:22px;}
.hero-copy h1{font-size:58px;line-height:1.28;}
.hero-copy h1 span{color:var(--rosewood);}
.hero-copy p{font-family:'Tajawal';font-size:18px;color:var(--ink-60);margin-top:24px;max-width:480px;line-height:1.95;}
.hero-cta{display:flex;gap:16px;margin-top:38px;}
.hero-trust{display:flex;align-items:center;gap:16px;margin-top:48px;}
.avatar-stack{display:flex;}
.avatar-stack span{
  width:38px;height:38px;border-radius:50%;border:2.5px solid var(--sand-light);
  margin-inline-start:-12px;display:flex;align-items:center;justify-content:center;
  font-family:'Cairo';font-weight:700;font-size:13px;color:#fff;
}
.hero-trust .txt{font-family:'Tajawal';font-size:14px;color:var(--ink-60);}
.hero-trust .txt b{color:var(--ink);font-weight:700;}
.hero-trust .stars{color:var(--gold);letter-spacing:1px;font-size:13px;}

.hero-visual{position:relative;}
.hero-card{
  position:relative;border-radius:28px;overflow:hidden;aspect-ratio:1/1.02;
  background:linear-gradient(150deg,var(--rosewood) 0%,var(--rosewood-dark) 60%,var(--indigo-dark) 130%);
  box-shadow:var(--shadow);
}
.hero-card .weave{position:absolute;inset:0;opacity:.5;}
.hero-card .mark-glow{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
}
.hero-card .mark-glow svg{width:56%;height:56%;opacity:.95;}
.hero-float{
  position:absolute;background:var(--sand-light);border-radius:16px;box-shadow:var(--shadow);
  padding:16px 20px;display:flex;align-items:center;gap:12px;
}
.hero-float.f1{top:8%;left:-8%;}
.hero-float.f2{bottom:9%;right:-6%;}
.hero-float .ico{
  width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hero-float.f1 .ico{background:var(--gold-light);}
.hero-float.f2 .ico{background:var(--sand);}
.hero-float .ico svg{width:20px;height:20px;color:var(--rosewood);}
.hero-float .t1{font-family:'Cairo';font-weight:700;font-size:14px;}
.hero-float .t2{font-family:'Tajawal';font-size:12px;color:var(--ink-60);}

/* stat strip */
.stat-strip{margin-top:78px;background:var(--sand-light);border:1px solid var(--line);border-radius:20px;
  box-shadow:var(--shadow-sm);display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:2;top:-56px;}
.stat-cell{padding:32px 20px;text-align:center;border-inline-start:1px solid var(--line);}
.stat-cell:first-child{border-inline-start:none;}
.stat-num{font-family:'Reem Kufi','ReemKufi';font-size:38px;color:var(--rosewood);}
.stat-lbl{font-family:'Tajawal';font-size:14px;color:var(--ink-60);margin-top:6px;}

/* sadu divider */
.sadu-divider{height:34px;overflow:hidden;}
.sadu-divider svg{width:100%;height:100%;display:block;}

/* ---------- categories ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.cat-card{
  position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3.1;
  display:flex;align-items:flex-end;padding:26px;transition:transform .25s ease, box-shadow .25s ease;
  box-shadow:var(--shadow-sm);
}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.cat-card .cat-icon{
  position:absolute;top:22px;left:22px;width:46px;height:46px;border-radius:12px;
  background:rgba(251,246,239,.18);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(251,246,239,.3);
}
.cat-card .cat-icon svg{width:22px;height:22px;color:var(--sand-light);}
.cat-card .cat-name{font-family:'Reem Kufi','ReemKufi';font-size:23px;color:var(--sand-light);}
.cat-card .cat-count{font-family:'Tajawal';font-size:13px;color:rgba(251,246,239,.75);margin-top:4px;}
.cat-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%);}
.cat-card > *{position:relative;z-index:1;}

/* ---------- products ---------- */
.prod-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px;flex-wrap:wrap;gap:20px;}
.tabs{display:flex;gap:8px;background:var(--sand);padding:6px;border-radius:999px;}
.tab{padding:10px 22px;border-radius:999px;font-family:'Tajawal';font-weight:500;font-size:14px;color:var(--ink-60);transition:all .15s;}
.tab.active{background:var(--rosewood);color:var(--sand-light);font-weight:700;}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.prod-card{background:var(--sand-light);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s, transform .2s;}
.prod-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
.prod-thumb{aspect-ratio:1/.92;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.prod-thumb svg{width:44%;height:44%;opacity:.85;}
.prod-wish{position:absolute;top:14px;left:14px;width:34px;height:34px;border-radius:50%;background:rgba(251,246,239,.85);display:flex;align-items:center;justify-content:center;}
.prod-wish svg{width:16px;height:16px;color:var(--rosewood);}
.prod-tag{position:absolute;top:14px;right:14px;background:var(--gold);color:var(--ink);font-family:'Cairo';font-weight:700;font-size:11px;padding:5px 12px;border-radius:999px;}
.prod-body{padding:20px 20px 22px;}
.prod-maker{font-family:'Tajawal';font-size:12px;color:var(--ink-40);}
.prod-name{font-family:'Cairo';font-weight:700;font-size:16px;margin-top:6px;}
.prod-rating{display:flex;align-items:center;gap:5px;margin-top:8px;color:var(--gold);font-size:12px;}
.prod-rating span{color:var(--ink-40);font-family:'Tajawal';}
.prod-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;}
.prod-price{font-family:'Cairo';font-weight:700;font-size:18px;color:var(--rosewood);}
.prod-price s{font-family:'Tajawal';font-weight:400;font-size:13px;color:var(--ink-40);margin-inline-start:8px;}
.add-btn{width:38px;height:38px;border-radius:50%;background:var(--sand);display:flex;align-items:center;justify-content:center;transition:background .15s;}
.add-btn:hover{background:var(--rosewood);}
.add-btn:hover svg{color:var(--sand-light);}
.add-btn svg{width:16px;height:16px;color:var(--rosewood);}

/* ---------- mission band ---------- */
.mission{background:linear-gradient(135deg,var(--indigo-dark),var(--indigo));position:relative;overflow:hidden;}
.mission .container{position:relative;z-index:1;padding-top:96px;padding-bottom:96px;text-align:center;max-width:760px;}
.mission svg.mark{width:64px;height:64px;margin:0 auto 28px;}
.mission .eyebrow{color:var(--gold-light);}
.mission .eyebrow::before{background:var(--gold-light);}
.mission h2{color:var(--sand-light);font-size:36px;margin-top:16px;}
.mission p{font-family:'Tajawal';color:rgba(251,246,239,.8);font-size:18px;margin-top:20px;line-height:2;}
.mission .btn{margin-top:34px;}
.mission-weave{position:absolute;bottom:0;right:0;left:0;height:60px;opacity:.35;}

/* ---------- artisans ---------- */
.artisan-scroll{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;}
.artisan-card{text-align:center;padding:30px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--sand-light);transition:box-shadow .2s, transform .2s;}
.artisan-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
.artisan-avatar{
  width:74px;height:74px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;
  font-family:'Aref Ruqaa','ArefRuqaa';font-size:26px;color:#fff;position:relative;
}
.artisan-avatar .ring{position:absolute;inset:-5px;border-radius:50%;border:1.5px dashed var(--gold);}
.artisan-name{font-family:'Cairo';font-weight:700;font-size:15px;}
.artisan-craft{font-family:'Tajawal';font-size:12px;color:var(--ink-60);margin-top:4px;}
.artisan-rating{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:10px;font-size:11px;color:var(--gold);}
.artisan-rating span{color:var(--ink-40);font-family:'Tajawal';}

/* ---------- workshops ---------- */
.wk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.wk-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--sand-light);transition:box-shadow .2s, transform .2s;}
.wk-card:hover{box-shadow:var(--shadow);transform:translateY(-4px);}
.wk-thumb{aspect-ratio:16/10;position:relative;display:flex;align-items:center;justify-content:center;}
.wk-thumb svg{width:34%;height:34%;opacity:.9;}
.wk-level{position:absolute;top:14px;right:14px;background:rgba(251,246,239,.9);font-family:'Tajawal';font-size:11px;padding:5px 12px;border-radius:999px;}
.wk-body{padding:22px;}
.wk-cat{font-family:'Tajawal';font-size:12px;color:var(--rosewood);font-weight:700;}
.wk-title{font-family:'Cairo';font-weight:700;font-size:17px;margin-top:8px;}
.wk-meta{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.wk-instr{display:flex;align-items:center;gap:10px;font-family:'Tajawal';font-size:13px;color:var(--ink-60);}
.wk-instr .dot{width:28px;height:28px;border-radius:50%;background:var(--sand);display:flex;align-items:center;justify-content:center;font-family:'Cairo';font-weight:700;font-size:11px;color:var(--rosewood);}
.wk-price{font-family:'Cairo';font-weight:700;color:var(--rosewood);}

/* ---------- testimonials ---------- */
.testi-wrap{background:var(--sand);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.testi-card{background:var(--sand-light);border-radius:var(--radius);padding:34px;position:relative;box-shadow:var(--shadow-sm);}
.testi-card .quote{font-family:'Reem Kufi','ReemKufi';font-size:44px;color:var(--gold);line-height:1;display:block;margin-bottom:6px;}
.testi-card p{font-family:'Tajawal';font-size:15px;line-height:1.95;color:var(--ink);opacity:.9;}
.testi-who{display:flex;align-items:center;gap:12px;margin-top:22px;}
.testi-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cairo';font-weight:700;color:#fff;font-size:14px;}
.testi-name{font-family:'Cairo';font-weight:700;font-size:14px;}
.testi-role{font-family:'Tajawal';font-size:12px;color:var(--ink-60);}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:820px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:26px 4px;font-family:'Cairo';font-weight:700;font-size:16px;}
.faq-q .plus{width:26px;height:26px;border-radius:50%;background:var(--sand);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .25s;}
.faq-q .plus svg{width:12px;height:12px;color:var(--rosewood);}
.faq-item.open .plus{transform:rotate(45deg);background:var(--rosewood);}
.faq-item.open .plus svg{color:var(--sand-light);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:200px;}
.faq-a p{font-family:'Tajawal';font-size:15px;color:var(--ink-60);line-height:1.9;padding:0 4px 26px;max-width:640px;}

/* ---------- newsletter ---------- */
.newsletter{background:var(--rosewood);border-radius:26px;padding:64px 56px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.newsletter h3{color:var(--sand-light);font-size:28px;}
.newsletter p{font-family:'Tajawal';color:rgba(251,246,239,.8);margin-top:10px;font-size:15px;}
.nl-form{display:flex;gap:10px;background:rgba(251,246,239,.12);padding:6px;border-radius:999px;border:1px solid rgba(251,246,239,.3);min-width:380px;}
.nl-form input{flex:1;background:none;border:none;outline:none;padding:0 18px;color:var(--sand-light);font-family:'Tajawal';font-size:14px;}
.nl-form input::placeholder{color:rgba(251,246,239,.55);}
.nl-form button{background:var(--sand-light);color:var(--rosewood);font-family:'Cairo';font-weight:700;font-size:14px;padding:14px 26px;border-radius:999px;}

/* ---------- footer ---------- */
footer.site{background:var(--indigo-dark);color:var(--sand);margin-top:100px;}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:40px;padding:80px 0 60px;}
.foot-brand .logo-lockup .word{color:var(--sand-light);}
.foot-brand p{font-family:'Tajawal';font-size:14px;color:rgba(251,246,239,.65);margin-top:18px;line-height:1.9;max-width:280px;}
.foot-social{display:flex;gap:10px;margin-top:24px;}
.foot-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(251,246,239,.25);display:flex;align-items:center;justify-content:center;transition:background .15s;}
.foot-social a:hover{background:rgba(251,246,239,.12);}
.foot-social svg{width:16px;height:16px;color:var(--sand-light);}
.foot-col h5{font-family:'Cairo';font-weight:700;font-size:15px;color:var(--sand-light);margin-bottom:20px;}
.foot-col ul li{margin-bottom:13px;}
.foot-col ul a{font-family:'Tajawal';font-size:14px;color:rgba(251,246,239,.65);transition:color .15s;}
.foot-col ul a:hover{color:var(--gold-light);}
.foot-bottom{border-top:1px solid rgba(251,246,239,.12);padding:26px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.foot-bottom p{font-family:'Tajawal';font-size:13px;color:rgba(251,246,239,.55);}
.foot-legal{display:flex;gap:22px;}
.foot-legal a{font-family:'Tajawal';font-size:13px;color:rgba(251,246,239,.55);}

/* ---------- utility color classes for avatars/icons ---------- */
.bg-1{background:var(--rosewood);} .bg-2{background:var(--terracotta);} .bg-3{background:var(--indigo);}
.bg-4{background:var(--gold);} .bg-5{background:var(--rosewood-light);} .bg-6{background:var(--indigo-dark);}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:1;transform:none;}
.reveal.in{animation:makanah-reveal .7s ease both;}
@keyframes makanah-reveal{
  from{opacity:0;transform:translateY(24px);}
  to{opacity:1;transform:none;}
}
@media (prefers-reduced-motion: reduce){
  .reveal.in{animation:none;}
}

/* Makanah storefront â€” fonts via Google Fonts in layout */

/* ---------- page header / breadcrumb ---------- */
.page-head{background:var(--sand);padding:44px 0 40px;border-bottom:1px solid var(--line);}
.breadcrumb{display:flex;align-items:center;gap:8px;font-family:'Tajawal';font-size:13px;color:var(--ink-60);margin-bottom:14px;}
.breadcrumb a{color:var(--ink-60);}
.breadcrumb a:hover{color:var(--rosewood);}
.breadcrumb .sep{opacity:.5;}
.breadcrumb .cur{color:var(--rosewood);font-weight:600;}
.page-head h1{font-size:32px;}
.page-head .sub{font-family:'Tajawal';color:var(--ink-60);margin-top:8px;font-size:15px;}

/* ---------- shop layout ---------- */
.shop-layout{display:grid;grid-template-columns:270px 1fr;gap:44px;align-items:flex-start;padding:56px 0;}
.filters-card{position:sticky;top:110px;background:var(--sand-light);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.filters-card h4{font-family:'Cairo';font-weight:700;font-size:15px;margin-bottom:4px;}
.filter-group{padding:20px 0;border-bottom:1px solid var(--line);}
.filter-group:last-child{border-bottom:none;}
.filter-group summary{font-family:'Cairo';font-weight:700;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;}
.filter-group summary::-webkit-details-marker{display:none;}
.filter-group summary .car{transition:transform .2s;color:var(--ink-40);}
.filter-group[open] summary .car{transform:rotate(90deg);}
.filter-opts{margin-top:14px;display:flex;flex-direction:column;gap:12px;}
.check{display:flex;align-items:center;gap:10px;font-family:'Tajawal';font-size:14px;color:var(--ink);cursor:pointer;}
.check input{width:16px;height:16px;accent-color:var(--rosewood);}
.check .cnt{margin-inline-start:auto;color:var(--ink-40);font-size:12px;}
.swatch-opt{display:flex;flex-wrap:wrap;gap:8px;}
.swatch-opt span{width:26px;height:26px;border-radius:50%;border:2px solid var(--sand-light);box-shadow:0 0 0 1px var(--line);cursor:pointer;}
.range-row{display:flex;align-items:center;justify-content:space-between;font-family:'Tajawal';font-size:13px;color:var(--ink-60);margin-bottom:10px;}
input[type="range"]{width:100%;accent-color:var(--rosewood);}
.rating-opt{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gold);cursor:pointer;padding:4px 0;font-family:'Tajawal';}
.rating-opt span{color:var(--ink-60);}
.clear-filters{font-family:'Tajawal';font-size:13px;color:var(--rosewood);font-weight:600;margin-top:6px;}

.shop-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:16px;}
.result-count{font-family:'Tajawal';font-size:14px;color:var(--ink-60);}
.sort-select{display:flex;align-items:center;gap:10px;}
.sort-select select{font-family:'Tajawal';font-size:14px;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:var(--sand-light);color:var(--ink);}
.view-toggle{display:flex;gap:4px;background:var(--sand);padding:4px;border-radius:8px;}
.view-toggle button{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;}
.view-toggle button.active{background:var(--sand-light);box-shadow:var(--shadow-sm);}
.view-toggle svg{width:15px;height:15px;color:var(--ink-60);}
.active-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.chip{display:flex;align-items:center;gap:8px;background:var(--sand);border-radius:999px;padding:7px 14px;font-family:'Tajawal';font-size:13px;}
.chip svg{width:12px;height:12px;cursor:pointer;}
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:56px;}
.pagination a{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:'Cairo';font-size:14px;color:var(--ink-60);border:1px solid var(--line);}
.pagination a.active{background:var(--rosewood);color:#fff;border-color:var(--rosewood);}
.pagination a.nav{width:auto;padding:0 14px;gap:6px;}

/* ---------- product detail ---------- */
.pd-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:56px 0;}
.pd-gallery-main{aspect-ratio:1/1;border-radius:20px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:16px;}
.pd-gallery-main svg{width:34%;height:34%;opacity:.9;}
.pd-thumbs{display:flex;gap:12px;}
.pd-thumbs .th{width:78px;height:78px;border-radius:12px;border:2px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.pd-thumbs .th.active{border-color:var(--rosewood);}
.pd-thumbs .th svg{width:40%;height:40%;}
.pd-maker-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.pd-maker-row .av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cairo';font-weight:700;font-size:12px;color:#fff;}
.pd-maker-row a{font-family:'Tajawal';font-size:14px;font-weight:600;color:var(--rosewood);}
.pd-title{font-size:32px;}
.pd-rating-row{display:flex;align-items:center;gap:10px;margin-top:14px;color:var(--gold);font-size:13px;}
.pd-rating-row span{color:var(--ink-60);font-family:'Tajawal';}
.pd-price-row{display:flex;align-items:baseline;gap:14px;margin-top:22px;padding-bottom:22px;border-bottom:1px solid var(--line);}
.pd-price{font-family:'Reem Kufi','ReemKufi';font-size:36px;color:var(--rosewood);}
.pd-price-old{font-family:'Tajawal';font-size:16px;color:var(--ink-40);}
.pd-desc{font-family:'Tajawal';font-size:15px;line-height:2;color:var(--ink-60);margin-top:22px;}
.pd-opt-group{margin-top:26px;}
.pd-opt-group .lbl{font-family:'Cairo';font-weight:700;font-size:14px;margin-bottom:12px;}
.pd-swatches{display:flex;gap:10px;}
.pd-swatches button{width:38px;height:38px;border-radius:50%;border:2px solid var(--sand-light);box-shadow:0 0 0 1.5px var(--line);}
.pd-swatches button.active{box-shadow:0 0 0 2px var(--rosewood);}
.pd-size-opts{display:flex;gap:10px;}
.pd-size-opts button{padding:10px 18px;border-radius:10px;border:1.5px solid var(--line);font-family:'Cairo';font-weight:600;font-size:13px;}
.pd-size-opts button.active{border-color:var(--rosewood);background:var(--rosewood);color:#fff;}
.pd-buy-row{display:flex;align-items:center;gap:14px;margin-top:32px;}
.qty-stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:#fff;}
.qty-stepper button{width:42px;height:48px;font-size:18px;font-family:'Cairo';color:var(--ink-60);background:transparent;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.qty-stepper button:hover{background:var(--sand);color:var(--rosewood);}
.qty-stepper span,.qty-stepper input{width:42px;height:48px;border:0;text-align:center;font-family:'Cairo';font-weight:700;font-size:15px;background:transparent;color:var(--ink);padding:0;-moz-appearance:textfield;}
.qty-stepper input:focus{outline:none;}
.qty-stepper input::-webkit-outer-spin-button,
.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.sf-toast-wrap{position:fixed;inset-inline-end:20px;top:20px;z-index:1200;display:flex;flex-direction:column;gap:10px;pointer-events:none;}
.sf-toast{pointer-events:auto;display:flex;align-items:center;gap:12px;min-width:220px;max-width:min(360px,calc(100vw - 40px));padding:14px 16px;border-radius:14px;background:var(--ink);color:#fff;box-shadow:0 16px 40px rgba(42,33,29,.22);font-family:'Tajawal';font-size:14px;line-height:1.5;animation:sf-toast-in .35s ease;}
.sf-toast.is-out{animation:sf-toast-out .28s ease forwards;}
.sf-toast-msg{flex:1;}
.sf-toast-close{width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.sf-toast-close:hover{background:rgba(255,255,255,.18);}
.sf-toast-close svg{display:block;}
@keyframes sf-toast-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes sf-toast-out{to{opacity:0;transform:translateY(-8px)}}
.pd-buy-row .btn-primary{flex:1;justify-content:center;padding:16px 20px;}
.pd-icon-btn{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pd-icon-btn svg{width:20px;height:20px;color:var(--rosewood);}
.pd-perks{display:flex;flex-direction:column;gap:14px;margin-top:30px;background:var(--sand);border-radius:14px;padding:20px;}
.pd-perk{display:flex;align-items:center;gap:12px;font-family:'Tajawal';font-size:13px;color:var(--ink);}
.pd-perk svg{width:18px;height:18px;color:var(--rosewood);flex-shrink:0;}

.pd-tabs{display:flex;gap:36px;border-bottom:1px solid var(--line);margin-top:70px;}
.pd-tab{padding-bottom:18px;font-family:'Cairo';font-weight:700;font-size:15px;color:var(--ink-40);border-bottom:2px solid transparent;margin-bottom:-1px;}
.pd-tab.active{color:var(--rosewood);border-color:var(--rosewood);}
.pd-tabpanel{padding:36px 0;font-family:'Tajawal';color:var(--ink-60);line-height:2;font-size:15px;max-width:760px;}
.review-item{display:flex;gap:16px;padding:24px 0;border-bottom:1px solid var(--line);}
.review-item .av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cairo';font-weight:700;color:#fff;flex-shrink:0;}
.review-name{font-family:'Cairo';font-weight:700;font-size:14px;}
.review-date{font-family:'Tajawal';font-size:12px;color:var(--ink-40);margin-inline-start:10px;}
.review-stars{color:var(--gold);font-size:12px;margin-top:4px;}
.review-text{font-family:'Tajawal';color:var(--ink-60);font-size:14px;margin-top:8px;line-height:1.9;}

.related-head{display:flex;align-items:center;justify-content:space-between;margin:20px 0 30px;}

/* ---------- cart ---------- */
.cart-layout{display:grid;grid-template-columns:1fr 380px;gap:48px;padding:56px 0;align-items:flex-start;}
.cart-table{width:100%;}
.cart-row{display:grid;grid-template-columns:88px 1fr auto auto auto;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);}
.cart-thumb{width:88px;height:88px;border-radius:12px;display:flex;align-items:center;justify-content:center;}
.cart-thumb svg{width:44%;height:44%;}
.cart-name{font-family:'Cairo';font-weight:700;font-size:15px;}
.cart-maker{font-family:'Tajawal';font-size:12px;color:var(--ink-40);margin-top:4px;}
.cart-opts{font-family:'Tajawal';font-size:12px;color:var(--ink-60);margin-top:6px;}
.cart-remove{font-family:'Tajawal';font-size:12px;color:var(--rosewood);margin-top:8px;display:inline-block;}
.cart-price{font-family:'Cairo';font-weight:700;font-size:15px;white-space:nowrap;}
.cart-empty{text-align:center;padding:80px 20px;}
.cart-empty svg{width:64px;height:64px;color:var(--ink-40);margin:0 auto 20px;}
.cart-empty h3{margin-top:6px;}
.cart-empty p{font-family:'Tajawal';color:var(--ink-60);margin-top:10px;}

.summary-card{background:var(--sand);border-radius:var(--radius);padding:30px;position:sticky;top:110px;}
.summary-card h4{font-family:'Cairo';font-weight:700;font-size:17px;margin-bottom:22px;}
.summary-row{display:flex;align-items:center;justify-content:space-between;font-family:'Tajawal';font-size:14px;color:var(--ink-60);padding:10px 0;}
.summary-row.total{border-top:1px solid var(--line);margin-top:10px;padding-top:18px;font-family:'Cairo';font-weight:700;font-size:17px;color:var(--ink);}
.promo-row{display:flex;gap:8px;margin:18px 0;}
.promo-row input{flex:1;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-family:'Tajawal';font-size:13px;background:var(--sand-light);}
.promo-row button{border:1px solid var(--ink);border-radius:10px;padding:0 18px;font-family:'Cairo';font-weight:700;font-size:13px;}
.summary-card .btn-primary{width:100%;justify-content:center;margin-top:14px;}
.trust-mini{display:flex;align-items:center;gap:10px;font-family:'Tajawal';font-size:12px;color:var(--ink-60);margin-top:18px;}
.trust-mini svg{width:16px;height:16px;color:var(--rosewood);}

/* ---------- checkout ---------- */
.stepper{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:56px;}
.step{display:flex;align-items:center;gap:12px;}
.step .num{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:'Cairo';font-weight:700;font-size:13px;color:var(--ink-40);flex-shrink:0;}
.step.done .num{background:var(--rosewood);border-color:var(--rosewood);color:#fff;}
.step.current .num{border-color:var(--rosewood);color:var(--rosewood);}
.step .lbl{font-family:'Cairo';font-weight:700;font-size:14px;color:var(--ink-40);}
.step.done .lbl,.step.current .lbl{color:var(--ink);}
.step-line{width:70px;height:1.5px;background:var(--line);margin:0 14px;}
.step-line.done{background:var(--rosewood);}

.checkout-layout{display:grid;grid-template-columns:1fr 380px;gap:48px;padding:0 0 70px;align-items:flex-start;}
.form-card{background:var(--sand-light);border:1px solid var(--line);border-radius:var(--radius);padding:34px;}
.form-card + .form-card{margin-top:26px;}
.form-card h4{font-family:'Cairo';font-weight:700;font-size:16px;margin-bottom:24px;display:flex;align-items:center;gap:10px;}
.form-card h4 svg{width:18px;height:18px;color:var(--rosewood);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.field.full{grid-column:1/-1;}
.field label{font-family:'Tajawal';font-weight:500;font-size:13px;color:var(--ink);}
.field input,.field select,.field textarea{
  border:1.5px solid var(--line);border-radius:10px;padding:13px 16px;font-family:'Tajawal';font-size:14px;
  background:var(--sand-light);color:var(--ink);outline:none;transition:border-color .15s;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--rosewood);}
.pay-methods{display:flex;flex-direction:column;gap:12px;}
.pay-opt{display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:12px;padding:16px 18px;cursor:pointer;}
.pay-opt.active{border-color:var(--rosewood);background:rgba(139,58,69,.04);}
.pay-opt input{accent-color:var(--rosewood);width:16px;height:16px;}
.pay-opt .pt{font-family:'Cairo';font-weight:700;font-size:14px;}
.pay-opt .ps{font-family:'Tajawal';font-size:12px;color:var(--ink-60);}
.pay-opt svg{width:22px;height:22px;color:var(--rosewood);margin-inline-start:auto;}
.checkout-actions{display:flex;justify-content:space-between;margin-top:26px;}

.confirm-wrap{max-width:560px;margin:0 auto;text-align:center;padding:90px 0;}
.confirm-check{width:88px;height:88px;border-radius:50%;background:var(--rosewood);display:flex;align-items:center;justify-content:center;margin:0 auto 30px;}
.confirm-check svg{width:38px;height:38px;color:#fff;}
.confirm-wrap h1{font-size:30px;}
.confirm-wrap p{font-family:'Tajawal';color:var(--ink-60);margin-top:14px;font-size:15px;line-height:1.9;}
.confirm-box{background:var(--sand);border-radius:14px;padding:26px;margin-top:34px;text-align:right;}
.confirm-box .row{display:flex;justify-content:space-between;font-family:'Tajawal';font-size:14px;padding:8px 0;color:var(--ink-60);}
.confirm-box .row b{color:var(--ink);font-family:'Cairo';}
.confirm-actions{display:flex;gap:14px;justify-content:center;margin-top:34px;}

/* ---------- dashboard ---------- */
.dash-shell{display:grid;grid-template-columns:270px 1fr;gap:40px;padding:48px 0 90px;align-items:flex-start;}
.dash-side{position:sticky;top:110px;}
.dash-user{display:flex;align-items:center;gap:14px;background:var(--sand-light);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:20px;}
.dash-user .av{width:52px;height:52px;border-radius:50%;background:var(--rosewood);display:flex;align-items:center;justify-content:center;font-family:'Aref Ruqaa','ArefRuqaa';font-size:20px;color:#fff;}
.dash-user .nm{font-family:'Cairo';font-weight:700;font-size:15px;}
.dash-user .em{font-family:'Tajawal';font-size:12px;color:var(--ink-60);}
.dash-nav{background:var(--sand-light);border:1px solid var(--line);border-radius:var(--radius);padding:10px;}
.dash-nav a,.dash-nav button.dash-nav-btn{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:10px;font-family:'Tajawal';font-weight:500;font-size:14px;color:var(--ink-60);width:100%;background:none;border:0;cursor:pointer;text-align:inherit;}
.dash-nav a svg,.dash-nav button.dash-nav-btn svg{width:18px;height:18px;flex-shrink:0;}
.dash-nav a.active{background:var(--rosewood);color:#fff;}
.dash-nav a:not(.active):hover,.dash-nav button.dash-nav-btn:hover{background:var(--sand);}
.dash-nav .divider{height:1px;background:var(--line);margin:10px 6px;}

.dash-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:36px;}
.dash-card{background:var(--sand-light);border:1px solid var(--line);border-radius:var(--radius);padding:24px;}
.dash-card .ic{width:40px;height:40px;border-radius:10px;background:var(--sand);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.dash-card .ic svg{width:18px;height:18px;color:var(--rosewood);}
.dash-card .num{font-family:'Reem Kufi','ReemKufi';font-size:26px;}
.dash-card .lbl{font-family:'Tajawal';font-size:13px;color:var(--ink-60);margin-top:4px;}

.dash-panel{background:var(--sand-light);border:1px solid var(--line);border-radius:var(--radius);padding:30px;}
.dash-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;}
.dash-panel-head h3{font-size:19px;}

.otable{width:100%;border-collapse:collapse;}
.otable th{text-align:right;font-family:'Tajawal';font-size:12px;color:var(--ink-40);font-weight:500;padding:0 14px 14px;border-bottom:1px solid var(--line);}
.otable td{padding:18px 14px;border-bottom:1px solid var(--line);font-family:'Tajawal';font-size:14px;}
.otable tr:last-child td{border-bottom:none;}
.otable .oid{font-family:'Cairo';font-weight:700;}
.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-family:'Tajawal';font-size:12px;font-weight:500;}
.status-pill.delivered{background:rgba(120,140,93,.15);color:#5c6f45;}
.status-pill.shipping{background:rgba(201,161,90,.18);color:#8a6a2c;}
.status-pill.processing{background:rgba(51,73,95,.12);color:var(--indigo);}
.status-pill.cancelled{background:rgba(139,58,69,.12);color:var(--rosewood);}
.otable .link{color:var(--rosewood);font-weight:600;font-family:'Tajawal';}

.wallet-hero{background:linear-gradient(135deg,var(--indigo),var(--indigo-dark));border-radius:18px;padding:34px;color:var(--sand-light);position:relative;overflow:hidden;margin-bottom:26px;}
.wallet-hero .lbl{font-family:'Tajawal';font-size:13px;color:var(--gold-light);letter-spacing:1px;}
.wallet-hero .amt{font-family:'Reem Kufi','ReemKufi';font-size:44px;margin-top:10px;}
.wallet-hero .actions{display:flex;gap:12px;margin-top:24px;}
.wallet-hero .mk{position:absolute;left:-20px;top:-20px;width:150px;height:150px;opacity:.14;}
.tx-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
.tx-row:last-child{border-bottom:none;}
.tx-ic{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tx-ic.in{background:rgba(120,140,93,.15);color:#5c6f45;}
.tx-ic.out{background:rgba(139,58,69,.1);color:var(--rosewood);}
.tx-ic svg{width:16px;height:16px;}
.tx-title{font-family:'Cairo';font-weight:700;font-size:14px;}
.tx-date{font-family:'Tajawal';font-size:12px;color:var(--ink-40);}
.tx-amt{margin-inline-start:auto;font-family:'Cairo';font-weight:700;font-size:14px;}
.tx-amt.in{color:#5c6f45;}
.tx-amt.out{color:var(--rosewood);}

.profile-form{max-width:640px;}
.avatar-edit{display:flex;align-items:center;gap:20px;margin-bottom:30px;}
.avatar-edit .av{width:80px;height:80px;border-radius:50%;background:var(--rosewood);display:flex;align-items:center;justify-content:center;font-family:'Aref Ruqaa','ArefRuqaa';font-size:30px;color:#fff;}

.addr-card{border:1.5px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px;position:relative;}
.addr-card.default{border-color:var(--rosewood);}
.addr-card .tag{position:absolute;top:16px;left:16px;background:var(--rosewood);color:#fff;font-family:'Tajawal';font-size:11px;padding:4px 12px;border-radius:999px;}
.addr-card h5{font-family:'Cairo';font-weight:700;font-size:14px;}
.addr-card p{font-family:'Tajawal';font-size:13px;color:var(--ink-60);margin-top:8px;line-height:1.8;}
.addr-card .acts{display:flex;gap:16px;margin-top:14px;}
.addr-card .acts a{font-family:'Tajawal';font-size:12px;font-weight:600;color:var(--rosewood);}

.empty-state{text-align:center;padding:60px 20px;}
.empty-state svg{width:56px;height:56px;color:var(--ink-40);margin:0 auto 18px;}
.empty-state p{font-family:'Tajawal';color:var(--ink-60);margin-top:8px;}

/* ---------- auth pages ---------- */
.auth-shell{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1fr 1fr;}
.auth-visual{background:linear-gradient(160deg,var(--indigo-dark),var(--indigo) 55%,var(--rosewood-dark) 130%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;position:relative;overflow:hidden;}
.auth-visual svg.mk{width:110px;height:110px;color:var(--gold-light);margin-bottom:30px;}
.auth-visual h2{color:var(--sand-light);font-size:28px;text-align:center;max-width:380px;}
.auth-visual p{font-family:'Tajawal';color:rgba(251,246,239,.75);text-align:center;margin-top:16px;max-width:340px;line-height:1.9;font-size:14px;}
.auth-visual .weave{position:absolute;inset:0;opacity:.35;}
.auth-form-side{display:flex;align-items:center;justify-content:center;padding:60px 40px;}
.auth-box{width:100%;max-width:400px;}
.auth-box h1{font-size:28px;}
.auth-box .sub{font-family:'Tajawal';color:var(--ink-60);margin-top:10px;font-size:14px;}
.auth-box form{margin-top:32px;}
.auth-divider{display:flex;align-items:center;gap:14px;margin:26px 0;}
.auth-divider .ln{flex:1;height:1px;background:var(--line);}
.auth-divider span{font-family:'Tajawal';font-size:12px;color:var(--ink-40);}
.social-row{display:flex;gap:12px;}
.social-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;border:1.5px solid var(--line);border-radius:12px;padding:13px;font-family:'Tajawal';font-size:13px;font-weight:600;}
.social-btn svg{width:18px;height:18px;}
.auth-foot{text-align:center;margin-top:26px;font-family:'Tajawal';font-size:13px;color:var(--ink-60);}
.auth-foot a{color:var(--rosewood);font-weight:700;}
.remember-row{display:flex;align-items:center;justify-content:space-between;margin:-6px 0 22px;}
.remember-row label{display:flex;align-items:center;gap:8px;font-family:'Tajawal';font-size:13px;color:var(--ink-60);}
.remember-row a{font-family:'Tajawal';font-size:13px;color:var(--rosewood);font-weight:600;}
.strength-bar{display:flex;gap:4px;margin-top:8px;}
.strength-bar span{height:3px;flex:1;background:var(--line);border-radius:2px;}
.role-toggle{display:flex;gap:10px;margin-bottom:24px;background:var(--sand);padding:5px;border-radius:12px;}
.role-toggle label{flex:1;text-align:center;padding:12px;border-radius:9px;font-family:'Cairo';font-weight:700;font-size:13px;color:var(--ink-60);cursor:pointer;}
.role-toggle input{display:none;}
.role-toggle input:checked + span{color:var(--rosewood);}
.role-toggle label:has(input:checked){background:var(--sand-light);box-shadow:var(--shadow-sm);}

/* ---------- workshop detail extras ---------- */
.wk-detail-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;padding:56px 0;align-items:flex-start;}
.wk-detail-media{aspect-ratio:16/11;border-radius:20px;display:flex;align-items:center;justify-content:center;position:relative;}
.wk-detail-media svg{width:30%;height:30%;}
.wk-side-card{background:var(--sand-light);border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:sticky;top:110px;}
.wk-side-price{font-family:'Reem Kufi','ReemKufi';font-size:32px;color:var(--rosewood);}
.wk-meta-list{display:flex;flex-direction:column;gap:16px;margin:22px 0;}
.wk-meta-list .r{display:flex;align-items:center;gap:12px;font-family:'Tajawal';font-size:14px;color:var(--ink-60);}
.wk-meta-list svg{width:18px;height:18px;color:var(--rosewood);}
.curriculum-item{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-family:'Tajawal';font-size:14px;}
.curriculum-item .n{width:28px;height:28px;border-radius:50%;background:var(--sand);display:flex;align-items:center;justify-content:center;font-family:'Cairo';font-weight:700;font-size:12px;color:var(--rosewood);flex-shrink:0;}

/* ---------- misc utility ---------- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.mt-0{margin-top:0;}

/* ---------- responsive ---------- */
.prod-grid-3{grid-template-columns:repeat(3,1fr);}

@media (max-width:1080px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{max-width:460px;margin:0 auto;}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .prod-grid,.prod-grid-3{grid-template-columns:repeat(2,1fr);}
  .artisan-scroll{grid-template-columns:repeat(3,1fr);}
  .wk-grid{grid-template-columns:repeat(2,1fr);}
  .testi-grid{grid-template-columns:1fr;}
  .foot-top{grid-template-columns:1fr 1fr;}

  .shop-layout{grid-template-columns:1fr;}
  .filters-card{position:static;}
  .pd-layout{grid-template-columns:1fr;gap:40px;}
  .cart-layout{grid-template-columns:1fr;}
  .summary-card{position:static;}
  .checkout-layout{grid-template-columns:1fr;}
  .dash-shell{grid-template-columns:1fr;}
  .dash-side{position:static;}
  .dash-cards{grid-template-columns:repeat(2,1fr);}
  .wk-detail-hero{grid-template-columns:1fr;gap:40px;}
  .wk-side-card{position:static;}
  .auth-shell{grid-template-columns:1fr;}
  .auth-visual{display:none;}

  /* prevent CSS Grid min-content from forcing columns wider than their track */
  .dash-shell > *, .shop-layout > *, .cart-layout > *, .checkout-layout > *, .pd-layout > *, .wk-detail-hero > *{min-width:0;}
}
@media (max-width:760px){
  .nav-links,.nav-search{display:none;}
  .nav-actions .btn-primary,.nav-actions .icon-btn[aria-label="Ø­Ø³Ø§Ø¨ÙŠ"],.nav-actions .icon-btn[aria-label="Ø§Ù„Ù…Ù�Ø¶Ù„Ø©"]{display:none;}
  .burger{display:flex;}
  .hero-copy h1{font-size:38px;}
  body{overflow-x:hidden;}
  .hero-float.f1{left:0;top:-4%;}
  .hero-float.f2{right:0;bottom:-4%;}
  .hero-float{padding:10px 14px;gap:8px;}
  .hero-float .t1{font-size:12px;}
  .hero-float .t2{font-size:10px;}
  .stat-strip{grid-template-columns:repeat(2,1fr);}
  .stat-cell:nth-child(3){border-inline-start:none;}
  .cat-grid,.prod-grid,.prod-grid-3,.artisan-scroll,.wk-grid{grid-template-columns:1fr 1fr;}
  .artisan-scroll{grid-template-columns:1fr 1fr;}
  .section{padding:64px 0;}
  .newsletter{flex-direction:column;text-align:center;padding:44px 28px;}
  .nl-form{min-width:100%;}
  .foot-top{grid-template-columns:1fr;padding:56px 0 40px;}

  .container{padding:0 20px;}
  .page-head{padding:32px 0 28px;}
  .page-head h1{font-size:24px;}
  .cat-grid,.prod-grid,.prod-grid-3,.wk-grid{grid-template-columns:1fr;}
  .artisan-scroll{grid-template-columns:1fr 1fr;}
  .shop-toolbar{align-items:flex-start;}
  .prod-head{flex-direction:column;align-items:flex-start;}

  .pd-layout{padding:32px 0;}
  .pd-title{font-size:24px;}
  .pd-buy-row{flex-wrap:wrap;}
  .pd-buy-row .btn-primary{width:100%;order:-1;}
  .pd-tabs{gap:20px;overflow-x:auto;}

  .cart-layout{padding:32px 0;gap:30px;}
  .cart-row{grid-template-columns:64px 1fr;grid-template-areas:"thumb info" "thumb qty" "thumb price";row-gap:10px;}
  .cart-thumb{grid-area:thumb;width:64px;height:64px;}
  .cart-row > div:nth-child(2){grid-area:info;}
  .cart-row .qty-stepper{grid-area:qty;}
  .cart-row .cart-price{grid-area:price;}
  .cart-row .icon-btn{display:none;}

  .stepper{gap:0;}
  .step .lbl{display:none;}
  .step-line{width:34px;}
  .checkout-layout{padding-bottom:40px;}
  .form-card{padding:22px;}
  .form-grid{grid-template-columns:1fr;}

  .dash-cards{grid-template-columns:1fr 1fr;gap:14px;}
  .dash-panel{padding:20px;}
  .otable{display:block;overflow-x:auto;white-space:nowrap;}

  .auth-form-side{padding:40px 22px;}
  .role-toggle{font-size:12px;}

  .wk-detail-hero{padding:32px 0;}
  .newsletter h3{font-size:22px;}
}

.blog-engage{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:36px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.blog-engage-stats{font-family:'Tajawal';font-size:14px;color:var(--ink-60);display:flex;align-items:center;gap:8px;}
.blog-engage .btn{display:inline-flex;align-items:center;gap:8px;}
.blog-comments-login,.blog-comments-empty{font-family:'Tajawal';color:var(--ink-60);margin:18px 0;}
.blog-comment-form,.blog-reply-form{display:flex;flex-direction:column;gap:12px;margin:18px 0 28px;}
.blog-comment-label{font-family:'Cairo';font-weight:700;font-size:14px;}
.blog-comment-composer{border:1.5px solid var(--line);border-radius:18px;background:#fff;padding:4px 4px 10px;transition:border-color .18s ease, box-shadow .18s ease;}
.blog-comment-composer:focus-within{border-color:var(--rosewood);box-shadow:0 0 0 4px rgba(139,58,69,.08);}
.blog-comment-form textarea,.blog-reply-form textarea{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;font-family:'Tajawal';font-size:14px;line-height:1.7;resize:vertical;background:#fff;color:var(--ink);}
.blog-comment-composer textarea{border:0;border-radius:14px;padding:14px 16px 8px;resize:vertical;box-shadow:none;}
.blog-comment-composer textarea:focus,.blog-comment-form textarea:focus,.blog-reply-form textarea:focus{outline:none;border-color:var(--rosewood);}
.blog-comment-composer textarea:focus{border-color:transparent;}
.blog-comment-actions-row{display:flex;justify-content:flex-end;padding:0 10px;}
.blog-comment-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'Cairo';font-weight:700;font-size:14px;
  padding:12px 22px;border:0;border-radius:999px;cursor:pointer;
  color:var(--sand-light);
  background:linear-gradient(135deg,var(--rosewood-light) 0%,var(--rosewood) 55%,var(--rosewood-dark) 100%);
  box-shadow:0 10px 22px rgba(139,58,69,.22);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.blog-comment-submit svg{display:block;transform:rotate(-12deg);}
[dir="rtl"] .blog-comment-submit svg{transform:scaleX(-1) rotate(-12deg);}
.blog-comment-submit:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(139,58,69,.3);filter:brightness(1.03);}
.blog-comment-submit:active{transform:translateY(0);box-shadow:0 8px 16px rgba(139,58,69,.2);}
.blog-comment-submit:disabled{opacity:.65;cursor:not-allowed;transform:none;filter:none;box-shadow:0 6px 14px rgba(139,58,69,.16);}
.blog-comment-submit-sm{padding:10px 18px;font-size:13px;}
.blog-comment-list{display:flex;flex-direction:column;gap:22px;}
.blog-comment{display:flex;gap:14px;align-items:flex-start;}
.blog-comment-av{width:42px;height:42px;border-radius:50%;background:var(--rosewood);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Cairo';font-weight:700;flex-shrink:0;}
.blog-comment-body{flex:1;min-width:0;}
.blog-comment-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;}
.blog-comment-meta strong{font-family:'Cairo';font-size:14px;}
.blog-comment-meta span{font-family:'Tajawal';font-size:12px;color:var(--ink-40);}
.blog-comment-body > p{font-family:'Tajawal';font-size:14px;line-height:1.9;color:var(--ink);margin:0;white-space:pre-wrap;}
.blog-comment-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px;}
.blog-reply-toggle,.blog-comment-like{background:none;border:0;padding:0;font-family:'Cairo';font-weight:700;font-size:13px;color:var(--rosewood);cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.blog-comment-like.is-liked{color:var(--rosewood);}
.blog-comment-like svg{display:block;}
.blog-comment-likes-readonly{display:inline-flex;align-items:center;gap:6px;font-family:'Cairo';font-size:13px;color:var(--ink-40);}
.blog-replies{display:flex;flex-direction:column;gap:16px;}
.blog-comment-reply{margin-top:0;padding-inline-start:8px;border-inline-start:2px solid var(--sand);}
.blog-reply-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;}
.blog-comment-form .field-error,.blog-reply-form .field-error{font-family:'Tajawal';font-size:13px;color:var(--rosewood);margin:0 16px 8px;}
.blog-comment-form .field-error[hidden],.blog-reply-form .field-error[hidden]{display:none;}

html[dir='ltr'] body{direction:ltr;}
