/* 2.2.39: the light design system (the /new/ page's look) for pages switched one by one (inc/light.php: body class
   adv-light, this file). Loaded only on those pages, after main.css and woo.css: it re-points their tokens to /new/'s
   values (one font, near-black text, one accent, soft greys, no gold), then restyles the few dark surfaces. Style only:
   markup, behaviour and money paths are unchanged. 2.2.48 (owner 2026-10-14: «nfs 2l alwaan zabta sawa2 dark aw light»):
   the same colours on a phone in dark mode; no dark-mode rules. */

/* ---------- tokens: the theme's names, /new/'s values ---------- */
:root {
	color-scheme: light dark; /* as the page's meta says: so Chrome never force-darkens the page (body asks for light controls) */
	/* /new/'s own names */
	--l-bg: #fff; --l-soft: #f5f5f7; --l-ink: #1d1d1f; --l-mute: #6e6e73; --l-line: #d2d2d7; --l-hair: #e8e8ed; --l-accent: #222eaa;
	--l-card: #fff; --l-btn: #1d1d1f; --l-btn-ink: #fff; --l-btn-hover: #000; --l-field: #fff; --l-field-line: #86868b;
	--l-ok: #1d6b47; --l-ok-soft: #eef6f1; --l-err: #b3261e; --l-err-soft: #fdf0ef; --l-head: #fff; --l-ring: rgb(34 46 170 / .28);

	/* the theme's palette, re-pointed */
	--navy: var(--l-ink); --navy-2: #2c2c2e; --stage: var(--l-soft); --stage-2: var(--l-soft); --royal: var(--l-accent);
	--brass: var(--l-line); --brass-l: var(--l-accent); --bronze: var(--l-mute);
	--limestone: var(--l-soft); --sand: var(--l-soft); --paper-w: var(--l-soft); --stone: var(--l-mute);
	--orange: var(--l-btn); --orange-deep: var(--l-btn-hover); --ok: var(--l-ok);
	--blue-500: var(--l-accent); --blue-600: var(--l-accent); --blue-700: var(--l-accent); --blue-800: var(--l-accent); --blue-900: var(--l-ink); --blue-950: var(--l-ink);
	--night: var(--l-ink); --navy-card: var(--l-soft);
	--orange-300: var(--l-accent); --orange-400: var(--l-btn); --orange-500: var(--l-btn); --orange-600: var(--l-btn-hover); --orange-700: var(--l-mute);
	--orange-100: var(--l-soft); --orange-50: var(--l-soft);
	--paper: var(--l-soft); --paper-2: var(--l-soft); --tint: var(--l-soft); --line: var(--l-line);
	--white: var(--l-bg); --ink: var(--l-ink); --ink-2: var(--l-mute); --ink-3: var(--l-mute); --mist: var(--l-mute); --on-blue: var(--l-ink);
	--win: var(--l-ok); --fail: var(--l-err); --star: var(--l-mute); --star-off: var(--l-hair);
	--font-head: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif; /* one family, 400 and 600 */
	/* GeneratePress's own colours (its containers and text) */
	--contrast: var(--l-ink); --contrast-2: var(--l-mute); --contrast-3: var(--l-mute); --base: var(--l-line); --base-2: var(--l-soft); --base-3: var(--l-bg);
	--sh-1: 0 1px 2px rgb(0 0 0 / .04), 0 8px 24px rgb(0 0 0 / .06);
	--sh-2: 0 2px 6px rgb(0 0 0 / .06), 0 24px 56px rgb(0 0 0 / .12);
	--sh-bar: 0 -4px 24px rgb(0 0 0 / .08);
}

/* ---------- base ---------- */
/* color-scheme light: what the browser draws itself (checkboxes, a select's arrow and list, link colours, a payment
   iframe's backdrop) keeps its light look on a dark phone too */
body.adv-light { color-scheme: light; background: var(--l-bg); color: var(--l-ink); font-family: var(--font-body); }
body.adv-light h1, body.adv-light h2, body.adv-light h3, body.adv-light h4 { font-family: var(--font-head); font-weight: 600; color: var(--l-ink); }

/* ---------- header and footer: white, a hairline, near-black text (the same bars as /new/) ---------- */
body.adv-light .site-head { background: var(--l-head); color: var(--l-ink); border-bottom: 1px solid var(--l-hair); }
body.adv-light .site-head a, body.adv-light .site-head .brand, body.adv-light .site-head button { color: var(--l-ink); }
body.adv-light .annbar { background: var(--l-soft); color: var(--l-mute); }
body.adv-light .site-foot { background: var(--l-soft); color: var(--l-mute); }
body.adv-light .site-foot a, body.adv-light .site-foot .adv-linkbtn { color: var(--l-accent); }
body.adv-light .site-foot .brand__name, body.adv-light .site-foot__h { color: var(--l-ink); }
body.adv-light .sec--deep, body.adv-light .on-dark { background: var(--l-soft); color: var(--l-ink); }
body.adv-light .on-dark :focus-visible, body.adv-light .site-head :focus-visible, body.adv-light .annbar :focus-visible, body.adv-light .site-foot :focus-visible { outline-color: var(--l-accent); }

/* ---------- buttons: one main style, near-black pill with white text ---------- */
body.adv-light .btn, body.adv-light .woocommerce a.button, body.adv-light .woocommerce button.button,
body.adv-light .woocommerce #place_order, body.adv-light .woocommerce button.single_add_to_cart_button.button {
	border-color: var(--l-btn); border-radius: 999px; background: var(--l-btn); color: var(--l-btn-ink); box-shadow: none; font-family: var(--font-body); font-weight: 600;
}
body.adv-light .btn:hover, body.adv-light .woocommerce a.button:hover, body.adv-light .woocommerce button.button:hover,
body.adv-light .woocommerce #place_order:hover, body.adv-light .woocommerce button.single_add_to_cart_button.button:hover { border-color: var(--l-btn-hover); background: var(--l-btn-hover); color: var(--l-btn-ink); }
body.adv-light .btn--line, body.adv-light .btn--ghost { border-color: var(--l-line); background: transparent; color: var(--l-ink); }
body.adv-light .btn--ghost:hover { border-color: var(--l-ink); background: transparent; color: var(--l-ink); }
body.adv-light .btn--line:hover { border-color: var(--l-ink); background: transparent; color: var(--l-ink); }

