/* Wiki Media store — tokens from the approved design handoff */
:root{
  --navy:#112D54; --blue:#1B4F82; --mid:#1F5C8F; --tint:#E8F0F8;
  --yellow:#FFC53D; --yellow-h:#FFD466;
  --white:#fff; --band:#F5F2EE; --ph:#EDE9E3;
  --line:#E9E4DD; --line2:#E1DBD2; --line3:#CFC8BE;
  --text2:#4A5668; --muted:#5F6B7A;
  --chip-bg:#FFF1D6; --chip-tx:#8A6212;
  --ok:#0F5C3A; --ok-bg:#DDF2E6; --warn:#7A4A00; --warn-bg:#FFF1D6; --bad:#A32020; --bad-bg:#F6D7D7;
  --focus:#7FB2E0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;color:var(--navy);background:var(--white);line-height:1.8;font-size:16px;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{color:var(--blue)}
h1,h2,h3{margin:0;line-height:1.3}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.skip{position:absolute;inset-inline-start:-999px;top:0;background:var(--navy);color:#fff;padding:10px 14px;z-index:99}
.skip:focus{inset-inline-start:0}
.desk-only{display:none!important}
[hidden]{display:none!important}
.ltr{direction:ltr;unicode-bidi:isolate}

/* Header */
.hdr{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:30}
.hdr-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding-top:10px;padding-bottom:10px}
.logo img{height:38px;width:auto}
.search{flex:1 1 100%;order:5}
.search input{width:100%;height:48px;border-radius:999px;background:var(--band);border:1.5px solid var(--line2);padding:0 20px;font:inherit;font-size:15px;color:var(--navy)}
.icon-btn{min-width:44px;min-height:44px;border:0;background:transparent;font-size:24px;cursor:pointer;color:var(--navy)}
.cart-btn{margin-inline-start:auto;background:var(--navy);color:#fff;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 18px;border-radius:10px;font-weight:600;font-size:15px}
.link-btn{color:var(--navy);text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center;padding:0 8px}
.nav-row{display:none;border-top:1px solid #F0ECE6;align-items:center;justify-content:space-between}
.nav{display:flex;align-items:center}
.nav>a,.dd>button{min-height:52px;padding:0 14px;display:inline-flex;align-items:center;font:inherit;font-size:15px;font-weight:600;color:var(--navy);text-decoration:none;background:none;border:0;border-bottom:3px solid transparent;cursor:pointer}
.nav>a:hover,.dd>button:hover{background:var(--band)}
.nav>a.active{font-weight:700;border-bottom-color:var(--navy)}
.dd{position:relative}
.dd-panel{display:none;position:absolute;inset-inline-start:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:14px;min-width:230px;box-shadow:0 14px 34px rgba(17,45,84,.16);padding:6px;z-index:40}
.dd.open .dd-panel,.dd:hover .dd-panel{display:block}
.dd-panel a{display:flex;align-items:center;min-height:46px;padding:0 14px;color:var(--navy);text-decoration:none;border-radius:10px}
.dd-panel a:hover{background:var(--band)}
@media (min-width:900px){
  .desk-only{display:inline-flex!important}.nav-row.desk-only{display:flex!important}
  .burger{display:none}
  .search{flex:1 1 300px;order:0}
}

/* Drawer */
.overlay{position:fixed;inset:0;background:rgba(10,20,36,.5);z-index:50}
.drawer{position:fixed;top:0;bottom:0;inset-inline-start:auto;right:0;width:min(86vw,340px);background:#fff;z-index:60;transform:translateX(105%);transition:transform .25s;box-shadow:-10px 0 30px rgba(0,0,0,.2);overflow:auto;padding:12px;display:flex;flex-direction:column}
.drawer.open{transform:none}
.drawer a{display:flex;align-items:center;min-height:48px;padding:0 12px;color:var(--navy);text-decoration:none;font-weight:600}
.drawer a.sub{padding-inline-start:28px;font-weight:400}
.drawer a.btn{justify-content:center;margin-top:8px}
.drawer-h{padding:8px 12px 0;font-size:13px;color:var(--muted)}
.drawer-foot{margin-top:auto;padding-top:12px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;font:inherit;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:background .2s}
.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--navy)}
.btn-cta{background:var(--yellow);color:var(--navy);min-height:54px}.btn-cta:hover{background:var(--yellow-h)}
.btn-outline{background:#fff;color:var(--blue);border-color:var(--blue)}.btn-outline:hover{background:var(--tint)}
.btn-navy-outline{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-block{width:100%}
.btn-link{background:none;border:0;color:var(--blue);font:inherit;cursor:pointer;text-decoration:underline;min-height:44px}

/* Toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:12px 22px;border-radius:12px;z-index:80;max-width:92vw;transition:opacity .4s}
.toast.err{background:var(--bad)}
.toast.gone{opacity:0;pointer-events:none}

/* Sections */
.section{padding:clamp(24px,5vw,56px) 0}
.band{background:var(--band)}
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:20px}
.sec-head h2{font-size:clamp(22px,3vw,28px);font-weight:700}
.sec-head .sub{font-size:13px;color:var(--muted)}
.sec-head a{margin-inline-start:auto;font-weight:600}
.muted{color:var(--muted)}

/* Hero */
.hero{background:var(--band);padding:clamp(24px,5vw,56px) 0}
.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:32px;align-items:center}
.hero h1{font-size:clamp(32px,5.2vw,54px);font-weight:700;line-height:1.25;text-wrap:balance}
.hero p{color:var(--text2);max-width:480px;font-size:18px}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.tiles{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:1;max-width:540px;width:100%}
.tiles a{border-radius:20px;overflow:hidden;background:var(--ph);display:block}
.tiles a:first-child{grid-row:1/3}
.tiles img{width:100%;height:100%;object-fit:cover}

/* Cards */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.cat-card{text-decoration:none;color:var(--navy)}
.cat-card .im{aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--ph)}
.cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.cat-card:hover img{transform:scale(1.05)}
.cat-card:hover{opacity:.92}
.cat-card .row{display:flex;justify-content:space-between;gap:8px;margin-top:8px}
.cat-card b{font-size:16px}.cat-card span{font-size:13px;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
@media (min-width:700px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card .im{display:block;aspect-ratio:1;border-radius:18px;overflow:hidden;background:var(--ph)}
.card .im img{width:100%;height:100%;object-fit:cover}
.card h3{font-size:16px;font-weight:700;line-height:1.5;margin:10px 0 0}
.card h3 a{color:var(--navy);text-decoration:none}
.card .line{font-size:13px;color:var(--muted);line-height:1.6;margin:2px 0 6px}
.price-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:10px}
.price{font-size:19px;font-weight:700;color:var(--blue)}
.chip{display:inline-block;background:var(--chip-bg);color:var(--chip-tx);font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px}
.card:hover .im{box-shadow:0 12px 30px rgba(17,45,84,.16)}

/* Corporate */
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:32px;align-items:center}
.two img.big{border-radius:24px;aspect-ratio:5/4;object-fit:cover;width:100%}
.steps-num{padding:0;margin:16px 0;list-style:none;counter-reset:s}
.steps-num li{counter-increment:s;display:flex;gap:12px;align-items:center;margin:8px 0}
.steps-num li:before{content:counter(s);width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.steps3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:24px}
.steps3>div{border-top:3px solid var(--navy);padding-top:12px}
.steps3 small{color:var(--muted);font-weight:700}
.steps3 h3{font-size:18px}.steps3 p{margin:4px 0 0;color:var(--text2)}

/* Gallery works */
.works button{padding:0;border:0;background:var(--ph);border-radius:14px;overflow:hidden;aspect-ratio:1;cursor:zoom-in}
.works img{width:100%;height:100%;object-fit:cover}
.lightbox{position:fixed;inset:0;background:rgba(10,20,36,.92);z-index:90;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px}
.lightbox img{max-height:86vh;max-width:min(86vw,900px);object-fit:contain;border-radius:8px}
.lightbox button{min-width:48px;min-height:48px;border-radius:50%;border:0;background:#fff;font-size:22px;cursor:pointer}
.lightbox [data-lb-close]{position:absolute;top:16px;inset-inline-end:16px}

/* Page head / breadcrumb */
.crumbs{font-size:14px;color:var(--muted);padding:16px 0 0}
.crumbs a{color:var(--muted)}
.page-head{padding:12px 0 8px}
.page-head h1{font-size:clamp(26px,4vw,34px)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 24px}
.chips a{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;border:1.5px solid var(--line2);color:var(--navy);text-decoration:none;font-weight:600;font-size:15px}
.chips a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.feature{background:var(--band);border-radius:24px;padding:clamp(16px,3vw,32px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:28px;align-items:center}
.feature .im{aspect-ratio:1;border-radius:20px;overflow:hidden;background:var(--ph)}
.feature img{width:100%;height:100%;object-fit:cover}
.empty{text-align:center;padding:48px 0}

/* Product */
.prod{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:32px;padding:16px 0 56px}
.gal-main{aspect-ratio:1;border-radius:24px;overflow:hidden;background:var(--ph)}
.gal-main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:10px;margin-top:10px}
.thumbs button{width:80px;height:80px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--ph)}
.thumbs button.on{border-color:var(--blue)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.prod h1{font-size:clamp(26px,4vw,34px);line-height:1.3}
.prod .unit{font-size:19px;color:var(--blue);font-weight:700;margin:8px 0 4px}
.prod .note{font-size:13px;color:var(--muted)}
.field{margin:20px 0}
.field>label,.field>legend,.lbl{display:block;font-weight:700;margin-bottom:8px;padding:0}
fieldset{border:0;padding:0;margin:20px 0;min-width:0}
.swatches{display:flex;gap:10px;flex-wrap:wrap}
.swatch{position:relative}
.swatch input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}
.swatch span{display:block;width:48px;height:48px;border-radius:50%;border:1px solid var(--line3)}
.swatch input:checked+span{box-shadow:0 0 0 2.5px #fff,0 0 0 5px var(--blue)}
.swatch input:focus-visible+span{outline:3px solid var(--focus);outline-offset:4px}
.swatch em{display:block;font-style:normal;font-size:12px;text-align:center;color:var(--muted)}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],select,textarea{width:100%;min-height:52px;border:1.5px solid var(--line3);border-radius:12px;padding:0 14px;font:inherit;color:var(--navy);background:#fff}
textarea{padding:12px 14px;min-height:110px}
input.invalid,select.invalid{border-color:var(--bad)}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg label{position:relative;flex:1 1 120px}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.seg span{display:flex;align-items:center;justify-content:center;min-height:48px;border:1.5px solid var(--line3);border-radius:12px;font-weight:600}
.seg input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy)}
.seg input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.stepper{display:flex;align-items:center;gap:8px}
.stepper button{width:52px;height:52px;border-radius:12px;border:1.5px solid var(--line3);background:#fff;font-size:22px;cursor:pointer;color:var(--navy)}
.stepper input{width:90px;text-align:center}
.tier-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.tier-chips button{min-height:44px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line3);background:#fff;font:inherit;font-size:14px;cursor:pointer;color:var(--navy)}
.tier-chips button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.summary{background:var(--band);border-radius:16px;padding:16px 18px;margin:20px 0}
.summary h2{font-size:18px;margin-bottom:8px}
.summary dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 16px}
.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:600;word-break:break-word}
.summary .total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line2);margin-top:10px;padding-top:10px;font-size:24px;font-weight:700}
.summary small{display:block;color:var(--muted);margin-top:8px;font-size:13px;line-height:1.7}
.err-msg{color:var(--bad);font-size:14px;margin-top:6px}
.sticky-bar{display:none}
@media (max-width:699px){
  .prod{padding-bottom:96px}
  .sticky-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;bottom:0;inset-inline:0;background:#fff;padding:10px 16px;box-shadow:0 -6px 20px rgba(17,45,84,.08);z-index:20}
  .sticky-bar b{font-size:20px}
  .sticky-bar .btn{min-height:50px}
}

