@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;900&family=Amiri:wght@400;700&family=Great+Vibes&family=Pacifico&family=Dancing+Script:wght@400;700&family=Comic+Neue:wght@400;700&family=Allura&family=Sacramento&family=Caveat:wght@400;700&display=swap');

:root{
  --ink:#1a2332; --paper:#fdfcf8; --green:#2d7a4f; --green-dark:#1d5435;
  --red:#b91c1c; --gold:#c89b3c; --blue:#1e3a5f; --line:#d8d0bd;
  --shadow:rgba(40,30,10,.12);
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:'Cairo',sans-serif; background:linear-gradient(135deg,#e8ede4 0%,#f0ebe0 100%);
  color:var(--ink); min-height:100vh; line-height:1.6;
}
.wrap{max-width:1100px;margin:0 auto;padding:20px}

/* Header */
.topbar{
  background:linear-gradient(120deg,var(--green-dark),var(--green));
  color:#fff;padding:22px 28px;border-radius:18px;margin-bottom:22px;
  box-shadow:0 8px 28px var(--shadow);display:flex;align-items:center;gap:16px;
  position:relative;overflow:hidden;
}
.topbar::after{content:"∑ π ∫ √ ∞ ≠ ÷ ×";position:absolute;left:-10px;bottom:-8px;
  font-size:46px;opacity:.08;font-family:'Amiri';letter-spacing:10px;white-space:nowrap;
  pointer-events:none}
.topbar>div{position:relative;z-index:2}
.topbar h1{font-size:24px;font-weight:900}
.topbar .logo{font-size:38px;background:rgba(255,255,255,.15);width:62px;height:62px;
  display:flex;align-items:center;justify-content:center;border-radius:14px}
.topbar p{opacity:.9;font-size:13px;margin-top:2px}

/* Steps nav */
.steps{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.step{flex:1;min-width:140px;background:#fff;border-radius:12px;padding:14px;
  border:2px solid transparent;cursor:pointer;transition:.2s;box-shadow:0 2px 8px var(--shadow)}
.step:hover{transform:translateY(-2px)}
.step.active{border-color:var(--green);background:#f4faf6}
.step.done{border-color:var(--gold)}
.step .num{display:inline-flex;width:26px;height:26px;border-radius:50%;
  background:var(--line);color:var(--ink);align-items:center;justify-content:center;
  font-weight:700;font-size:13px;margin-left:8px}
.step.active .num{background:var(--green);color:#fff}
.step.done .num{background:var(--gold);color:#fff}
.step .t{font-weight:700;font-size:14px}
.step .d{font-size:11px;color:#888;margin-top:3px}

/* Cards */
.card{background:#fff;border-radius:16px;padding:26px;box-shadow:0 4px 20px var(--shadow);
  margin-bottom:20px}
.card h2{color:var(--green-dark);font-size:19px;margin-bottom:6px;display:flex;
  align-items:center;gap:8px}
.card .sub{color:#888;font-size:13px;margin-bottom:20px}

.field{margin-bottom:16px}
.field label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--blue)}
.field input,.field select{width:100%;padding:12px 14px;border:2px solid var(--line);
  border-radius:10px;font-family:inherit;font-size:15px;background:var(--paper);transition:.2s}
.field input:focus,.field select:focus{outline:none;border-color:var(--green);background:#fff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

.btn{background:var(--green);color:#fff;border:none;padding:13px 26px;border-radius:11px;
  font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:.2s;
  box-shadow:0 3px 10px rgba(45,122,79,.3)}
.btn:hover{background:var(--green-dark);transform:translateY(-1px)}
.btn.gold{background:var(--gold);box-shadow:0 3px 10px rgba(200,155,60,.3)}
.btn.gold:hover{background:#a87f28}
.btn.ghost{background:transparent;color:var(--green);border:2px solid var(--green);box-shadow:none}
.btn.ghost:hover{background:#f4faf6}
.btn.sm{padding:8px 16px;font-size:13px}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}

/* Schedule grid */
.sched-table{width:100%;border-collapse:collapse;margin-top:10px}
.sched-table th,.sched-table td{border:1px solid var(--line);padding:6px;text-align:center;font-size:13px}
.sched-table th{background:var(--green);color:#fff;font-weight:700}
.sched-table td{height:46px;cursor:pointer;transition:.15s;position:relative}
.sched-table td:hover{background:#f0f7f2}
.sched-table td.filled{background:#e8f5ec;font-weight:700;color:var(--green-dark);font-size:11px}
.sched-table td .x{position:absolute;top:1px;left:3px;color:var(--red);font-size:11px;opacity:0}
.sched-table td.filled:hover .x{opacity:1}
.sched-table td.merged-cell{background:#e8f5ec;font-weight:700;color:var(--green-dark);font-size:11px}
.sched-table td.merged-cell .dur-tag{display:block;font-size:10px;color:var(--green-dark);opacity:.7;margin-top:1px}
.time-col{background:#f7f4ec !important;color:var(--blue);font-weight:700;font-size:11px !important}

.chip{display:inline-block;background:#e8f5ec;color:var(--green-dark);padding:5px 12px;
  border-radius:20px;font-size:13px;font-weight:600;margin:3px}
.chip .rm{margin-right:6px;cursor:pointer;color:var(--red)}
.chip-btn{border:none;background:transparent;cursor:pointer;font-size:14px;padding:0 2px;margin:0 2px}
.chip-btn:hover{transform:scale(1.2)}

.info-box{background:#fef9e7;border-right:4px solid var(--gold);padding:14px 18px;
  border-radius:8px;font-size:13px;margin:14px 0;color:#7a5f1a}
.hidden{display:none}

/* Generated notebook */
.nb-week{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;
  overflow:hidden;box-shadow:0 2px 10px var(--shadow)}
.nb-week-head{background:linear-gradient(120deg,var(--green-dark),var(--green));color:#fff;
  padding:12px 18px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.nb-week-head .dates{font-size:12px;opacity:.9;font-weight:400}
.nb-sessions{padding:0}
.nb-sess{padding:14px 18px;border-bottom:1px solid #f0ece0;display:grid;
  grid-template-columns:90px 110px 1fr;gap:14px;align-items:start}
.nb-sess:last-child{border-bottom:none}
.nb-sess .time{font-weight:700;color:var(--blue);font-size:13px;background:#f7f4ec;
  padding:6px 8px;border-radius:8px;text-align:center}
.nb-sess .cls{font-weight:700;color:var(--green-dark);font-size:14px}
.nb-sess .cls small{display:block;color:#999;font-weight:400;font-size:11px;margin-top:2px}
.nb-sess .content{font-size:13px}
.nb-sess .content .lesson{font-weight:700;color:var(--red);font-size:14px;margin-bottom:4px}
.nb-sess .content ul{list-style:none;padding:0}
.nb-sess .content li{padding:2px 0;padding-right:16px;position:relative;color:#444}
.nb-sess .content li::before{content:"◆";position:absolute;right:0;color:var(--green);font-size:9px;top:6px}
.nb-holiday{background:#fdeaea;color:var(--red);padding:14px 18px;text-align:center;
  font-weight:700;font-size:14px}
.nb-exam{background:#fef3d8 !important}
.nb-exam .nb-week-head{background:linear-gradient(120deg,#a87f28,var(--gold))}

.stat-row{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.stat{background:#fff;border-radius:12px;padding:16px 20px;flex:1;min-width:130px;
  text-align:center;box-shadow:0 2px 8px var(--shadow)}
.stat .n{font-size:28px;font-weight:900;color:var(--green)}
.stat .l{font-size:12px;color:#888;margin-top:2px}

.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center}
.toolbar .sp{flex:1}

/* ═══ NOSOS-style notebook page (متغيّرات القالب) ═══ */
.page{
  --nb-page-bg:#fbfaf5; --nb-grid-line:#dde8f0; --nb-border:#4caf50;
  --nb-ring1:#7ab07a; --nb-ring2:#9ccb8a; --nb-ring-dark:#5a9355;
  --nb-niveau:#d36b5e; --nb-prof:#e08a7a; --nb-header:#c0392b;
  --nb-green-fill1:#cfe8a8; --nb-green-fill2:#c5e29c; --nb-green-txt:#2d7a2d;
  --nb-date:#c0392b; --nb-time:#c0392b; --nb-arrow:#5cb85c;
  --nb-title-bg:#fdf6e3; --nb-title-border:#d9a; --nb-title-txt:#c0392b;
  --nb-sig:#7a1010; --nb-font:'Amiri';
  background:var(--nb-page-bg);border-radius:6px;margin-bottom:30px;position:relative;
  box-shadow:0 6px 30px rgba(30,60,30,.25);overflow:hidden;border:1px solid #c5d8b8}
.rings{height:28px;background:linear-gradient(180deg,var(--nb-ring1),var(--nb-ring2));
  display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:relative}
.rings::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;
  background:linear-gradient(180deg,var(--nb-ring-dark),transparent)}
.ring{width:16px;height:16px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff,#999 55%,#555);
  box-shadow:inset 0 -2px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.3);flex-shrink:0}
.page-inner{padding:8px 14px 10px;
  background-image:linear-gradient(var(--nb-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--nb-grid-line) 1px,transparent 1px);
  background-size:20px 20px;background-position:-1px -1px}
.nb-head{display:flex;justify-content:space-between;align-items:center;
  padding:4px 16px;margin:2px 10px 6px;
  border:2px solid var(--nb-border);border-radius:10px;
  background:linear-gradient(180deg,rgba(255,255,255,.55),var(--nb-title-bg));
  box-shadow:0 2px 8px rgba(0,0,0,.08)}
.nb-head .niveau{color:var(--nb-niveau);font-family:var(--nb-font);font-size:17px;font-weight:700;
  background:rgba(255,255,255,.5);padding:2px 10px;border-radius:20px;border:1px solid var(--nb-border)}
.nb-head .prof{color:var(--nb-prof);font-family:var(--nb-font);font-size:20px;font-style:italic;font-weight:700;
  border-bottom:2.5px double var(--nb-prof);padding:0 8px 2px}
.nb-head .year{color:var(--nb-niveau);font-family:var(--nb-font);font-size:17px;font-weight:700;
  background:rgba(255,255,255,.5);padding:2px 10px;border-radius:20px;border:1px solid var(--nb-border)}

.nb-grid{width:100%;border-collapse:collapse;background:transparent;table-layout:fixed}
.nb-grid th{border:2.5px solid var(--nb-border);padding:3px 4px;color:var(--nb-header);
  font-family:var(--nb-font);font-size:15px;font-weight:400;background:transparent}
.nb-grid th u{text-decoration:none;border-bottom:2px solid var(--nb-header);padding-bottom:3px}
.nb-grid td{border:2.5px solid var(--nb-border);padding:0;vertical-align:top;font-family:var(--nb-font);height:1px}
.nb-grid td.col-sem{width:6%;text-align:center;vertical-align:middle;font-size:11px}
.nb-grid td.col-date{width:10%;text-align:center;vertical-align:middle;padding:0;font-size:10.5px}
.nb-grid td.col-seance{width:8%;text-align:center;vertical-align:middle;font-size:10px}
.nb-grid td.col-contenu{width:68%;padding:2px 8px 2px;vertical-align:top;height:164px}
.nb-grid td.col-rem{width:8%;background:repeating-linear-gradient(0deg,var(--nb-green-fill1),var(--nb-green-fill1) 10px,var(--nb-green-fill2) 10px,var(--nb-green-fill2) 20px)}
.rem-edit{min-height:100%;padding:8px;font-family:var(--nb-font);font-size:13px;color:var(--nb-green-txt);
  outline:none;text-align:center;direction:rtl}
.rem-edit:focus{background:rgba(255,255,255,.5)}
.rem-edit:empty::before{content:'(ملاحظة...)';color:#8aaa78;font-size:11px}
.cell-green{background:repeating-linear-gradient(0deg,var(--nb-green-fill1),var(--nb-green-fill1) 10px,var(--nb-green-fill2) 10px,var(--nb-green-fill2) 20px)}
.sem-lbl{color:var(--nb-green-txt);font-family:var(--nb-font);font-size:17px;border-bottom:2px solid var(--nb-green-txt);padding-bottom:2px;display:inline-block}
.date-lbl{color:var(--nb-date);font-family:var(--nb-font);font-size:16px;border-bottom:2px solid var(--nb-date);padding-bottom:2px;display:inline-block}

.ul-txt{display:inline-block;line-height:1.9;position:relative;padding-bottom:3px}

.seance-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;padding:8px 0;min-height:0}
.seance-slot .tm{color:var(--nb-time);font-family:var(--nb-font);font-size:16px;font-weight:700;
  border-bottom:2px solid var(--nb-green-txt);padding-bottom:1px}
.seance-slot .arrow-img{color:var(--nb-arrow);font-size:26px;font-weight:900;line-height:1;transform:scaleY(1.6)}
.dur-badge{font-family:var(--nb-font);font-size:11px;color:var(--nb-green-txt);
  background:rgba(255,255,255,.6);padding:1px 6px;border-radius:8px;margin-top:4px}

.content-cell{display:flex;flex-direction:column;height:100%}
.sess-block{padding:0;position:relative}
.sess-title{background:var(--nb-title-bg);border:1px solid var(--nb-title-border);border-radius:4px;
  display:flex;align-items:center;justify-content:center;gap:30px;padding:0 10px;margin-bottom:3px}
.sess-title .star{color:var(--nb-title-txt);font-size:14px}
.sess-title .ttl{color:var(--nb-title-txt);font-family:var(--nb-font);font-size:15px;font-style:italic;  border-bottom:2px solid #000;padding-bottom:1px}
/* عنوان فارغ: نباعد النجمتين ونترك مساحة (خط) للكتابة اليدوية */
.sess-title.title-empty{justify-content:space-between;gap:0}
.sess-title.title-empty .ttl{flex:1;margin:0 14px;min-height:20px;border-bottom:1.5px dotted #999;min-width:120px}
.sess-title.title-empty .ttl:empty::before{content:'';display:inline-block}
.sess-cols{display:grid;grid-template-columns:1fr 2px 1fr;gap:4px 16px;padding:0 6px;align-items:start;grid-auto-rows:min-content}
.sess-cols.single-col{grid-template-columns:1fr}
.sess-cols>div:nth-child(1){padding-left:8px;align-self:start}
.sess-cols>div:nth-child(3){padding-right:8px;align-self:start}
/* خط إغلاق أسفل آخر بند في كل عمود — يُظهر نهاية العمود بصرياً */
.col-end-line{height:0;border-top:1.5px solid var(--nb-border);margin:2px 0 0;opacity:.45}
@media print{.col-end-line{opacity:.4}}
.sess-divider{background:var(--nb-border);width:2px;align-self:stretch;min-height:100%}
.sess-cols .line{padding:calc(var(--nb-lh,2) * 1px) 0;font-family:var(--nb-font);font-size:calc(var(--nb-fs,15) * 1px);font-style:italic;line-height:calc(1.2 + var(--nb-lh,2) * 0.06);
  overflow-wrap:break-word;word-wrap:break-word;max-width:100%;min-width:0}
/* النص يلتف داخل عموده — بدون قص */
.sess-cols>div{min-width:0;max-width:100%}
.sess-cols .line .u2{overflow-wrap:break-word}
.sess-title .ttl{overflow-wrap:break-word;max-width:100%}
/* المعادلات: تُصغَّر تلقائياً عبر fixNbOverflow() — الكلاس يضبطها */
.sess-cols .line .mjx-shrink{display:inline-block;vertical-align:middle}
.sess-cols .line.line-empty{height:3px;min-height:0;margin:0;overflow:hidden;border-bottom:none;transition:height .15s,border-color .15s;cursor:pointer}
.sess-cols .line.line-empty:hover{height:22px;border-bottom:1px dashed var(--nb-grid-line)}
.sess-cols .line.line-spacer{display:none}
.sess-cols .line.line-write{min-height:26px;margin:6px 0;border-bottom:1.5px dotted #b0b0b0}
.sess-cols .line .uwrap{border-bottom:6px double currentColor;padding-bottom:0;display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;overflow-wrap:anywhere}
.sess-cols .line .u2{display:inline;overflow-wrap:anywhere;border-bottom:none}
.sess-cols .line .u2.mc-empty{border-bottom:none}
.sess-cols .line .uwrap:has(> .mc-empty:only-child){border-bottom:none}
.sess-cols .line .u2.mc-editing{display:inline-block;min-width:60px}
/* التحرير السريع بالنقر المزدوج */
.mc-edit{cursor:text;border-radius:3px;transition:background .15s}
.page.editing .mc-edit:hover, .nb-grid .mc-edit:hover{background:rgba(255,221,87,.35);outline:1px dashed rgba(180,140,20,.5)}
.mc-edit.mc-editing{background:#fffbe6;outline:2px solid #f0b400;cursor:text;min-width:40px}
.mc-empty{min-width:60px;display:inline-block}
/* ═══ الشريط العلوي الثابت (صفّان: إجراءات + تنسيق) ═══ */
.mc-topbar{position:relative;background:#fff;border-radius:12px;
  box-shadow:0 3px 14px rgba(0,0,0,.12);margin:8px 0 16px;overflow:hidden}

/* ═══ أزرار أوضاع الدفتر (Full/Manual/Blank) ═══ */
.dm-btn{background:#fff;border:1.5px solid #d0dcd5;color:#5a6b60;padding:5px 10px;
  border-radius:8px;font-family:'Cairo',sans-serif;font-weight:800;font-size:12px;
  cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.dm-btn:hover{background:#e8f0ea;border-color:#1d5435;color:#1d5435}
.dm-btn.active{background:#1d5435;color:#fff;border-color:#1d5435;box-shadow:0 2px 6px rgba(29,84,53,.25)}
.dm-btn-lbl{font-weight:800}

/* ═══ Ribbon Tabs (شريط تبويبات) ═══ */
.rb-tab-btn{background:transparent;border:none;padding:8px 16px;font-family:'Cairo',sans-serif;
  font-weight:800;font-size:13px;color:#5a6b60;cursor:pointer;border-radius:8px 8px 0 0;
  transition:all .2s;position:relative;top:1px}
.rb-tab-btn:hover{background:#e8f0ea;color:#1d5435}
.rb-tab-btn.active{background:#1d5435;color:#fff;box-shadow:0 -2px 8px rgba(29,84,53,.15)}
.rb-panel{display:flex;flex-wrap:wrap;gap:14px;padding:12px 16px;
  background:#fbfcfb;border-bottom:1px solid #e0ece4;align-items:stretch}
.rb-group{display:flex;flex-direction:column;background:#fff;border-radius:10px;
  border:1.5px solid #e6ece8;padding:6px 10px;min-width:120px;box-shadow:0 1px 3px rgba(0,0,0,.03)}
.rb-group-title{font-size:10px;color:#8a9a8f;text-align:center;padding-bottom:4px;
  border-bottom:1px solid #f0f4f0;margin-bottom:6px;font-weight:700;
  font-family:'Cairo',sans-serif;letter-spacing:.3px}
.rb-group-body{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;flex:1}
.rb-group-body .btn{white-space:nowrap}
@media(max-width:680px){
  .rb-tab-btn{padding:5px 8px;font-size:10px}
  .rb-panel{padding:6px;gap:6px}
  .rb-group{padding:4px 6px;min-width:auto}
  .rb-group-title{font-size:9px}
  .rb-group-body{gap:3px}
  .rb-group-body .btn{padding:4px 7px!important;font-size:10px!important}
  .dm-btn{padding:4px 6px;font-size:11px}
  .dm-btn-lbl{display:none}
  #save_status{display:none}
}
.mc-topbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 14px;background:#f4faf6;border-bottom:1px solid #e0ece4}
.mc-topbar-format{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:8px 14px;background:#2c3e50;
  transition:max-height .2s, opacity .2s; max-height:0; opacity:0; overflow:hidden; padding-top:0;padding-bottom:0}
.mc-topbar-format.active{max-height:60px;opacity:1;padding-top:8px;padding-bottom:8px}
.mc-topbar-format .mc-fmt-hint{color:#fff;font-size:12px;font-weight:700;font-family:'Cairo',sans-serif;margin-left:4px}
.mc-topbar-format button{background:#fff;color:#2c3e50;border:none;border-radius:5px;min-width:32px;height:30px;
  padding:0 8px;font-size:14px;cursor:pointer;font-weight:700;font-family:'Cairo',sans-serif;
  display:inline-flex;align-items:center;justify-content:center}
.mc-topbar-format button:hover{background:#e8f4ec}
.mc-topbar-format .mc-fcol{min-width:22px;width:22px;height:22px;border-radius:50%;border:2px solid #fff;padding:0}
.mc-topbar-format .mc-fcol:hover{transform:scale(1.15)}
.mc-tsep{width:1px;height:22px;background:rgba(0,0,0,.12);margin:0 3px}
.mc-topbar-format .mc-tsep{background:rgba(255,255,255,.3)}
/* شريط أدوات السطر العائم */
#mc_line_toolbar{position:absolute;z-index:100001;display:none;align-items:center;gap:6px;  background:#2c3e50;padding:6px 10px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.3)}
#mc_line_toolbar .mc-tb-colors{display:flex;gap:4px}
#mc_line_toolbar .mc-col{width:20px;height:20px;border-radius:50%;border:2px solid #fff;cursor:pointer;padding:0}
#mc_line_toolbar .mc-col:hover{transform:scale(1.18)}
#mc_line_toolbar .mc-tb-sep{width:1px;height:22px;background:rgba(255,255,255,.3)}
#mc_line_toolbar .mc-tb-btn{background:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:700;cursor:pointer;font-family:'Cairo',sans-serif;color:#2c3e50}
#mc_line_toolbar .mc-tb-btn.del{background:#e74c3c;color:#fff}
#mc_line_toolbar .mc-tb-btn:hover{filter:brightness(1.08)}
#mc_line_toolbar .mc-bullets{display:flex;gap:2px;flex-wrap:wrap;max-width:280px}
#mc_line_toolbar .mc-bul{background:#fff;border:none;border-radius:4px;min-width:26px;height:26px;padding:0 4px;font-size:12px;font-weight:700;cursor:pointer;color:#2c3e50;font-family:'Cairo',serif}
#mc_line_toolbar .mc-bul:hover{background:#d8e8df}
.sess-cols .line .mc-bullet{font-weight:700;font-style:normal;border-bottom:none;
  padding-left:4px;margin-left:0}
.no-print .mc-edit, body:not(.printing) .mc-edit{}
.c-hma{color:#c0392b}.c-zra{color:#1d1d86}.c-kha{color:#000}.c-khd{color:#2d7a2d}.c-org{color:#b8750a}
/* زر إزاحة السطر للحصة التالية */
.shift-btn{display:none}
@media print{.shift-btn{display:none!important}}
/* أزرار ⬆⬇ تظهر عند تمرير الفأرة — على يمين كل سطر */
.line{position:relative;display:block}
.line>span.u2{min-width:0;overflow-wrap:anywhere}
/* أزرار الإزاحة: عائمة فوق السطر — لا تكسر التدفق ولا الخط */
.line-shift-btns{position:absolute;left:0;top:50%;transform:translateY(-50%)}
.line-shift-btns{display:none;flex-shrink:0;align-items:center;gap:2px;margin-left:auto}
.line:hover .line-shift-btns{display:flex}
.lsb{border:none;background:rgba(255,255,255,.9);cursor:pointer;font-size:11px;line-height:1;padding:1px 4px;border-radius:3px;opacity:.75;transition:all .1s;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.lsb-up{color:#1a7abf;border:1px solid #b3d4f5}.lsb-up:hover{opacity:1;background:#1a7abf;color:#fff}
.lsb-dn{color:#c0392b;border:1px solid #f5b3b3}.lsb-dn:hover{opacity:1;background:#c0392b;color:#fff}
@media print{.line-shift-btns{display:none!important}}
/* زر إزاحة في لوحة التحرير */
.shift-editor-btn{background:#eaf3ff;color:#1a7abf;border:1px solid #b3d4f5;border-radius:4px;font-size:10px;padding:2px 5px;cursor:pointer;white-space:nowrap;flex-shrink:0}
.shift-editor-btn:hover{background:#1a7abf;color:#fff}
/* شريط إزاحة دائم أسفل كل حصة — واضح وسهل الإيجاد */
.sess-shift-bar{
  display:flex;gap:6px;padding:5px 6px 4px;
  border-top:2px dashed #c8a84b;margin-top:6px;
  background:rgba(200,168,75,.07);border-radius:0 0 6px 6px;
}
.sess-shift-btn{
  flex:1;background:#fff;border:1.5px solid #c8a84b;color:#8a6010;
  border-radius:6px;font-size:11px;font-family:'Cairo';font-weight:700;
  padding:4px 6px;cursor:pointer;transition:all .15s;white-space:nowrap;
}
.sess-shift-btn:hover{background:#c8a84b;color:#fff;border-color:#c8a84b}
.sess-shift-all{border-color:#1a7abf;color:#1a5a9a}
.sess-shift-all:hover{background:#1a7abf;color:#fff;border-color:#1a7abf}
@media print{.sess-shift-bar{display:none!important}}

.foot-row td{border:2.5px solid var(--nb-border);padding:8px}
.foot-sig{text-align:center;color:var(--nb-sig);font-family:var(--nb-font);font-size:14px;padding-top:6px}
.foot-sig .u{border-bottom:2px solid var(--nb-header);padding-bottom:1px;display:inline-block}
.foot-row td{height:90px;vertical-align:top}
.foot-flex{display:flex;width:100%}
.foot-flex .foot-cell{flex:1 1 25%;width:25%;height:55px;border:2.5px solid var(--nb-border);border-top:none;
  display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box;padding-top:6px}
.foot-flex .foot-cell:not(:first-child){border-left:none}
.foot-green{background:repeating-linear-gradient(0deg,var(--nb-green-fill1),var(--nb-green-fill1) 10px,var(--nb-green-fill2) 10px,var(--nb-green-fill2) 20px)}

/* ═══ القوالب (Themes) ═══ */
.page.theme-classic{} /* الأخضر الكلاسيكي - القيم الافتراضية أعلاه */
.page.theme-ocean{
  --nb-page-bg:#f5fafd; --nb-grid-line:#d6e8f2; --nb-border:#2e86c1;
  --nb-ring1:#5dade2; --nb-ring2:#85c1e9; --nb-ring-dark:#2874a6;
  --nb-niveau:#1a5276; --nb-prof:#2874a6; --nb-header:#1a5276;
  --nb-green-fill1:#aed6f1; --nb-green-fill2:#9ccaed; --nb-green-txt:#1a5276;
  --nb-date:#cb4335; --nb-time:#cb4335; --nb-arrow:#3498db;
  --nb-title-bg:#ebf5fb; --nb-title-border:#aed6f1; --nb-title-txt:#1a5276; --nb-sig:#1a5276;
}
.page.theme-rose{
  --nb-page-bg:#fdf6f8; --nb-grid-line:#f2dde5; --nb-border:#c2407a;
  --nb-ring1:#e08aae; --nb-ring2:#eba9c5; --nb-ring-dark:#a93267;
  --nb-niveau:#8e2a55; --nb-prof:#c2407a; --nb-header:#8e2a55;
  --nb-green-fill1:#f5cce0; --nb-green-fill2:#f0bdd5; --nb-green-txt:#8e2a55;
  --nb-date:#6c3483; --nb-time:#6c3483; --nb-arrow:#d6679e;
  --nb-title-bg:#fceef4; --nb-title-border:#f5cce0; --nb-title-txt:#8e2a55; --nb-sig:#8e2a55;
}
.page.theme-elegant{
  --nb-page-bg:#fbfbf9; --nb-grid-line:#e8e6df; --nb-border:#34495e;
  --nb-ring1:#85929e; --nb-ring2:#aab7b8; --nb-ring-dark:#5d6d7e;
  --nb-niveau:#212f3d; --nb-prof:#34495e; --nb-header:#212f3d;
  --nb-green-fill1:#d5dbdb; --nb-green-fill2:#cacfd2; --nb-green-txt:#34495e;
  --nb-date:#922b21; --nb-time:#922b21; --nb-arrow:#5d6d7e;
  --nb-title-bg:#f4f6f6; --nb-title-border:#d5dbdb; --nb-title-txt:#212f3d; --nb-sig:#212f3d;
}
.page.theme-warm{
  --nb-page-bg:#fffaf3; --nb-grid-line:#f2e6d5; --nb-border:#d68910;
  --nb-ring1:#e8a13c; --nb-ring2:#f0bc6e; --nb-ring-dark:#b9770e;
  --nb-niveau:#9c640c; --nb-prof:#ca6f1e; --nb-header:#9c640c;
  --nb-green-fill1:#fae5c3; --nb-green-fill2:#f8dcae; --nb-green-txt:#9c640c;
  --nb-date:#a04000; --nb-time:#a04000; --nb-arrow:#e8a13c;
  --nb-title-bg:#fef5e7; --nb-title-border:#fae5c3; --nb-title-txt:#9c640c; --nb-sig:#9c640c;
}
.page.theme-red{
  --nb-page-bg:#fdf6f5; --nb-grid-line:#f2dada; --nb-border:#b01828;
  --nb-ring1:#d8454f; --nb-ring2:#e87a82; --nb-ring-dark:#8a1018;
  --nb-niveau:#8a1320; --nb-prof:#b01828; --nb-header:#8a1320;
  --nb-green-fill1:#f6cdd0; --nb-green-fill2:#f2bcc0; --nb-green-txt:#8a1320;
  --nb-date:#a01020; --nb-time:#a01020; --nb-arrow:#d8454f;
  --nb-title-bg:#fceeef; --nb-title-border:#f6cdd0; --nb-title-txt:#8a1320; --nb-sig:#7a1018;
}
.page.theme-purple{
  --nb-page-bg:#faf8fc; --nb-grid-line:#e6e0f0; --nb-border:#6a5a8a;
  --nb-ring1:#8a7aaa; --nb-ring2:#aa9cc4; --nb-ring-dark:#534578;
  --nb-niveau:#4a3f6a; --nb-prof:#6a5a8a; --nb-header:#4a3f6a;
  --nb-green-fill1:#e0d8f0; --nb-green-fill2:#d4c8ea; --nb-green-txt:#4a3f6a;
  --nb-date:#534578; --nb-time:#534578; --nb-arrow:#8a7aaa;
  --nb-title-bg:#f2eef8; --nb-title-border:#e0d8f0; --nb-title-txt:#4a3f6a; --nb-sig:#3a2f52;
}
.page.theme-gold{
  --nb-page-bg:#fdfaf0; --nb-grid-line:#ece0c0; --nb-border:#a8843a;
  --nb-ring1:#c8a850; --nb-ring2:#dcc580; --nb-ring-dark:#8a6f2a;
  --nb-niveau:#7a6320; --nb-prof:#a8843a; --nb-header:#6a5520;
  --nb-green-fill1:#f0e2b8; --nb-green-fill2:#ecd9a6; --nb-green-txt:#7a6320;
  --nb-date:#8a6f2a; --nb-time:#8a6f2a; --nb-arrow:#c8a850;
  --nb-title-bg:#f8f1d8; --nb-title-border:#f0e2b8; --nb-title-txt:#6a5520; --nb-sig:#5a4518;
}

/* ═══ وضع التحرير ═══ */
.edit-bar{display:flex;gap:8px;align-items:center;padding:8px 14px;background:#fef9e7;
  border-bottom:1px solid #e8dcc0}
.edit-bar .lbl{font-size:12px;color:#7a5f1a;font-weight:700}
.sess-edit{border:1px dashed #c89b3c;border-radius:8px;padding:10px;margin-bottom:12px;background:rgba(255,255,255,.5)}
.sess-edit .title-row{display:flex;gap:6px;margin-bottom:8px;align-items:center}
.sess-edit .title-row input{flex:1;padding:6px 10px;border:2px solid var(--line);border-radius:7px;
  font-family:'Amiri';font-size:15px;color:#b91c1c;font-weight:700}
.edit-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.edit-col h5{font-size:11px;color:#888;margin-bottom:5px;text-align:center}
.eline{display:flex;gap:4px;margin-bottom:5px;align-items:center}
.eline input{flex:1;padding:5px 8px;border:1.5px solid var(--line);border-radius:6px;
  font-family:'Amiri';font-size:13px}
.eline select{width:46px;padding:4px;border:1.5px solid var(--line);border-radius:6px;font-size:13px}
.eline .del{background:#fdeaea;color:var(--red);border:none;width:26px;height:26px;
  border-radius:6px;cursor:pointer;font-size:12px}
.eline .del:hover{background:#fcd5d5}
.add-line{background:transparent;border:1.5px dashed var(--green);color:var(--green);
  border-radius:6px;padding:5px;width:100%;cursor:pointer;font-size:12px;font-family:inherit;margin-top:3px}
.add-line:hover{background:#f0f7f2}
.page.editing .nb-grid{display:none}
.page:not(.editing) .sess-editor{display:none}

/* ═══ Modals ═══ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(20,30,20,.6);
  z-index:6000;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal{background:#fff;border-radius:16px;max-width:760px;width:100%;max-height:88vh;
  display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;
  border-bottom:1px solid var(--line);background:linear-gradient(120deg,var(--green-dark),var(--green));
  color:#fff;border-radius:16px 16px 0 0}
.modal-head h3{font-size:18px;font-weight:900}
.modal-x{background:rgba(255,255,255,.2);border:none;color:#fff;width:32px;height:32px;
  border-radius:8px;cursor:pointer;font-size:14px}
.modal-x:hover{background:rgba(255,255,255,.35)}
.modal-body{padding:22px;overflow-y:auto}
.mrow{display:flex;gap:8px;align-items:center;margin-bottom:8px;padding:8px;
  background:var(--paper);border-radius:8px;border:1px solid var(--line)}
.mrow input{flex:1;padding:7px 10px;border:1.5px solid var(--line);border-radius:7px;font-family:inherit;font-size:13px}
.mrow .lbl{font-size:12px;color:#888;min-width:60px}
.mrow .del{background:#fdeaea;color:var(--red);border:none;width:28px;height:28px;border-radius:6px;cursor:pointer}
.msec{margin-bottom:20px}
.msec h4{color:var(--green-dark);font-size:14px;margin-bottom:8px;padding-bottom:5px;border-bottom:2px solid var(--line)}

@media print{
  *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;color-adjust:exact !important}
  .no-print{display:none !important}
  .mob-z{zoom:1!important}
  .page.mob-z{width:auto!important}
  body{background:#fff}
  .nb-week,.page{break-inside:avoid;page-break-inside:avoid}
  .page{box-shadow:none;page-break-after:always}
}

/* ══════════════════════════════════════════════════════════════════
   نمط «سلسلة تمارين» — نفس إطار/ترويسة/تذييل نظام الجذاذات (.textbook)
   لكن بجسم مقسّم إلى عمودين (كما في الأصل الفرنسي multicols)
   ══════════════════════════════════════════════════════════════════ */
.textbook.serie-doc .tb-body {
  padding-top: 8px;
  column-count: 2;
  column-gap: 26px;
  column-rule: 1px dashed rgba(var(--th-b-rgb,200,200,200), .55);
}
.textbook.serie-doc .froud-block-header,
.textbook.serie-doc .froud-block-footer {
  column-span: all;
}
.textbook.serie-doc .tb-corner { opacity: 0.55; }
.textbook.serie-doc .tb-watermark { opacity: 0.03; }

.serie-exo {
  margin: 0 0 18px;
  break-inside: avoid;
  page-break-inside: avoid;
}
.serie-exo-badge {
  display: inline-flex;
  align-items: stretch;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0,0,0,.18);
  margin-bottom: 6px;
  font-family: 'Cairo', sans-serif;
}
.serie-exo-badge span {
  padding: 4px 12px;
  font-weight: 800;
  font-size: 12.5px;
  color: #fff;
  background: linear-gradient(135deg, var(--th-head,#1d5435), var(--th-head2,#2e7d52));
  white-space: nowrap;
}
.serie-exo-badge span.num {
  background: #fff;
  color: var(--th-head,#1d5435);
  border-inline-start: 1px solid rgba(0,0,0,.08);
}
.serie-exo-rule {
  height: 3px;
  margin: 0 0 9px;
  background: repeating-linear-gradient(-45deg, var(--th-acc,#b8860b) 0 6px, transparent 6px 12px);
  border-radius: 2px;
  opacity: .85;
}
.serie-exo-body {
  font-family: 'Cormorant Garamond', 'Georgia', serif;
  font-size: 13.5px;
  line-height: 1.72;
  color: #242424;
  direction: ltr;
  text-align: justify;
  text-justify: inter-word;
}
.serie-exo-body p { margin: 4px 0; }
@media print {
  .serie-exo { break-inside: avoid; page-break-inside: avoid; }
}



/* ── خلفية التصميم المختار في صفحات التمارين (ظاهرة بوضوح مع حجاب للقراءة) ── */
.serie-page .serie-bg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:0;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}
.serie-page .serie-bg-veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.62) 0%, rgba(255,255,255,.84) 10%, rgba(255,255,255,.84) 90%, rgba(255,255,255,.62) 100%);
}
.serie-page .serie-runhead,
.serie-page .serie-runhead-bar,
.serie-page .tb-body,
.serie-page .tb-footer,
.serie-page .tb-side-strip,
.serie-page .tb-corner{ z-index:2; position:absolute; }
.serie-page .serie-runhead{ position:relative; }
.serie-page .serie-runhead-bar{ position:relative; }
.serie-page .tb-watermark{ z-index:1; }

/* ═══ قوالب صناديق التمارين — تتغيّر حسب اختيار المستخدم (data-tpl) ═══ */

/* 1) CLASSIQUE — الافتراضي: شارة متدرّجة + خط زخرفي (كما هو) */

/* 2) MODERNE — بطاقة بحدّ جانبي عريض وظل ناعم */
[data-tpl="moderne"] .serie-exo{
  background:rgba(255,255,255,.92);
  border-left:5px solid var(--th-head);
  border-radius:6px;
  box-shadow:0 3px 10px rgba(0,0,0,.08);
  padding:10px 12px 12px;
}
[data-tpl="moderne"] .serie-exo-badge{box-shadow:none;border-radius:4px}
[data-tpl="moderne"] .serie-exo-badge span{background:var(--th-head);text-transform:uppercase;letter-spacing:.5px}
[data-tpl="moderne"] .serie-exo-rule{background:none;border-bottom:2px dotted var(--th-b);height:0;opacity:1}

/* 3) ÉLÉGANT — إطار ذهبي رفيع بزوايا مزدوجة وخط small-caps */
[data-tpl="elegant"] .serie-exo{
  background:linear-gradient(180deg,rgba(254,252,246,.95),rgba(250,246,233,.95));
  border:1px solid #c8a866;
  padding:10px 14px 12px;
  position:relative;
}
[data-tpl="elegant"] .serie-exo::before{
  content:'';position:absolute;top:-3px;left:-3px;width:14px;height:14px;
  border-top:2px solid var(--th-head);border-left:2px solid var(--th-head);
}
[data-tpl="elegant"] .serie-exo::after{
  content:'';position:absolute;bottom:-3px;right:-3px;width:14px;height:14px;
  border-bottom:2px solid var(--th-head);border-right:2px solid var(--th-head);
}
[data-tpl="elegant"] .serie-exo-badge{box-shadow:none;border-radius:0;background:transparent}
[data-tpl="elegant"] .serie-exo-badge span{
  background:transparent;color:var(--th-head);
  font-family:'Cormorant Garamond',serif;font-variant:small-caps;
  font-size:16px;letter-spacing:1.5px;padding:0 6px 0 0;
}
[data-tpl="elegant"] .serie-exo-badge span.num{
  background:var(--th-head);color:#fff;border:none;
  border-radius:50%;width:24px;height:24px;display:inline-flex;
  align-items:center;justify-content:center;font-size:12px;padding:0;
}
[data-tpl="elegant"] .serie-exo-rule{background:linear-gradient(90deg,var(--th-head),transparent);height:1.5px;opacity:.5}

/* 4) MANUEL — لسان علوي ملوّن + جسم محاط بإطار (أسلوب الكتب الفرنسية) */
[data-tpl="manuel"] .serie-exo{margin-top:6px}
[data-tpl="manuel"] .serie-exo-badge{
  border-radius:7px 7px 0 0;margin-bottom:0;box-shadow:none;
}
[data-tpl="manuel"] .serie-exo-rule{display:none}
[data-tpl="manuel"] .serie-exo-body{
  border:2px solid var(--th-head);
  border-radius:0 7px 7px 7px;
  padding:9px 11px;background:rgba(255,255,255,.94);
}

/* 5) ACADÉMIQUE — إطار مزدوج رصين وعنوان بخط صغير مرتفع */
[data-tpl="academique"] .serie-exo{
  border:3px double var(--th-head);
  background:rgba(254,254,254,.95);
  padding:10px 13px 12px;
}
[data-tpl="academique"] .serie-exo-badge{box-shadow:none;background:transparent;border-radius:0;width:100%;justify-content:center;border-bottom:1.5px solid var(--th-head);padding-bottom:4px}
[data-tpl="academique"] .serie-exo-badge span{
  background:transparent;color:var(--th-head);
  font-family:'Cormorant Garamond',serif;font-variant:small-caps;
  font-size:16px;letter-spacing:2px;
}
[data-tpl="academique"] .serie-exo-badge span.num{background:transparent;color:var(--th-head);border:none;font-size:16px;padding:4px 4px 4px 0}
[data-tpl="academique"] .serie-exo-rule{display:none}
[data-tpl="academique"] .serie-exo-body{text-align:justify}

/* 6) CARTE — بطاقة بظلال عميقة وشريط علوي متدرّج */
[data-tpl="carte"] .serie-exo{
  background:#fff;border-radius:10px;overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.08),0 5px 14px rgba(0,0,0,.09);
  padding:0 0 11px;position:relative;
}
[data-tpl="carte"] .serie-exo::before{
  content:'';display:block;height:5px;
  background:linear-gradient(90deg,var(--th-head),var(--th-head2));
}
[data-tpl="carte"] .serie-exo-badge{margin:8px 10px 4px;box-shadow:none;border-radius:8px}
[data-tpl="carte"] .serie-exo-badge span{background:rgba(var(--th-head-rgb),.12);color:var(--th-head)}
[data-tpl="carte"] .serie-exo-badge span.num{background:var(--th-head);color:#fff;border:none;border-radius:6px}
[data-tpl="carte"] .serie-exo-rule{display:none}
[data-tpl="carte"] .serie-exo-body{padding:0 11px}

/* 7) JOURNAL — أسلوب مجلّة علمية: § وحدود أفقية فقط */
[data-tpl="journal"] .serie-exo{
  border-top:2.5px solid var(--th-head);
  border-bottom:1px solid var(--th-head);
  background:rgba(252,250,245,.9);
  padding:8px 10px 10px;
}
[data-tpl="journal"] .serie-exo-badge{box-shadow:none;background:transparent;border-radius:0}
[data-tpl="journal"] .serie-exo-badge span{background:transparent;color:var(--th-head);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;padding:0 4px 0 0}
[data-tpl="journal"] .serie-exo-badge span::before{content:'§ '}
[data-tpl="journal"] .serie-exo-badge span.num{background:transparent;color:var(--th-head);border:none;font-style:italic;font-size:16px;padding:0}
[data-tpl="journal"] .serie-exo-badge span.num::before{content:''}
[data-tpl="journal"] .serie-exo-rule{background:none;border-bottom:1px dotted var(--th-b);height:0;opacity:1}
[data-tpl="journal"] .serie-exo-body{text-align:justify}

/* 8) MINIMAL — خط جانبي رفيع ونقطة، بلا زخارف */
[data-tpl="minimal"] .serie-exo{
  border-left:2px solid var(--th-head);
  padding:2px 0 4px 12px;
}
[data-tpl="minimal"] .serie-exo-badge{box-shadow:none;background:transparent;border-radius:0;gap:6px;align-items:center}
[data-tpl="minimal"] .serie-exo-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--th-head);display:inline-block;align-self:center;margin-right:4px}
[data-tpl="minimal"] .serie-exo-badge span{background:transparent;color:var(--th-head);font-size:12px;font-weight:900;letter-spacing:2.5px;text-transform:uppercase;padding:0}
[data-tpl="minimal"] .serie-exo-badge span.num{background:transparent;color:var(--th-head);border:none;padding:0 0 0 4px}
[data-tpl="minimal"] .serie-exo-rule{display:none}


/* ── سلّم التنقيط: سؤال + نقاط قائدة حتى نهاية السطر + ﴾ pts ﴿ مزخرفة ── */
.froud-q{display:flex;align-items:baseline;gap:6px;width:100%}
.froud-q-txt{flex:0 1 auto;min-width:0}
.froud-dots{flex:1 1 24px;min-width:24px;border-bottom:2.5px dotted #9a9a9a;transform:translateY(-4px)}
.froud-q-pts{
  flex:0 0 auto;white-space:nowrap;
  font-family:'Cairo',sans-serif;font-weight:900;font-size:12px;
  color:var(--th-acc,#7a5a1e);
}

/* ═══ قوالب صناديق تمارين الفروض — تتغيّر حسب اختيار المستخدم ═══ */
/* 1) CLASSIQUE = الافتراضي الحالي */

/* 2) MODERNE */
[data-tpl="moderne"] .froud-exo{border:none;border-left:6px solid var(--th-head);border-radius:5px;box-shadow:0 4px 14px rgba(0,0,0,.09)}
[data-tpl="moderne"] .froud-exo-head{background:transparent;border-bottom:2px dotted var(--th-b)}
[data-tpl="moderne"] .froud-exo-num{border-radius:9px;background:var(--th-head)}
[data-tpl="moderne"] .froud-exo-title{text-transform:uppercase;font-family:'Cairo',sans-serif;font-size:15px;letter-spacing:.5px}

/* 3) ÉLÉGANT */
[data-tpl="elegant"] .froud-exo{border:1px solid #c8a866;border-radius:0;background:linear-gradient(180deg,#fefcf6,#faf6e9);overflow:visible;position:relative}
[data-tpl="elegant"] .froud-exo::before{content:'';position:absolute;top:-4px;left:-4px;width:16px;height:16px;border-top:2px solid var(--th-head);border-left:2px solid var(--th-head)}
[data-tpl="elegant"] .froud-exo::after{content:'';position:absolute;bottom:-4px;right:-4px;width:16px;height:16px;border-bottom:2px solid var(--th-head);border-right:2px solid var(--th-head)}
[data-tpl="elegant"] .froud-exo-head{background:linear-gradient(90deg,rgba(var(--th-head-rgb),.12),transparent 70%);border-bottom:1.5px solid var(--th-head)}
[data-tpl="elegant"] .froud-exo-num{border-radius:50%;background:linear-gradient(135deg,var(--th-head),var(--th-head2));border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.2)}
[data-tpl="elegant"] .froud-exo-title{font-variant:small-caps;letter-spacing:1.5px;font-size:20px}

/* 4) MANUEL */
[data-tpl="manuel"] .froud-exo{border:2px solid var(--th-head);border-radius:0 10px 10px 10px;overflow:visible;margin-top:26px}
[data-tpl="manuel"] .froud-exo-head{position:absolute;top:-24px;left:-2px;background:var(--th-head);color:#fff;border-radius:8px 8px 0 0;border-bottom:none;padding:4px 14px;width:auto;gap:8px}
[data-tpl="manuel"] .froud-exo{position:relative}
[data-tpl="manuel"] .froud-exo-num{width:22px;height:22px;flex:0 0 22px;font-size:12px;background:rgba(255,255,255,.25);border:1.5px solid rgba(255,255,255,.5);box-shadow:none}
[data-tpl="manuel"] .froud-exo-title{color:#fff;font-family:'Cairo',sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:1px}
[data-tpl="manuel"] .froud-exo-pts{background:rgba(255,255,255,.9);color:var(--th-head)}
[data-tpl="manuel"] .froud-exo-body{padding-top:16px}

/* 5) ACADÉMIQUE */
[data-tpl="academique"] .froud-exo{border:3px double var(--th-head);border-radius:2px;background:#fefefe}
[data-tpl="academique"] .froud-exo-head{background:linear-gradient(180deg,rgba(var(--th-head-rgb),.07),transparent);border-bottom:1.5px solid var(--th-head);justify-content:center}
[data-tpl="academique"] .froud-exo-num{background:transparent;color:var(--th-head);box-shadow:none;font-size:18px}
[data-tpl="academique"] .froud-exo-title{flex:0 0 auto;font-variant:small-caps;letter-spacing:2px;font-size:20px;text-align:center}
[data-tpl="academique"] .froud-exo-body{text-align:justify}

/* 6) CARTE */
[data-tpl="carte"] .froud-exo{border:none;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.08),0 6px 16px rgba(0,0,0,.09);position:relative}
[data-tpl="carte"] .froud-exo::before{content:'';position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--th-head),var(--th-head2));z-index:1}
[data-tpl="carte"] .froud-exo-head{background:transparent;border-bottom:none;padding-top:16px}
[data-tpl="carte"] .froud-exo-num{border-radius:11px;background:rgba(var(--th-head-rgb),.12);color:var(--th-head);box-shadow:none;border:none}
[data-tpl="carte"] .froud-exo-title{color:#1a1a1a;font-family:'Cormorant Garamond',serif}

/* 7) JOURNAL */
[data-tpl="journal"] .froud-exo{border:none;border-top:3px solid var(--th-head);border-bottom:1px solid var(--th-head);border-radius:0;background:#fcfaf5}
[data-tpl="journal"] .froud-exo-head{background:transparent;border-bottom:1px dotted var(--th-b)}
[data-tpl="journal"] .froud-exo-num{background:transparent;color:var(--th-head);box-shadow:none;font-family:'Cormorant Garamond',serif;font-size:24px;font-style:italic}
[data-tpl="journal"] .froud-exo-num::before{content:'§'}
[data-tpl="journal"] .froud-exo-num{text-indent:-9999px;position:relative}
[data-tpl="journal"] .froud-exo-num::before{text-indent:0;position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
[data-tpl="journal"] .froud-exo-title{font-style:italic;font-size:19px}
[data-tpl="journal"] .froud-exo-body{text-align:justify}

/* 8) MINIMAL */
[data-tpl="minimal"] .froud-exo{border:none;border-left:2.5px solid var(--th-head);border-radius:0;background:transparent}
[data-tpl="minimal"] .froud-exo-head{background:transparent;border-bottom:none;padding-bottom:2px}
[data-tpl="minimal"] .froud-exo-num{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--th-head);box-shadow:none;text-indent:-9999px}
[data-tpl="minimal"] .froud-exo-title{font-family:'Cairo',sans-serif;font-size:13px;font-weight:900;letter-spacing:2.5px;text-transform:uppercase;color:var(--th-head)}



/* ── بطاقة الحصة الحالية ── */
.now-card{background:linear-gradient(135deg,#1d5435,#2e7d4f);border-radius:18px;padding:20px 24px;color:#fff;box-shadow:0 8px 28px rgba(29,84,53,.35);display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-family:'Cairo'}
.now-card.idle{background:linear-gradient(135deg,#5a6472,#76818f);box-shadow:0 8px 24px rgba(90,100,114,.3)}
.now-card .nc-pulse{width:14px;height:14px;border-radius:50%;background:#7dffb0;box-shadow:0 0 0 0 rgba(125,255,176,.7);animation:ncPulse 1.8s infinite;flex-shrink:0}
@keyframes ncPulse{0%{box-shadow:0 0 0 0 rgba(125,255,176,.6)}70%{box-shadow:0 0 0 14px rgba(125,255,176,0)}100%{box-shadow:0 0 0 0 rgba(125,255,176,0)}}
.now-card .nc-main{flex:1;min-width:220px}
.now-card .nc-label{font-size:12px;opacity:.8;font-weight:700;letter-spacing:.5px}
.now-card .nc-title{font-size:20px;font-weight:900;margin-top:2px}
.now-card .nc-sub{font-size:13px;opacity:.9;margin-top:3px}
.now-card .nc-btn{background:#fff;color:#1d5435;border:none;border-radius:12px;padding:13px 24px;font-family:'Cairo';font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:transform .15s;white-space:nowrap}
.now-card .nc-btn:hover{transform:translateY(-2px)}
.now-card .nc-btn.ghost{background:rgba(255,255,255,.16);color:#fff;border:1.5px solid rgba(255,255,255,.4);font-weight:700;font-size:13px;padding:10px 18px}
.now-card .nc-alert{background:rgba(255,255,255,.14);border:1.5px dashed rgba(255,255,255,.45);border-radius:10px;padding:7px 14px;font-size:12.5px;font-weight:700}

/* ── أوضاع الدفتر الثلاثة ── */
.dafter-mode-tab{flex:1;min-width:220px;background:#fff;border:2.5px solid #e0e6f0;border-radius:14px;padding:14px 16px;cursor:pointer;transition:all .18s;text-align:center;font-family:'Cairo'}
.dafter-mode-tab:hover{border-color:#1d5435;transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
.dafter-mode-tab.active{border-color:#1d5435;background:linear-gradient(180deg,#f0f9f3,#fff);box-shadow:0 0 0 3px rgba(29,84,53,.12)}
.dafter-mode-tab .dm-icon{font-size:26px;margin-bottom:4px}
.dafter-mode-tab .dm-title{font-weight:900;font-size:15px;color:#1d5435}
.dafter-mode-tab .dm-sub{font-size:11.5px;color:#7a8090;line-height:1.6;margin-top:3px}
/* الوضع اليدوي: خلية المحتوى قابلة للنقر */
.manual-fill-hint{color:#b8c0cc;font-family:'Cairo';font-size:13px;font-style:italic;text-align:center;padding:8px}
.manual-cell{cursor:pointer;transition:background .15s}
.manual-cell:hover{background:rgba(29,84,53,.05)}
.manual-line{font-family:'Amiri',serif;font-size:15px;line-height:1.9;border-bottom:1px dotted #d7dbe4;padding:1px 4px}

/* ── ترويسة صفحات السلسلة (شريط أنيق كالفروض) ── */
.serie-runhead{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:20px 28px 0 42px;
  padding:9px 16px;
  background:linear-gradient(90deg,var(--th-head),var(--th-head2));
  color:#fff;border-radius:10px;
  box-shadow:0 3px 10px rgba(0,0,0,.18);
  font-family:'Cairo',sans-serif;
}
.serie-runhead-left{display:flex;align-items:center;gap:10px;min-width:0}
.serie-runhead-badge{
  background:rgba(255,255,255,.95);color:var(--th-head);
  font-weight:900;font-size:12.5px;padding:3px 12px;border-radius:12px;
  white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.15);
}
.serie-runhead-title{
  font-weight:700;font-size:13px;opacity:.95;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.serie-runhead-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.serie-runhead-lvl{font-size:11.5px;font-weight:700;opacity:.85;white-space:nowrap}
.serie-runhead-right img{height:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
.serie-runhead-bar{
  margin:6px 28px 0 42px;height:3px;border-radius:2px;
  background:repeating-linear-gradient(-45deg,var(--th-acc,#b8860b) 0 7px,transparent 7px 14px);
  opacity:.75;
}
/* جسم صفحات السلسلة: يبدأ تحت الترويسة الجديدة */
.serie-page .tb-body.serie-body2{
  top:96px;
}



@media(max-width:680px){
  .grid2,.grid3{grid-template-columns:1fr}
  .nb-sess{grid-template-columns:1fr}

  /* ═══ شريط الداشبورد العلوي ═══ */
  .dash-top{ padding:10px 12px !important; flex-wrap:wrap; gap:8px; }
  .dash-top .mc-logo.small{ font-size:20px !important; }
  #mc_plan_badge{ position:static !important; transform:none !important; order:3; width:100%; text-align:center; margin-top:4px; padding:4px 12px !important; font-size:11px !important; }
  .dash-user{ gap:8px !important; font-size:13px; }
  #dash_username{ display:none; }
  #mc_profile_btn{ padding:3px 10px 3px 4px !important; }
  #mc_profile_btn span{ font-size:11px !important; }
  #mc_avatar_wrap{ width:32px !important; height:32px !important; }
  .dash-top .btn-mc.ghost.sm{ padding:6px 10px !important; font-size:11px !important; }

  /* ═══ صفحة الخدمات ═══ */
  .dash-welcome{ padding:24px 12px 8px !important; }
  .dash-welcome h2{ font-size:22px !important; }
  .services-grid{ grid-template-columns:repeat(2,1fr) !important; gap:10px !important; padding:0 10px !important; }
  .svc-card{ border-radius:14px !important; padding-bottom:14px !important; }
  .svc-stage{ height:180px !important; }
  .svc-stage .pb-scene{ transform:scale(.55) !important; transform-origin:center center !important; }
  .svc-name{ font-size:13px !important; padding:0 8px !important; margin-bottom:4px !important; }
  .svc-desc{ font-size:11px !important; padding:0 8px !important; min-height:30px !important; line-height:1.5 !important; }
  .svc-badge{ top:8px !important; left:8px !important; font-size:9px !important; padding:3px 8px !important; }
  #now_card_wrap{ padding:0 10px !important; margin-bottom:14px !important; }

  /* ═══ شريط الأدوات العلوي (دفتر النصوص) ═══ */
  .mc-topbar{ border-radius:0 !important; }
  .mc-topbar-actions{ padding:6px 8px !important; gap:4px !important; flex-wrap:wrap; }
  .mc-topbar-actions select{ max-width:100px; font-size:12px !important; padding:4px !important; }
  .mc-topbar-actions .btn{ padding:6px 8px !important; font-size:11px !important; }
  .mc-topbar-actions button{ padding:5px 7px !important; font-size:11px !important; }
  .mc-topbar-format{ padding:5px 8px !important; gap:3px !important; }

  /* ═══ صفحات الدفتر (معاينة) ═══ */
  .page{ margin-bottom:16px !important; border-radius:4px !important; }
  .page-inner{ padding:4px 6px 6px !important; }
  .nb-head{ padding:3px 8px !important; margin:2px 4px 4px !important; flex-wrap:wrap; gap:2px; }
  .nb-head .niveau,.nb-head .year{ font-size:10px !important; padding:2px 6px !important; }
  .nb-head .prof{ font-size:12px !important; }
  .nb-grid{ font-size:10px !important; }
  .nb-grid th{ font-size:9px !important; padding:2px !important; }
  .nb-grid td{ padding:2px 3px !important; }
  .nb-grid td.col-contenu{ height:auto !important; min-height:80px !important; }
  .nb-grid td.col-sem{ width:6% !important; }
  .nb-grid td.col-date{ width:12% !important; }
  .nb-grid td.col-seance{ width:8% !important; }
  .nb-grid td.col-rem{ width:8% !important; }
  .sess-title .ttl{ font-size:11px !important; }
  .sess-cols .line{ font-size:10px !important; padding:0 !important; line-height:1.3 !important; }
  .sess-cols .line-empty{ margin:1px 0 !important; }
  .seance-slot{ padding:2px 0 !important; min-height:0 !important; }
  .seance-slot .tm{ font-size:10px !important; }
  .seance-slot .arrow-img{ font-size:14px !important; }
  .sem-lbl{ font-size:12px !important; }
  .date-lbl{ font-size:10px !important; }
  .foot-flex .foot-cell{ height:35px !important; }
  .foot-sig{ font-size:9px !important; }
  .rings{ height:20px !important; padding:0 10px !important; }
  .ring{ width:10px !important; height:10px !important; }

  /* ═══ الجذاذات والدروس — نظام zoom للمعاينة ═══ */
  .textbook{ gap:14px !important; width:100% !important; }
  .flp-fiche{ gap:12px !important; }
  /* حاوية المعاينة */
  #jad_overlay>div:last-child{ padding:10px 8px 40px !important; }
  #jad_overlay>div:first-child{ padding:8px 10px !important; gap:6px !important; }
  #jad_overlay>div:first-child strong{ font-size:13px !important; }
  #jad_overlay .btn-mc.sm{ padding:6px 10px !important; font-size:11px !important; }
  /* حاويات كل الخدمات */
  div[id$=_overlay]>div:first-child{padding:8px!important;gap:4px!important;flex-wrap:wrap!important}
  div[id$=_overlay]>div:first-child strong{font-size:11px!important;width:100%;text-align:center;display:block;padding-bottom:4px;margin:0!important}
  div[id$=_overlay]>div:first-child .btn-mc{padding:6px 10px!important;font-size:10px!important;flex:1 1 auto}
  /* نظام zoom التلقائي — داخل الميديا لتطبيق الأنماط المساعدة فقط */

  /* ═══ أزرار الطباعة ═══ */
  .mc-topbar-actions .btn,
  .mc-topbar-actions button[onclick*="print"],
  .mc-topbar-actions button[onclick*="export"],
  .mc-topbar-actions button[onclick*="word"]{ 
    white-space:nowrap; font-size:10px !important;
  }

  /* ═══ نوافذ الإعدادات والموديلات ═══ */
  .modal-content{ max-width:95vw !important; max-height:90vh !important; padding:14px !important; }
  #mc_set_ov>div>div{ width:95% !important; max-width:95vw !important; padding:16px !important; }
  #mc_set_ov .mc-set-tabs button{ font-size:12px !important; padding:8px 10px !important; }

  /* ═══ محرّر التمارين والفروض ═══ */
  .exo-builder{ padding:8px !important; }
  .exo-builder input,.exo-builder select,.exo-builder textarea{ font-size:13px !important; }
  #exo_print_area{ width:100% !important; overflow-x:auto !important; }
  
  /* ═══ بطاقة الحصة الحالية ═══ */
  .nc-card{ padding:14px !important; border-radius:14px !important; }
  .nc-title{ font-size:16px !important; }
  .nc-sub{ font-size:12px !important; }
}

/* ═══ شاشات صغيرة جداً (< 400px) ═══ */
@media(max-width:400px){
  .services-grid{ grid-template-columns:1fr !important; }
  .svc-stage{ height:220px !important; }
  .svc-stage .pb-scene{ transform:scale(.7) !important; }
  .dash-top .mc-logo.small{ font-size:18px !important; }
  .mc-topbar-actions{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
}
/* ═══ نظام zoom تلقائي — يعمل على كل الشاشات ═══ */
.mob-z{zoom:var(--mz,1)}
.page.mob-z{width:var(--mfw,auto)!important;max-width:none!important;margin-left:auto;margin-right:auto}

/* ═══════════ شاشات المنصّة (Maths Click) ═══════════ */
.screen{min-height:100vh}
.mc-logo{font-family:'Cairo';font-weight:900;font-size:38px;color:#1d5435;letter-spacing:-1px}
.mc-logo span{color:#d68910}
.mc-logo.small{font-size:26px}
.landing-hero{max-width:1000px;margin:0 auto;padding:50px 24px;text-align:center}
.landing-title{font-family:'Cairo';font-size:34px;color:#143d22;margin:24px 0 12px;font-weight:900}
.landing-sub{font-size:17px;color:#555;max-width:680px;margin:0 auto 30px;line-height:1.9}
.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:30px 0}
.lf{background:#fff;border:2px solid #e8f0ea;border-radius:14px;padding:22px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;font-weight:700;color:#1d5435;box-shadow:0 3px 12px rgba(0,0,0,.05)}
.lf-ico{font-size:40px}
.lf small{color:#999;font-weight:400}
.landing-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:30px 0}
.btn-mc{background:linear-gradient(135deg,#1d5435,#2d7a4f);color:#fff;border:none;padding:13px 26px;border-radius:30px;font-family:'Cairo';font-weight:700;font-size:15px;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px rgba(29,84,53,.25)}
.btn-mc:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(29,84,53,.35)}
.btn-mc.big{padding:16px 36px;font-size:17px}
.btn-mc.ghost{background:transparent;color:#1d5435;border:2px solid #1d5435;box-shadow:none}
.btn-mc.full{width:100%}
.btn-mc.sm{padding:8px 16px;font-size:13px}
.btn-mc.gold{background:linear-gradient(135deg,#b9770e,#d68910)}
.landing-price{margin:40px auto;max-width:360px}
.price-card{background:linear-gradient(160deg,#fff,#f4faf6);border:2px solid #2d7a4f;border-radius:18px;padding:28px;box-shadow:0 8px 26px rgba(29,84,53,.15)}
.price-name{font-family:'Cairo';font-weight:700;color:#1d5435;font-size:18px}
.price-val{font-family:'Cairo';font-size:40px;font-weight:900;color:#d68910;margin:8px 0}
.price-val span{font-size:15px;color:#999;font-weight:400}
.price-card ul{list-style:none;padding:0;margin:16px 0;text-align:right}
.price-card li{padding:6px 0;color:#444}
.landing-foot{color:#bbb;font-size:12px;margin-top:30px}
#screen_auth{display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#f4faf6,#e8f0ea)}
.auth-box{background:#fff;border-radius:18px;padding:30px;max-width:420px;width:100%;box-shadow:0 10px 40px rgba(0,0,0,.12);text-align:center}
.auth-tabs{display:flex;gap:8px;margin:20px 0;background:#f0f4f1;border-radius:12px;padding:5px}
.auth-tab{flex:1;padding:10px;border:none;background:transparent;border-radius:9px;font-family:'Cairo';font-weight:700;cursor:pointer;color:#777}
.auth-tab.active{background:#fff;color:#1d5435;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.auth-box .field{text-align:right;margin-bottom:12px}
.auth-box label{display:block;font-size:13px;color:#666;margin-bottom:4px;font-weight:700}
.auth-box input{width:100%;padding:11px;border:2px solid #e0e8e2;border-radius:9px;font-family:inherit;box-sizing:border-box}
.auth-box input:focus{border-color:#2d7a4f;outline:none}
.sub-plan{display:flex;justify-content:space-between;align-items:center;background:#f4faf6;border:1px dashed #2d7a4f;border-radius:10px;padding:12px 16px;margin:14px 0;font-family:'Cairo'}
.sub-plan strong{color:#d68910;font-size:18px}
.auth-note{font-size:12px;color:#aaa;margin-top:10px}
.dash-top{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.dash-user{display:flex;align-items:center;gap:12px;font-family:'Cairo';font-weight:700;color:#1d5435}
.dash-welcome{text-align:center;padding:36px 20px 10px}
.dash-welcome h2{font-family:'Cairo';font-size:28px;color:#143d22;margin:0}
.dash-welcome p{color:#888;margin:6px 0 0}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;max-width:1100px;margin:30px auto;padding:0 24px 50px}
.svc-card{background:#fff;border-radius:18px;padding:28px 22px;text-align:center;cursor:pointer;position:relative;border:2px solid #eef2ef;box-shadow:0 4px 16px rgba(0,0,0,.06);transition:transform .18s,box-shadow .18s,border-color .18s}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(29,84,53,.18);border-color:#2d7a4f}
.svc-ico{font-size:54px;margin-bottom:14px}
.svc-name{font-family:'Cairo';font-weight:900;font-size:19px;color:#1d5435;margin-bottom:8px}
.svc-desc{color:#777;font-size:14px;line-height:1.7}
.svc-badge{position:absolute;top:14px;left:14px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;font-family:'Cairo'}
.svc-badge.ready{background:#e2f3e8;color:#1d7a3d}
.svc-badge.soon{background:#fef3cd;color:#9c6a10}
.svc-badge.ready{background:#d8f3e0;color:#1d7a3d}
/* ═══ مولّد الفروض والسلاسل ═══ */
.exo-sheet{background:#fff;border-radius:10px;padding:26px 30px;font-family:'Segoe UI','Cairo',Arial,sans-serif;color:#1a1a1a;box-shadow:0 4px 16px rgba(0,0,0,.06);line-height:1.6}
.exo-design{--exo-main:#1d5435;--exo-soft:#eef6f0;--exo-accent:#b8860b}
.exo-header{display:flex;align-items:center;border-bottom:2px solid var(--exo-main);padding-bottom:10px;margin-bottom:6px}
.exo-title{text-align:center;margin:14px 0}
.exo-title h2{margin:0;font-size:22px;color:var(--exo-main);border:2px solid var(--exo-main);border-radius:8px;display:inline-block;padding:5px 24px}
.exo-title .exo-sub{font-size:15px;color:#555;margin-top:6px;font-weight:600}
.exo-title .exo-meta{font-size:14px;color:#333;margin-top:6px}
.exo-namebar{border:1px solid var(--exo-main);border-radius:6px;padding:8px 12px;font-size:14px;margin:12px 0;background:var(--exo-soft)}
.exo-list{margin-top:10px}
.exo-item{margin-bottom:16px;page-break-inside:avoid}
.exo-head{display:flex;justify-content:space-between;align-items:center;background:var(--exo-soft);border-left:4px solid var(--exo-main);padding:5px 12px;border-radius:4px;margin-bottom:6px}
.exo-no{font-weight:800;color:var(--exo-main);font-size:15px}
.exo-pts{font-weight:700;color:var(--exo-accent);font-size:14px}
.exo-body{padding:2px 8px;font-size:15px}
.exo-space{height:70px;border-bottom:1px dotted #ccc;margin:6px 8px 0}
/* ═══ النمط الاحترافي (LaTeX) ═══ */
.ltx-sheet{font-family:'Times New Roman','Amiri',serif;background:#fff;padding:18px 22px}
.ltx-headbox{border:1.5px solid #1a3c8c;border-radius:6px;padding:4px;background:repeating-linear-gradient(45deg,#f7f2ff,#f7f2ff 6px,#efe7fb 6px,#efe7fb 12px);margin-bottom:18px}
.ltx-htable{width:100%;border-collapse:collapse;background:#fff}
.ltx-htable td{border:1.2px solid #000;padding:6px 8px;text-align:center;font-weight:700;font-size:13.5px}
.ltx-htable .ltx-school{font-size:14px}
.ltx-htable .ltx-as{white-space:nowrap}
.ltx-htable .ltx-doctitle{font-size:19px;font-weight:800;padding:8px}
.ltx-list{margin-top:6px}
.ltx-exa{position:relative;background:linear-gradient(#fffef5,#fffde7);border:1.6px solid #2b3da0;border-radius:5px;margin:6px 0 22px;padding:16px 14px 12px}
.ltx-exa-title{position:absolute;top:-14px;left:18px;background:linear-gradient(#2ecc71,#27ae60);color:#fff;font-weight:800;font-size:15px;padding:3px 16px;border-radius:5px;box-shadow:0 2px 4px rgba(0,0,0,.2)}
.ltx-exa-body{margin-top:6px;font-size:15px}
.ltx-ol{list-style:none;counter-reset:ltxc;padding-left:6px;margin:6px 0}
.ltx-ol>li{counter-increment:ltxc;position:relative;padding-left:34px;margin:9px 0;line-height:1.7}
.ltx-ol>li::before{content:counter(ltxc);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;
  background:#e74c3c;color:#fff;border:1px solid #999;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.ltx-dots{display:inline-block;flex:1;border-bottom:2px dotted #888;min-width:40px;margin:0 6px;vertical-align:middle}
.ltx-pts{color:#7d6608;font-weight:700;white-space:nowrap;font-size:13px}
/* ═══ التوزيع السنوي (Répartition annuelle) ═══ */
.rep-wrap{--rep-head:#a9805f;--rep-head-tx:#2e1c10;--rep-num-tx:#fbf3e8;--rep-sem-bg:#cbb491;--rep-date:#f2e8d6;--rep-border:#9c7252;--rep-event:#c0392b;--rep-holiday-bg:#f6cda9;--rep-holiday-tx:#5a3618;--rep-final-bg:#e9ddc6;--rep-final-tx:#b0331f;--rep-cdm:#d9ecc8;--rep-cds:#f6dccb;--rep-dm:#9ecb81;--rep-ds:#e89b6c}
table.rep{border-collapse:collapse;width:100%;font-size:12px;line-height:1.3;font-family:'Segoe UI','Cairo',Tahoma,Arial,sans-serif}
table.rep th,table.rep td{border:1px solid var(--rep-border);padding:5px 7px;vertical-align:middle;-webkit-print-color-adjust:exact;print-color-adjust:exact}
table.rep thead th{background:var(--rep-head);color:var(--rep-head-tx);font-weight:800;text-align:center;padding:8px}
table.rep .col-sem{background:var(--rep-sem-bg);color:#3a2a16;font-weight:800;text-align:center;width:34px}
table.rep .col-sem span{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:2px;white-space:nowrap}
table.rep .col-date{background:var(--rep-date);text-align:center;font-weight:600;width:74px;white-space:nowrap}
table.rep .col-num{background:var(--rep-head);color:var(--rep-num-tx);text-align:center;font-weight:700;width:36px}
table.rep .col-content{background:#fff;text-align:center}
table.rep .col-content .ev{color:var(--rep-event);font-weight:800}
table.rep .col-hours{background:#fff;text-align:center;width:74px;white-space:nowrap}
table.rep .col-corr{text-align:center;width:64px;font-weight:600}
table.rep .col-don{text-align:center;width:64px;font-weight:800}
/* ضغط تكيفي: جداول التوزيع الطويلة تنكمش لتدخل الصفحة كاملة */
table.rep.rep-mid{font-size:11px;line-height:1.2}
table.rep.rep-mid th,table.rep.rep-mid td{padding:3px 6px}
table.rep.rep-compact{font-size:10px;line-height:1.12}
table.rep.rep-compact th,table.rep.rep-compact td{padding:2px 5px}
table.rep.rep-compact thead th{padding:3px 4px}
table.rep td.cdm{background:#e0f2fe;color:#075985;font-weight:800}
table.rep td.cds{background:#fef3c7;color:#92400e;font-weight:800}
table.rep td.dm{background:#7dd3fc;color:#0c4a6e;font-weight:900}
table.rep td.ds{background:#f59e0b;color:#78350f;font-weight:900}
table.rep tr.holiday td.span{background:var(--rep-holiday-bg);color:var(--rep-holiday-tx);font-weight:800;text-align:center}
table.rep tr.final td.proc{background:var(--rep-final-bg);color:var(--rep-final-tx);font-weight:800;text-align:center}
table.rep tr.final td.period{background:var(--rep-date);text-align:center;font-weight:800;white-space:pre-line}
table.rep td.special{text-align:center;font-weight:700;color:#3a2a16;background:#fff}
table.rep td.special .ev{color:var(--rep-event)}
table.rep td[contenteditable="true"]:focus{outline:2px solid var(--rep-head)!important;outline-offset:-2px;background:#fffdf5}

/* ===== FICHE LATEX STYLES ===== */
/* ═══════════ أنماط الجذاذة بصيغة LaTeX (شكل PDF رسمي) ═══════════ */
.fl-fiche{font-family:'Amiri','Cairo',serif;color:#1a1a1a;line-height:1.5;direction:ltr;
  position:relative;border-radius:10px;padding:18px;box-shadow:0 6px 22px rgba(0,0,0,.16)}
/* لوح المحتوى: أبيض شبه شفّاف تظهر الزخرفة حول إطاره وخلفه قليلاً */
.fl-sheet{position:relative;z-index:2;background:rgba(255,255,255,.88);border:1px solid rgba(0,0,0,.06);
  border-radius:12px;padding:18px;box-shadow:0 3px 16px rgba(0,0,0,.16)}
.fl-block{margin-bottom:14px}
.fl-cover-block{break-after:page;page-break-after:always}

/* الترويسة (الصفحة الأولى) */
.fl-topbar{color:#fff;border-radius:10px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
.fl-topbar-side div{margin:2px 0}
.fl-topbar-mid{display:flex;align-items:center;gap:8px;text-align:center;font-size:11px;line-height:1.3}
.fl-topbar-mid img{height:42px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.fl-rtl{text-align:right}
.fl-coursetitle{text-align:center;font-size:24px;font-weight:700;font-family:'Cairo';margin:14px 0;padding:8px;border:2px solid;border-radius:10px;background:rgba(255,255,255,.65)}

.fl-meta{width:100%;border-collapse:collapse;font-size:12px}
.fl-meta th{color:#fff;border:1px solid var(--b);padding:7px;text-align:center;font-family:'Cairo';font-size:13px;background:var(--acc)}
.fl-meta td{border:1px solid var(--b);padding:8px;vertical-align:top;width:50%;background:rgba(255,253,246,.92)}
.fl-meta ul{margin:0;padding:0;list-style:none}
.fl-meta li{padding:3px 0}

/* جدول السيرورة 3 أعمدة — يملأ عرض الصفحة */
.fl-course{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed}
.fl-course thead th{background:linear-gradient(90deg,var(--head),var(--head2));color:#fff;border:1px solid var(--head2);padding:9px 6px;font-family:'Cairo';font-size:13px;text-align:center}
.fl-course td{border:1px solid var(--b);padding:8px;vertical-align:top;word-wrap:break-word;overflow-wrap:break-word}
.fl-duree{text-align:center;font-weight:700;background:rgba(255,253,242,.92);white-space:nowrap;color:#444}
.fl-mid{background:rgba(255,255,255,.85)}
.fl-app{background:rgba(255,250,243,.9)}
.fl-empty{color:#bbb}

/* عناوين الأقسام مع الترقيم */
.fl-section{color:#c81414;font-weight:700;font-size:16px;font-family:'Cairo';margin:6px 0 8px;border-left:4px solid #c81414;padding-left:8px;display:flex;align-items:center;gap:8px}
.fl-subsection{color:#0d7a6b;font-weight:700;font-size:14px;font-family:'Cairo';margin:8px 0 6px;border-left:3px solid #0d7a6b;padding-left:8px;display:flex;align-items:center;gap:8px}
.fl-num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:#c81414;color:#fff;border-radius:6px;font-size:13px}
.fl-num2{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:20px;padding:0 6px;background:#0d7a6b;color:#fff;border-radius:6px;font-size:12px}
.fl-text{margin:4px 0}
.fl-figure{margin:8px 0;padding:14px;border:1px dashed #c89b3c;border-radius:8px;background:rgba(255,253,242,.92);text-align:center;color:#8a6f2a;font-style:italic;font-size:12px}
.fl-figure span{display:inline-block}

/* الصناديق الملوّنة (cadre) — لا تنقسم بين صفحتين إن أمكن */
.fl-cadre{position:relative;margin:10px 0;background:var(--bg);border-left:4px solid var(--bar);border-radius:6px;overflow:hidden;break-inside:avoid;page-break-inside:avoid}
.fl-cadre-title{display:inline-block;font-family:'Cairo';font-weight:700;font-size:13px;padding:3px 12px;border-radius:0 0 8px 0}
.fl-cadre-body{padding:8px 12px 10px;font-size:13px}
.fl-cadre-body ul,.fl-cadre-body ol{margin:4px 0;padding-left:20px}
.fl-cadre-body li{margin:2px 0}
.fl-cadre-body u{text-decoration:underline}

@media print{
  .fl-fiche{direction:ltr;border-radius:0;box-shadow:none;padding:0;
    background-attachment:fixed!important;background-size:cover!important;background-position:center!important;
    -webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .fl-sheet{background:rgba(255,255,255,.9);box-shadow:none;border:none;border-radius:0;padding:4mm 5mm}
  /* السماح للمحتوى بالتدفّق وملء كل صفحة؛ مع عدم تقطيع الصناديق */
  .fl-course tr,.fl-course td{page-break-inside:auto;break-inside:auto}
  .fl-cadre{break-inside:avoid;page-break-inside:avoid}
  .fl-section,.fl-subsection{break-after:avoid;page-break-after:avoid}
  thead{display:table-header-group}  /* تكرار ترويسة الجدول في كل صفحة */
}


/* ===== FICHE PRO STYLES (صفحات A4 احترافية) ===== */
.flp-fiche{--page-w:1123px;--page-h:794px;--pad:30px;--cd-w:80px;--ca-w:248px;
  font-family:'Amiri','Cairo',serif;color:#16210f;direction:ltr;display:flex;flex-direction:column;align-items:center;gap:22px}
.flp-pg{position:relative;width:var(--page-w);height:var(--page-h);overflow:hidden;background:#efe9d8;
  box-shadow:0 8px 26px rgba(0,0,0,.28);border-radius:4px}
.flp-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.flp-inner{position:absolute;inset:var(--pad);z-index:2;display:flex;flex-direction:column}

/* ترويسة الصفحة الأولى */
.flp-top{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#fff;border-radius:12px;
  padding:10px 16px;font-size:12.5px;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.flp-side div{margin:2px 0;white-space:nowrap}
.flp-mid{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:11px;line-height:1.25}
.flp-mid img{height:46px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
.flp-rtl{text-align:right;direction:rtl}
.flp-title{margin:12px 0;text-align:center;font-family:'Cairo';font-weight:900;font-size:25px;
  background:rgba(255,255,255,.82);border:2px solid var(--b);border-radius:12px;padding:9px 8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}

.flp-meta{width:100%;border-collapse:collapse;font-size:12px;background:rgba(255,255,255,.8)}
.flp-meta th{color:#fff;background:var(--acc);border:1px solid var(--b);padding:7px;font-family:'Cairo';font-size:13px;text-align:center}
.flp-meta td{border:1px solid var(--b);padding:9px;vertical-align:top;width:50%}
.flp-meta ul{margin:0;padding:0 14px 0 0;list-style:none}
.flp-meta li{padding:3px 0}

/* شريط عنوان الصفحات التالية */
.flp-runhead{display:flex;align-items:center;justify-content:space-between;color:#fff;border-radius:10px;
  padding:7px 14px;font-family:'Cairo';font-size:13px;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.16)}
.flp-runhead img{height:24px;vertical-align:middle;margin-left:6px}

/* جدول السيرورة */
.flp-course{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed;background:rgba(255,255,255,.84);margin-top:6px}
.flp-course col.flp-cd{width:var(--cd-w)} .flp-course col.flp-ca{width:var(--ca-w)}
.flp-course thead th{background:linear-gradient(90deg,var(--head),var(--head2));color:#fff;border:1px solid var(--head2);
  padding:8px 6px;font-family:'Cairo';font-size:13px;text-align:center}
.flp-course td{border:1px solid var(--b);padding:7px;vertical-align:top;word-wrap:break-word;overflow-wrap:break-word}
/* fix: الحدود أعلاه يجب أن تُطبَّق فقط على خلايا جدول السيرورة نفسه،
   لا على أي جدول مُضمَّن داخل محتوى الخلية (كجداول علامات الإشارة) —
   لذلك نُلغي الحدود عن أي جدول داخلي ونعيدها بدقّة لخلايا flp-course المباشرة فقط */
.flp-course td table td{border:none}
.flp-course > tbody > tr > td,
.flp-course > thead > tr > td{border:1px solid var(--b);padding:7px;vertical-align:top;word-wrap:break-word;overflow-wrap:break-word}
.flp-cd-cell{text-align:center;font-weight:700;color:#4a4a4a;background:rgba(255,252,240,.7);white-space:nowrap;font-size:11.5px}
.flp-cm-cell{background:rgba(255,255,255,.55)}
.flp-ca-cell{background:rgba(255,250,240,.6)}
/* منع قطع المعادلات: التفاف داخل الخلايا + تصغير في العمود الأيمن الضيّق */
.flp-course td mjx-container:not([display="true"]){display:inline-block}
.flp-course td mjx-container[display="true"]{max-width:100%;overflow-x:hidden}
.flp-course td mjx-container[display="true"] svg{max-width:100%;height:auto}
.flp-ca-cell{font-size:11.5px;line-height:1.55}
.flp-ca-cell mjx-container{font-size:92% !important}
.flp-ca-cell .fl-cadre-body{word-break:break-word}

/* الجدول الممتدّ: خطوط الأعمدة تمتدّ، الخط الأفقي الأخير يُزال، تباعد لطيف */
.flp-course.flp-stretched{border-bottom:none}
.flp-course.flp-stretched > tbody > tr:last-child > td{border-bottom:none}
.flp-course.flp-stretched td{vertical-align:top}
.flp-course.flp-stretched .flp-cm-cell,
.flp-course.flp-stretched .flp-cd-cell,
.flp-course.flp-stretched .flp-ca-cell{padding-top:10px}

.flp-fill td{border:1px solid var(--b)}
.flp-fill .flp-cd-cell{background:rgba(255,252,240,.7)}
.flp-fill .flp-cm-cell{background:rgba(255,255,255,.55)}
.flp-fill .flp-ca-cell{background:rgba(255,250,240,.6)}
.flp-empty{color:#bbb;text-align:center}

/* عناوين الأقسام مع الترقيم */
.fl-section{color:#c81414;font-weight:700;font-size:15px;font-family:'Cairo';margin:2px 0 5px;border-left:4px solid #c81414;padding-left:8px;display:flex;align-items:center;gap:8px}
.fl-subsection{color:#0d7a6b;font-weight:700;font-size:13px;font-family:'Cairo';margin:4px 0 4px;border-left:3px solid #0d7a6b;padding-left:8px;display:flex;align-items:center;gap:8px}
.fl-num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;background:#c81414;color:#fff;border-radius:6px;font-size:13px}
.fl-num2{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:20px;padding:0 6px;background:#0d7a6b;color:#fff;border-radius:6px;font-size:12px}
.fl-text{margin:4px 0}
.fl-figure{margin:8px 0;padding:13px;border:1px dashed #c89b3c;border-radius:8px;background:rgba(255,253,242,.85);text-align:center;color:#8a6f2a;font-style:italic;font-size:12px}

/* الصناديق الملوّنة */
.fl-cadre{position:relative;margin:6px 0;background:var(--bg);border-left:4px solid var(--bar);border-radius:6px;overflow:hidden;break-inside:avoid}
.fl-cadre-title{display:inline-block;font-family:'Cairo';font-weight:700;font-size:13px;padding:3px 12px;border-radius:0 0 8px 0}
.fl-cadre-body{padding:6px 12px 7px;font-size:12.5px}
.fl-cadre-body ul,.fl-cadre-body ol{margin:4px 0;padding-left:20px}
.fl-cadre-body li{margin:2px 0}
.fl-cadre-body u{text-decoration:underline}

/* قياس مخفي */
#fl_measure{position:absolute;left:-99999px;top:0;width:1123px;visibility:hidden}

/* فواصل صفحات PDF/طباعة */
.flp-pg{break-after:page;page-break-after:always}
.flp-pg:last-child{break-after:auto;page-break-after:auto}
@media print{
  .flp-fiche{gap:0}
  .flp-pg{box-shadow:none;border-radius:0;margin:0}
}




/* ═══════════════════════════════════════════════════════════════════
   كتاب الدرس — Manuel scolaire | v2
   Body: LTR for French content
   ═══════════════════════════════════════════════════════════════════ */

.textbook{
  display:flex;flex-direction:column;align-items:center;gap:30px;
  font-family:'Cormorant Garamond','Amiri',serif;color:#1a1a1a;
  --th-head:#1a4fb8; --th-head2:#3a6fd8; --th-acc:#0f3a8a; --th-soft:#e8eefb; --th-b:#b8c8e8;
}

.tb-page{
  position:relative;
  width:794px;height:1123px;
  background:#fdfcf7;
  box-shadow:0 12px 40px rgba(0,0,0,.25), 0 2px 6px rgba(0,0,0,.1);
  border-radius:3px;
  overflow:hidden;
  box-sizing:border-box;
  direction:ltr;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}

/* ═══════════════════════════════════════════════════════════════════
   1) الغلاف
   ═══════════════════════════════════════════════════════════════════ */
.tb-cover{background:#fff}
.tb-cover-bg{
  position:absolute;top:50%;left:50%;
  width:1123px;height:794px;
  object-fit:cover;
  transform:translate(-50%,-50%) rotate(90deg);
  z-index:0;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}
.tb-cover-veil{
  position:absolute;inset:0;z-index:1;
  background:radial-gradient(ellipse at center, rgba(255,255,255,0) 25%, rgba(255,255,255,.93) 75%);
  pointer-events:none;
}
.tb-cover-math{
  position:absolute;
  bottom:60px;left:0;right:0;
  text-align:center;
  font-family:'Cambria Math','STIX Two Math','Latin Modern Math','Times New Roman','Amiri',serif;
  font-size:200px;font-weight:400;
  color:var(--th-head);
  opacity:.06;line-height:.8;
  z-index:1;pointer-events:none;
  letter-spacing:24px;
  white-space:nowrap;
}
.tb-cover-inner{
  position:absolute;inset:0;z-index:2;
  padding:42px 44px 36px;
  display:flex;flex-direction:column;
  box-sizing:border-box;
}

/* ترويسة وزارية */
.tb-cover-ministry{
  background:rgba(255,255,255,.88);
  border:1.5px solid var(--th-b);
  border-radius:14px;
  padding:12px 22px;
  display:flex;align-items:center;justify-content:center;gap:22px;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
  font-family:'Amiri',sans-serif;
}
.tb-cover-tif{
  font-family:'Noto Sans Tifinagh','Amiri',sans-serif;
  font-size:11px;line-height:1.85;
  color:#3a3a3a;opacity:.85;
  max-width:170px;text-align:center;
}
.tb-cover-emblem{height:70px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));flex-shrink:0}
.tb-cover-ar{
  font-family:'Amiri';font-size:14px;line-height:1.95;
  color:#1a1a1a;font-weight:700;
  max-width:180px;text-align:center;
}

/* منطقة العنوان */
.tb-cover-hero{
  flex:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  position:relative;
  padding:8px 0;
}
.tb-cover-eyebrow{
  font-family:'Cairo';font-weight:700;font-size:14px;
  color:var(--th-acc);
  letter-spacing:3px;
  margin-bottom:18px;
  text-transform:uppercase;
}
.tb-cover-eyebrow .dot{margin:0 8px;opacity:.5;font-size:9px;vertical-align:middle}

.tb-cover-badge{
  position:relative;width:130px;height:130px;
  margin-bottom:16px;flex-shrink:0;
}
.tb-cover-badge-ring{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg, var(--th-head), var(--th-head2), var(--th-head));
  padding:5px;
  box-shadow:0 6px 22px rgba(0,0,0,.25), inset 0 -3px 8px rgba(0,0,0,.2);
}
.tb-cover-badge-ring::after{
  content:'';position:absolute;inset:5px;border-radius:50%;
  background:#fdfcf7;
  border:2px dashed var(--th-acc);
}
.tb-cover-badge-inner{
  position:absolute;inset:0;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:'Cairo';color:var(--th-head);z-index:2;
}
.tb-cover-badge-inner small{font-size:11px;font-weight:700;letter-spacing:2px;opacity:.75;text-transform:uppercase}
.tb-cover-badge-inner b{font-size:44px;font-weight:900;line-height:1}

.tb-cover-title{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;
  font-size:54px;line-height:1.15;
  color:var(--th-head);
  margin:4px 30px 12px;
  text-shadow:2px 3px 6px rgba(0,0,0,.15);
  letter-spacing:-.5px;
}
.tb-cover-flourish{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px}
.tb-cover-flourish .line{flex:0 0 80px;height:1.5px;background:linear-gradient(90deg, transparent, var(--th-head2), transparent)}
.tb-cover-flourish .ornament{font-size:22px;color:var(--th-head2)}
.tb-cover-subtitle{
  font-family:'Great Vibes',cursive;
  font-size:36px;color:var(--th-head2);
  line-height:1;margin-bottom:24px;
}

/* معلومات الأستاذ (بدون بطاقة، تحت العنوان مباشرة) */
.tb-cover-meta{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  font-family:'Cormorant Garamond','Amiri',serif;
  margin-top:6px;
}
.tb-meta-row{
  display:flex;align-items:baseline;gap:10px;
  font-size:18px;color:#1a1a1a;line-height:1.4;
}
.tb-meta-key{
  font-family:'Cairo';font-weight:700;
  font-size:12px;color:var(--th-acc);
  letter-spacing:2px;
  text-transform:uppercase;
  opacity:.85;
}
.tb-meta-sep{color:var(--th-head2);font-weight:700;opacity:.6}
.tb-meta-val{
  font-family:'Cormorant Garamond','Amiri',serif;
  font-weight:500;color:#1a1a1a;
  font-size:18px;
}

/* ═══════════════════════════════════════════════════════════════════
   2) صفحات المحتوى
   ═══════════════════════════════════════════════════════════════════ */
.tb-content{
  background:#fdfcf7
    repeating-linear-gradient(0deg, rgba(180,160,120,.02) 0 1px, transparent 1px 24px);
  padding:0;
}

/* الشريط الجانبي على اليسار (LTR) */
.tb-side-strip{
  position:absolute;
  top:0;bottom:0;left:0;
  width:14px;
  background:linear-gradient(180deg, var(--th-head) 0%, var(--th-head2) 100%);
  box-shadow:inset 2px 0 4px rgba(0,0,0,.15);
}
.tb-side-strip::before{
  content:'';position:absolute;top:30px;bottom:30px;left:3px;width:1.5px;
  background:rgba(255,255,255,.3);
}

.tb-header{
  display:flex;align-items:center;gap:14px;
  padding:22px 28px 8px 42px; /* 14 strip + 28 padding */
}
.tb-header-num{
  flex-shrink:0;
  width:54px;height:54px;
  border-radius:14px;
  background:linear-gradient(135deg, var(--th-head), var(--th-head2));
  color:#fff;
  font-family:'Cairo';font-weight:900;font-size:22px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
  position:relative;
}
.tb-header-num::after{content:'';position:absolute;inset:3px;border:1.5px solid rgba(255,255,255,.35);border-radius:11px}
.tb-header-titles{flex:1;line-height:1.2}
.tb-header-eyebrow{
  font-family:'Cairo';font-size:10px;font-weight:700;
  color:var(--th-acc);opacity:.7;
  letter-spacing:3px;margin-bottom:2px;
}
.tb-header-main{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:24px;
  color:var(--th-head);line-height:1.15;
}
.tb-header-logo{height:36px;opacity:.65;filter:grayscale(.15)}

/* رأس مبسّط للصفحات التالية */
.tb-header-slim{padding:14px 28px 4px 42px}
.tb-header-slim .tb-header-main{font-size:17px;color:var(--th-acc);font-weight:700}
.tb-header-num-mini{
  width:34px;height:34px;border-radius:10px;
  background:var(--th-head);color:#fff;
  font-family:'Cairo';font-weight:900;font-size:14px;
  display:flex;align-items:center;justify-content:center;
}

.tb-header-flourish{
  margin:4px 28px 4px 42px;height:6px;
  background:linear-gradient(90deg, var(--th-head) 0%, var(--th-head2) 50%, transparent 100%);
  border-radius:3px;
}
.tb-header-thin{
  margin:6px 28px 6px 42px;height:1.5px;
  background:linear-gradient(90deg, var(--th-head2) 0%, transparent 80%);
  opacity:.5;
}

.tb-body{
  position:absolute;
  top:108px;bottom:60px;
  left:42px;right:28px;
  overflow:hidden;
  font-family:'Cormorant Garamond','Amiri',serif;
  font-size:16.5px;line-height:1.78;
  color:#1a1a1a;
  direction:ltr;
}
.tb-content[dir="ltr"] .tb-body{direction:ltr;text-align:left}

.tb-footer{
  position:absolute;
  bottom:0;left:14px;right:0;
  height:46px;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--th-b);
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.02));
  font-family:'Cairo';font-size:11px;
  color:var(--th-acc);
}
.tb-footer-side{font-weight:700;opacity:.7}
.tb-footer-pageno{
  background:linear-gradient(135deg, var(--th-head), var(--th-head2));
  color:#fff;padding:5px 18px;
  border-radius:14px;font-weight:900;font-size:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
  direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;
}

/* ─────────── العناوين ─────────── */
.bk-section{
  display:flex;align-items:center;gap:14px;
  margin:14px 0 16px;
  padding-bottom:10px;
  border-bottom:2.5px solid var(--th-head);
  text-align:left;
}
.bk-snum{
  flex-shrink:0;
  width:42px;height:42px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--th-head), var(--th-head2));
  color:#fff;
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:22px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 10px rgba(0,0,0,.22), inset 0 -2px 4px rgba(0,0,0,.15);
}
.bk-stxt{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:24px;
  color:var(--th-head);flex:1;
  letter-spacing:.2px;
}

.bk-subsection{
  display:flex;align-items:center;gap:10px;
  margin:16px 0 10px;
  padding:8px 14px;
  background:var(--th-soft);
  border-left:4px solid var(--th-head2);
  border-radius:6px;
}
.bk-sub-num{
  font-family:'Cairo';font-weight:900;
  background:var(--th-head2);color:#fff;
  padding:2px 9px;border-radius:6px;
  font-size:12px;letter-spacing:.5px;
}
.bk-sub-txt{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:17px;color:var(--th-acc);
}

/* ─────────── النص ─────────── */
.bk-text{margin:8px 0;text-align:left;padding:0 4px}

/* ─────────── الأشكال ─────────── */
.bk-figure{
  margin:10px 0;padding:24px;
  border:1.5px dashed #b8954a;border-radius:10px;
  background:#fff9eb;text-align:center;
  color:#8a6f2a;font-style:italic;font-size:13px;
}

/* ═══════════════════════════════════════════════════════════════════
   ★ الكتل المفتوحة (Exemple, Application, Remarque)
   تنسيق أنيق بدون صناديق
   ═══════════════════════════════════════════════════════════════════ */
.bk-open{
  margin:14px 0 12px;
  padding:2px 0 4px 14px;
  border-left:3px solid var(--cc);
  position:relative;
  break-inside:avoid;page-break-inside:avoid;
}
.bk-open-tag{
  display:flex;align-items:center;gap:8px;
  margin-bottom:6px;
}
.bk-open-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;
  background:var(--cc);color:#fff;
  border-radius:50%;
  font-size:11px;font-weight:700;
  box-shadow:0 2px 4px rgba(0,0,0,.15);
  flex-shrink:0;
}
.bk-open-label{
  font-family:'Cairo';font-weight:900;
  font-size:14px;color:var(--cc);
  letter-spacing:.3px;
  text-transform:uppercase;
}
.bk-open-rule{
  flex:1;height:1px;
  background:linear-gradient(90deg, var(--cc) 0%, transparent 80%);
  opacity:.35;
}
.bk-open-body{
  padding:0 4px 0 4px;
  font-size:15.5px;line-height:1.85;
  color:#1a1a1a;
}
.bk-open-body ul,.bk-open-body ol{margin:6px 0;padding-left:24px}
.bk-open-body li{margin:4px 0}

/* تخصيصات حسب النوع */
.bk-open-remarque .bk-open-body{font-style:italic;color:#444}
.bk-open-application{padding-left:18px}
.bk-open-application::before{
  content:'';position:absolute;top:0;left:-3px;width:6px;
  height:30px;background:var(--cc);border-radius:0 4px 4px 0;
}

/* ═══════════════════════════════════════════════════════════════════
   ★ الصناديق المغلقة (Définition, Propriété, Théorème, Activité)
   ـ أربعة قوالب قابلة للتبديل ـ
   ═══════════════════════════════════════════════════════════════════ */

/* القاعدة المشتركة */
.bk-cadre{
  margin:12px 0;
  break-inside:avoid;page-break-inside:avoid;
  position:relative;
}
.bk-cadre-head{
  display:flex;align-items:center;gap:10px;
}
.bk-cadre-icon{
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.bk-cadre-label{
  font-family:'Cairo';font-weight:900;
  letter-spacing:.3px;
}
.bk-cadre-body{
  font-family:'Cormorant Garamond','Amiri',serif;
  font-size:16px;line-height:1.85;
  color:#1a1a1a;
}
.bk-cadre-body ul,.bk-cadre-body ol{margin:6px 0;padding-left:24px}
.bk-cadre-body li{margin:4px 0}
.bk-cadre-body u{text-decoration:underline;text-decoration-color:var(--cc)}
.bk-cadre-body mjx-container[display="true"]{max-width:100%;overflow-x:auto}

/* ╔══ قالب 1 : CLASSIQUE ══╗ */
[data-tpl="classique"] .bk-cadre{
  background:#fff;
  border:1.5px solid var(--cc);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
[data-tpl="classique"] .bk-cadre::before{
  content:'';position:absolute;top:0;left:0;bottom:0;width:5px;background:var(--cc);
}
[data-tpl="classique"] .bk-cadre-head{
  padding:9px 18px 9px 22px;
  background:color-mix(in srgb, var(--cc) 10%, #fff);
  border-bottom:1px solid var(--cc);
}
[data-tpl="classique"] .bk-cadre-icon{
  width:26px;height:26px;border-radius:50%;background:var(--cc);color:#fff;
  font-size:13px;font-weight:700;box-shadow:0 2px 4px rgba(0,0,0,.15);
}
[data-tpl="classique"] .bk-cadre-label{font-size:15px;color:var(--cc)}
[data-tpl="classique"] .bk-cadre-body{padding:12px 18px 14px;font-size:15.5px}

/* ╔══ قالب 2 : MODERNE ══╗ */
[data-tpl="moderne"] .bk-cadre{
  background:#fff;
  border-left:6px solid var(--cc);
  border-radius:4px;
  box-shadow:0 4px 14px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.04);
  padding:14px 18px 14px 22px;
  overflow:hidden;
}
[data-tpl="moderne"] .bk-cadre-head{
  margin-bottom:8px;padding-bottom:6px;
  border-bottom:2px dotted color-mix(in srgb, var(--cc) 35%, transparent);
}
[data-tpl="moderne"] .bk-cadre-icon{
  width:28px;height:28px;border-radius:8px;
  background:color-mix(in srgb, var(--cc) 12%, #fff);
  color:var(--cc);font-size:15px;font-weight:700;
  border:1.5px solid var(--cc);
}
[data-tpl="moderne"] .bk-cadre-label{font-size:16px;color:var(--cc);text-transform:uppercase}
[data-tpl="moderne"] .bk-cadre-body{font-size:16px}

/* ╔══ قالب 3 : ÉLÉGANT ══╗ */
[data-tpl="elegant"] .bk-cadre{
  background:linear-gradient(180deg,#fefcf6 0%,#faf6e9 100%);
  border:1px solid #c8a866;
  border-radius:0;
  position:relative;
  box-shadow:0 4px 16px rgba(120,90,40,.15), inset 0 0 0 1px rgba(255,255,255,.6);
  padding:0;
  overflow:visible;
}
[data-tpl="elegant"] .bk-cadre::before,
[data-tpl="elegant"] .bk-cadre::after{
  content:'';position:absolute;
  width:18px;height:18px;
  border:2px solid var(--cc);
}
[data-tpl="elegant"] .bk-cadre::before{top:-4px;left:-4px;border-right:0;border-bottom:0}
[data-tpl="elegant"] .bk-cadre::after{bottom:-4px;right:-4px;border-left:0;border-top:0}
[data-tpl="elegant"] .bk-cadre-head{
  background:linear-gradient(90deg, color-mix(in srgb, var(--cc) 16%, #fefcf6), #fefcf6 70%);
  padding:11px 22px 11px 18px;
  border-bottom:1.5px solid var(--cc);
  justify-content:flex-start;
}
[data-tpl="elegant"] .bk-cadre-icon{
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg, var(--cc), color-mix(in srgb, var(--cc) 70%, #fff));
  color:#fff;font-size:16px;
  box-shadow:0 3px 8px rgba(0,0,0,.2), inset 0 -2px 4px rgba(0,0,0,.15);
  border:2px solid #fff;
}
[data-tpl="elegant"] .bk-cadre-label{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:20px;color:var(--cc);
  font-variant:small-caps;letter-spacing:1.5px;
  text-transform:none;
}
[data-tpl="elegant"] .bk-cadre-body{padding:14px 22px 16px;font-size:16px}

/* ╔══ قالب 4 : MANUEL (Hatier/Bordas-style) ══╗ */
[data-tpl="manuel"] .bk-cadre{
  background:#fff;
  border:none;
  border-radius:0;
  padding-top:0;
  position:relative;
  margin-top:22px;
}
[data-tpl="manuel"] .bk-cadre-head{
  background:var(--cc);color:#fff;
  padding:6px 16px;
  border-radius:8px 8px 0 0;
  display:inline-flex;
  position:relative;
  margin-bottom:0;
  box-shadow:0 -2px 4px rgba(0,0,0,.06);
}
[data-tpl="manuel"] .bk-cadre-icon{
  width:22px;height:22px;border-radius:50%;
  background:rgba(255,255,255,.25);color:#fff;
  font-size:12px;border:1.5px solid rgba(255,255,255,.5);
}
[data-tpl="manuel"] .bk-cadre-label{
  font-size:14px;color:#fff;text-transform:uppercase;letter-spacing:1px;
}
[data-tpl="manuel"] .bk-cadre-body{
  border:2px solid var(--cc);
  border-radius:0 8px 8px 8px;
  padding:14px 18px;
  background:#fff;
  font-size:15.5px;
}

/* عام: التنبيه */
.bk-warning{
  background:#fff3cd;border:1.5px solid #f0c36d;
  color:#7a5a10;padding:14px 20px;border-radius:10px;
  font-family:'Cairo';text-align:center;
}

/* الطباعة */
@media print{
  .flp-fiche{gap:0}
  .flp-pg{box-shadow:none;border-radius:0;margin:0}
}


/* ═══════════════════════════════════════════════════════════════════
   كتاب الدرس — Manuel scolaire | v2
   Body: LTR for French content
   ═══════════════════════════════════════════════════════════════════ */

.textbook{
  display:flex;flex-direction:column;align-items:center;gap:30px;
  font-family:'Cormorant Garamond','Amiri',serif;color:#1a1a1a;
  --th-head:#1a4fb8; --th-head2:#3a6fd8; --th-acc:#0f3a8a; --th-soft:#e8eefb; --th-b:#b8c8e8;
}

.tb-page{
  position:relative;
  width:794px;height:1123px;
  background:#fdfcf7;
  box-shadow:0 12px 40px rgba(0,0,0,.25), 0 2px 6px rgba(0,0,0,.1);
  border-radius:3px;
  overflow:hidden;
  box-sizing:border-box;
  direction:ltr;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}

/* ═══════════════════════════════════════════════════════════════════
   1) الغلاف
   ═══════════════════════════════════════════════════════════════════ */
.tb-cover{background:#fff}
.tb-cover-bg{
  position:absolute;top:50%;left:50%;
  width:1123px;height:794px;
  object-fit:cover;
  transform:translate(-50%,-50%) rotate(90deg);
  z-index:0;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}
.tb-cover-veil{
  position:absolute;inset:0;z-index:1;
  background:radial-gradient(ellipse at center, rgba(255,255,255,0) 25%, rgba(255,255,255,.93) 75%);
  pointer-events:none;
}
.tb-cover-math{
  position:absolute;
  bottom:60px;left:0;right:0;
  text-align:center;
  font-family:'Cambria Math','STIX Two Math','Latin Modern Math','Times New Roman','Amiri',serif;
  font-size:200px;font-weight:400;
  color:var(--th-head);
  opacity:.06;line-height:.8;
  z-index:1;pointer-events:none;
  letter-spacing:24px;
  white-space:nowrap;
}
.tb-cover-inner{
  position:absolute;inset:0;z-index:2;
  padding:42px 44px 36px;
  display:flex;flex-direction:column;
  box-sizing:border-box;
}

/* ترويسة وزارية */
.tb-cover-ministry{
  background:rgba(255,255,255,.88);
  border:1.5px solid var(--th-b);
  border-radius:14px;
  padding:12px 22px;
  display:flex;align-items:center;justify-content:center;gap:22px;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
  font-family:'Amiri',sans-serif;
}
.tb-cover-tif{
  font-family:'Noto Sans Tifinagh','Amiri',sans-serif;
  font-size:11px;line-height:1.85;
  color:#3a3a3a;opacity:.85;
  max-width:170px;text-align:center;
}
.tb-cover-emblem{height:70px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));flex-shrink:0}
.tb-cover-ar{
  font-family:'Amiri';font-size:14px;line-height:1.95;
  color:#1a1a1a;font-weight:700;
  max-width:180px;text-align:center;
}

/* منطقة العنوان */
.tb-cover-hero{
  flex:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  position:relative;
  padding:8px 0;
}
.tb-cover-eyebrow{
  font-family:'Cairo';font-weight:700;font-size:14px;
  color:var(--th-acc);
  letter-spacing:3px;
  margin-bottom:18px;
  text-transform:uppercase;
}
.tb-cover-eyebrow .dot{margin:0 8px;opacity:.5;font-size:9px;vertical-align:middle}

.tb-cover-badge{
  position:relative;width:130px;height:130px;
  margin-bottom:16px;flex-shrink:0;
}
.tb-cover-badge-ring{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg, var(--th-head), var(--th-head2), var(--th-head));
  padding:5px;
  box-shadow:0 6px 22px rgba(0,0,0,.25), inset 0 -3px 8px rgba(0,0,0,.2);
}
.tb-cover-badge-ring::after{
  content:'';position:absolute;inset:5px;border-radius:50%;
  background:#fdfcf7;
  border:2px dashed var(--th-acc);
}
.tb-cover-badge-inner{
  position:absolute;inset:0;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:'Cairo';color:var(--th-head);z-index:2;
}
.tb-cover-badge-inner small{font-size:11px;font-weight:700;letter-spacing:2px;opacity:.75;text-transform:uppercase}
.tb-cover-badge-inner b{font-size:44px;font-weight:900;line-height:1}

.tb-cover-title{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;
  font-size:54px;line-height:1.15;
  color:var(--th-head);
  margin:4px 30px 12px;
  text-shadow:2px 3px 6px rgba(0,0,0,.15);
  letter-spacing:-.5px;
}
.tb-cover-flourish{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px}
.tb-cover-flourish .line{flex:0 0 80px;height:1.5px;background:linear-gradient(90deg, transparent, var(--th-head2), transparent)}
.tb-cover-flourish .ornament{font-size:22px;color:var(--th-head2)}
.tb-cover-subtitle{
  font-family:'Great Vibes',cursive;
  font-size:36px;color:var(--th-head2);
  line-height:1;margin-bottom:24px;
}

/* معلومات الأستاذ (بدون بطاقة، تحت العنوان مباشرة) */
.tb-cover-meta{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  font-family:'Cormorant Garamond','Amiri',serif;
  margin-top:6px;
}
.tb-meta-row{
  display:flex;align-items:baseline;gap:10px;
  font-size:18px;color:#1a1a1a;line-height:1.4;
}
.tb-meta-key{
  font-family:'Cairo';font-weight:700;
  font-size:12px;color:var(--th-acc);
  letter-spacing:2px;
  text-transform:uppercase;
  opacity:.85;
}
.tb-meta-sep{color:var(--th-head2);font-weight:700;opacity:.6}
.tb-meta-val{
  font-family:'Cormorant Garamond','Amiri',serif;
  font-weight:500;color:#1a1a1a;
  font-size:18px;
}

/* ═══════════════════════════════════════════════════════════════════
   2) صفحات المحتوى
   ═══════════════════════════════════════════════════════════════════ */
.tb-content{
  background:#fdfcf7
    repeating-linear-gradient(0deg, rgba(180,160,120,.02) 0 1px, transparent 1px 24px);
  padding:0;
}

/* الشريط الجانبي على اليسار (LTR) */
.tb-side-strip{
  position:absolute;
  top:0;bottom:0;left:0;
  width:14px;
  background:linear-gradient(180deg, var(--th-head) 0%, var(--th-head2) 100%);
  box-shadow:inset 2px 0 4px rgba(0,0,0,.15);
}
.tb-side-strip::before{
  content:'';position:absolute;top:30px;bottom:30px;left:3px;width:1.5px;
  background:rgba(255,255,255,.3);
}

.tb-header{
  display:flex;align-items:center;gap:14px;
  padding:22px 28px 8px 42px; /* 14 strip + 28 padding */
}
.tb-header-num{
  flex-shrink:0;
  width:54px;height:54px;
  border-radius:14px;
  background:linear-gradient(135deg, var(--th-head), var(--th-head2));
  color:#fff;
  font-family:'Cairo';font-weight:900;font-size:22px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
  position:relative;
}
.tb-header-num::after{content:'';position:absolute;inset:3px;border:1.5px solid rgba(255,255,255,.35);border-radius:11px}
.tb-header-titles{flex:1;line-height:1.2}
.tb-header-eyebrow{
  font-family:'Cairo';font-size:10px;font-weight:700;
  color:var(--th-acc);opacity:.7;
  letter-spacing:3px;margin-bottom:2px;
}
.tb-header-main{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:24px;
  color:var(--th-head);line-height:1.15;
}
.tb-header-logo{height:36px;opacity:.65;filter:grayscale(.15)}

/* رأس مبسّط للصفحات التالية */
.tb-header-slim{padding:14px 28px 4px 42px}
.tb-header-slim .tb-header-main{font-size:17px;color:var(--th-acc);font-weight:700}
.tb-header-num-mini{
  width:34px;height:34px;border-radius:10px;
  background:var(--th-head);color:#fff;
  font-family:'Cairo';font-weight:900;font-size:14px;
  display:flex;align-items:center;justify-content:center;
}

.tb-header-flourish{
  margin:4px 28px 4px 42px;height:6px;
  background:linear-gradient(90deg, var(--th-head) 0%, var(--th-head2) 50%, transparent 100%);
  border-radius:3px;
}
.tb-header-thin{
  margin:6px 28px 6px 42px;height:1.5px;
  background:linear-gradient(90deg, var(--th-head2) 0%, transparent 80%);
  opacity:.5;
}

.tb-body{
  position:absolute;
  top:108px;bottom:60px;
  left:42px;right:28px;
  overflow:hidden;
  font-family:'Cormorant Garamond','Amiri',serif;
  font-size:16.5px;line-height:1.78;
  color:#1a1a1a;
  direction:ltr;
}
.tb-content[dir="ltr"] .tb-body{direction:ltr;text-align:left}

.tb-footer{
  position:absolute;
  bottom:0;left:14px;right:0;
  height:46px;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--th-b);
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.02));
  font-family:'Cairo';font-size:11px;
  color:var(--th-acc);
}
.tb-footer-side{font-weight:700;opacity:.7}
.tb-footer-pageno{
  background:linear-gradient(135deg, var(--th-head), var(--th-head2));
  color:#fff;padding:5px 18px;
  border-radius:14px;font-weight:900;font-size:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
  direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;
}

/* ─────────── العناوين ─────────── */
.bk-section{
  display:flex;align-items:center;gap:14px;
  margin:14px 0 16px;
  padding-bottom:10px;
  border-bottom:2.5px solid var(--th-head);
  text-align:left;
}
.bk-snum{
  flex-shrink:0;
  width:42px;height:42px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--th-head), var(--th-head2));
  color:#fff;
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:22px;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 10px rgba(0,0,0,.22), inset 0 -2px 4px rgba(0,0,0,.15);
}
.bk-stxt{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:24px;
  color:var(--th-head);flex:1;
  letter-spacing:.2px;
}

.bk-subsection{
  display:flex;align-items:center;gap:10px;
  margin:16px 0 10px;
  padding:8px 14px;
  background:var(--th-soft);
  border-left:4px solid var(--th-head2);
  border-radius:6px;
}
.bk-sub-num{
  font-family:'Cairo';font-weight:900;
  background:var(--th-head2);color:#fff;
  padding:2px 9px;border-radius:6px;
  font-size:12px;letter-spacing:.5px;
}
.bk-sub-txt{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:17px;color:var(--th-acc);
}

/* ─────────── النص ─────────── */
.bk-text{margin:8px 0;text-align:left;padding:0 4px}

/* ─────────── الأشكال ─────────── */
.bk-figure{
  margin:10px 0;padding:24px;
  border:1.5px dashed #b8954a;border-radius:10px;
  background:#fff9eb;text-align:center;
  color:#8a6f2a;font-style:italic;font-size:13px;
}

/* ═══════════════════════════════════════════════════════════════════
   ★ الكتل المفتوحة (Exemple, Application, Remarque)
   تنسيق أنيق بدون صناديق
   ═══════════════════════════════════════════════════════════════════ */
.bk-open{
  margin:14px 0 12px;
  padding:2px 0 4px 14px;
  border-left:3px solid var(--cc);
  position:relative;
  break-inside:avoid;page-break-inside:avoid;
}
.bk-open-tag{
  display:flex;align-items:center;gap:8px;
  margin-bottom:6px;
}
.bk-open-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;
  background:var(--cc);color:#fff;
  border-radius:50%;
  font-size:11px;font-weight:700;
  box-shadow:0 2px 4px rgba(0,0,0,.15);
  flex-shrink:0;
}
.bk-open-label{
  font-family:'Cairo';font-weight:900;
  font-size:14px;color:var(--cc);
  letter-spacing:.3px;
  text-transform:uppercase;
}
.bk-open-rule{
  flex:1;height:1px;
  background:linear-gradient(90deg, var(--cc) 0%, transparent 80%);
  opacity:.35;
}
.bk-open-body{
  padding:0 4px 0 4px;
  font-size:15.5px;line-height:1.85;
  color:#1a1a1a;
}
.bk-open-body ul,.bk-open-body ol{margin:6px 0;padding-left:24px}
.bk-open-body li{margin:4px 0}

/* تخصيصات حسب النوع */
.bk-open-remarque .bk-open-body{font-style:italic;color:#444}
.bk-open-application{padding-left:18px}
.bk-open-application::before{
  content:'';position:absolute;top:0;left:-3px;width:6px;
  height:30px;background:var(--cc);border-radius:0 4px 4px 0;
}

/* ═══════════════════════════════════════════════════════════════════
   ★ الصناديق المغلقة (Définition, Propriété, Théorème, Activité)
   ـ أربعة قوالب قابلة للتبديل ـ
   ═══════════════════════════════════════════════════════════════════ */

/* القاعدة المشتركة */
.bk-cadre{
  margin:12px 0;
  break-inside:avoid;page-break-inside:avoid;
  position:relative;
}
.bk-cadre-head{
  display:flex;align-items:center;gap:10px;
}
.bk-cadre-icon{
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.bk-cadre-label{
  font-family:'Cairo';font-weight:900;
  letter-spacing:.3px;
}
.bk-cadre-body{
  font-family:'Cormorant Garamond','Amiri',serif;
  font-size:16px;line-height:1.85;
  color:#1a1a1a;
}
.bk-cadre-body ul,.bk-cadre-body ol{margin:6px 0;padding-left:24px}
.bk-cadre-body li{margin:4px 0}
.bk-cadre-body u{text-decoration:underline;text-decoration-color:var(--cc)}
.bk-cadre-body mjx-container[display="true"]{max-width:100%;overflow-x:auto}

/* ╔══ قالب 1 : CLASSIQUE ══╗ */
[data-tpl="classique"] .bk-cadre{
  background:#fff;
  border:1.5px solid var(--cc);
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.06);
}
[data-tpl="classique"] .bk-cadre::before{
  content:'';position:absolute;top:0;left:0;bottom:0;width:5px;background:var(--cc);
}
[data-tpl="classique"] .bk-cadre-head{
  padding:9px 18px 9px 22px;
  background:color-mix(in srgb, var(--cc) 10%, #fff);
  border-bottom:1px solid var(--cc);
}
[data-tpl="classique"] .bk-cadre-icon{
  width:26px;height:26px;border-radius:50%;background:var(--cc);color:#fff;
  font-size:13px;font-weight:700;box-shadow:0 2px 4px rgba(0,0,0,.15);
}
[data-tpl="classique"] .bk-cadre-label{font-size:15px;color:var(--cc)}
[data-tpl="classique"] .bk-cadre-body{padding:12px 18px 14px;font-size:15.5px}

/* ╔══ قالب 2 : MODERNE ══╗ */
[data-tpl="moderne"] .bk-cadre{
  background:#fff;
  border-left:6px solid var(--cc);
  border-radius:4px;
  box-shadow:0 4px 14px rgba(0,0,0,.08), 0 1px 3px rgba(0,0,0,.04);
  padding:14px 18px 14px 22px;
  overflow:hidden;
}
[data-tpl="moderne"] .bk-cadre-head{
  margin-bottom:8px;padding-bottom:6px;
  border-bottom:2px dotted color-mix(in srgb, var(--cc) 35%, transparent);
}
[data-tpl="moderne"] .bk-cadre-icon{
  width:28px;height:28px;border-radius:8px;
  background:color-mix(in srgb, var(--cc) 12%, #fff);
  color:var(--cc);font-size:15px;font-weight:700;
  border:1.5px solid var(--cc);
}
[data-tpl="moderne"] .bk-cadre-label{font-size:16px;color:var(--cc);text-transform:uppercase}
[data-tpl="moderne"] .bk-cadre-body{font-size:16px}

/* ╔══ قالب 3 : ÉLÉGANT ══╗ */
[data-tpl="elegant"] .bk-cadre{
  background:linear-gradient(180deg,#fefcf6 0%,#faf6e9 100%);
  border:1px solid #c8a866;
  border-radius:0;
  position:relative;
  box-shadow:0 4px 16px rgba(120,90,40,.15), inset 0 0 0 1px rgba(255,255,255,.6);
  padding:0;
  overflow:visible;
}
[data-tpl="elegant"] .bk-cadre::before,
[data-tpl="elegant"] .bk-cadre::after{
  content:'';position:absolute;
  width:18px;height:18px;
  border:2px solid var(--cc);
}
[data-tpl="elegant"] .bk-cadre::before{top:-4px;left:-4px;border-right:0;border-bottom:0}
[data-tpl="elegant"] .bk-cadre::after{bottom:-4px;right:-4px;border-left:0;border-top:0}
[data-tpl="elegant"] .bk-cadre-head{
  background:linear-gradient(90deg, color-mix(in srgb, var(--cc) 16%, #fefcf6), #fefcf6 70%);
  padding:11px 22px 11px 18px;
  border-bottom:1.5px solid var(--cc);
  justify-content:flex-start;
}
[data-tpl="elegant"] .bk-cadre-icon{
  width:32px;height:32px;border-radius:50%;
  background:linear-gradient(135deg, var(--cc), color-mix(in srgb, var(--cc) 70%, #fff));
  color:#fff;font-size:16px;
  box-shadow:0 3px 8px rgba(0,0,0,.2), inset 0 -2px 4px rgba(0,0,0,.15);
  border:2px solid #fff;
}
[data-tpl="elegant"] .bk-cadre-label{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:20px;color:var(--cc);
  font-variant:small-caps;letter-spacing:1.5px;
  text-transform:none;
}
[data-tpl="elegant"] .bk-cadre-body{padding:14px 22px 16px;font-size:16px}

/* ╔══ قالب 4 : MANUEL (Hatier/Bordas-style) ══╗ */
[data-tpl="manuel"] .bk-cadre{
  background:#fff;
  border:none;
  border-radius:0;
  padding-top:0;
  position:relative;
  margin-top:22px;
}
[data-tpl="manuel"] .bk-cadre-head{
  background:var(--cc);color:#fff;
  padding:6px 16px;
  border-radius:8px 8px 0 0;
  display:inline-flex;
  position:relative;
  margin-bottom:0;
  box-shadow:0 -2px 4px rgba(0,0,0,.06);
}
[data-tpl="manuel"] .bk-cadre-icon{
  width:22px;height:22px;border-radius:50%;
  background:rgba(255,255,255,.25);color:#fff;
  font-size:12px;border:1.5px solid rgba(255,255,255,.5);
}
[data-tpl="manuel"] .bk-cadre-label{
  font-size:14px;color:#fff;text-transform:uppercase;letter-spacing:1px;
}
[data-tpl="manuel"] .bk-cadre-body{
  border:2px solid var(--cc);
  border-radius:0 8px 8px 8px;
  padding:14px 18px;
  background:#fff;
  font-size:15.5px;
}

/* ╔══ قالب 5 : ACADÉMIQUE — مزدوج الخطوط، رصين ══╗ */
[data-tpl="academique"] .bk-cadre{
  background:#fefefe;
  border:3px double var(--cc);
  border-radius:2px;
  position:relative;
  padding:0;
}
[data-tpl="academique"] .bk-cadre::before{
  content:'';position:absolute;
  top:6px;left:6px;right:6px;bottom:6px;
  border:1px solid color-mix(in srgb, var(--cc) 35%, transparent);
  pointer-events:none;
}
[data-tpl="academique"] .bk-cadre-head{
  padding:12px 22px 8px;
  border-bottom:1.5px solid var(--cc);
  background:linear-gradient(180deg, color-mix(in srgb, var(--cc) 7%, #fefefe), transparent);
  justify-content:center;
  position:relative;
  z-index:1;
}
[data-tpl="academique"] .bk-cadre-icon{
  width:24px;height:24px;border-radius:0;
  background:transparent;color:var(--cc);
  font-size:18px;font-weight:700;
  box-shadow:none;
}
[data-tpl="academique"] .bk-cadre-label{
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;font-size:20px;color:var(--cc);
  font-variant:small-caps;letter-spacing:2px;
}
[data-tpl="academique"] .bk-cadre-body{
  padding:14px 26px 18px;
  font-family:'Cormorant Garamond','Amiri',serif;
  font-size:16.5px;text-align:justify;
  position:relative;z-index:1;
}

/* ╔══ قالب 6 : CARTE — بطاقة بظلال عميقة ══╗ */
[data-tpl="carte"] .bk-cadre{
  background:#fff;
  border:none;
  border-radius:14px;
  box-shadow:
    0 1px 2px rgba(0,0,0,.08),
    0 6px 16px rgba(0,0,0,.08),
    0 14px 32px rgba(0,0,0,.06);
  overflow:hidden;
  position:relative;
  margin:18px 0;
}
[data-tpl="carte"] .bk-cadre::before{
  content:'';position:absolute;
  top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg, var(--cc) 0%, color-mix(in srgb, var(--cc) 60%, #fff) 100%);
}
[data-tpl="carte"] .bk-cadre-head{
  padding:18px 22px 6px;
  background:transparent;
  gap:12px;
}
[data-tpl="carte"] .bk-cadre-icon{
  width:34px;height:34px;border-radius:10px;
  background:color-mix(in srgb, var(--cc) 14%, #fff);
  color:var(--cc);
  font-size:17px;font-weight:700;
  border:none;
  box-shadow:0 2px 6px color-mix(in srgb, var(--cc) 25%, transparent);
}
[data-tpl="carte"] .bk-cadre-label{
  font-size:17px;color:#1a1a1a;
  font-family:'Cormorant Garamond','Cairo',serif;
  font-weight:700;
  letter-spacing:.3px;
}
[data-tpl="carte"] .bk-cadre-body{
  padding:6px 22px 18px;
  font-size:15.5px;
  color:#3a3a3a;
}

/* ╔══ قالب 7 : JOURNAL — مجلّة علمية ══╗ */
[data-tpl="journal"] .bk-cadre{
  background:#fcfaf5;
  border-top:3px solid var(--cc);
  border-bottom:1px solid var(--cc);
  border-left:none;border-right:none;
  border-radius:0;
  padding:0;
  position:relative;
}
[data-tpl="journal"] .bk-cadre-head{
  padding:12px 20px 8px;
  background:transparent;
  gap:10px;
  border-bottom:1px dotted color-mix(in srgb, var(--cc) 40%, transparent);
}
[data-tpl="journal"] .bk-cadre-icon{
  width:0;height:0;
  background:transparent;border:none;color:transparent;
  display:none;
}
[data-tpl="journal"] .bk-cadre-head::before{
  content:'§';
  font-family:'Cormorant Garamond',serif;
  font-size:28px;color:var(--cc);
  line-height:1;font-weight:700;
  margin-right:4px;
}
[data-tpl="journal"] .bk-cadre-label{
  font-family:'Cormorant Garamond',serif;
  font-weight:700;font-size:18px;
  color:var(--cc);
  font-style:italic;
  letter-spacing:.2px;
}
[data-tpl="journal"] .bk-cadre-body{
  padding:10px 20px 14px;
  font-family:'Cormorant Garamond','Amiri',serif;
  font-size:16px;
  text-align:justify;
  column-rule:1px solid color-mix(in srgb, var(--cc) 20%, transparent);
}

/* ╔══ قالب 8 : MINIMAL — أنيق وبسيط ══╗ */
[data-tpl="minimal"] .bk-cadre{
  background:transparent;
  border:none;
  border-radius:0;
  padding:8px 0 8px 18px;
  position:relative;
  margin:18px 0;
  border-left:2px solid var(--cc);
}
[data-tpl="minimal"] .bk-cadre-head{
  background:transparent;
  padding:0;
  margin-bottom:6px;
  gap:8px;
}
[data-tpl="minimal"] .bk-cadre-icon{
  width:0;height:0;background:transparent;display:none;
}
[data-tpl="minimal"] .bk-cadre-head::before{
  content:'';
  width:6px;height:6px;
  border-radius:50%;
  background:var(--cc);
  display:inline-block;
}
[data-tpl="minimal"] .bk-cadre-label{
  font-family:'Cairo',sans-serif;
  font-size:13px;font-weight:900;
  color:var(--cc);
  letter-spacing:3px;
  text-transform:uppercase;
}
[data-tpl="minimal"] .bk-cadre-body{
  padding:0;
  font-family:'Cormorant Garamond','Amiri',serif;
  font-size:16px;line-height:1.85;
  color:#1a1a1a;
}

/* عام: التنبيه */
.bk-warning{
  background:#fff3cd;border:1.5px solid #f0c36d;
  color:#7a5a10;padding:14px 20px;border-radius:10px;
  font-family:'Cairo';text-align:center;
}

/* الطباعة */
@media print{
  .flp-fiche{gap:0}
  .flp-pg{box-shadow:none;border-radius:0;margin:0}
}






/* ═══════════════════════════════════════════════════════════════════
   أناقة التصاميم في صفحات الكتاب الداخلية
   data-style على .textbook → عناصر بصرية متميّزة
   الأنماط: gemstone | minimal | cosmic | soft | royal | (classic default)
   ═══════════════════════════════════════════════════════════════════ */

/* زخارف زاوية SVG لجميع صفحات المحتوى */
.tb-corner{
  position:absolute;
  width:60px;height:60px;
  pointer-events:none;
  z-index:1;
}
.tb-corner svg{width:100%;height:100%;display:block}
.tb-corner-tl{top:60px;left:38px}
.tb-corner-tr{top:60px;right:24px}
.tb-corner-bl{bottom:58px;left:38px}
.tb-corner-br{bottom:58px;right:24px}

/* ═══════════ نمط GEMSTONE (Saphir, Rubis, Améthyste) ═══════════ */
.textbook[data-style="gemstone"] .tb-side-strip{
  background:linear-gradient(180deg,
    var(--th-head) 0%,
    var(--th-head2) 30%,
    var(--th-head) 60%,
    var(--th-head2) 90%);
  width:18px;
}
.textbook[data-style="gemstone"] .tb-side-strip::after{
  content:'';
  position:absolute;
  top:30px;bottom:30px;
  left:50%;width:1px;
  background:rgba(255,255,255,.5);
  transform:translateX(-50%);
}
.textbook[data-style="gemstone"] .tb-side-strip::before{
  content:'';
  position:absolute;top:5px;bottom:5px;left:0;width:3px;
  background:linear-gradient(180deg,
    rgba(255,255,255,.5) 0%,
    rgba(255,255,255,.1) 40%,
    rgba(255,255,255,.5) 80%);
}
.textbook[data-style="gemstone"] .tb-page{
  background:
    radial-gradient(ellipse at top left,
      rgba(var(--th-soft-rgb),0.8) 0%,
      transparent 30%),
    radial-gradient(ellipse at bottom right,
      rgba(var(--th-soft-rgb),0.6) 0%,
      transparent 30%),
    #fdfcf7;
}
.textbook[data-style="gemstone"] .tb-header-num{
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 30%,
      var(--th-head2),
      var(--th-head));
  box-shadow:
    0 4px 14px rgba(0,0,0,.28),
    inset 0 -3px 6px rgba(0,0,0,.2),
    inset 0 2px 3px rgba(255,255,255,.4);
}
.textbook[data-style="gemstone"] .tb-header-num::after{
  border:1.5px solid rgba(255,255,255,.5);
  border-radius:50%;
  inset:4px;
}
.textbook[data-style="gemstone"] .tb-footer-pageno{
  border-radius:50%;
  width:30px;height:30px;
  padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 30% 30%,
      var(--th-head2),
      var(--th-head));
  box-shadow:0 3px 8px rgba(0,0,0,.25), inset 0 -2px 4px rgba(0,0,0,.2);
}
.textbook[data-style="gemstone"] .bk-snum{
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 30%,
      var(--th-head2),
      var(--th-head));
  box-shadow:0 3px 10px rgba(0,0,0,.22), inset 0 -2px 4px rgba(0,0,0,.2);
}

/* ═══════════ نمط MINIMAL (Onyx) ═══════════ */
.textbook[data-style="minimal"] .tb-side-strip{
  width:4px;
  background:var(--th-head);
}
.textbook[data-style="minimal"] .tb-side-strip::before,
.textbook[data-style="minimal"] .tb-side-strip::after{display:none}
.textbook[data-style="minimal"] .tb-page{
  background:#fafafa;
}
.textbook[data-style="minimal"] .tb-header-flourish{
  height:1.5px;
  background:var(--th-head);
}
.textbook[data-style="minimal"] .tb-header-thin{
  background:var(--th-head);
  opacity:.3;
}
.textbook[data-style="minimal"] .tb-header-num{
  border-radius:0;
  background:var(--th-head);
  box-shadow:none;
}
.textbook[data-style="minimal"] .tb-header-num::after{display:none}
.textbook[data-style="minimal"] .tb-footer-pageno{
  background:var(--th-head);
  border-radius:0;
  box-shadow:none;
}
.textbook[data-style="minimal"] .bk-snum{
  border-radius:0;
  background:var(--th-head);
  box-shadow:none;
}

/* ═══════════ نمط COSMIC (Cosmos) ═══════════ */
.textbook[data-style="cosmic"] .tb-side-strip{
  background:linear-gradient(180deg,
    var(--th-acc) 0%,
    var(--th-head) 40%,
    var(--th-head2) 70%,
    var(--th-head) 100%);
  width:16px;
}
.textbook[data-style="cosmic"] .tb-page{
  background:
    radial-gradient(circle at 80% 20%,
      rgba(var(--th-head2-rgb),0.18) 0%,
      transparent 40%),
    #fdfcf7;
}
.textbook[data-style="cosmic"] .tb-header-num{
  border-radius:14px;
  background:
    radial-gradient(circle at 30% 30%,
      var(--th-head2),
      var(--th-head));
  box-shadow:
    0 4px 14px rgba(var(--th-head2-rgb),0.4),
    inset 0 -3px 8px rgba(0,0,0,.25);
  position:relative;
}
.textbook[data-style="cosmic"] .tb-header-num::before{
  content:'✦';
  position:absolute;
  top:-2px;right:-4px;
  color:var(--th-head2);
  font-size:11px;
  text-shadow:0 0 6px var(--th-head2);
}
.textbook[data-style="cosmic"] .bk-snum{
  border-radius:14px;
  background:
    radial-gradient(circle at 30% 30%,
      var(--th-head2),
      var(--th-head));
  box-shadow:0 3px 12px rgba(var(--th-head2-rgb),0.35),
    inset 0 -2px 5px rgba(0,0,0,.2);
}
.textbook[data-style="cosmic"] .tb-footer-pageno{
  background:linear-gradient(135deg, var(--th-head), var(--th-head2));
  box-shadow:0 0 12px rgba(var(--th-head2-rgb),0.4);
}

/* ═══════════ نمط SOFT (Or Rosé, Aurore) ═══════════ */
.textbook[data-style="soft"] .tb-side-strip{
  background:linear-gradient(180deg,
    var(--th-head2),
    var(--th-head));
  width:10px;
}
.textbook[data-style="soft"] .tb-page{
  background:
    linear-gradient(180deg,
      var(--th-soft) 0%,
      #fdfcf7 25%,
      #fdfcf7 75%,
      var(--th-soft) 100%);
}
.textbook[data-style="soft"] .tb-header-num{
  border-radius:50% 50% 50% 0;
  background:linear-gradient(135deg, var(--th-head2), var(--th-head));
  box-shadow:0 4px 12px rgba(var(--th-head2-rgb),0.35);
}
.textbook[data-style="soft"] .tb-header-num::after{display:none}
.textbook[data-style="soft"] .bk-snum{
  border-radius:50% 50% 50% 0;
  background:linear-gradient(135deg, var(--th-head2), var(--th-head));
  box-shadow:0 3px 10px rgba(var(--th-head2-rgb),0.3);
}
.textbook[data-style="soft"] .tb-footer-pageno{
  background:linear-gradient(135deg, var(--th-head2), var(--th-head));
  border-radius:50px;
}

/* ═══════════ نمط ROYAL (Marbre) ═══════════ */
.textbook[data-style="royal"] .tb-side-strip{
  background:linear-gradient(180deg,
    var(--th-head2) 0%,
    var(--th-head) 50%,
    var(--th-head2) 100%);
  width:14px;
}
.textbook[data-style="royal"] .tb-side-strip::after{
  content:'❖❖❖';
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%) rotate(90deg);
  color:rgba(255,255,255,.4);
  font-size:8px;
  letter-spacing:60px;
  white-space:nowrap;
}
.textbook[data-style="royal"] .tb-page{
  background:
    linear-gradient(180deg,
      #fefbf0 0%,
      #faf2dc 50%,
      #fefbf0 100%);
}
.textbook[data-style="royal"] .tb-header-num{
  border-radius:8px;
  background:linear-gradient(135deg,
    var(--th-head2),
    var(--th-head));
  box-shadow:0 4px 12px rgba(120,90,40,.3),
    inset 0 1px 0 rgba(255,255,255,.4);
  border:1.5px solid var(--th-head2);
}
.textbook[data-style="royal"] .tb-header-num::after{
  border:1px solid rgba(255,255,255,.5);
}
.textbook[data-style="royal"] .bk-snum{
  border-radius:8px;
  background:linear-gradient(135deg,
    var(--th-head2),
    var(--th-head));
  box-shadow:0 3px 10px rgba(120,90,40,.28),
    inset 0 1px 0 rgba(255,255,255,.4);
}
.textbook[data-style="royal"] .tb-footer-pageno{
  background:linear-gradient(135deg, var(--th-head2), var(--th-head));
  border-radius:6px;
  border:1px solid var(--th-head2);
}

/* ─── زخارف زاوية صغيرة في الصفحات (تظهر مع الأنماط الفاخرة) ─── */
.textbook[data-style="gemstone"] .tb-corner svg path,
.textbook[data-style="cosmic"] .tb-corner svg path,
.textbook[data-style="royal"] .tb-corner svg path{
  stroke:var(--th-head2);
}
.textbook[data-style="soft"] .tb-corner svg path{
  stroke:var(--th-head2);
  opacity:.6;
}
.textbook[data-style="minimal"] .tb-corner{display:none}
.textbook[data-style="classic"] .tb-corner{display:none}

/* تحسين العلامة المائية */
.tb-watermark{
  position:absolute;
  bottom:80px;right:40px;
  font-family:'Cambria Math','STIX Two Math','Latin Modern Math','Times New Roman',serif;
  font-size:200px;
  color:var(--th-head);
  opacity:.03;
  line-height:.8;
  pointer-events:none;
  z-index:1;
  user-select:none;
}
.textbook[data-style="minimal"] .tb-watermark{display:none}

/* ─── الغلاف: شارة الدرس بأشكال متنوّعة حسب النمط ─── */
.textbook[data-style="minimal"] .tb-cover-badge-ring{
  border-radius:0;
  background:var(--th-head);
}
.textbook[data-style="minimal"] .tb-cover-badge-ring::after{
  border-radius:0;
  border-style:solid;
  border-width:1px;
}
.textbook[data-style="minimal"] .tb-cover-badge-inner{
  border-radius:0;
}
.textbook[data-style="cosmic"] .tb-cover-badge-ring{
  box-shadow:
    0 6px 22px rgba(var(--th-head2-rgb),0.5),
    0 0 30px rgba(var(--th-head2-rgb),0.3),
    inset 0 -3px 8px rgba(0,0,0,.2);
}
.textbook[data-style="cosmic"] .tb-cover-badge-inner{
  background:linear-gradient(135deg, #fdfcf7 0%, var(--th-head2) 100%);
}
.textbook[data-style="royal"] .tb-cover-badge-ring{
  border-radius:8px;
}
.textbook[data-style="royal"] .tb-cover-badge-ring::after{
  border-radius:6px;
}
.textbook[data-style="royal"] .tb-cover-badge-inner{
  border-radius:8px;
}

/* عنوان الغلاف: خط متميّز للأنماط المختلفة */
.textbook[data-style="minimal"] .tb-cover-title{
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
  letter-spacing:-1px;
}
.textbook[data-style="cosmic"] .tb-cover-title{
  text-shadow:
    0 2px 4px rgba(0,0,0,.2),
    0 0 30px rgba(var(--th-head2-rgb),0.4);
}
.textbook[data-style="royal"] .tb-cover-title{
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-variant:small-caps;
  letter-spacing:1px;
}

/* ═══════════════════════════════════════════════════════════════════
   تكيّف الغلاف مع خلفيات داكنة (Saphir, Rubis, Améthyste, Onyx, Cosmos)
   ═══════════════════════════════════════════════════════════════════ */

/* للخلفيات الداكنة: veil داكن (vignette) بدل أبيض */
.textbook[data-style="gemstone"] .tb-cover-veil,
.textbook[data-style="cosmic"] .tb-cover-veil,
.textbook[data-style="minimal"] .tb-cover-veil{
  background:
    radial-gradient(ellipse at 50% 35%,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.15) 50%,
      rgba(0,0,0,.55) 100%);
}

/* العنوان الكبير: أبيض مع ظل قوي */
.textbook[data-style="gemstone"] .tb-cover-title,
.textbook[data-style="cosmic"] .tb-cover-title,
.textbook[data-style="minimal"] .tb-cover-title{
  color:#fff;
  text-shadow:
    0 2px 8px rgba(0,0,0,.6),
    0 0 30px rgba(var(--th-head2-rgb),0.4);
}

/* Cosmic: توهّج إضافي للعنوان */
.textbook[data-style="cosmic"] .tb-cover-title{
  text-shadow:
    0 2px 8px rgba(0,0,0,.7),
    0 0 22px rgba(255,255,255,.4),
    0 0 50px rgba(var(--th-head2-rgb),0.6);
}

/* العنوان الفرعي بخط Great Vibes */
.textbook[data-style="gemstone"] .tb-cover-subtitle,
.textbook[data-style="cosmic"] .tb-cover-subtitle,
.textbook[data-style="minimal"] .tb-cover-subtitle{
  color:#fff;
  opacity:.92;
  text-shadow:0 1px 4px rgba(0,0,0,.5);
}

/* eyebrow (Mathématiques • Niveau) */
.textbook[data-style="gemstone"] .tb-cover-eyebrow,
.textbook[data-style="cosmic"] .tb-cover-eyebrow,
.textbook[data-style="minimal"] .tb-cover-eyebrow{
  color:rgba(255,255,255,.85);
  text-shadow:0 1px 3px rgba(0,0,0,.5);
}

/* شارة الدرس: حواف داكنة، نص أبيض في الوسط */
.textbook[data-style="gemstone"] .tb-cover-badge-ring::after,
.textbook[data-style="cosmic"] .tb-cover-badge-ring::after,
.textbook[data-style="minimal"] .tb-cover-badge-ring::after{
  background:rgba(255,255,255,.95);
}
.textbook[data-style="gemstone"] .tb-cover-badge-inner small,
.textbook[data-style="cosmic"] .tb-cover-badge-inner small,
.textbook[data-style="minimal"] .tb-cover-badge-inner small,
.textbook[data-style="gemstone"] .tb-cover-badge-inner b,
.textbook[data-style="cosmic"] .tb-cover-badge-inner b,
.textbook[data-style="minimal"] .tb-cover-badge-inner b{
  color:var(--th-head);
}

/* خطوط الزخرفة بعد العنوان */
.textbook[data-style="gemstone"] .tb-cover-flourish .line,
.textbook[data-style="cosmic"] .tb-cover-flourish .line,
.textbook[data-style="minimal"] .tb-cover-flourish .line{
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent);
}
.textbook[data-style="gemstone"] .tb-cover-flourish .ornament,
.textbook[data-style="cosmic"] .tb-cover-flourish .ornament,
.textbook[data-style="minimal"] .tb-cover-flourish .ornament{
  color:#fff;
  text-shadow:0 0 12px rgba(255,255,255,.6);
}

/* معلومات الأستاذ */
.textbook[data-style="gemstone"] .tb-meta-key,
.textbook[data-style="cosmic"] .tb-meta-key,
.textbook[data-style="minimal"] .tb-meta-key{
  color:rgba(255,255,255,.7);
}
.textbook[data-style="gemstone"] .tb-meta-val,
.textbook[data-style="cosmic"] .tb-meta-val,
.textbook[data-style="minimal"] .tb-meta-val{
  color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.5);
}
.textbook[data-style="gemstone"] .tb-meta-sep,
.textbook[data-style="cosmic"] .tb-meta-sep,
.textbook[data-style="minimal"] .tb-meta-sep{
  color:rgba(255,255,255,.5);
}

/* رمز رياضي خلفي: أبيض شفاف */
.textbook[data-style="gemstone"] .tb-cover-math,
.textbook[data-style="cosmic"] .tb-cover-math,
.textbook[data-style="minimal"] .tb-cover-math{
  color:#fff;
  opacity:.07;
}

/* الترويسة الوزارية تحتفظ بخلفية بيضاء (للقراءة) لكن خفّ ظلّها */
.textbook[data-style="gemstone"] .tb-cover-ministry,
.textbook[data-style="cosmic"] .tb-cover-ministry,
.textbook[data-style="minimal"] .tb-cover-ministry{
  background:rgba(255,255,255,.95);
  box-shadow:0 4px 16px rgba(0,0,0,.25);
}

/* ─── الأنماط الفاتحة (Soft, Royal) ─── */
.textbook[data-style="soft"] .tb-cover-veil,
.textbook[data-style="royal"] .tb-cover-veil{
  background:
    radial-gradient(ellipse at 50% 35%,
      rgba(255,255,255,0) 20%,
      rgba(255,255,255,.55) 90%);
}

/* ═══════════════════════════════════════════════════════════════════
   شعار المملكة بدون إطار + ينزل للأسفل
   ═══════════════════════════════════════════════════════════════════ */
.tb-cover-ministry{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:8px 18px !important;
  gap:36px;
}
.tb-cover-tif{color:rgba(0,0,0,.75)}
.tb-cover-ar{color:rgba(0,0,0,.85)}

/* النص فاتح على الخلفيات الداكنة */
.textbook[data-style="gemstone"] .tb-cover-tif,
.textbook[data-style="cosmic"] .tb-cover-tif,
.textbook[data-style="minimal"] .tb-cover-tif,
.textbook[data-style="academic"] .tb-cover-tif,
.textbook[data-style="spotlight"] .tb-cover-tif{
  color:rgba(255,255,255,.85);
  text-shadow:0 1px 3px rgba(0,0,0,.5);
}
.textbook[data-style="gemstone"] .tb-cover-ar,
.textbook[data-style="cosmic"] .tb-cover-ar,
.textbook[data-style="minimal"] .tb-cover-ar,
.textbook[data-style="academic"] .tb-cover-ar,
.textbook[data-style="spotlight"] .tb-cover-ar{
  color:rgba(255,255,255,.95);
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}

/* شعار المملكة في أسفل الغلاف (بدون إطار) */
.tb-cover-emblem-bottom{
  position:absolute;
  bottom:22px;left:50%;
  transform:translateX(-50%);
  width:72px;height:72px;
  z-index:3;
}
.tb-cover-emblem-bottom img{
  width:100%;height:100%;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));
}

/* صورة الأستاذ (إن وُجدت) في الغلاف */
.tb-cover-photo{
  width:120px;height:120px;
  border-radius:50%;
  overflow:hidden;
  margin:16px auto 12px;
  background:#fff;
  border:3px solid var(--th-head2);
  box-shadow:0 6px 18px rgba(0,0,0,.22);
  position:relative;
}
.tb-cover-photo::before{
  content:'';
  position:absolute;inset:-6px;
  border-radius:50%;
  border:1.5px solid var(--th-head);
  opacity:.55;
  pointer-events:none;
}
.tb-cover-photo img{
  width:100%;height:100%;
  object-fit:cover;display:block;
}

/* عند وجود الصورة، نقلّل من حجم badge قليلاً */
.tb-cover-photo + .tb-cover-meta{margin-top:6px}

/* ═══════════════════════════════════════════════════════════════════
   نمط ACADEMIC — كتاب رياضيات أكاديمي ملكي
   ═══════════════════════════════════════════════════════════════════ */
.textbook[data-style="academic"] .tb-cover-veil{
  background:radial-gradient(ellipse at 50% 40%,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.25) 60%,
    rgba(0,0,0,.55) 100%);
}
.textbook[data-style="academic"] .tb-cover-title{
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.7), 0 0 22px rgba(255,255,255,.18);
}
.textbook[data-style="academic"] .tb-cover-subtitle,
.textbook[data-style="academic"] .tb-cover-eyebrow{
  color:rgba(255,255,255,.95);
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.textbook[data-style="academic"] .tb-meta-key{color:rgba(212,168,80,.95)}
.textbook[data-style="academic"] .tb-meta-val{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.textbook[data-style="academic"] .tb-meta-sep{color:rgba(255,255,255,.45)}
.textbook[data-style="academic"] .tb-cover-flourish .line{
  background:linear-gradient(90deg, transparent, #d4a850, transparent);
}
.textbook[data-style="academic"] .tb-cover-flourish .ornament{color:#d4a850}
.textbook[data-style="academic"] .tb-cover-badge-ring{
  background:conic-gradient(from 0deg, #d4a850, #f0c878, #d4a850, #a07820, #d4a850);
}
.textbook[data-style="academic"] .tb-cover-badge-ring::after{
  background:rgba(255,255,255,.96);
}
.textbook[data-style="academic"] .tb-cover-badge-inner small,
.textbook[data-style="academic"] .tb-cover-badge-inner b{
  color:#0e2a5e;
}
.textbook[data-style="academic"] .tb-cover-photo{
  border:4px solid #d4a850;
  box-shadow:0 6px 22px rgba(0,0,0,.4);
}
.textbook[data-style="academic"] .tb-cover-photo::before{border-color:#fff;opacity:.7}
.textbook[data-style="academic"] .tb-cover-ministry{
  background:rgba(255,255,255,.18) !important;
  backdrop-filter:blur(2px);
  border-radius:0 !important;
  padding:10px 22px !important;
}

/* صفحات داخلية لـ academic: شريط متدرّج بنقش ذهبي */
.textbook[data-style="academic"] .tb-side-strip{
  background:linear-gradient(180deg, #1a3d82, #0e2a5e);
  width:14px;
}
.textbook[data-style="academic"] .tb-side-strip::after{
  content:'';
  position:absolute;top:0;bottom:0;right:0;width:2px;
  background:linear-gradient(180deg, #d4a850 0%, #f0c878 50%, #d4a850 100%);
}
.textbook[data-style="academic"] .tb-page{
  background:
    radial-gradient(ellipse at top right,
      rgba(212,168,80,.08) 0%,
      transparent 40%),
    #fdfcf7;
}
.textbook[data-style="academic"] .tb-header-num{
  border-radius:8px;
  background:linear-gradient(135deg, #1a3d82, #0e2a5e);
  border:2px solid #d4a850;
  box-shadow:0 4px 12px rgba(14,42,94,.35);
}
.textbook[data-style="academic"] .bk-snum{
  border-radius:8px;
  background:linear-gradient(135deg, #1a3d82, #0e2a5e);
  border:2px solid #d4a850;
}
.textbook[data-style="academic"] .tb-footer-pageno{
  background:linear-gradient(135deg, #1a3d82, #0e2a5e);
  border:1px solid #d4a850;
  border-radius:4px;
}

/* ═══════════════════════════════════════════════════════════════════
   نمط PLAYFUL — كتاب تعليمي مرح
   ═══════════════════════════════════════════════════════════════════ */
.textbook[data-style="playful"] .tb-cover-veil{
  background:radial-gradient(ellipse at center,
    rgba(255,255,255,0) 35%,
    rgba(255,255,255,.4) 85%);
}
.textbook[data-style="playful"] .tb-cover-title{
  font-family:'Cairo','Comic Sans MS',sans-serif;
  font-weight:900;
  font-size:60px;
  color:#0d47a1;
  text-shadow:
    3px 3px 0 #ff6b6b,
    6px 6px 0 #feca57,
    8px 8px 14px rgba(0,0,0,.15);
  letter-spacing:-1px;
}
.textbook[data-style="playful"] .tb-cover-subtitle{
  font-family:'Cairo',sans-serif;
  font-weight:700;
  font-size:24px;
  color:#ff6b6b;
  text-shadow:none;
}
.textbook[data-style="playful"] .tb-cover-eyebrow{
  color:#0d47a1;
  font-weight:900;
}
.textbook[data-style="playful"] .tb-cover-badge{
  width:130px;height:130px;
}
.textbook[data-style="playful"] .tb-cover-badge-ring{
  background:conic-gradient(from 0deg, #ff6b6b, #feca57, #48dbfb, #1dd1a1, #ff6b6b);
  border-radius:50%;
  animation:none;
}
.textbook[data-style="playful"] .tb-cover-badge-ring::after{
  background:#fff;
  border:3px dashed #1976d2;
}
.textbook[data-style="playful"] .tb-cover-badge-inner small{
  font-weight:900;color:#ff6b6b;
}
.textbook[data-style="playful"] .tb-cover-badge-inner b{
  color:#0d47a1;font-family:'Cairo',sans-serif;
}
.textbook[data-style="playful"] .tb-cover-photo{
  border:5px solid #fff;
  box-shadow:
    0 0 0 4px #ff6b6b,
    0 8px 22px rgba(0,0,0,.25);
}
.textbook[data-style="playful"] .tb-cover-photo::before{display:none}
.textbook[data-style="playful"] .tb-meta-key{color:#1976d2;font-weight:900}
.textbook[data-style="playful"] .tb-meta-val{color:#0d47a1;font-weight:700}
.textbook[data-style="playful"] .tb-meta-sep{color:#ff6b6b}
.textbook[data-style="playful"] .tb-cover-flourish .line{
  background:linear-gradient(90deg, #ff6b6b, #feca57, #1dd1a1);
  height:3px;border-radius:2px;
}
.textbook[data-style="playful"] .tb-cover-flourish .ornament{color:#ff6b6b;font-size:28px}
.textbook[data-style="playful"] .tb-cover-ministry{
  background:rgba(255,255,255,.85) !important;
  border-radius:16px !important;
  padding:10px 20px !important;
  box-shadow:0 4px 14px rgba(0,0,0,.1) !important;
}
/* صفحات playful */
.textbook[data-style="playful"] .tb-side-strip{
  background:linear-gradient(180deg, #ff6b6b 0%, #feca57 33%, #48dbfb 66%, #1dd1a1 100%);
  width:12px;
}
.textbook[data-style="playful"] .tb-page{
  background:
    radial-gradient(circle at 100% 0%, rgba(255,107,107,.06) 0%, transparent 30%),
    radial-gradient(circle at 0% 100%, rgba(72,219,251,.06) 0%, transparent 30%),
    #fefefe;
}
.textbook[data-style="playful"] .tb-header-num{
  border-radius:14px;
  background:linear-gradient(135deg, #ff6b6b, #ee5a6f);
  border:3px solid #fff;
  box-shadow:0 4px 12px rgba(255,107,107,.4);
  font-family:'Cairo',sans-serif;
}
.textbook[data-style="playful"] .bk-snum{
  border-radius:14px;
  background:linear-gradient(135deg, #1976d2, #0d47a1);
  border:2px solid #feca57;
  box-shadow:0 3px 10px rgba(13,71,161,.3);
}
.textbook[data-style="playful"] .tb-footer-pageno{
  background:linear-gradient(135deg, #ff6b6b, #ee5a6f);
  border-radius:50px;
}

/* ═══════════════════════════════════════════════════════════════════
   نمط SPOTLIGHT — كتاب تنافسي بصورة الأستاذ
   ═══════════════════════════════════════════════════════════════════ */
.textbook[data-style="spotlight"] .tb-cover-veil{
  background:radial-gradient(ellipse at 50% 45%,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.35) 70%,
    rgba(0,0,0,.7) 100%);
}
.textbook[data-style="spotlight"] .tb-cover-title{
  font-family:'Cairo',sans-serif;
  font-weight:900;
  font-size:62px;
  background:linear-gradient(180deg, #ffeb3b 0%, #ff9530 50%, #ff5722 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 3px 8px rgba(255,107,26,.5));
  letter-spacing:-1px;
}
.textbook[data-style="spotlight"] .tb-cover-subtitle{
  color:#ffaa50;
  text-shadow:0 0 14px rgba(255,170,80,.5);
}
.textbook[data-style="spotlight"] .tb-cover-eyebrow{
  color:#ffaa50;
}
.textbook[data-style="spotlight"] .tb-cover-badge-ring{
  background:conic-gradient(from 0deg, #ff9530, #ffaa50, #ff7a18, #ffaa50, #ff9530);
  box-shadow:
    0 0 30px rgba(255,149,48,.4),
    0 6px 22px rgba(0,0,0,.5);
}
.textbook[data-style="spotlight"] .tb-cover-badge-ring::after{
  background:rgba(255,255,255,.95);
}
.textbook[data-style="spotlight"] .tb-cover-badge-inner small,
.textbook[data-style="spotlight"] .tb-cover-badge-inner b{
  color:#1a0d04;
}
.textbook[data-style="spotlight"] .tb-cover-photo{
  width:140px;height:140px;
  border:4px solid #ff9530;
  box-shadow:
    0 0 0 2px #1a0d04,
    0 0 30px rgba(255,149,48,.45),
    0 8px 24px rgba(0,0,0,.6);
}
.textbook[data-style="spotlight"] .tb-cover-photo::before{
  border-color:#ffaa50;opacity:.5;
}
.textbook[data-style="spotlight"] .tb-meta-key{color:#ffaa50}
.textbook[data-style="spotlight"] .tb-meta-val{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7)}
.textbook[data-style="spotlight"] .tb-meta-sep{color:rgba(255,170,80,.5)}
.textbook[data-style="spotlight"] .tb-cover-flourish .line{
  background:linear-gradient(90deg, transparent, #ff9530, transparent);
}
.textbook[data-style="spotlight"] .tb-cover-flourish .ornament{
  color:#ff9530;
  text-shadow:0 0 12px rgba(255,149,48,.6);
}
.textbook[data-style="spotlight"] .tb-cover-ministry{
  background:rgba(0,0,0,.4) !important;
  backdrop-filter:blur(4px);
  border:1px solid rgba(255,170,80,.3) !important;
  border-radius:10px !important;
  padding:10px 22px !important;
}

/* صفحات spotlight */
.textbook[data-style="spotlight"] .tb-side-strip{
  background:linear-gradient(180deg, #ff7a18 0%, #ffaa50 50%, #ff7a18 100%);
  width:14px;
}
.textbook[data-style="spotlight"] .tb-page{
  background:
    radial-gradient(circle at top right, rgba(255,149,48,.06) 0%, transparent 35%),
    #fffaf5;
}
.textbook[data-style="spotlight"] .tb-header-num{
  border-radius:10px;
  background:linear-gradient(135deg, #ff7a18, #ff5722);
  box-shadow:0 4px 14px rgba(255,107,26,.35);
}
.textbook[data-style="spotlight"] .bk-snum{
  border-radius:10px;
  background:linear-gradient(135deg, #ff7a18, #ff5722);
  box-shadow:0 3px 10px rgba(255,107,26,.3);
}
.textbook[data-style="spotlight"] .tb-footer-pageno{
  background:linear-gradient(135deg, #ff7a18, #ff5722);
  border-radius:14px;
  box-shadow:0 2px 8px rgba(255,107,26,.35);
}

/* ═══════════════════════════════════════════════════════════════════
   الترويسة العمودية فوق العنوان (مثل الجذاذة)
   شعار → المملكة المغربية → وزارة التربية الوطنية…
   ═══════════════════════════════════════════════════════════════════ */
.tb-cover-ministry-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
  margin:0 auto 18px;
  text-align:center;
}
.tb-cover-emblem-top{
  width:64px;height:64px;
  object-fit:contain;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.3));
  margin-bottom:6px;
}
.tb-cover-ar-text{
  font-family:'Amiri',serif;
  font-weight:700;
  font-size:17px;
  line-height:1.3;
  color:#1a1a1a;
  letter-spacing:.3px;
}
.tb-cover-ar-sub{
  font-family:'Amiri',serif;
  font-weight:400;
  font-size:13px;
  line-height:1.5;
  color:#3a3a3a;
  max-width:380px;
  text-align:center;
}

/* إخفاء الترويسة الأفقية القديمة والشعار في الأسفل */
.tb-cover-ministry,
.tb-cover-emblem-bottom{display:none !important}

/* تكيّف للخلفيات الداكنة */
.textbook[data-style="gemstone"] .tb-cover-ar-text,
.textbook[data-style="cosmic"] .tb-cover-ar-text,
.textbook[data-style="minimal"] .tb-cover-ar-text,
.textbook[data-style="academic"] .tb-cover-ar-text,
.textbook[data-style="spotlight"] .tb-cover-ar-text{
  color:rgba(255,255,255,.97);
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.textbook[data-style="gemstone"] .tb-cover-ar-sub,
.textbook[data-style="cosmic"] .tb-cover-ar-sub,
.textbook[data-style="minimal"] .tb-cover-ar-sub,
.textbook[data-style="academic"] .tb-cover-ar-sub,
.textbook[data-style="spotlight"] .tb-cover-ar-sub{
  color:rgba(255,255,255,.85);
  text-shadow:0 1px 2px rgba(0,0,0,.5);
}
.textbook[data-style="gemstone"] .tb-cover-emblem-top,
.textbook[data-style="cosmic"] .tb-cover-emblem-top,
.textbook[data-style="minimal"] .tb-cover-emblem-top,
.textbook[data-style="academic"] .tb-cover-emblem-top,
.textbook[data-style="spotlight"] .tb-cover-emblem-top{
  filter:drop-shadow(0 3px 12px rgba(255,255,255,.25));
}

/* ═══════════════════════════════════════════════════════════════════
   توازن بصري لـ MathJax SVG
   خطوط STIX-fonts الافتراضية تبدو أكثر سواداً من النص المحيط (Cairo/Inter)
   نُخفّفها قليلاً ونوحّد اللون مع لون النص الأساسي
   ═══════════════════════════════════════════════════════════════════ */
mjx-container,
mjx-container svg {
  color: inherit;
}
/* تخفيف بصري للمعادلات لتتطابق مع كثافة لون النص العادي */
mjx-container svg {
  opacity: 0.86;
}
/* في الصناديق ذات الخلفية الفاتحة، نستعمل لون أفتح قليلاً */
.bk-cadre mjx-container svg,
.bk-open mjx-container svg,
.bk-text mjx-container svg {
  opacity: 0.88;
}
/* تأكيد أن fill يتبع currentColor */
mjx-container svg [fill="black"],
mjx-container svg [fill="currentColor"],
mjx-container svg g[fill] path {
  fill: currentColor;
}
/* لا stroke (لتجنّب thickening) */
mjx-container svg path,
mjx-container svg rect,
mjx-container svg use {
  stroke-width: 0 !important;
}

/* ═══ في الطباعة: نضمن أن التخفيف يُحترم ═══ */
@media print {
  mjx-container svg {
    opacity: 0.88 !important;
  }
  .bk-cadre mjx-container svg,
  .bk-open mjx-container svg,
  .bk-text mjx-container svg {
    opacity: 0.90 !important;
  }
}



/* ═══════════════════════════════════════════════════════════════════
   تنسيق الفروض (Devoirs / Examens)
   • يتبع نفس بنية الكتاب (.textbook, .tb-page, .tb-body)
   • تنسيقات خاصة للترويسة + التمارين
   ═══════════════════════════════════════════════════════════════════ */

/* ─── ترويسة الفرض (تظهر في أعلى الصفحة الأولى) ─── */
.froud-block-header,
.froud-block-footer {
  width: 100%;
  margin-bottom: 18px;
}

.froud-meta-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  margin-bottom: 14px;
  text-align: center;
}
.froud-emblem {
  width: 56px;
  height: 56px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
  margin-bottom: 4px;
}
.froud-ar-text {
  font-family: 'Amiri', serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
  color: #1a1a1a;
}
.froud-ar-sub {
  font-family: 'Amiri', serif;
  font-size: 12px;
  color: #3a3a3a;
  max-width: 380px;
}

/* ─── سطر معلومات المدرسة/الأستاذ ─── */
.froud-school-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px 14px;
  background: var(--th-soft, #f5f5f5);
  border-radius: 8px;
  font-size: 12px;
  font-family: 'Cormorant Garamond', serif;
  color: #2a2a2a;
  margin-bottom: 14px;
  border: 1px solid var(--th-b, #e0e0e0);
}
.froud-school-line b {
  color: var(--th-head, #1a4fb8);
  font-weight: 700;
  margin-right: 4px;
}

/* ─── عنوان الفرض (Devoir Surveillé n°X) ─── */
.froud-title-block {
  text-align: center;
  margin: 16px 0 14px;
  position: relative;
}
.froud-title-bar {
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--th-head2, #3b5fc9), var(--th-head, #1a4fb8), var(--th-head2, #3b5fc9), transparent);
  margin: 8px 0;
  border-radius: 2px;
}
.froud-title {
  font-family: 'Cormorant Garamond', 'Georgia', serif;
  font-weight: 700;
  font-size: 32px;
  color: var(--th-head, #1a4fb8);
  margin: 8px 0 4px;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 0 rgba(0,0,0,0.04);
}
.froud-subtitle {
  font-family: 'Cairo', sans-serif;
  font-size: 14px;
  color: #555;
  font-weight: 600;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

/* ─── شبكة المعلومات (التاريخ، المدّة، الدورة، المجموع) ─── */
.froud-info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 14px 0;
}
.froud-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 6px;
  background: linear-gradient(135deg,
    rgba(var(--th-soft-rgb, 245,245,245), 0.5),
    rgba(var(--th-soft-rgb, 245,245,245), 0.2));
  border-radius: 8px;
  border: 1.5px solid var(--th-b, #e0e0e0);
  text-align: center;
}
.froud-info .k {
  font-size: 10px;
  color: #777;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.froud-info .v {
  font-size: 14px;
  color: var(--th-head, #1a4fb8);
  font-weight: 900;
  font-family: 'Cairo', sans-serif;
}

/* ─── تعليمات ─── */
.froud-instructions {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 13px;
  line-height: 1.6;
  color: #444;
  padding: 12px 16px;
  background: #fefbed;
  border-right: 4px solid var(--th-head2, #d4a850);
  border-radius: 0 8px 8px 0;
  margin: 14px 0 8px;
}
.froud-instructions b {
  color: var(--th-acc, #8a6b1a);
  font-style: normal;
  font-weight: 700;
}

/* ─── ترويسة مُختصرة (إطار منقّط + جدول صغير) — تحلّ محلّ الترويسة الوزارية الطويلة ─── */
.froud-page .tb-body{ top:8px; }              /* لصق الإطار العلوي بأعلى الصفحة (≈2مم) */

.froud-compact-header{
  border:1.4px solid var(--th-head,#1933e0);
  border-radius:14px;
  padding:6px;
  background-color:#fff;
  background-image:radial-gradient(circle, #1a1a1a 1px, transparent 1.05px);
  background-size:5px 5px;
  background-position:2.5px 2.5px;
  overflow:hidden;
  margin:0 0 6px;
}
.froud-ch-table{
  border:1.4px solid var(--th-head,#1933e0);
  background:#fff;
  color:var(--th-head,#1933e0);
  font-weight:700;
  font-family:'Cairo',sans-serif;
}
.froud-ch-row{ display:grid; grid-template-columns:32% 23% 23% 22%; }
.froud-ch-row + .froud-ch-row{ border-top:1.4px solid var(--th-head,#1933e0); }
.froud-ch-cell{
  padding:3px 8px; text-align:center; font-size:11.5px;
  display:flex; align-items:center; justify-content:center;
}
.froud-ch-row1 .froud-ch-cell:first-child{ grid-column:1/4; font-size:12px; }
.froud-ch-row1 .froud-ch-cell:last-child{ grid-column:4/5; border-left:1.4px solid var(--th-head,#1933e0); }
.froud-ch-row2 .froud-ch-cell{ border-left:1.4px solid var(--th-head,#1933e0); }
.froud-ch-row2 .froud-ch-cell:first-child{ border-left:none; }
.froud-ch-row3{ grid-template-columns:1fr; }
.froud-ch-row3 .froud-ch-cell{
  flex-direction:column; gap:1px; font-size:15px; padding:4px 0 3px;
}
.froud-ch-sub{ font-size:9.5px; font-weight:600; opacity:.75; }

/* ─── التمرين (Exercice) ─── */
.froud-exo {
  margin: calc(18px * var(--fs, 1)) 0 calc(14px * var(--fs, 1));
  border-radius: 10px;
  border: 1.5px solid var(--th-b, #e0e0e0);
  overflow: hidden;
  background: #fff;
  position: relative;
  page-break-inside: avoid;
  break-inside: avoid;
}
.froud-exo[data-difficulty="facile"] {
  border-color: #b0d8b0;
}
.froud-exo[data-difficulty="moyen"] {
  border-color: #d8c4a0;
}
.froud-exo[data-difficulty="difficile"] {
  border-color: #d8a0a0;
}

.froud-exo-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: calc(9px * var(--fs, 1)) 14px;
  background: linear-gradient(90deg,
    rgba(var(--th-soft-rgb, 245,245,245), 0.6),
    rgba(var(--th-soft-rgb, 245,245,245), 0.2));
  border-bottom: 1px solid var(--th-b, #e0e0e0);
}
.froud-exo-num {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--th-head, #1a4fb8), var(--th-head2, #3b5fc9));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 15px;
  font-family: 'Cairo', sans-serif;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.froud-exo-title {
  flex: 1;
  font-family: 'Cormorant Garamond', 'Georgia', serif;
  font-weight: 700;
  font-size: 18px;
  color: var(--th-head, #1a4fb8);
  letter-spacing: 0.3px;
}
.froud-exo-tags {
  display: flex;
  gap: 6px;
  align-items: center;
}
.froud-exo-diff {
  font-size: 11px;
  color: #b8860b;
  letter-spacing: 1px;
}
.froud-exo-pts {
  background: var(--th-head, #1a4fb8);
  color: #fff;
  font-weight: 800;
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 12px;
  font-family: 'Cairo', sans-serif;
}

.froud-exo-body {
  padding: calc(12px * var(--fs, 1)) 16px calc(14px * var(--fs, 1));
  font-family: 'Cormorant Garamond', 'Georgia', serif;
  font-size: calc(14px * var(--fs, 1));
  line-height: 1.85;
  color: #2a2a2a;
  direction: ltr;
  text-align: justify;
  text-justify: inter-word;
}
.froud-exo-body p { margin: calc(6px * var(--fs, 1)) 0; }
.froud-exo-body ol, .froud-exo-body ul {
  padding-left: 22px;
  margin: calc(6px * var(--fs, 1)) 0;
}
.froud-exo-body li { margin: calc(4px * var(--fs, 1)) 0; }

/* ═══════════════════════════════════════════════════════════════════
   سلّم التنقيط (نقاط الأسئلة) — مطابق لتصميم Devoir2 الأصلي:
   كل سؤال (li أو p) يحتوي ‎<span class="leader"></span><span class="pts">N pts</span>‎
   في آخره يتحوّل تلقائياً إلى: نص السؤال … نقاط متقطّعة … ❯ N pts ❮
   لا يؤثر على أي محتوى لا يستعمل ‎.pts‎ (عبر :has فلا قطيعة مع المحتوى القديم)
   ═══════════════════════════════════════════════════════════════════ */
.froud-exo-body li:has(.pts),
.froud-exo-body p:has(.pts){
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 4px;
}
.froud-exo-body .leader{
  flex: 1 1 24px;
  min-width: 16px;
  height: 4px;
  align-self: flex-end;
  margin: 0 4px 4px;
  background-image: radial-gradient(circle, #111 0.9px, transparent 1px);
  background-size: 4.5px 4px;
  background-repeat: repeat-x;
  background-position: left bottom 1px;
}
.froud-exo-body .pts{
  flex: none;
  font-weight: 700;
  font-style: italic;
  font-size: calc(13px * var(--fs, 1));
  color: #1a1a1a;
  white-space: nowrap;
  font-family: 'Cormorant Garamond', 'Georgia', serif;
}
.froud-exo-body .pts::before{ content: '❯ '; }
.froud-exo-body .pts::after{ content: ' ❮'; }
/* تمييز أكبر للنقاط الأعلى من 1 (إن أردتِ تكبير شارة معيّنة: class="pts big") */
.froud-exo-body .pts.big{ font-size: calc(15px * var(--fs, 1)); }

/* ═══════════════════════════════════════════════════════════════════
   قوالب "الشريط" (Ruban) — مطابقة لتصميم devoir LaTeX الأصلي
   (إطار منقّط أزرق + شريط راية مموّج بزوايا منحنية + دوائر سلمون
   للترقيم + مربّعات سماوية للحروف) — 4 ألوان متشابهة
   ═══════════════════════════════════════════════════════════════════ */
[data-tpl^="ruban_"] .froud-exo{
  border:2px solid #0000cd;
  border-radius:8px;
  background:linear-gradient(#fffef2,#fffccc 22%,#fffccc);
  padding-top:calc(18px * var(--fs, 1));
}
[data-tpl^="ruban_"] .froud-exo-head{
  position:absolute; top:-19px; left:18px; right:auto;
  height:0; padding:0; margin:0; background:none; border:none;
  display:block; z-index:2;
}
[data-tpl^="ruban_"] .froud-exo-num{ display:none; }
[data-tpl^="ruban_"] .froud-exo-title{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  height:30px; padding:0 18px; white-space:nowrap;
  font-family:'Comic Neue','Comic Sans MS',cursive,sans-serif;
  font-weight:700; font-size:14.5px; color:#fff; letter-spacing:.2px;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  clip-path:polygon(
    calc(0% - 9px) 0px,
    calc(100% + 9px) 0px,
    calc(100% + 4.5px) 4.5px,
    100% 30px,
    0% 30px,
    calc(0% - 4.5px) 4.5px
  );
}
[data-tpl^="ruban_"] .froud-exo-title::before,
[data-tpl^="ruban_"] .froud-exo-title::after{
  content:''; position:absolute; top:0; width:9px; height:4.5px;
  border-radius:50% 50% 0 0; z-index:-1;
}
[data-tpl^="ruban_"] .froud-exo-title::before{ left:-13.5px; }
[data-tpl^="ruban_"] .froud-exo-title::after{ right:-13.5px; }

[data-tpl^="ruban_"] .froud-exo-tags{
  position:absolute; top:-13px; left:auto; right:16px; z-index:2;
  background:#fff; border:1.6px solid #0000cd; border-radius:14px;
  padding:3px 11px; gap:6px;
  font-family:'Comic Neue','Comic Sans MS',cursive,sans-serif;
  font-weight:700; font-size:11.5px; color:#1933e0;
}
[data-tpl^="ruban_"] .froud-exo-diff{ color:#1933e0; }
[data-tpl^="ruban_"] .froud-exo-pts{
  background:none; color:#1933e0; padding:0; font-size:11.5px;
}

[data-tpl^="ruban_"] .froud-exo-body{
  font-family:'Comic Neue','Comic Sans MS',cursive,sans-serif;
  font-size:calc(14px * var(--fs, 1)); line-height:1.75; color:#111;
  text-align:right; text-justify:auto; padding-top:calc(18px * var(--fs, 1));
}
/* ترقيم دائري سلمون للمستوى الأوّل (1،2،3...) */
[data-tpl^="ruban_"] .froud-exo-body ol{
  list-style:none; padding-left:0; margin:calc(7px * var(--fs, 1)) 0; counter-reset:rb-num;
}
[data-tpl^="ruban_"] .froud-exo-body ol > li{
  counter-increment:rb-num; position:relative; padding-left:28px; margin:calc(8px * var(--fs, 1)) 0;
}
[data-tpl^="ruban_"] .froud-exo-body ol > li::before{
  content:counter(rb-num); position:absolute; left:0; top:0;
  width:19px; height:19px; border-radius:50%;
  background:#ff7373; border:1px solid #8a8a8a; color:#111;
  font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center;
}
/* مربّعات سماوية للحروف في القوائم المتداخلة (a، b، c...) */
[data-tpl^="ruban_"] .froud-exo-body ol ol,
[data-tpl^="ruban_"] .froud-exo-body ol ul{
  list-style:none; padding-left:0; margin:calc(6px * var(--fs, 1)) 0 calc(6px * var(--fs, 1)) 8px; counter-reset:rb-let;
}
[data-tpl^="ruban_"] .froud-exo-body ol ol > li,
[data-tpl^="ruban_"] .froud-exo-body ol ul > li{
  counter-increment:rb-let; position:relative; padding-left:26px; margin:calc(6px * var(--fs, 1)) 0;
}
[data-tpl^="ruban_"] .froud-exo-body ol ol > li::before,
[data-tpl^="ruban_"] .froud-exo-body ol ul > li::before{
  content:counter(rb-let, lower-alpha); position:absolute; left:0; top:1px;
  background:#00e0f0; color:#111; font-weight:700; font-size:11.5px;
  padding:1px 7px; border-radius:2px;
}

/* ─── المتغيّر 1 : الشريط الأخضر (مطابق للأصل) ─── */
[data-tpl="ruban_vert"] .froud-exo-title{
  background:linear-gradient(to right,#1f7a2e 0%,#3ee62f 50%,#1f7a2e 100%);
}
[data-tpl="ruban_vert"] .froud-exo-title::before,
[data-tpl="ruban_vert"] .froud-exo-title::after{ background:#0d3d12; }

/* ─── المتغيّر 2 : الشريط الأزرق ─── */
[data-tpl="ruban_bleu"] .froud-exo-title{
  background:linear-gradient(to right,#0d3a8c 0%,#2e7dff 50%,#0d3a8c 100%);
}
[data-tpl="ruban_bleu"] .froud-exo-title::before,
[data-tpl="ruban_bleu"] .froud-exo-title::after{ background:#05204d; }

/* ─── المتغيّر 3 : الشريط الأحمر ─── */
[data-tpl="ruban_rouge"] .froud-exo-title{
  background:linear-gradient(to right,#8c1414 0%,#e63b3b 50%,#8c1414 100%);
}
[data-tpl="ruban_rouge"] .froud-exo-title::before,
[data-tpl="ruban_rouge"] .froud-exo-title::after{ background:#450a0a; }

/* ─── المتغيّر 4 : الشريط البنفسجي ─── */
[data-tpl="ruban_violet"] .froud-exo-title{
  background:linear-gradient(to right,#4a1a7a 0%,#9b4ee6 50%,#4a1a7a 100%);
}
[data-tpl="ruban_violet"] .froud-exo-title::before,
[data-tpl="ruban_violet"] .froud-exo-title::after{ background:#2a0f47; }


/* ─── نهاية الفرض ─── */
.froud-end {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 22px 0 6px;
  padding: 14px 0;
}
.froud-end-line {
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--th-head2, #d4a850), transparent);
  max-width: 140px;
}
.froud-end-text {
  font-family: 'Great Vibes', cursive;
  font-size: 30px;
  color: var(--th-head, #1a4fb8);
  letter-spacing: 1.2px;
}

/* ─── في الطباعة، نمنع كسر التمرين بين الصفحات (قدر الإمكان) ─── */
@media print {
  .froud-exo {
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .froud-block-header {
    page-break-after: avoid;
    break-after: avoid;
  }
}

/* ─── ضمان أن السمات تتبع لون الـ theme ─── */
.textbook.froud .tb-body {
  padding-top: 0;
}

/* إخفاء الزخارف الزاويّة كلياً للفروض (تجنّب التراكب مع الترويسة المضغوطة + مساحة أكبر للمحتوى) */
.textbook.froud .tb-corner { display: none; }
.textbook.froud .tb-watermark { opacity: 0.025; }

/* ═══════════════════════════════════════════════════════════════════
   إعادة تصميم شاشات الدخول/التسجيل ولوحة الخدمات — بهويّة الصفحة
   التسويقية الجديدة (حبر كحلي + ذهبي/أحمر/فيروزي) مع موكسات 3D حقيقية
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --mc-ink:#16213A; --mc-ink2:#0D1626; --mc-paper:#F7F1E4; --mc-line:#D9CDAF;
  --mc-red:#C23B2B; --mc-red2:#9E2E22; --mc-gold:#D4A53D; --mc-gold2:#B6872B;
  --mc-teal:#2F7A6B; --mc-teal2:#235D52; --mc-violet:#6B4C9A; --mc-violet2:#523A78;
  --mc-blue:#2E5C8A; --mc-blue2:#234567; --mc-soft:#5B6478;
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&display=swap');
.lat{ font-family:'Montserrat',sans-serif; }

.mc-logo{ font-family:'Cairo'; font-weight:900; font-size:32px; color:var(--mc-ink); letter-spacing:-.5px; }
.mc-logo span{ color:var(--mc-gold); }
.mc-logo.small{ font-size:24px; }

/* ── الصفحة التسويقية الداخلية ── */
#screen_landing{ background:var(--mc-paper); }
.landing-hero{ max-width:1040px; }
.landing-title{ font-family:'Cairo'; font-size:clamp(26px,4vw,38px); color:var(--mc-ink); margin:26px 0 12px; font-weight:900; }
.landing-sub{ font-size:16px; color:var(--mc-soft); }
.lf{ background:#fff; border:1.5px solid var(--mc-line); border-radius:14px; box-shadow:0 10px 26px rgba(22,33,58,.07); color:var(--mc-ink); }
.lf-ico{ font-size:36px; }

.btn-mc{
  background:linear-gradient(120deg,var(--mc-gold),var(--mc-red)); color:#241204; border:none;
  padding:13px 26px; border-radius:30px; font-family:'Cairo'; font-weight:800; font-size:15px;
  cursor:pointer; transition:transform .18s, box-shadow .18s; box-shadow:0 12px 26px rgba(194,59,43,.28);
}
.btn-mc:hover{ transform:translateY(-2px); }
.btn-mc.ghost{ background:transparent; color:var(--mc-ink); border:1.6px solid var(--mc-ink); box-shadow:none; }
.btn-mc.gold{ background:linear-gradient(120deg,var(--mc-gold),var(--mc-gold2)); color:#241804; }

.price-card{ background:linear-gradient(165deg,#fff,var(--mc-paper)); border:1.5px solid var(--mc-ink); border-radius:18px; box-shadow:0 18px 40px rgba(22,33,58,.12); }
.price-name{ font-family:'Cairo'; font-weight:800; color:var(--mc-ink); }
.price-val{ font-family:'Montserrat'; font-size:38px; font-weight:800; color:var(--mc-red); }
.price-val span{ font-family:'Cairo'; font-size:14px; color:var(--mc-soft); font-weight:600; }
.price-card li{ color:var(--mc-ink); }

/* ── شاشة الدخول/التسجيل: واجهة منقسمة بموكس ثلاثي الأبعاد ── */
#screen_auth{
  display:flex; align-items:center; justify-content:center; padding:26px;
  background:linear-gradient(150deg,var(--mc-ink),var(--mc-ink2));
}
.mc2-auth-shell{
  display:flex; max-width:880px; width:100%; min-height:560px; border-radius:24px; overflow:hidden;
  box-shadow:0 40px 90px rgba(0,0,0,.45); background:#fff;
}
.mc2-auth-side{
  flex:0 0 38%; background:
    radial-gradient(circle at 25% 20%, rgba(212,165,61,.22), transparent 45%),
    linear-gradient(165deg,var(--mc-ink),var(--mc-ink2));
  color:#F3ECDD; padding:38px 30px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:18px;
  position:relative; overflow:hidden;
}
.mc2-auth-side::before{
  content:''; position:absolute; top:0; left:0; right:0; bottom:0; opacity:.06; pointer-events:none;
  background-image:repeating-linear-gradient(0deg,#fff 0 1px, transparent 1px 24px);
}
.mc2-auth-side .mc-logo{ color:#fff; font-size:24px; position:relative; z-index:1; }
.mc2-auth-side h3{ font-size:16.5px; font-weight:800; margin:6px 0 0; position:relative; z-index:1; }
.mc2-auth-bul{ list-style:none; padding:0; margin:0; text-align:right; font-size:12.5px; font-weight:600; color:#cfd3df; display:flex; flex-direction:column; gap:8px; position:relative; z-index:1; }
.mc2-auth-form{ flex:1; padding:42px 36px; }
@media (max-width:720px){
  .mc2-auth-shell{ flex-direction:column; min-height:0; }
  .mc2-auth-side{ flex:none; padding:28px 20px; }
}

.auth-box{ background:none; box-shadow:none; padding:0; max-width:none; }
.auth-tabs{ display:flex; gap:6px; margin:0 0 26px; background:var(--mc-paper); border-radius:30px; padding:5px; }
.auth-tab{ flex:1; padding:11px; border:none; background:transparent; border-radius:24px; font-family:'Cairo'; font-weight:800; cursor:pointer; color:var(--mc-soft); font-size:13.5px; transition:background .2s, color .2s; }
.auth-tab.active{ background:var(--mc-ink); color:#fff; box-shadow:0 6px 16px rgba(22,33,58,.25); }
.auth-box .field{ text-align:right; margin-bottom:14px; }
.auth-box label{ display:block; font-size:12.5px; color:var(--mc-soft); margin-bottom:5px; font-weight:700; }
.auth-box input{ width:100%; padding:12px 14px; border:1.6px solid var(--mc-line); border-radius:10px; font-family:inherit; box-sizing:border-box; font-size:14px; transition:border-color .2s; }
.auth-box input:focus{ border-color:var(--mc-ink); outline:none; }
.sub-plan{ display:flex; justify-content:space-between; align-items:center; background:var(--mc-paper); border:1.5px dashed var(--mc-gold2); border-radius:12px; padding:13px 16px; margin:16px 0; font-family:'Cairo'; font-size:13.5px; font-weight:700; color:var(--mc-ink); }
.sub-plan strong{ color:var(--mc-red); font-size:17px; font-family:'Montserrat'; }
.auth-note{ font-size:11.5px; color:#9aa0ad; margin-top:12px; }
.auth-box .btn-mc.full{ width:100%; padding:14px; font-size:14.5px; }

/* ── لوحة الخدمات ── */
#screen_dashboard{
  background:#f4f0e8;
  background-image:
    radial-gradient(ellipse 80% 60% at 20% 10%, rgba(30,90,60,.06),transparent),
    radial-gradient(ellipse 60% 50% at 85% 80%, rgba(180,130,40,.05),transparent);
  min-height:100vh;
}
.dash-top{
  background:linear-gradient(135deg,#1a3c2a 0%,#0f2b1e 60%,#162f22 100%);
  padding:12px 30px;
  box-shadow:0 4px 30px rgba(0,0,0,.15);
  position:relative; z-index:10;
}
.dash-top .mc-logo.small{ color:#fff; }
.dash-top .mc-logo.small span{ color:#E2B94B; }
.dash-user{ display:flex; align-items:center; gap:14px; font-family:'Cairo'; font-weight:700; color:rgba(255,255,255,.85); }
.dash-top .btn-mc.ghost{ color:rgba(255,255,255,.7); border-color:rgba(255,255,255,.2); font-size:12px; padding:8px 16px; border-radius:10px; }
.dash-top .btn-mc.ghost:hover{ background:rgba(255,255,255,.1); color:#fff; }
.dash-welcome{ text-align:center; padding:42px 20px 12px; position:relative; z-index:2; }
.dash-welcome h2{
  font-family:'Cairo'; font-size:30px; margin:0; font-weight:900;
  color:#1a3c2a;
}
.dash-welcome p{ color:#8a8570; margin:8px 0 0; font-size:15px; }
.services-grid{ grid-template-columns:repeat(5,1fr); gap:20px; max-width:1500px; position:relative; z-index:2; }
@media (max-width:1050px){
  .services-grid{ grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); max-width:1180px; }
}
.svc-card{
  background:#fff;
  border-radius:22px; padding:0 0 24px; text-align:center; cursor:pointer; position:relative;
  border:1px solid rgba(30,90,60,.08);
  box-shadow:0 2px 8px rgba(0,0,0,.04), 0 12px 36px rgba(30,90,60,.06);
  transition:transform .3s cubic-bezier(.22,.68,0,1.2), box-shadow .3s; overflow:hidden;
}
.svc-card:hover{
  transform:translateY(-10px);
  box-shadow:0 20px 50px rgba(30,90,60,.12), 0 0 0 2px rgba(30,90,60,.1);
}
.svc-stage{
  height:330px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg,#f9f6ef,#f1ece0);
  margin-bottom:18px; position:relative;
}
.svc-stage::after{ content:''; position:absolute; bottom:0; left:8%; right:8%; height:1px; background:linear-gradient(90deg,transparent,rgba(30,90,60,.1),transparent); }
.svc-ico{ display:none; }
.svc-name{
  font-family:'Cairo'; font-weight:900; font-size:17.5px; margin-bottom:8px; padding:0 18px;
  color:#1a3c2a;
}
.svc-desc{ color:#8a8570; font-size:13px; line-height:1.7; padding:0 20px; min-height:44px; }
.svc-badge{
  position:absolute; top:14px; left:14px; font-size:10.5px; font-weight:800;
  padding:4px 12px; border-radius:20px; font-family:'Cairo'; z-index:2;
}
.svc-badge.ready{ background:#e8f5ee; color:#1a7a42; border:1px solid rgba(26,122,66,.15); }
.svc-badge.soon{ background:#fef7e6; color:#a6800a; border:1px solid rgba(166,128,10,.15); }

/* ═══ بطاقة الحصة الحالية (now_card) ═══ */
#now_card_wrap .nc-card{
  background:linear-gradient(135deg,#1a3c2a,#245a3a) !important;
  border:none !important;
  box-shadow:0 8px 30px rgba(26,60,42,.2) !important;
  border-radius:18px !important;
}
#now_card_wrap .nc-card *{ color:rgba(255,255,255,.9) !important; }
#now_card_wrap .nc-title{ color:#E2B94B !important; }
#now_card_wrap .nc-sub{ color:rgba(255,255,255,.6) !important; }

/* ═══════════════════════════════════════════════════════════════════
   كتاب 3D حقيقي بطابع غلاف فوتوغرافي (مستلهَم من موكسات الكتب
   الاحترافية): حرف مجلَّد بلمعان، حافة صفحات علوية وجانبية ظاهرة،
   ظل أرضي ناعم — كل غلاف يحاكي مخرج خدمته الفعلي.
   ═══════════════════════════════════════════════════════════════════ */
.book3d-scene{ perspective:1300px; width:128px; height:166px; margin:0 auto; position:relative; }
.book3d-scene::after{ /* ظل أرضي ناعم */
  content:''; position:absolute; bottom:-14px; left:50%; width:104px; height:20px;
  background:radial-gradient(ellipse at center, rgba(20,15,5,.32), transparent 72%);
  transform:translateX(-50%); border-radius:50%; filter:blur(1px); z-index:0;
}
.book3d{
  position:relative; width:100%; height:100%; z-index:1;
  transform-style:preserve-3d;
  transform:rotateX(11deg) rotateY(-26deg);
  animation:b3dFloat 6.5s ease-in-out infinite;
}
@keyframes b3dFloat{
  0%,100%{ transform:rotateX(11deg) rotateY(-26deg) translateY(0); }
  50%{ transform:rotateX(9deg) rotateY(-20deg) translateY(-6px); }
}
@media (prefers-reduced-motion: reduce){ .book3d{ animation:none; } }
.book3d .b3d-cover, .book3d .b3d-back{
  position:absolute; inset:0; backface-visibility:hidden;
  border-radius:2px 7px 7px 2px; overflow:hidden;
  box-shadow:6px 22px 38px rgba(15,10,5,.4);
}
.book3d .b3d-cover{ transform:translateZ(12px); background:#fff; }
.book3d .b3d-back{ transform:translateZ(-12px) rotateY(180deg); background:#e9e2d0; }
.book3d .b3d-spine{
  position:absolute; top:0; bottom:0; left:0; width:24px;
  transform:rotateY(-90deg) translateZ(12px); transform-origin:left center;
  border-radius:2px 0 0 2px;
  background-image:linear-gradient(90deg, rgba(255,255,255,.32) 0%, rgba(255,255,255,0) 18%, rgba(0,0,0,.18) 92%, rgba(0,0,0,.32) 100%);
  background-blend-mode:overlay;
}
.book3d .b3d-pages{
  position:absolute; top:0; bottom:0; right:0; width:24px;
  background:repeating-linear-gradient(to bottom, #fdfdfc 0 1px, #ebe6da 1px 2px);
  transform:rotateY(90deg) translateZ(12px); transform-origin:right center;
  border-radius:0 2px 2px 0; box-shadow:inset 0 0 8px rgba(0,0,0,.15);
}
.book3d .b3d-top{
  position:absolute; top:0; left:0; width:100%; height:24px;
  background:repeating-linear-gradient(to right, #fdfdfc 0 1px, #ebe6da 1px 2px);
  transform:rotateX(90deg) translateZ(12px); transform-origin:top center;
  box-shadow:inset 0 0 8px rgba(0,0,0,.12);
}
.book3d-scene.sm{ width:104px; height:136px; }
.book3d-scene.sm::after{ width:84px; bottom:-12px; }

/* ── محتوى الغلاف: نفس هويّة كل مخرج فعلي مصغّرة ── */
.bcov{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.bcov::after{ content:''; position:absolute; inset:0; background:linear-gradient(115deg, rgba(255,255,255,.16), transparent 45%); pointer-events:none; }

/* 1) دفتر النصوص — غلاف حقيقي: شريط ثلاثي + شعار + اسم مؤسسة + حقول */
.bcov.cv-notebook{ background:linear-gradient(165deg,#fffaf0,#fdf3df); flex-direction:column; justify-content:flex-start; padding:0; }
.bcov.cv-notebook .bars{ display:flex; height:5px; flex:none; width:100%; }
.bcov.cv-notebook .bars span{ flex:1; }
.bcov.cv-notebook .bars span:nth-child(1){ background:var(--mc-red); }
.bcov.cv-notebook .bars span:nth-child(2){ background:var(--mc-gold); }
.bcov.cv-notebook .bars span:nth-child(3){ background:var(--mc-teal); }
.bcov.cv-notebook .crest{ width:24px; height:24px; border-radius:50%; border:1.5px solid var(--mc-gold2); display:flex; align-items:center; justify-content:center; font-size:11px; margin:9px auto 4px; }
.bcov.cv-notebook .inst{ font-family:'Cairo'; font-weight:700; font-size:7px; color:#3a3a3a; }
.bcov.cv-notebook .ttl{ font-family:'Cormorant Garamond',serif; font-weight:700; font-size:14px; color:var(--mc-red2); line-height:1.2; margin:5px 0; }
.bcov.cv-notebook .fl{ width:24px; height:1px; background:var(--mc-gold2); margin:0 auto 7px; }
.bcov.cv-notebook .fields{ width:100%; padding:0 10px; display:flex; flex-direction:column; gap:3px; }
.bcov.cv-notebook .fr2{ display:flex; justify-content:space-between; font-size:6px; border-bottom:1px dotted #cdbfa0; padding-bottom:2px; }
.bcov.cv-notebook .fr2 b{ color:#2a2a2a; font-weight:700; }
.bcov.cv-notebook .fr2 i{ font-style:normal; color:var(--mc-gold2); font-weight:700; }

/* 2) الجذاذات — رأسية Fiche pédagogية + صفوف مدّة/نشاط حقيقية */
.bcov.cv-fiche{ background:#fffefb; justify-content:flex-start; }
.bcov.cv-fiche .fh{ width:100%; background:linear-gradient(120deg,var(--mc-violet),var(--mc-violet2)); color:#fff; font-size:9px; font-weight:800; padding:9px 8px 7px; }
.bcov.cv-fiche .fb{ width:100%; padding:8px; display:flex; flex-direction:column; gap:5px; }
.bcov.cv-fiche .fr{ display:flex; gap:4px; align-items:center; }
.bcov.cv-fiche .fd{ font-family:'Montserrat'; font-size:6px; font-weight:700; color:var(--mc-violet); flex:none; }
.bcov.cv-fiche .fa{ flex:1; height:3px; border-radius:2px; background:#ece7da; }

/* 3) الفروض المحروسة — نفس الترويسة المنقّطة الحقيقية + شريط أخضر */
.bcov.cv-devoir{ background:#fff; }
.bcov.cv-devoir .dfr{
  width:84%; border:1.2px solid var(--mc-gold2); border-radius:9px; padding:5px;
  background-image:radial-gradient(circle,#1a1a1a .55px,transparent .65px);
  background-size:3.4px 3.4px; background-position:1.7px 1.7px;
}
.bcov.cv-devoir .dtb{ border:1.1px solid var(--mc-gold2); background:#fff; }
.bcov.cv-devoir .drow{ display:flex; font-family:'Montserrat'; font-size:4.6px; font-weight:700; color:var(--mc-gold2); }
.bcov.cv-devoir .drow div{ flex:1; border:.5px solid var(--mc-gold2); padding:2px 1px; }
.bcov.cv-devoir .dttl{ font-size:6.4px; font-weight:800; color:var(--mc-ink); padding:3px 0 2px; }
.bcov.cv-devoir .drib{ margin-top:7px; background:linear-gradient(120deg,#3ee62f,#1f7a2e); color:#fff; font-weight:800; font-size:7px; padding:3px 9px; border-radius:4px; box-shadow:0 3px 7px rgba(0,0,0,.25); }

/* 4) سلاسل التمارين — صفحة "سلسلة" مرقّمة بمعاينة أسئلة */
.bcov.cv-series{ background:linear-gradient(165deg,#eef4fa,#e2ecf6); }
.bcov.cv-series .sbadge{ font-family:'Montserrat'; font-weight:800; font-size:9px; color:#fff; background:linear-gradient(120deg,var(--mc-blue),var(--mc-blue2)); padding:4px 11px; border-radius:20px; margin-bottom:8px; }
.bcov.cv-series .ln{ width:74%; height:3px; border-radius:2px; background:#b9cce0; margin:3.5px 0; }

/* 5) الدروس — صندوقا Définition وExemple الحقيقيان */
.bcov.cv-lesson{ background:#fffefb; }
.bcov.cv-lesson .tag{ font-size:7px; font-weight:800; color:#fff; padding:3px 9px; border-radius:4px; margin:3px 0; }
.bcov.cv-lesson .tag.def{ background:var(--mc-teal); }
.bcov.cv-lesson .tag.ex{ background:var(--mc-gold2); color:#241804; }
.bcov.cv-lesson .ln{ width:78%; height:3px; border-radius:2px; background:#e6e1d3; margin:3px 0; }

/* ═══════════════════════════════════════════════════════════════════
   موكس دفتر النصوص (غلاف أمامي + خلفي) — معزول بالكامل بأسماء dualmock-/dm-
   لتجنّب أي تعارض مع كلاسات .page/.bcov/.book3d الموجودة مسبقاً في التطبيق
   ═══════════════════════════════════════════════════════════════════ */
:root{ --dm-teal:#3FA8AE; --dm-teal2:#2A7E84; --dm-sand:#E3D9C6; }

/* ═══ معرض الكتب المتحرّك: يدخل من اليمين، يُعرض وسط الشاشة، يخرج من اليسار ═══ */
.bc-stage{ position:relative; height:400px; max-width:680px; margin:55px auto; overflow:hidden; }

/* ═══ صورة المكتب العصري (Flat-lay) — مرن بالكامل بالنسب المئوية، بلا transform:scale ═══ */
.desk-hero{ max-width:900px; margin:60px auto 30px; text-align:center; }
.desk-surface{
  position:relative; width:100%; aspect-ratio:900/380; margin:0 auto;
  border-radius:24px; overflow:hidden;
  background:linear-gradient(135deg,#EDE7DA,#E1D9C5);
  box-shadow:0 30px 70px rgba(0,0,0,.18);
}
.desk-surface::before{
  content:''; position:absolute; inset:0; opacity:.05; pointer-events:none;
  background-image:repeating-linear-gradient(45deg,#000 0 1px, transparent 1px 7px);
}

.desk-laptop{
  position:absolute; bottom:-9%; left:-3.8%; width:25.56%; height:39.47%;
  background:linear-gradient(160deg,#363c47,#20242c); border-radius:14px 14px 2px 2px; transform:rotate(-6deg);
  box-shadow:0 -8px 24px rgba(0,0,0,.22); z-index:0;
}
.desk-laptop::before{ content:''; position:absolute; inset:8% 8% auto 8%; height:60%; background:#475064; border-radius:4px; opacity:.7; }

.desk-doc{
  position:absolute; width:16.67%; height:49.47%; border-radius:8px; background:#fff;
  box-shadow:0 16px 32px rgba(0,0,0,.25); overflow:hidden; display:flex; flex-direction:column;
}
.dd-art{ flex:1; position:relative; }
.dd-art svg{ position:absolute; inset:0; width:100%; height:100%; }
.dd-ttl{ padding:6% 5%; text-align:center; font-family:'Cairo'; font-weight:800; font-size:3.2vmin; color:#222; background:#fff; white-space:nowrap; }

.dd1{ top:7.37%; left:2.0%; transform:rotate(-9deg); z-index:1; }
.dd2{ top:20.53%; left:18.67%; transform:rotate(6deg); z-index:2; }
.dd3{ top:4.74%; left:36.44%; transform:rotate(-3deg); z-index:4; }
.dd4{ top:21.58%; left:53.11%; transform:rotate(8deg); z-index:2; }
.dd5{ top:7.89%; left:69.78%; transform:rotate(-8deg); z-index:1; }

.desk-cup{
  position:absolute; top:51.32%; left:90.22%; width:5.56%; height:13.16%; border-radius:50%; z-index:3;
  background:radial-gradient(circle at 35% 35%, #fff, #e7ddc9); box-shadow:0 10px 18px rgba(0,0,0,.22), inset 0 0 0 4px #fff;
}
.desk-cup::after{ content:''; position:absolute; inset:14%; border-radius:50%; background:#6b4226; }
.cup-handle{ position:absolute; top:26%; right:-26%; width:32%; height:44%; border:5px solid #fff; border-left:none; border-radius:0 12px 12px 0; }
.desk-pen{
  position:absolute; top:82.11%; left:12.22%; width:13.33%; height:2.37%; min-height:6px; border-radius:5px; z-index:3;
  background:linear-gradient(90deg,#1a1a1a,#444); transform:rotate(-30deg); box-shadow:0 6px 10px rgba(0,0,0,.2);
}
.desk-pen::after{ content:''; position:absolute; right:-6px; top:-1.5px; width:0; height:0; border-style:solid; border-width:6px 0 6px 10px; border-color:transparent transparent transparent #444; }
.desk-plant{ position:absolute; top:3.68%; left:89.44%; font-size:4vmin; z-index:3; filter:drop-shadow(0 8px 8px rgba(0,0,0,.22)); }
.desk-clip{ position:absolute; top:78.95%; left:46.67%; font-size:2vmin; z-index:5; transform:rotate(20deg); }
.desk-caption{ margin-top:20px; font-family:'Cairo'; font-weight:800; font-size:16px; color:var(--mc-ink); }

/* ═══════════════════════════════════════════════════════════════════
   إعادة تصميم شاملة للصفحة الرئيسية — هويّة احترافية كاملة
   ═══════════════════════════════════════════════════════════════════ */
/* ── خلفية الهيرو الزخرفية (بدل صورة المكتب) ── */
.landing-hero{ position:relative; overflow:hidden; padding-bottom:70px; }
.hero-blob{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.3; z-index:0; pointer-events:none; animation:blobFloat 9s ease-in-out infinite; }
.hero-blob.b1{ width:360px; height:360px; background:var(--mc-gold); top:-110px; right:-110px; }
.hero-blob.b2{ width:320px; height:320px; background:var(--mc-teal); top:160px; left:-140px; animation-delay:1.5s; }
.hero-blob.b3{ width:240px; height:240px; background:var(--mc-red); bottom:-40px; right:18%; animation-delay:3s; }
@keyframes blobFloat{ 0%,100%{ transform:translateY(0) scale(1); } 50%{ transform:translateY(-22px) scale(1.06); } }
@media (prefers-reduced-motion: reduce){ .hero-blob{ animation:none; } }
.landing-hero > *:not(.hero-blob){ position:relative; z-index:1; }

/* ── نظام الظهور التدريجي عند التمرير (Progressive Enhancement) ── */
.reveal{ transition:opacity .8s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1); }
.js-ready .reveal{ opacity:0; transform:translateY(32px); }
.js-ready .reveal.show{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){ .js-ready .reveal{ opacity:1; transform:none; transition:none; } }



/* ── شريط التنقّل الثابت ── */
.site-nav{ position:sticky; top:0; z-index:80; background:transparent; transition:background .3s, box-shadow .3s, padding .3s; padding:18px 0; }
.site-nav.scrolled{ background:rgba(247,241,228,.88); backdrop-filter:blur(12px); box-shadow:0 4px 20px rgba(22,33,58,.08); padding:11px 0; }
.nav-inner{ max-width:1180px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.nav-links{ display:flex; gap:28px; font-family:'Cairo'; font-weight:700; font-size:14.5px; color:var(--mc-ink); }
.nav-links a{ opacity:.78; transition:opacity .2s; text-decoration:none; color:inherit; }
.nav-links a:hover{ opacity:1; }
.nav-cta{ display:flex; gap:10px; }
.btn-mc.sm{ padding:9px 18px; font-size:13px; }
.nav-burger{ display:none; flex-direction:column; gap:4px; background:none; border:none; cursor:pointer; }
.nav-burger span{ width:22px; height:2.5px; background:var(--mc-ink); border-radius:2px; }
@media (max-width:760px){
  .nav-links{ display:none; }
  .nav-cta .btn-mc.ghost{ display:none; }
  .nav-burger{ display:flex; }
}

/* ── Hero ── */
.hero-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:'Cairo'; font-weight:800; font-size:12.5px; color:var(--mc-red); background:rgba(194,59,43,.08); border:1px solid rgba(194,59,43,.18); padding:7px 16px; border-radius:30px; margin-bottom:20px; }
.landing-title span{ color:var(--mc-gold2); }

/* ── شريط الإحصائيات ── */
.stats-bar{ display:flex; justify-content:center; gap:50px; flex-wrap:wrap; margin:42px 0 10px; padding-top:30px; border-top:1px solid var(--mc-line); }
.stat{ text-align:center; }
.stat-num{ font-family:'Montserrat'; font-weight:800; font-size:34px; color:var(--mc-ink); }
.stat-num sup{ font-size:16px; color:var(--mc-red); }
.stat-lbl{ font-family:'Cairo'; font-weight:600; font-size:12.5px; color:var(--mc-soft); margin-top:2px; }

/* ── أقسام عامة ── */
section{ max-width:1100px; margin:0 auto; padding:90px 24px; text-align:center; }
.section-eyebrow{ display:inline-block; font-family:'Cairo'; font-weight:800; font-size:12.5px; color:var(--mc-red); letter-spacing:.3px; margin-bottom:12px; }
.section-title{ font-family:'Cairo'; font-weight:900; font-size:clamp(24px,3.2vw,34px); color:var(--mc-ink); margin:0 0 14px; }
.section-sub{ font-family:'Cairo'; color:var(--mc-soft); font-size:15px; max-width:520px; margin:0 auto; }

/* ── كيف يعمل ── */
.how-steps{ display:flex; align-items:flex-start; justify-content:center; gap:18px; margin-top:50px; flex-wrap:wrap; }
.how-step{ flex:1; max-width:240px; background:#fff; border:1.5px solid var(--mc-line); border-radius:18px; padding:30px 20px; position:relative; box-shadow:0 10px 26px rgba(22,33,58,.06); }
.how-num{ position:absolute; top:-16px; left:50%; transform:translateX(-50%); width:32px; height:32px; border-radius:50%; background:var(--mc-ink); color:#fff; font-family:'Montserrat'; font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; }
.how-ic{ font-size:34px; margin:14px 0 12px; }
.how-step h4{ font-family:'Cairo'; font-weight:800; font-size:16.5px; color:var(--mc-ink); margin:0 0 8px; }
.how-step p{ font-family:'Cairo'; font-size:13px; color:var(--mc-soft); line-height:1.7; margin:0; }
.how-arrow{ font-size:24px; color:var(--mc-line); align-self:center; margin-top:50px; }
@media (max-width:760px){ .how-arrow{ transform:rotate(-90deg); margin:0; } .how-steps{ flex-direction:column; align-items:center; } }

/* ── المميزات ── */
.features-section{ background:var(--mc-paper); max-width:none; padding:90px 24px; }
.features-grid{ max-width:1100px; margin:50px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.feat-card{ background:#fff; border-radius:18px; padding:30px 24px; text-align:right; border:1.5px solid var(--mc-line); box-shadow:0 8px 22px rgba(22,33,58,.05); transition:transform .2s, box-shadow .2s; }
.feat-card:hover{ transform:translateY(-5px); box-shadow:0 18px 36px rgba(22,33,58,.12); }
.feat-ico{ width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:16px; box-shadow:0 8px 16px rgba(0,0,0,.18); }
.feat-card h4{ font-family:'Cairo'; font-weight:800; font-size:16px; color:var(--mc-ink); margin:0 0 8px; }
.feat-card p{ font-family:'Cairo'; font-size:13px; color:var(--mc-soft); line-height:1.75; margin:0; }
.feat-card-cta{ background:linear-gradient(155deg,var(--mc-ink),var(--mc-ink2)); color:#fff; display:flex; flex-direction:column; justify-content:center; }
.feat-card-cta h4{ color:#fff; } .feat-card-cta p{ color:#cfd3df; margin-bottom:16px; }
@media (max-width:860px){ .features-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .features-grid{ grid-template-columns:1fr; } }

/* ── قبل / بعد ── */
.compare-section{ max-width:none; background:linear-gradient(165deg,var(--mc-ink),var(--mc-ink2)); padding:90px 24px; color:#fff; }
.compare-section .section-title{ color:#fff; }
.compare-section .section-eyebrow{ color:var(--mc-gold); }
.compare-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:880px; margin:46px auto 0; }
.compare-col{ background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.14); border-radius:18px; padding:30px 26px; text-align:right; }
.compare-col h3{ font-family:'Cairo'; font-size:17px; margin:0 0 18px; }
.compare-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:13px; }
.compare-col li{ font-family:'Cairo'; font-size:13.5px; line-height:1.7; color:#dfe2ec; position:relative; padding-right:0; }
.compare-col.after{ background:rgba(212,165,61,.1); border-color:rgba(212,165,61,.3); }
@media (max-width:700px){ .compare-grid{ grid-template-columns:1fr; } }

/* ── آراء المستخدمين ── */
.testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:46px; }
.testi-card{ background:#fff; border:1.5px solid var(--mc-line); border-radius:18px; padding:26px 22px; text-align:right; box-shadow:0 8px 22px rgba(22,33,58,.05); }
.testi-stars{ color:var(--mc-gold2); font-size:14px; margin-bottom:10px; letter-spacing:2px; }
.testi-card p{ font-family:'Cairo'; font-size:13.5px; color:var(--mc-ink); line-height:1.8; margin:0 0 18px; }
.testi-who{ display:flex; align-items:center; gap:10px; }
.testi-av{ width:38px; height:38px; border-radius:50%; background:linear-gradient(150deg,var(--mc-gold),var(--mc-red)); color:#fff; font-family:'Cairo'; font-weight:800; font-size:12.5px; display:flex; align-items:center; justify-content:center; flex:none; }
.testi-who b{ font-family:'Cairo'; font-size:13px; color:var(--mc-ink); display:block; }
.testi-who small{ font-family:'Cairo'; font-size:11px; color:var(--mc-soft); }
@media (max-width:860px){ .testi-grid{ grid-template-columns:1fr; } }

/* ── الأسعار (تحسينات) ── */
.pricing-section{ background:var(--mc-paper); max-width:none; padding:90px 24px; }
.price-card{ position:relative; }
.price-badge{ position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--mc-red); color:#fff; font-family:'Cairo'; font-weight:800; font-size:11.5px; padding:5px 16px; border-radius:20px; }
.btn-mc.full{ width:100%; }
.price-note{ font-family:'Cairo'; font-size:11.5px; color:var(--mc-soft); margin-top:12px; }

/* ── الأسئلة الشائعة ── */
.faq-list{ max-width:680px; margin:46px auto 0; display:flex; flex-direction:column; gap:12px; text-align:right; }
.faq-item{ background:#fff; border:1.5px solid var(--mc-line); border-radius:14px; overflow:hidden; }
.faq-q{ width:100%; background:none; border:none; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; font-family:'Cairo'; font-weight:700; font-size:14.5px; color:var(--mc-ink); cursor:pointer; text-align:right; }
.faq-plus{ font-size:20px; color:var(--mc-red); transition:transform .25s; flex:none; }
.faq-item.open .faq-plus{ transform:rotate(45deg); }
.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:'Cairo'; font-size:13.5px; color:var(--mc-soft); line-height:1.8; padding:0 20px 18px; margin:0; }

/* ── نداء أخير ── */
.final-cta{ max-width:none; background:linear-gradient(150deg,var(--mc-ink),var(--mc-ink2)); padding:80px 24px; position:relative; overflow:hidden; }
.final-cta::before{ content:''; position:absolute; inset:0; opacity:.07; background-image:repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 24px); }
.final-cta h2{ font-family:'Cairo'; font-weight:900; font-size:clamp(24px,3.4vw,32px); color:#fff; margin:0 0 14px; position:relative; z-index:1; }
.final-cta p{ font-family:'Cairo'; color:#cfd3df; margin:0 0 28px; position:relative; z-index:1; }
.btn-mc.gold{ background:linear-gradient(120deg,var(--mc-gold),var(--mc-gold2)); position:relative; z-index:1; }

/* ── التذييل ── */
.site-footer{ background:var(--mc-ink2); color:#cfd3df; padding:60px 24px 24px; }
.footer-grid{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:34px; text-align:right; }
.footer-brand p{ font-family:'Cairo'; font-size:13px; line-height:1.8; margin-top:14px; color:#9aa0b4; }
.footer-col h5{ font-family:'Cairo'; font-weight:800; color:#fff; font-size:14px; margin:0 0 14px; }
.footer-col a{ display:block; font-family:'Cairo'; font-size:13px; color:#9aa0b4; text-decoration:none; margin-bottom:10px; }
.footer-col a:hover{ color:var(--mc-gold); }
.footer-social{ display:flex; gap:10px; margin-top:8px; }
.footer-social span{ width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; }
.footer-bottom{ text-align:center; font-family:'Cairo'; font-size:12px; color:#7a8094; margin:44px 0 0; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); }
@media (max-width:860px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; text-align:center; } }



.bc-slide{
  position:absolute; top:0; left:50%; width:260px; margin-right:-130px;
  display:flex; flex-direction:column; align-items:center; gap:18px;
  transition:transform 1.1s cubic-bezier(.45,0,.2,1), opacity 1.1s ease;
  transform:translateX(220%); opacity:0;
}
.bc-slide.bc-active{ transform:translateX(-50%); opacity:1; }
.bc-slide.bc-exit{ transform:translateX(-320%); opacity:0; }
.bc-label{ font-family:'Cairo'; font-weight:800; font-size:15px; color:var(--mc-ink); background:#fff; padding:6px 18px; border-radius:20px; box-shadow:0 6px 16px rgba(22,33,58,.1); }
@media (prefers-reduced-motion: reduce){ .bc-slide{ transition:opacity .3s ease; } }

/* ── كتاب الغلاف الاحترافي (Paperback) ── */
.pb-scene{ perspective:1900px; width:230px; height:300px; position:relative; }
.pb-shadow{
  position:absolute; bottom:6px; left:50%; width:180px; height:28px;
  background:radial-gradient(ellipse at center, rgba(20,25,28,.35), transparent 72%);
  transform:translateX(-50%); border-radius:50%; filter:blur(3px); z-index:0;
  animation:pbShadowPulse 5.5s ease-in-out infinite;
}
@keyframes pbShadowPulse{ 0%,100%{ opacity:1; transform:translateX(-50%) scale(1); } 50%{ opacity:.7; transform:translateX(-50%) scale(.88); } }
.pb-book{ position:relative; width:100%; height:100%; transform-style:preserve-3d; z-index:1; animation:pbFloat 5.5s ease-in-out infinite; }
@keyframes pbFloat{
  0%,100%{ transform:rotateX(4deg) rotateY(-22deg) translateY(0); }
  50%{ transform:rotateX(6deg) rotateY(-32deg) translateY(-9px); }
}
@media (prefers-reduced-motion: reduce){ .pb-shadow, .pb-book{ animation:none; } .pb-book{ transform:rotateX(4deg) rotateY(-22deg); } }
.pb-face{ position:absolute; inset:0; backface-visibility:hidden; overflow:hidden; box-shadow:5px 20px 36px rgba(0,0,0,.28); border-radius:1px 6px 6px 1px; background:#fff; }
.pb-cover{ transform:translateZ(7px); }
.pb-back{ transform:translateZ(-7px) rotateY(180deg); }
.pb-spine{ position:absolute; top:0; bottom:0; left:0; width:14px; transform:rotateY(-90deg) translateZ(7px); transform-origin:left center; border-radius:1px 0 0 1px; }
.pb-pages{
  position:absolute; top:0; bottom:0; right:0; width:14px;
  background:repeating-linear-gradient(to bottom, #fdfdfc 0 1px, #ebe9e4 1px 2px);
  transform:rotateY(90deg) translateZ(7px); transform-origin:right center;
  border-radius:0 1px 1px 0; box-shadow:inset 0 0 8px rgba(0,0,0,.1);
}
.pb-top-edge{
  position:absolute; top:0; left:0; width:100%; height:14px;
  background:repeating-linear-gradient(to right, #fdfdfc 0 1px, #ebe9e4 1px 2px);
  transform:rotateX(90deg) translateZ(7px); transform-origin:top center;
  box-shadow:inset 0 0 8px rgba(0,0,0,.08);
}
.pb-fcov{ position:absolute; inset:0; display:flex; flex-direction:column; background:#fff; }
.pb-top{ padding:16px 16px 12px; text-align:center; }
.pb-ministry{ margin-bottom:9px; }
.pb-emblem{ width:34px; height:auto; margin:0 auto 4px; display:block; }
.pb-ministry-tx{ font-family:'Cairo'; font-weight:700; font-size:7px; color:#444; line-height:1.55; }
.pb-ttl{ font-family:'Cairo'; font-weight:900; font-size:19px; color:#111; line-height:1.25; }
.pb-sub{ font-family:'Cairo'; font-weight:700; font-size:10.5px; color:#333; margin-top:7px; line-height:1.5; }
.pb-art{ position:relative; flex:1; overflow:hidden; }
.pb-art svg{ position:absolute; inset:0; width:100%; height:100%; }
.pb-badge{ position:absolute; bottom:12px; right:12px; color:#fff; font-family:'Cairo'; font-size:9px; font-weight:800; padding:6px 11px; border-radius:3px; text-align:center; line-height:1.4; }



/* ═══ تجميل جدول معلومات الدرس — عناوين مدمجة بتأثير ثلاثي الأبعاد ═══ */
.flp-meta th{
  height:34px!important;
  padding:5px 10px!important;
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--acc) 82%, #fff) 0%,
    var(--acc) 45%,
    color-mix(in srgb,var(--acc) 72%, #000) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.4),
    inset 0 -2px 4px rgba(0,0,0,.28),
    0 2px 5px rgba(0,0,0,.22)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
  letter-spacing:.3px;
  position:relative;
}
.flp-meta tr:has(th){height:34px}
.flp-meta td{vertical-align:top}
.flp-meta{
  box-shadow:0 3px 12px rgba(0,0,0,.12);
  border-radius:6px;
}


/* mc-hide-boot: يُزال عند جهوزية النظام */
.mc-blur-wrap{position:relative;overflow:hidden}
.mc-blur-wrap::after{content:'';position:absolute;inset:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(255,255,255,.55);z-index:100;pointer-events:none}
.mc-paywall-msg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:101;background:#fff;border-radius:18px;padding:28px 24px;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.18);max-width:340px;width:90%;font-family:Cairo,sans-serif}
.mc-paywall-msg .pw-icon{font-size:42px;margin-bottom:8px}
.mc-paywall-msg .pw-title{font-size:18px;font-weight:800;color:#053524;margin-bottom:6px}
.mc-paywall-msg .pw-text{font-size:13px;color:#666;line-height:1.8;margin-bottom:14px}
.mc-paywall-msg .pw-price{background:#f0fdf4;border:2px solid #0B7B50;border-radius:12px;padding:12px;margin-bottom:14px}
.mc-paywall-msg .pw-price b{font-size:24px;color:#0B7B50}
.mc-paywall-msg .pw-btn{display:inline-block;padding:11px 28px;border-radius:10px;background:#E8B33B;color:#053524;font-weight:800;font-size:14px;cursor:pointer;border:none;font-family:inherit}