/* The checkout form (body.adv-co: the order card, the rows, the door-3 offer) is styled in checkout.css since 2.2.46. */

/* ---------- seals: their words, without the gold ring ---------- */
body.adv-light .seal__bg { display: none; }
body.adv-light .seals__row { display: grid; gap: 4px; }
body.adv-light .seals--in .seal__in, body.adv-light .seals--under .seal__in { display: flex; align-items: center; gap: 8px; width: auto; height: auto; min-height: 32px; grid-template-rows: none; }
body.adv-light .seal__ic { position: static; width: 16px; height: 16px; margin: 0; color: var(--l-mute); }
body.adv-light .seals--in .seal__t, body.adv-light .seals--under .seal__t { max-width: none; color: var(--l-ink); font-size: 15px; font-weight: 400; text-align: start; }
body.adv-light a.seal__in .seal__t { color: var(--l-accent); }

/* ---------- fields: a clear border (≥ 3 : 1), a fill, 17 px text, an accent focus ring; the country list (select2) ---------- */
body.adv-light .woocommerce form .form-row .input-text, body.adv-light .woocommerce form .form-row select, body.adv-light .woocommerce form .form-row textarea,
body.adv-light .woocommerce .select2-container .select2-selection, body.adv-light .advance-password .input-text {
	border: 1px solid var(--l-field-line); border-radius: 12px; background: var(--l-field); color: var(--l-ink); font-size: 17px;
}
body.adv-light .woocommerce form .form-row .input-text:focus, body.adv-light .woocommerce form .form-row select:focus, body.adv-light .woocommerce form .form-row textarea:focus, body.adv-light .advance-password .input-text:focus {
	border-color: var(--l-accent); outline: 3px solid var(--l-ring); outline-offset: 1px;
}
body.adv-light .woocommerce form .form-row.woocommerce-invalid :is(.input-text, select, .select2-container .select2-selection) { border-color: var(--l-err); }
/* WooCommerce's validated green gives way to the plain field line */
body.adv-light .woocommerce form .form-row.woocommerce-validated :is(.input-text, select, .select2-container .select2-selection) { border-color: var(--l-field-line); }
body.adv-light .woocommerce .checkout-inline-error-message { font-size: 15px; line-height: 1.5; }
body.adv-light .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--l-ink); }
body.adv-light .select2-dropdown { border-color: var(--l-field-line); background: var(--l-field); color: var(--l-ink); }
body.adv-light .select2-search--dropdown .select2-search__field { border-color: var(--l-field-line); background: var(--l-bg); color: var(--l-ink); }
body.adv-light .select2-container--default .select2-results__option--highlighted[aria-selected], body.adv-light .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--l-accent); color: var(--l-bg); }
body.adv-light .select2-container--default .select2-results__option[aria-selected="true"], body.adv-light .select2-container--default .select2-results__option[data-selected="true"] { background: var(--l-soft); color: var(--l-ink); }
body.adv-light .woocommerce form .form-row input[type="checkbox"] { accent-color: var(--l-accent); }

/* ---------- the page container and WooCommerce's own hard-coded colours (white boxes, red errors) ---------- */
body.adv-light .site, body.adv-light .site-content, body.adv-light .inside-article, body.adv-light .separate-containers .inside-article { background: var(--l-bg); color: var(--l-ink); }
body.adv-light .woocommerce form .form-row.woocommerce-invalid label, body.adv-light .woocommerce .checkout-inline-error-message,
body.adv-light .woocommerce form .form-row .required, body.adv-light .woocommerce-error { color: var(--l-err); }

/* ---------- WhatsApp links and buttons: the page's one accent, no brand green (as on /new/) ---------- */
body.adv-light .wa-btn { border: 1px solid var(--l-line); background: transparent; color: var(--l-ink); }
body.adv-light .wa-btn:hover { border-color: var(--l-ink); background: transparent; color: var(--l-ink); }

/* ---------- type: one family in its two weights (Plex has 400 and 600: 700/800 rendered as 600 anyway) ---------- */
body.adv-light :is(h1, h2, h3, h4, h5, h6, b, strong, th, abbr, legend, .brand__name, .price__now, .co-step, .protect__t, .required, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table td.product-name, .woocommerce-table__product-name a, .woocommerce-notice--success, .price, .price__was, .co-per) { font-weight: 600; }

/* ---------- readable sizes: nothing under 14 px; the legal text before paying at 16 px on every width ---------- */
body.adv-light .woocommerce-Price-currencySymbol { font-size: 14px; }
body.adv-light .site-foot, body.adv-light .site-foot__base, body.adv-light .site-foot__base p, body.adv-light .brand__tag { font-size: 14px; }