/* Tables / forms generic */
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
.form-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tbl{width:100%;border-collapse:collapse}
.tbl th,.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.tbl-wrap{overflow-x:auto}
.cart-line{display:grid;grid-template-columns:84px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-line img{width:84px;height:84px;border-radius:12px;object-fit:cover}
.cart-line .meta{font-size:14px;color:var(--text2)}
.cart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}
.cart-actions input{width:84px;min-height:44px}
.cart-total{display:flex;justify-content:space-between;font-size:24px;font-weight:700;padding:16px 0}
.notice{background:var(--tint);border-radius:12px;padding:12px 16px;color:var(--navy);margin:16px 0}
.notice.warn{background:var(--warn-bg);color:var(--warn)}
.badge{display:inline-block;padding:2px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--tint);color:var(--blue)}
.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}
.timeline{list-style:none;padding:0;margin:12px 0}
.timeline li{padding:6px 24px 6px 0;position:relative;color:var(--muted)}
.timeline li:before{content:'';position:absolute;right:4px;top:14px;width:12px;height:12px;border-radius:50%;background:var(--line3)}
.timeline li.done{color:var(--navy);font-weight:600}.timeline li.done:before{background:var(--blue)}
.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}
.status-grid div{background:var(--band);border-radius:12px;padding:10px 14px}
.status-grid small{display:block;color:var(--muted)}
.narrow{max-width:760px;margin:0 auto;padding:24px 20px 56px}

