
@property --x{syntax:'<length>';inherits:false;initial-value:0px}
:root{--y:#f5c242;--r:#f21204;--k:#0e0e0e;--bg:#fff;--fg:#0e0e0e;--mut:#5b5b5b;--card:#f6f4ec;--line:#e4e0d4;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#121212;--fg:#f4f4f4;--mut:#aaa;--card:#1c1c1c;--line:#2e2e2e;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#121212;--fg:#f4f4f4;--mut:#aaa;--card:#1c1c1c;--line:#2e2e2e;color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-family:'Cairo',Tahoma,system-ui,sans-serif;font-size:16px;line-height:1.7;padding-bottom:110px}
header{display:flex;align-items:center;gap:12px;padding:14px 20px}
header img{width:44px;height:44px;border-radius:10px}
header b{font-size:20px;font-weight:800}
section{padding:28px 20px;max-width:760px;margin:auto;scroll-margin-top:8px}
h2{font-size:26px;font-weight:800;margin:0 0 6px;line-height:1.3}
.sub{color:var(--mut);margin:0 0 18px}

/* hero slider */
.slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:22px;gap:0}
.slider::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start;min-height:340px;position:relative;overflow:hidden;background:var(--card);padding:30px 26px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.slide::before{content:"";position:absolute;inset:0 auto 0 14%;width:26%;background:var(--y)}
.slide>*{position:relative}
.tag{align-self:flex-start;background:var(--r);color:#fff;font-weight:800;font-size:15px;padding:2px 14px}
.slide h1{font-size:clamp(34px,10vw,52px);line-height:1.15;margin:0;font-weight:800;max-width:70%}
.slide p{margin:0;max-width:62%;color:var(--fg)}
.btn{display:inline-block;align-self:flex-start;background:var(--k);color:#fff;text-decoration:none;font-weight:800;padding:10px 22px;border-radius:12px}
:root[data-theme="dark"] .btn{background:var(--y);color:#000}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn{background:var(--y);color:#000}}
.dots{display:flex;justify-content:center;gap:8px;margin-top:12px}
.dots i{width:8px;height:8px;border-radius:8px;background:var(--line);transition:all .3s}
.dots i.on{width:26px;background:var(--r)}

/* products + pages + contact */
.acc{background:var(--card);border-radius:20px;border-top:6px solid var(--y);overflow:hidden}
.acc-h{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px;background:none;border:0;font:inherit;color:inherit;cursor:pointer;text-align:start}
.acc-h b{font-size:20px;font-weight:800;display:block}
.acc-h small{color:var(--mut)}
.chev{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s}
.acc-h[aria-expanded=true] .chev{transform:rotate(180deg)}
.acc-b{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s}
.acc-b.open{grid-template-rows:1fr}
.acc-b ul{overflow:hidden;list-style:none;margin:0;padding:0 14px}
.acc-b.open ul{padding-bottom:14px}
.acc-b li{padding:13px 14px;margin-top:8px;background:var(--bg);border-radius:12px;font-weight:800;border-inline-start:5px solid var(--y)}
.acc-b li:nth-child(even){border-inline-start-color:var(--r)}
.links{display:grid;gap:10px}
.links a{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-radius:14px;background:var(--card);color:var(--fg);text-decoration:none;font-weight:800;border-inline-start:6px solid var(--y)}
.links a:nth-child(even){border-inline-start-color:var(--r)}
.links a small{color:var(--mut);font-weight:500}
.links a{gap:12px}.links a span{flex:1}.links svg{width:34px;height:34px;flex:none}
.panel{position:relative;overflow:hidden;background:#0e0e0e;color:#fff;border-radius:26px;padding:28px 24px 26px;border:1px solid var(--line)}
.panel::before{content:"";position:absolute;inset:0 auto 0 12%;width:14%;background:var(--y);opacity:.95}
.panel>*{position:relative}
.panel h2{display:inline-block;background:var(--r);color:#fff;padding:2px 18px;margin:0 0 12px}
.panel p{margin:0 0 18px;max-width:60%}
.wa{display:flex;align-items:center;justify-content:center;gap:10px;background:#25d366;color:#0e0e0e;text-decoration:none;font-weight:800;padding:15px;border-radius:16px;font-size:18px}
.wa svg{width:30px;height:30px}
.ic{display:flex;gap:12px;margin-top:14px}
.ic a{flex:1;height:64px;border-radius:16px;background:#232323;display:grid;place-items:center}
.ic svg{width:34px;height:34px}
.panel .row{margin:16px 0 0;max-width:none;color:#d6d6d6}
.panel .row a{color:var(--y);font-weight:800}
footer{text-align:center;color:var(--mut);font-size:14px;padding:10px 20px 30px}

/* iOS-safe bottom navigation: active marker belongs to its own link */
.nav{position:fixed;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));height:68px;z-index:30;background:#0e0e0e;border-radius:24px;box-shadow:0 6px 20px #0002;direction:rtl}
.nav .bar,.nav>.bubble{display:none}
.nav .items{position:relative;display:flex;direction:rtl;width:100%;height:100%;overflow:visible}
.nav .items a{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;padding:0 0 8px;color:#bdbdbd;text-decoration:none;font-size:12px;font-weight:600;-webkit-tap-highlight-color:transparent}
.nav .items a svg{position:relative;z-index:2;width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease,color .25s ease}
.nav .items a.on{color:#fff}
.nav .items a.on:before{content:"";position:absolute;top:-21px;left:50%;transform:translateX(-50%);width:52px;height:52px;background:#f5c242;border:5px solid var(--bg);border-radius:50%;box-sizing:content-box;z-index:1}
.nav .items a.on svg{transform:translateY(-24px);color:#0e0e0e}
.nav .items a:focus-visible{outline:2px solid #f5c242;outline-offset:2px;border-radius:12px}
section{scroll-margin-top:18px}
#contact{padding-bottom:95px}
a:focus-visible{outline:3px solid var(--r);outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav .items a svg{transition:none}}

/* refreshed products and unified contact */
.section-head{margin-bottom:22px}.eyebrow{display:inline-block;background:var(--y);color:#171717;font-weight:800;font-size:13px;padding:3px 12px;border-radius:20px;margin-bottom:10px}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.product-card{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px 14px 17px;min-height:190px;transition:transform .25s,border-color .25s,box-shadow .25s}
.product-card:before{content:"";position:absolute;top:0;right:0;width:58px;height:5px;background:var(--y);border-radius:0 0 0 8px}.product-card:nth-child(2n):before{background:var(--r)}
.product-card:hover{transform:translateY(-4px);border-color:var(--y);box-shadow:0 10px 25px #00000012}
.product-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:17px;background:var(--bg);font-size:34px;margin-bottom:12px}
.product-card h3{font-size:17px;line-height:1.4;margin:0 0 5px;font-weight:800}.product-card p{font-size:12px;color:var(--mut);line-height:1.6;margin:0}
.products-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:16px 18px;background:var(--k);color:white;text-decoration:none;font-weight:800;border-radius:16px;font-size:14px}.products-cta span{font-size:24px;color:var(--y)}
.contact-panel{padding:28px 20px}.contact-panel:before{width:10%;opacity:.25}.contact-kicker{display:inline-block;color:var(--y);font-weight:800;font-size:13px;margin-bottom:10px}.contact-panel h2{border-radius:7px;font-size:25px}.contact-panel .contact-desc{max-width:none;color:#e2e2e2;margin:5px 0 20px}
.contact-primary{display:grid;gap:11px}.contact-primary a,.contact-primary .tg{display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;border-radius:16px;padding:13px;color:#101010;font-weight:800}.contact-primary a span,.contact-primary .tg span{display:flex;flex-direction:column;line-height:1.4}.contact-primary a small,.contact-primary .tg small{font-size:11px;font-weight:500}.contact-primary .wa{background:#25d366}.contact-primary .tg{background:#55b9ed;opacity:.75}.contact-primary svg{width:34px;height:34px;flex:none}
.contact-social-title{margin:22px 0 8px;font-weight:800;color:#fff}.contact-panel .ic{margin-top:0;gap:9px}.contact-panel .ic a{height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:#fff;font-size:11px}.contact-panel .ic svg{width:29px;height:29px}
.contact-info{margin-top:18px;padding-top:12px;border-top:1px solid #414141}.contact-info p{margin:7px 0;color:#ddd;font-size:14px}.contact-info span{color:var(--y)}
@media(min-width:600px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-card{min-height:210px}}
@media(prefers-reduced-motion:reduce){.product-card{transition:none}}

/* Crisp moving perimeter strokes, without glow or shadow */
.nav{box-shadow:none;isolation:isolate}
.nav .nav-trail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible;filter:none}
.nav .nav-trail rect{x:2px;y:2px;width:calc(100% - 4px);height:calc(100% - 4px);fill:none;stroke-width:2.8;stroke-linecap:round;stroke-dasharray:14 86;animation:nav-lap 5s linear infinite;vector-effect:non-scaling-stroke}
.nav .nav-trail.yellow rect{stroke:#f5c242}
.nav .nav-trail.red rect{stroke:#f21204;animation-delay:-2.5s}
.nav .items{z-index:1}
@keyframes nav-lap{to{stroke-dashoffset:-100}}
@media(prefers-reduced-motion:reduce){.nav .nav-trail rect{animation:none}}

/* Swipeable hero: native scrolling works with touch even without scripts. */
.slider{position:relative;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-snap-stop:always;scroll-behavior:smooth;touch-action:pan-x pan-y;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;min-height:340px}
.slider .slide{position:relative;inset:auto;flex:0 0 100%;width:100%;opacity:1;visibility:visible;animation:none;pointer-events:auto;scroll-snap-align:start}
.dots{direction:rtl;align-items:center}
.dots button{display:block;appearance:none;border:0;padding:0;width:8px;height:8px;border-radius:8px;background:var(--line);transition:width .3s,background .3s;cursor:pointer}
.dots button.on{width:26px;background:var(--r)}
/* The perimeter line sits exactly on the outer edge, without glow. */
.nav .nav-trail{z-index:2;overflow:hidden}
.nav .nav-trail rect{x:1.2px;y:1.2px;width:calc(100% - 2.4px);height:calc(100% - 2.4px);stroke-width:2.4;stroke-dasharray:14 86;filter:none}
.nav .items{z-index:3}
/* Native, accessible nested catalog: main category -> subgroup -> 3:4 items. */
.product-card{cursor:pointer}
.catalog-category{min-width:0}
.catalog-category>summary{list-style:none;cursor:pointer;display:block;height:100%}
.catalog-category>summary::-webkit-details-marker,.catalog-group>summary::-webkit-details-marker{display:none}
.catalog-category>summary:focus-visible,.catalog-group>summary:focus-visible{outline:3px solid var(--r);outline-offset:3px;border-radius:12px}
.catalog-category[open]{grid-column:1/-1}
.catalog-category[open]>summary .product-card{min-height:unset}
.catalog-category[open] .expand-label{color:var(--r)}
.expand-label{display:inline-block;font-size:12px;font-weight:800;color:var(--mut);margin-top:12px}
.catalog-inner{margin:12px 0 18px;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:18px}
.catalog-intro{font-size:13px;color:var(--mut);margin:0 0 12px}
.catalog-group{background:var(--bg);border:1px solid var(--line);border-radius:14px;margin:9px 0;overflow:hidden}
.catalog-group>summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:800;display:flex;align-items:center;justify-content:space-between;gap:12px}
.catalog-group>summary:after{content:'⌄';font-size:22px;color:var(--r);line-height:1;transition:transform .2s}
.catalog-group[open]>summary:after{transform:rotate(180deg)}
.catalog-products{padding:0 12px 14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.catalog-item{min-width:0}
.catalog-photo{aspect-ratio:3/4;border-radius:12px;background:var(--card);border:1px dashed #bfb9a6;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;text-align:center;overflow:hidden;position:relative;color:var(--mut);font-size:12px;padding:8px}
.catalog-photo svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.5}
.catalog-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.catalog-item-name{display:block;font-size:13px;line-height:1.5;margin:7px 2px 0;font-weight:800}
.catalog-hint{font-size:11px;color:var(--mut);margin:4px 2px}
@media(min-width:600px){.catalog-products{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.slider{scroll-behavior:auto}.dots button{transition:none}}

/* v5: responsive, smooth navigation and accurately hugging animated tracers */
.nav{isolation:isolate;box-shadow:0 6px 18px #00000018}
.nav .items{z-index:4}
.nav .items .active-disc{position:absolute;z-index:1;top:-23px;left:calc(83.333333% - 32px);width:64px;height:64px;border-radius:50%;background:#f5c242;border:5px solid var(--bg);box-sizing:border-box;pointer-events:none;transition:left .52s cubic-bezier(.22,1,.36,1)}
.nav[data-active="1"] .items .active-disc{left:calc(50% - 32px)}
.nav[data-active="2"] .items .active-disc{left:calc(16.666667% - 32px)}
.nav .items a.on:before{content:none!important}
.nav .items a{z-index:2}
.nav .items a svg{transition:transform .52s cubic-bezier(.22,1,.36,1),color .25s}
.nav .items a.on svg{transform:translateY(-24px)}
.nav .nav-trail{z-index:3;overflow:hidden;inset:0;filter:none}
.nav .nav-trail rect{stroke-width:2.5px;stroke-dasharray:13 87;filter:none;x:1px;y:1px;width:calc(100% - 2px);height:calc(100% - 2px);animation:nav-lap 5s linear infinite}
.nav .nav-trail.red rect{animation-delay:-2.5s}
@media(prefers-reduced-motion:reduce){.nav .items .active-disc,.nav .items a svg{transition:none}.nav .nav-trail rect{animation:none}}
/* Hero: accessible snap plus indicator controlled by actual scroll position */
.slider{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
.slider .slide{scroll-snap-align:start;scroll-snap-stop:always}
.dots button{min-width:8px;min-height:8px;touch-action:manipulation}
.dots button.on{background:var(--r);width:26px}
/* Product illustrative images 3:4: images are built-in and need no network */
.catalog-photo{padding:0;background:var(--bg);border:1px solid var(--line)}
.catalog-photo img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.catalog-item-name{margin-top:8px}
.catalog-item .catalog-hint{font-size:11px}
.catalog-category[open] .product-card{border-color:var(--y)}
@media(max-width:360px){section{padding-inline:14px}.nav{left:10px;right:10px}.product-grid{gap:8px}.product-card{padding:14px 10px;min-height:170px}.catalog-products{gap:8px}}
@media(min-width:900px){.catalog-products{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Illustrated paper categories: all thumbnails are actual 3:4 PNG files */
.main-category-photo{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:13px;margin-bottom:10px}
.catalog-category>summary .product-card:has(.main-category-photo){padding:12px}
.paper-subgroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.paper-group{margin:0;min-width:0;overflow:visible}
.paper-group>summary{display:block;padding:9px;text-align:center}
.paper-group>summary img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;border-radius:10px}
.paper-group>summary span{display:block;font-size:15px;padding:9px 0 2px}
.paper-group>summary small{display:block;color:var(--mut);font-size:11px;font-weight:500}
.paper-group>summary:after{content:'⌄';display:block;margin-top:2px}
.paper-group[open]{grid-column:1/-1}
.paper-group[open]>summary img{width:min(46%,220px);margin:auto}
.paper-group>.catalog-products{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 12px 16px}
@media(min-width:600px){.paper-subgroups{gap:16px}.paper-group>.catalog-products{grid-template-columns:repeat(2,minmax(0,220px));justify-content:center}}

/* Fix: iOS Safari treated the HTML height="1200" as a fixed CSS height.
   Keep the paper category illustration proportional on narrow screens. */
.product-grid { align-items: start; }
.catalog-category > summary { height: auto; }
.main-category-photo {
  display: block;
  width: 100%;
  height: auto;
  max-height: 220px;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  object-position: center;
}

/* Unified visual catalog for all departments */
@font-face{font-family:"Zain Rounded";src:url("Zain-Rounded.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
html,body,button,input,textarea,select{font-family:"Zain Rounded","Cairo",Tahoma,system-ui,sans-serif!important}
.main-category-photo{width:100%;height:auto;aspect-ratio:3/4;max-height:220px;object-fit:contain}
.catalog-category>summary .product-card{padding:12px;min-height:unset}
.catalog-category>summary .product-card h3{margin-top:8px}
.catalog-category>summary .product-card p{min-height:2.6em}
.paper-subgroups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.paper-group{min-width:0}
.paper-group>summary img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.paper-group>summary span{line-height:1.45}
.paper-group[open]{grid-column:1/-1}
.paper-group>.catalog-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;justify-content:stretch}
.catalog-photo{aspect-ratio:3/4}
.catalog-photo img{object-fit:cover}
@media(max-width:380px){.paper-subgroups{gap:9px}.paper-group>summary{padding:7px}.paper-group>summary span{font-size:13px}.paper-group>.catalog-products{gap:9px;padding:8px 8px 12px}}