/* ---------- batch-A review fixes (impeccable critique + audit, 2026-10-11) ---------- */
/* P1: no gold left on the links */
body.adv-light .protect__list a { text-decoration-color: var(--l-line); }
/* P1: order totals as plain rows on phones (order-pay, thank-you), and WooCommerce's lavender payment panel */
@media (max-width: 599px) {
	body.adv-light .entry-content table.shop_table.is-stack { border: 0; border-radius: 0; overflow: visible; }
	body.adv-light .entry-content table.is-stack tfoot { display: block; }
	body.adv-light .entry-content table.is-stack tfoot tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; border: 0; border-top: 1px solid var(--l-line); border-radius: 0; background: none; }
	body.adv-light .entry-content table.is-stack tfoot :is(th, td) { padding: 12px 0; border: 0; background: none; }
}
body.adv-light:not(.adv-co) #payment { border-radius: 16px; background: var(--l-soft); }
body.adv-light:not(.adv-co) #payment ul.payment_methods { border-bottom-color: var(--l-line); }
body.adv-light:not(.adv-co) #payment div.payment_box { background: var(--l-bg); color: var(--l-mute); }
body.adv-light:not(.adv-co) #payment div.payment_box::before { border-bottom-color: var(--l-bg); }
/* P2: notices without the side stripe and WooCommerce's glyph; errors in a soft red */
body.adv-light :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { padding: 14px 16px; border: 0; border-radius: 12px; background: var(--l-soft); color: var(--l-ink); }
body.adv-light :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { content: none; }
body.adv-light .woocommerce-error { background: var(--l-err-soft); color: var(--l-err); box-shadow: inset 0 0 0 1px var(--l-err); }
/* P2: the country chevron where it belongs */
body.adv-light .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 0; height: 100%; }
body.adv-light .woocommerce .select2-container .select2-selection--single .select2-selection__arrow b { position: absolute; inset: 0; margin: 0; border: 0; width: auto; height: auto; background: var(--l-mute); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / 16px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / 16px no-repeat; }
/* P2: the crossed price in grey */
body.adv-light .price__was { text-decoration-color: currentColor; }
/* P2: thank-you: one soft card, the overview as an even grid; no page frame around the cart, order-pay and thank-you */
body.adv-light .advance-after-purchase { gap: 12px; padding: 20px; border-radius: 16px; background: var(--l-soft); }
body.adv-light .advance-after-purchase > * { padding: 0; border-radius: 0; background: none; }
body.adv-light .advance-after-purchase > :is(h3, .advance-upgrade, .advance-credits, .advance-receipt, .advance-help) { padding-top: 16px; border-top: 1px solid var(--l-line); }
body.adv-light .woocommerce ul.order_details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; margin-inline: 0; padding: 0; }
body.adv-light .woocommerce ul.order_details li { margin: 0; padding: 10px 0; border: 0; border-bottom: 1px solid var(--l-hair); border-radius: 0; color: var(--l-mute); font-size: 14px; line-height: 1.5; }
body.adv-light .woocommerce ul.order_details li strong { color: var(--l-ink); font-size: 16px; overflow-wrap: anywhere; }
body.adv-light .woocommerce ul.order_details li.woocommerce-order-overview__email { grid-column: 1 / -1; }
body.adv-light.woocommerce-page:not(.adv-co) .inside-article { padding-inline: 0; border: 0; }
body.adv-light.woocommerce-order-received .entry-header { display: none; } /* the success line is the headline (no second title) */
/* P3: no ornament under titles; the accent only on links; placeholders, the address box, the desktop card, selection */
body.adv-light .inside-article .entry-title::after { content: none; }
body.adv-light .woocommerce form .form-row .input-text::placeholder { color: var(--l-mute); opacity: 1; }
body.adv-light .woocommerce .woocommerce-customer-details address { padding: 14px 16px; border: 1px solid var(--l-line); border-radius: 12px; }
body.adv-light ::selection { background: var(--l-ring); color: var(--l-ink); }
body.adv-light :is(input, textarea) { caret-color: var(--l-accent); }
/* WooCommerce's loading veil is inline white at 60 %: the page colour instead */
body.adv-light .blockUI.blockOverlay { background: var(--l-bg) !important; }
/* QA 2.2.39: WooCommerce's own red (coupon refusal, the cart's remove mark) follows the page's error colour */
body.adv-light { --wc-red: var(--l-err); }
body.adv-light .woocommerce form .coupon-error-notice, body.adv-light.woocommerce-cart table.cart td.actions .coupon .coupon-error-notice { font-size: 15px; }
/* the cart with an item (only by typing /cart/): no empty quantity row on phones (one copy per order), the coupon field as the checkout's, a quiet disabled button */
@media (max-width: 768px) { body.adv-light .woocommerce-cart-form td.product-quantity:has(input[type="hidden"]) { display: none; } }
body.adv-light .woocommerce-cart-form .coupon .input-text { min-height: 48px; padding: 0 14px; border: 1px solid var(--l-field-line); border-radius: 12px; background: var(--l-field); color: var(--l-ink); font-size: 17px; }
body.adv-light .woocommerce button.button:disabled[disabled] { border: 1px solid var(--l-line); background: transparent; color: var(--l-mute); opacity: 1; }
/* WooCommerce's field help (white on #1e85be, 4 : 1): ink on the page colour's opposite */
body.adv-light .woocommerce form .form-row .woocommerce-input-wrapper .description { border-radius: 10px; background: var(--l-ink); color: var(--l-bg); font-size: 15px; }
body.adv-light .woocommerce form .form-row .woocommerce-input-wrapper .description a { color: inherit; }
body.adv-light .woocommerce form .form-row .woocommerce-input-wrapper .description::before { border-color: var(--l-ink) transparent transparent transparent; }
/* reviewer 2.2.39: order-pay's no-method line without the notice box spacing (the checkout resets it under .adv-co) */
body.adv-light:not(.adv-co) #payment .woocommerce-info { margin: 0 0 24px; padding: 0; background: none; }
/* thank-you: WooCommerce's clearfix pseudo-elements are not grid items in the two-column overview */
body.adv-light .woocommerce ul.order_details::before, body.adv-light .woocommerce ul.order_details::after { content: none; }
/* thank-you: the phone number reads left to right («+966…»), its icon stays on the right */
body.adv-light .woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone { position: relative; direction: ltr; text-align: right; }
body.adv-light .woocommerce .woocommerce-customer-details .woocommerce-customer-details--phone::before { right: 0; margin: 0; }
/* the consent bar: both answers the same quiet outline pill (as on /new/), so neither competes with the page's main button */
body.adv-light #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn { border-radius: 999px !important; }
body.adv-light #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept,
body.adv-light #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny { border-color: var(--l-ink) !important; background: var(--l-bg) !important; color: var(--l-ink) !important; }
/* thank-you: the card's title starts at the card's padding, so «افتح مكتبتي» sits clear above the consent bar on a phone */
body.adv-light .advance-after-purchase { margin-top: 16px; }
body.adv-light .advance-after-purchase > h2:first-child { margin-top: 0; }
/* thank-you: the library card's paragraphs keep a reading measure on desktop */
body.adv-light .advance-after-purchase > :is(p, ul) { max-width: 70ch; }