/* Footer */
.ftr{background:var(--navy);color:#DCEBFA;padding:40px 0 24px;margin-top:0}
.ftr a{color:#DCEBFA}
.ftr h3{font-size:16px;margin:16px 0 4px;color:#fff}
.ftr p{margin:4px 0;font-size:14px}
.ftr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 32px}
.ftr-copy{margin-top:24px!important;font-size:13px!important;opacity:.7}

/* Admin */
body.admin{background:#F3F6FA}
.adm{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh}
.adm-side{background:var(--navy);color:#fff;padding:16px;display:flex;flex-wrap:wrap;gap:6px}
.adm-side a,.adm-side button{color:#fff;text-decoration:none;padding:10px 14px;border-radius:10px;font:inherit;background:none;border:0;cursor:pointer;min-height:44px}
.adm-side a.on{background:var(--mid)}
.adm-side .brand{width:100%;font-weight:700;font-size:18px;margin-bottom:6px}
.adm-main{padding:20px;min-width:0}
.adm-main h1{font-size:26px;margin-bottom:16px}
.card-a{background:#fff;border:1px solid #DCE4EE;border-radius:14px;padding:18px;margin-bottom:16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}
.kpis .card-a{margin:0}.kpis b{font-size:30px;display:block}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn-sm{min-height:40px;padding:0 14px;font-size:14px}
.btn-danger{background:var(--bad);color:#fff}
.inline-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:8px}
.thumbs-a{display:flex;flex-wrap:wrap;gap:10px}
.thumbs-a label{font-size:12px;text-align:center}
.thumbs-a img{width:72px;height:72px;object-fit:cover;border-radius:8px}
@media (min-width:900px){
  .adm{grid-template-columns:250px minmax(0,1fr)}
  .adm-side{flex-direction:column;flex-wrap:nowrap;position:sticky;top:0;height:100vh}
  .adm-main{padding:32px;max-width:1280px}
}