/* ---------- batch B (2.2.40): the door pages (/start/, /platform/ and its platforms, /complete/, /teams/) ---------- */
body.adv-light .entry-content .lede { color: var(--l-mute); }
/* the buy box: /new/'s soft card; the door's light books (inc/helpers.php advance_r2_light) as a rounded 4:3 tile */
body.adv-light .adv-buy { border: 0; border-radius: 18px; background: var(--l-soft); box-shadow: none; grid-template-columns: 120px minmax(0, 1fr); }
@media (min-width: 700px) { body.adv-light .adv-buy { grid-template-columns: 168px minmax(0, 1fr); } }
body.adv-light .adv-buy__pic { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; background: #fff; box-shadow: none; }
body.adv-light .adv-buy__cap { color: var(--l-mute); font-size: 13px; }
/* «وفّر …» is plain accent text everywhere, as in the order box */
body.adv-light .price__save { padding: 0; border: 0; border-radius: 0; background: none; color: var(--l-accent); }
/* the platform choice: /new/'s options, a line, the chosen one ringed in the accent */
body.adv-light .pill span { border-color: var(--l-line); background: var(--l-bg); color: var(--l-ink); }
body.adv-light .pill input:checked + span { border-color: var(--l-accent); background: var(--l-bg); color: var(--l-ink); box-shadow: inset 0 0 0 1px var(--l-accent); }
body.adv-light .pill input:focus-visible + span { outline-color: var(--l-accent); }
/* real pages from the books: a hairline frame on white (was a 4 px navy frame and a shadow) */
body.adv-light .rpage img { border: 1px solid var(--l-line); border-radius: 12px; background: #fff; box-shadow: none; }
body.adv-light .rpage figcaption { color: var(--l-mute); font-size: 14px; }
/* long parts and questions: hairlines on the page colour */
body.adv-light .entry-content .wp-block-details { border-color: var(--l-hair); background: var(--l-bg); }
/* reviewer (batch B): type at least 14 px and a phone measure under 45 characters; the platform choice as /new/'s
   option cards (44 px, 12 px corners), not pills */
body.adv-light .entry-content .adv-micro { font-size: 16px; line-height: 1.7; }
body.adv-light .adv-buy__cap, body.adv-light .trust-row { font-size: 14px; }
@media (max-width: 374px) { body.adv-light .trust-row { flex-wrap: wrap; } }
body.adv-light .pill span, body.adv-light .adv-buy__pills .pill span { min-height: 44px; border-radius: 12px; }
/* phones: a 24 px gutter on content pages keeps lines under 45 characters (R4), as on /new/ */
@media (max-width: 768px) { body.adv-light:not(.woocommerce-page) .inside-article { padding-inline: 24px; } }
body.adv-light .entry-content .adv-micro { font-size: 17px; }
@media (max-width: 599px) { body.adv-light:not(.woocommerce-page) .entry-content :is(p, li, dd, figcaption, summary) { max-width: 16em; } } /* about 45 characters a line, as on /new/ */
/* reviewer (batch B): the buy box keeps its own width on phones (the 16em measure is for running text), the platform
   cards two by two on phones (at 150 % text four in a row collided), one hairline between questions, air between points */
@media (max-width: 599px) { body.adv-light:not(.woocommerce-page) .entry-content .adv-buy :is(p, li, figcaption) { max-width: none; } }
@media (max-width: 699px) { body.adv-light .adv-buy__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.adv-light .entry-content .wp-block-details { margin-block: 0; }
body.adv-light .entry-content .wp-block-details + .wp-block-details { border-top: 0; }
body.adv-light .entry-content ul > li + li { margin-top: 12px; }
/* reviewer (batch B, part 2): questions run the full width, the teams table without the stray frame on phones and with a
   hairline under its head on desktop, air under the quote button, the stacked cards at 600 */
body.adv-light .entry-content .wp-block-details summary { max-width: none; }
@media (max-width: 599px) { body.adv-light .entry-content table.is-stack { border: 0; } }
body.adv-light .entry-content .wp-block-table thead { border-bottom: 1px solid var(--l-line); }
body.adv-light .entry-content > .adv-buy__cta { margin-bottom: 16px; }
body.adv-light .entry-content table.is-stack tr > :first-child { font-weight: 600; }
/* 2.2.40: the thank-you order table on phones: each label beside its value (one line a row, not two). On order-pay
   «المجموع» no longer repeats the total (inc/checkout.php); the gap above the payment box keeps the 2.2.39 geometry, where
   the pay button is never half under the unanswered consent bar on a phone (at 390 it starts just below it) */
@media (max-width: 599px) {
	body.adv-light.woocommerce-order-received table.is-stack td[data-label] { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
	body.adv-light.woocommerce-order-received table.is-stack td[data-label]::before { margin: 0; }
	body.adv-light.woocommerce-order-pay #payment { margin-top: 78px; }
}

/* ---------- 2.2.40 Run 2: the door pages (body.adv-door), design only (DECISIONS 2026-10-12 «Keep full content») ----------
   /new/ v3's type scale and rhythm (an 80 px gap between sections on phones), one idea per block: lead phrases on their
   own line, enumerations as lists, a book's meta line and page counts as rows, the chapter links as a contents list; the buy
   box with one money-back line under it, a top bar on phones once it has scrolled away (assets/js/door.js), and on wide
   screens a sticky buy column beside the reading column. Markup: website/int-a/pages/build-pages.mjs (same words). */
body.adv-door .inside-article .entry-title { font-size: clamp(30px, 9.2vw, 38px); line-height: 1.22; } /* «المنصة: سناب شات» on one line at 390 */
body.adv-door .entry-content { font-size: 17px; line-height: 1.7; }
body.adv-door .entry-content > p { margin: 0 0 16px; }
body.adv-door .entry-content > p.lede { max-width: none; margin: 16px 0 0; color: var(--l-mute); font-size: 19px; line-height: 1.6; } /* the full column: about 40 characters a line at 390 */
body.adv-door .entry-content > h2 { margin: 80px 0 20px; font-size: clamp(28px, 8.2vw, 32px); line-height: 1.32; }
body.adv-door .entry-content > h3 { margin: 48px 0 4px; font-size: 21px; line-height: 1.45; }
body.adv-door .entry-content > h2 + h3 { margin-top: 0; }
body.adv-door .entry-content .adv-micro { color: var(--l-mute); font-size: 15px; line-height: 1.7; }
body.adv-door .entry-content :is(ul, ol).wp-block-list:is(.leads, .sent, .proof, .book-rows, .index, .steps) { margin: 0 0 24px; padding: 0; list-style: none; }
body.adv-door .entry-content :is(.leads, .sent, .proof, .book-rows, .index, .steps) > li + li { margin-top: 0; }
/* a lead phrase on its own line; lists of leads and the proof rows with air between them */
body.adv-door .entry-content .li-lead { display: block; margin-bottom: 2px; font-weight: 600; }
body.adv-door .entry-content :is(.leads, .proof) > li { margin: 0; padding: 0 0 18px; }
body.adv-door .entry-content .g-row { margin: 0 0 18px; }
/* «فيه:» and other enumerations: a grey label, then one sentence a line with a small grey dot */
body.adv-door .entry-content .list-label { margin: 16px 0 4px; color: var(--l-mute); font-size: 15px; font-weight: 600; }
body.adv-door .entry-content .sent > li { position: relative; margin: 0; padding: 3px 0; padding-inline-start: 18px; }
body.adv-door .entry-content .sent > li::before { content: ""; position: absolute; inset-inline-start: 3px; top: calc(.85em + 1px); width: 5px; height: 5px; border-radius: 50%; background: var(--l-mute); }
/* a book's meta line and «·» rows: the dots drawn between items, never at a line start (the start side is clipped) */
body.adv-door .entry-content .book-meta { margin: 0 0 12px; color: var(--l-mute); font-size: 15px; }
body.adv-light .dotrow { display: flex; flex-wrap: wrap; margin-inline-start: -1em; }
body.adv-light .dotrow__i { position: relative; padding-inline-start: 1em; }
body.adv-light .dotrow__i::before { content: "·"; position: absolute; inset-inline-start: .36em; }
body.adv-light .dotrow__label + .dotrow__i::before { content: none; }
body.adv-light .dotrow__sep { display: none; }
body.adv-light :is(p, span):has(> .dotrow) { clip-path: inset(-8px 0 -8px -8px); } /* RTL: the start (right) side clipped, focus rings kept */
/* book rows with their page counts, as /new/ v3's package rows */
body.adv-door .entry-content .book-rows { border-top: 1px solid var(--l-line); }
body.adv-door .entry-content .book-rows > li { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; max-width: none; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--l-hair); }
body.adv-door .entry-content .bk__p { flex: none; color: var(--l-mute); font-size: 15px; font-variant-numeric: tabular-nums; }
/* /platform/: the four books as an index (the whole row links to its page), and the chapter links as a contents list */
body.adv-door .entry-content ul.wp-block-list.index { margin-top: 40px; border-top: 1px solid var(--l-line); }
body.adv-door .entry-content :is(.index, .inside-links) > li { max-width: none; margin: 0; border-bottom: 1px solid var(--l-hair); }
body.adv-door .entry-content .ix, body.adv-door .entry-content .inside-links a { position: relative; display: block; padding: 14px 0; padding-inline-end: 32px; color: var(--l-ink); font-weight: 400; text-decoration: none; }
body.adv-door .entry-content :is(.ix, .inside-links a)::after { content: ""; position: absolute; inset-inline-end: 6px; top: 50%; width: 8px; height: 8px; border-top: 1.5px solid var(--l-mute); border-left: 1.5px solid var(--l-mute); transform: translateY(-50%) rotate(-45deg); }
body.adv-door .entry-content :is(.ix, .inside-links a):hover { color: var(--l-accent); }
body.adv-door .entry-content .ix__t { display: block; font-size: 18px; font-weight: 600; }
body.adv-door .entry-content .ix__m { display: block; max-width: 18em; margin-top: 2px; color: var(--l-mute); font-size: 15px; }
body.adv-door .entry-content .ix > .dotrow__sep { display: none; }
body.adv-door .entry-content .inside-links { display: block; margin: 24px 0 0; padding: 0; border-top: 1px solid var(--l-line); list-style: none; font-weight: 400; line-height: 1.6; }
body.adv-door .entry-content .inside-links a { min-height: 48px; padding-block: 12px; }
/* «منصة ثانية؟» at the end of a platform page */
body.adv-door .entry-content .pf-switch { margin-top: 40px; color: var(--l-mute); font-size: 15px; }
/* the buy box: one soft card with the money-back line under its button; the trust row now heads «الضمان» */
body.adv-door .entry-content > .door-buy { margin: 32px 0 40px; border-radius: 18px; background: var(--l-soft); }
body.adv-door :is(.door-buy, .door-ask) > .wp-block-group__inner-container { padding: 0; } /* WordPress wraps a group's blocks (classic theme) */
body.adv-door .door-buy .adv-buy { row-gap: 0; margin: 0; border-radius: 0; background: none; } /* empty rows (no pills, the trust row moved) leave no gap */
body.adv-door .door-buy :is(.adv-buy__pills, .adv-buy > noscript) { margin-top: 16px; }
body.adv-door .door-buy .adv-buy__cta { margin-top: 20px; }
body.adv-door .door-buy :is(.adv-buy__pay, .adv-buy__trust) { margin-top: 12px; }
body.adv-door .entry-content .door-buy .adv-mb { max-width: none; margin: 0; padding: 4px 20px 12px; text-align: center; }
body.adv-door .adv-trust-slot .trust-row { margin: 0 0 18px; font-size: 15px; }
body.adv-door .adv-trust-slot:empty { display: none; }
/* in the box: the founding label, the price, then «شوف وش تستلم بالضبط» under the price as a quiet grey link */
body.adv-door .adv-buy__deal { display: flex; flex-direction: column; align-items: flex-start; }
body.adv-door .adv-buy__label { display: contents; }
body.adv-door .adv-buy__label > span { order: 1; margin-bottom: 2px; color: var(--l-mute); font-size: 15px; font-weight: 600; }
body.adv-door .adv-buy__deal > .adv-buy__price { order: 2; }
body.adv-door .adv-buy__deal > .adv-buy__rating { order: 4; }
body.adv-door .adv-buy__label .what-link { order: 3; min-height: 44px; margin: 0; padding: 0; color: var(--l-mute); font-size: 15px; font-weight: 400; text-decoration: underline; text-underline-offset: 3px; }
body.adv-door .adv-buy__cap { text-align: start; font-size: 14px; }
/* R10 at 150 % text: when the box is narrow in em, the picture goes under the button (the consent bar never covers it) */
body.adv-door .door-buy { container-type: inline-size; }
@container (max-width: 10lh) { /* lh, not em: Chrome scales only lh in a container condition with the phone's text size (100 %: a 360-412 px box is 11-13 lh; 150 %: 7-8 lh) */
	body.adv-door .door-buy .adv-buy { display: flex; flex-direction: column; align-items: stretch; }
	body.adv-door .door-buy .adv-buy__deal { display: contents; }
	body.adv-door .door-buy .adv-buy__price { order: 2; }
	body.adv-door .door-buy :is(.adv-buy__pills, .adv-buy > noscript) { order: 3; }
	body.adv-door .door-buy .adv-buy__cta { order: 4; }
	body.adv-door .door-buy .adv-buy__label .what-link { order: 5; align-self: flex-start; }
	body.adv-door .door-buy :is(.adv-buy__pay, .adv-buy__trust) { order: 6; }
	body.adv-door .door-buy .adv-buy__fig { order: 7; max-width: 200px; }
}
/* /teams/: the quote button right after the lede (and at the end); the licences as one-line rows on phones */
body.adv-door .entry-content > .door-ask { margin: 28px 0 40px; }
body.adv-door .entry-content > .door-ask--end { margin: 56px 0 0; }
body.adv-door .entry-content .door-ask p { max-width: none; margin: 0; }
body.adv-door .door-ask .btn { width: 100%; }
body.adv-door .door-ask .adv-ask__mail { margin-top: 12px; color: var(--l-mute); font-size: 15px; text-align: center; }
body.adv-door .entry-content .steps { counter-reset: step; }
body.adv-door .entry-content .steps > li { position: relative; margin: 0; padding: 8px 0; padding-inline-start: 34px; counter-increment: step; }
body.adv-door .entry-content .steps > li::before { content: counter(step); position: absolute; inset-inline-start: 0; top: 8px; color: var(--l-mute); font-weight: 600; font-variant-numeric: tabular-nums; }
@media (max-width: 599px) {
	body.adv-door .entry-content table.is-stack tr { margin: 0; padding: 18px 0; border: 0; border-bottom: 1px solid var(--l-line); border-radius: 0; background: none; }
	body.adv-door .entry-content table.is-stack tr:first-child { border-top: 1px solid var(--l-line); }
	body.adv-door .entry-content .wp-block-table:has(table.is-stack) table.is-stack tr > :is(th, td) { padding: 3px 0; border: 0; background: none; } /* over main.css's cell lines */
	body.adv-door .entry-content table.is-stack tr > :first-child { padding-bottom: 6px; font-size: 19px; font-weight: 600; }
	body.adv-door .entry-content table.is-stack tr > :first-child::before { content: none; }
	body.adv-door .entry-content table.is-stack td[data-label]:not(:first-child) { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
	body.adv-door .entry-content table.is-stack td[data-label]:not(:first-child)::before { margin: 0; color: var(--l-mute); font-size: 15px; font-weight: 400; }
	body.adv-door .entry-content table.is-stack td:nth-child(3) { font-size: 22px; font-weight: 600; }
}
@media (min-width: 600px) {
	body.adv-door .entry-content .wp-block-table :is(th, td) { border: 0; border-bottom: 1px solid var(--l-line); background: none; }
	body.adv-door .entry-content .wp-block-table thead :is(th, td) { color: var(--l-mute); font-size: 15px; }
}
/* the phone bar: /new/'s top bar (price and the box's short button), over the sticky header; never on wide screens */
body.adv-door .door-bar { position: fixed; inset: 0 0 auto; z-index: 40; background: var(--l-bg); border-bottom: 1px solid var(--l-hair); } /* solid: the sticky header is under it */
body.adv-door .door-bar[hidden] { display: none; }
body.adv-door .door-bar__in { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 8px 24px; }
body.adv-door .door-bar__what { flex: none; margin: 0; color: var(--l-mute); font-size: 15px; white-space: nowrap; }
body.adv-door .door-bar__what b { color: var(--l-ink); font-size: 17px; font-weight: 600; }
body.adv-door .door-bar .btn { flex: 0 1 auto; min-width: 0; min-height: 44px; padding: 8px 18px; font-size: 15px; }
@media (max-width: 479px) { body.adv-door .door-bar__name { display: none; } }

/* the shared header: no cut tagline on small phones */
@media (max-width: 374px) { body.adv-light .brand__tag { display: none; } }
/* wide screens: the buy column sticky on the right, the reading column beside it (Apple's buy page, mirrored for Arabic) */
@media (min-width: 1000px) {
	body.adv-door .door-bar { display: none; }
	body.adv-door .inside-article .entry-header, body.adv-door .inside-article .entry-content { max-width: 1120px; }
	body.adv-door .inside-article .entry-title { font-size: clamp(48px, 4.2vw, 60px); line-height: 1.16; }
	body.adv-door .entry-content { font-size: 18px; }
	body.adv-door .entry-content > .lede { font-size: 22px; }
	body.adv-door .entry-content > h2 { margin-top: 112px; font-size: clamp(34px, 2.8vw, 40px); line-height: 1.22; }
	body.adv-door .entry-content:has(> .door-buy) { display: grid; grid-template-columns: 400px minmax(0, 1fr); column-gap: 80px; align-items: start; }
	body.adv-door .entry-content:has(> .door-buy) > * { grid-column: 2; min-width: 0; max-width: 40rem; }
	body.adv-door .entry-content:has(> .door-buy) > .lede { margin-top: 0; }
	body.adv-door .entry-content:has(> .door-buy) > .door-buy { grid-column: 1; grid-row: 1 / span 300; position: sticky; top: 92px; margin: 0; max-width: none; }
	body.adv-door .door-buy .adv-buy { grid-template-columns: minmax(0, 1fr); grid-template-areas: "fig" "deal" "pills" "cta" "pay" "near"; padding: 24px; }
	body.adv-door .door-buy .adv-buy__pic { width: 100%; }
	body.adv-door .door-buy .adv-buy__fig { width: 100%; max-width: 280px; justify-self: center; }
	body.adv-door .entry-content .ix__m { max-width: none; }
	body.adv-door .door-buy .adv-buy__pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.adv-door .door-buy .adv-buy__pills .pills__legend { grid-column: 1 / -1; margin-inline-end: 0; }
	body.adv-door .door-ask { max-width: 380px; }
}
@media (min-width: 1000px) and (max-height: 860px) { body.adv-door .door-buy .adv-buy__fig { max-width: 220px; } } /* the button stays in view on short screens */
/* R7: every link in these rows is a 44 px tap target (the words keep their place) */
body.adv-door .entry-content .adv-mb a, body.adv-light .dotrow__i a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }

/* ---------- 2.2.40 Run 2: the form pages (review 2026-10-12: checkout + FIRST10, order-pay, empty cart) ---------- */
/* checkout: WooCommerce focuses its notice for screen readers (tabindex -1); no accent ring on a non-interactive line */
body.adv-light .woocommerce-notices-wrapper [tabindex="-1"]:focus { outline: none; }
/* the coupon row: «حذف» as a quiet grey link, the code as the store writes it (Latin capitals; Arabic is unaffected) */
body.adv-light .woocommerce a.woocommerce-remove-coupon { color: var(--l-mute); font-size: 15px; font-weight: 400; }
body.adv-light .cart-discount th { text-transform: uppercase; }
/* order-pay: the one product as two lines (its name and price, then the total) on the page colour; no quantity row */
@media (max-width: 599px) {
	body.adv-light.woocommerce-order-pay table.shop_table.is-stack tbody tr { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
	body.adv-light.woocommerce-order-pay table.is-stack tbody td { padding: 12px 0; border: 0; background: none; }
	body.adv-light.woocommerce-order-pay table.is-stack tbody td[data-label] { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
	body.adv-light.woocommerce-order-pay table.is-stack tbody td[data-label]::before { margin: 0; }
	body.adv-light.woocommerce-order-pay table.is-stack tbody td.product-name::before { content: none; }
	body.adv-light.woocommerce-order-pay table.is-stack tbody td.product-name { padding-bottom: 0; font-size: 19px; font-weight: 600; }
}
/* the empty cart: the sentence as the page's lede, one full-width button, no second «اختر بابك» in the header */
body.adv-light.woocommerce-cart .cart-empty.woocommerce-info { margin: 0 0 24px; padding: 0; border-radius: 0; background: none; font-size: 20px; line-height: 1.6; }
body.adv-light.woocommerce-cart:has(.cart-empty) .site-head__cta { display: none; }
@media (max-width: 599px) {
	body.adv-light.woocommerce-cart .return-to-shop .wc-backward { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; }
}
/* R10 at 150 % text (the same lh test on the content column): the buy card before the lede, so the first screen holds the
   name, the price and the button and the consent bar never covers it (100 % text keeps the lede first) */
body.adv-door .inside-article:has(.door-buy) { container-type: inline-size; } /* lh 33.3 px at 100 %, 50 px at 150 %: 8.5 lh = 283 / 425 px */
@container (max-width: 8.5lh) {
	body.adv-door .entry-content:has(> .door-buy) { display: flex; flex-direction: column; }
	body.adv-door .entry-content > .door-buy { order: -2; margin-top: 24px; }
	body.adv-door .entry-content > p.lede { order: -1; margin-bottom: 16px; }
}

/* ---------- 2.2.40 Run 3 (review 2026-10-12 16:33) ---------- */
/* L2: long lists come as groups of at most five (build-pages.mjs); each group is its own list with a group gap; the
   book's six parts numbered 1-3 and 4-6 under «وبعدها ستة أجزاء:» */
body.adv-door .entry-content :is(ul, ol).wp-block-list.parts { margin: 0 0 24px; padding: 0; list-style: none; counter-reset: part; }
body.adv-door .entry-content ol.parts[start="4"] { counter-reset: part 3; }
body.adv-door .entry-content ol.parts > li { position: relative; margin: 0; padding: 4px 0; padding-inline-start: 30px; counter-increment: part; }
body.adv-door .entry-content ol.parts > li::before { content: counter(part); position: absolute; inset-inline-start: 0; top: 4px; color: var(--l-mute); font-weight: 600; font-variant-numeric: tabular-nums; }
body.adv-door .entry-content :is(.sent, .leads, .parts) + :is(.sent, .leads, .parts) { margin-top: 0; }
body.adv-door .entry-content .inside-links + .inside-links { margin-top: 28px; }
/* the trust row heading «الضمان» as the quiet dot row: accent links without underlines, no «·» at a line start */
body.adv-door .adv-trust-slot .trust-row--dots { display: block; color: var(--l-mute); }
body.adv-door .adv-trust-slot .trust-row--dots > * { overflow: visible; white-space: normal; text-overflow: clip; }
body.adv-door .adv-trust-slot .trust-row--dots :is(a, .what-link) { margin: 0; padding: 0; color: var(--l-accent); font-size: 15px; text-decoration: none; }
body.adv-light .dotrow__i .what-link { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
/* the card's caption on one line under the picture and the price (the figure's two parts placed in the card's grid) */
body.adv-door .door-buy .adv-buy__fig { display: contents; }
body.adv-door .door-buy .adv-buy__pic { grid-area: fig; }
body.adv-door .door-buy .adv-buy__cap { grid-area: cap; margin: 10px 0 0; text-align: start; white-space: nowrap; }
body.adv-door .door-buy .adv-buy { grid-template-areas: "fig deal" "cap cap" "pills pills" "cta cta" "pay pay" "near near"; }
@media (min-width: 1000px) {
	body.adv-door .door-buy .adv-buy { grid-template-areas: "fig" "cap" "deal" "pills" "cta" "pay" "near"; }
	body.adv-door .door-buy .adv-buy__pic { max-width: 280px; justify-self: center; }
	body.adv-door .door-buy .adv-buy__cap { margin-bottom: 12px; text-align: center; }
}
@container (max-width: 10lh) {
	body.adv-door .door-buy .adv-buy__pic { order: 7; max-width: 200px; }
	body.adv-door .door-buy .adv-buy__cap { order: 8; margin-bottom: 4px; white-space: normal; }
}
/* /teams/ on wide screens: no outer lines, the hairlines between rows only */
@media (min-width: 600px) { body.adv-door .entry-content :is(table.is-stack, .wp-block-table table) { border: 0; } }
/* order-pay: no quantity row (one copy per order); with no payment method, the WhatsApp link as the page's one main button */
body.adv-light.woocommerce-order-pay table.is-stack tbody td.product-quantity { display: none; }
body.adv-light.woocommerce-order-pay #payment .co-wa { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; }
body.adv-light.woocommerce-order-pay table.is-stack thead th.product-quantity { display: none; } /* and its column head on wide screens */
body.adv-door .entry-content .adv-trust-slot p.trust-row--dots { max-width: none; } /* one line where it fits (the phone cap is for running text) */

/* ---------- 2.2.40 Run 4 (review 2026-10-12 17:30) ---------- */
/* a closing note under a list or an author note in brackets: one grey line (build-pages.mjs p.note) */
body.adv-door .entry-content p.note { color: var(--l-mute); font-size: 15px; line-height: 1.7; }
/* order-pay: with no payment method the payment box sits lower, so the consent bar never covers its WhatsApp button at 360 */
body.adv-light.woocommerce-order-pay #payment:has(.wc_payment_methods .woocommerce-info) { margin-top: 32px; }

/* ---------- 2.2.40 Run 5 (review 2026-10-12 17:43) ---------- */
/* order-pay, no method: the WhatsApp button right under the store's line, before the privacy note, in the same box (clear of the first-visit consent bar at 360 and at 412 with 150 % text) */
body.adv-light.woocommerce-order-pay #payment > .form-row { display: flex; flex-direction: column; }
body.adv-light.woocommerce-order-pay #payment > .form-row > .co-wa { order: -1; margin-bottom: 16px; }
/* /platform/: the index row's chevron on the title line (its centre: the row's top padding plus half the title's line) */
body.adv-door .entry-content a.ix::after { font-size: 18px; top: calc(14px + .85em); }
/* /teams/ on wide screens: the lede at most about 60 characters a line */
@media (min-width: 1000px) { body.adv-door .entry-content:not(:has(> .door-buy)) > p.lede { max-width: 27em; } }

/* store-fixes-ht1 (HT-004, the pound view: html.adv-egp from advance-currency): «10,308 جنيه» is longer than «⃁ 699» and
   stays on one line, so beside the picture on a phone the door price is capped to the column it has (at 360 px it pushed
   the page up to 26 px wider and the phone zoomed out). The riyal view is unchanged. */
.adv-egp .adv-buy__price .price__now { font-size: min(2.5rem, 7.8vw); }
