/* ==========================================================================
   Public site (stage D1): header menu, footer, home, about, contact, search, 404 and the shared "pub-*" blocks.
   Loaded after tokens / base / components / compat, so it wins over style.css. Logical properties only (RTL and LTR),
   text in rem (14px minimum), 44px touch targets, no decorative gradients or shadows. Colours come from tokens.css; every
   pair used for text is one that contrast-check.js already covers (deep / action on white or mint, text-2 on bg / mint).
   ========================================================================== */

/* ---------- 1. Header: menu, «بیشتر» disclosure, actions ---------- */
.site-header { background: var(--ds-surface); border-block-end: 1px solid var(--ds-line); }
.site-header__inner { gap: var(--ds-space-4); }
.site-nav__list { align-items: center; }
.site-nav ul li a,
.site-nav__more > summary {
	display: inline-flex; align-items: center; gap: var(--ds-space-1);
	min-block-size: var(--ds-control-h);
	padding-inline: var(--ds-space-3);
	border-radius: var(--ds-radius-pill);
	font-size: var(--ds-fs-sm); font-weight: var(--ds-fw-medium);
	color: var(--ds-text); text-decoration: none; white-space: nowrap;
	cursor: pointer;
}
.site-nav__more > summary { list-style: none; background: transparent; border: 0; }
.site-nav__more > summary::-webkit-details-marker { display: none; }
.site-nav ul li a:hover,
.site-nav__more > summary:hover,
.site-nav__more[open] > summary { background: var(--ds-mint); color: var(--ds-deep); text-decoration: none; }
.site-nav__chev { transition: transform var(--ds-dur) var(--ds-ease); }
.site-nav__more[open] .site-nav__chev { transform: rotate(180deg); }
.site-nav__group { position: relative; }
.site-nav__sub {
	flex-direction: column; align-items: stretch; gap: var(--ds-space-1);
	margin: 0; padding: var(--ds-space-2); list-style: none;
}
.site-nav__sub li a { display: flex; inline-size: 100%; border-radius: var(--ds-radius-control); }
@media (min-width: 1200px) {
	.site-nav__sub {
		position: absolute; inset-inline-start: 0; inset-block-start: calc(100% + var(--ds-space-1)); z-index: var(--ds-z-dropdown);
		min-inline-size: 14rem; background: var(--ds-surface);
		border: 1px solid var(--ds-line); border-radius: var(--ds-radius-card); box-shadow: var(--ds-shadow-pop);
	}
}
@media (max-width: 1199px) {
	.site-nav ul.site-nav__list { align-items: stretch; }
	.site-nav__more > summary { inline-size: 100%; justify-content: space-between; border-radius: var(--ds-radius-control); padding-inline: var(--ds-gutter); }
	.site-nav__sub { padding: 0 0 var(--ds-space-2); padding-inline-start: var(--ds-space-4); }
	.site-nav__group { inline-size: 100%; }
	.site-nav ul li a { padding-inline: var(--ds-gutter); border-radius: var(--ds-radius-control); }
}
.site-nav__sub[hidden] { display: none !important; }
.site-lang-switch { color: var(--ds-text); border: 1px solid var(--ds-line); }
.site-lang-switch:hover { background: var(--ds-mint); color: var(--ds-deep); }
.site-header__actions { gap: var(--ds-space-2); }
@media (max-width: 400px) {
	.site-header__inner { padding-block: var(--ds-space-2); gap: var(--ds-space-2); }
	.site-logo__img { height: 34px; }
}

/* The search overlay is a dialog now: a visible ring on its field, a real close target. */
.site-search-overlay__close { inline-size: var(--ds-control-h); block-size: var(--ds-control-h); }
.site-search-overlay__hint { font-size: var(--ds-fs-xs); }

/* "Visiting from Iran?" banner: close target 44px. */
.market-suggestion__close { inline-size: var(--ds-control-h); block-size: var(--ds-control-h); }

/* ---------- 2. Footer: a light surface (the full-colour logo has 3.4:1 on the old dark one) ---------- */
.site-footer { background: var(--ds-mint); color: var(--ds-text); border-block-start: 1px solid var(--ds-line); margin-block-start: var(--ds-space-12); }
.site-footer__top { padding-block: var(--ds-space-10) var(--ds-space-5); border-block-end: 1px solid var(--ds-line); }
.site-footer__top p { color: var(--ds-text-2); max-inline-size: 40rem; margin: 0; font-size: var(--ds-fs-sm); }
.site-footer__inner { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: var(--ds-space-8); padding-block: var(--ds-space-8); }
.site-footer__heading { font-size: var(--ds-fs-md); font-weight: var(--ds-fw-bold); color: var(--ds-text); margin: 0 0 var(--ds-space-3); }
.site-footer a { color: var(--ds-deep); text-decoration: none; }
.site-footer a:hover { color: var(--ds-action-hover); text-decoration: underline; }
.site-footer ul { gap: 0; }
.site-footer li > a, .site-footer__legal a { display: inline-flex; align-items: center; min-block-size: var(--ds-control-h); }
.site-footer__col p { color: var(--ds-text-2); font-size: var(--ds-fs-sm); }
.site-footer__social { display: flex; flex-direction: row; flex-wrap: wrap; gap: var(--ds-space-2); margin: var(--ds-space-3) 0 0; }
.site-footer__social a {
	inline-size: var(--ds-control-h); block-size: var(--ds-control-h); border-radius: var(--ds-radius-pill);
	background: var(--ds-surface); border: 1px solid var(--ds-line); justify-content: center; color: var(--ds-deep);
}
.site-footer__social a:hover { background: var(--ds-mint-strong); text-decoration: none; }
.site-footer__contact-list a { gap: var(--ds-space-2); }
.site-footer__note-wrap { padding-block: var(--ds-space-4); border-block-start: 1px solid var(--ds-line); }
.site-footer__note { margin: 0; color: var(--ds-text-2); font-size: var(--ds-fs-xs); max-inline-size: 48rem; }
.site-footer__bottom { color: var(--ds-text-2); border-block-start: 1px solid var(--ds-line); font-size: var(--ds-fs-xs); }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: 0 var(--ds-space-4); }

/* ---------- 3. Shared public blocks ---------- */
.pub-section { padding-block: var(--ds-space-12); }
.pub-section--tint { background: var(--ds-surface); border-block: 1px solid var(--ds-line); }
.pub-head { max-inline-size: 42rem; margin-block-end: var(--ds-space-8); }
.pub-head--center { margin-inline: auto; text-align: center; }
.pub-head h2 { font-size: var(--ds-fs-2xl); line-height: var(--ds-lh-tight); margin: 0 0 var(--ds-space-2); }
.pub-head p { color: var(--ds-text-2); margin: 0; }
.pub-head__row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--ds-space-4); max-inline-size: none; }
.pub-eyebrow { display: block; color: var(--ds-deep); font-weight: var(--ds-fw-bold); font-size: var(--ds-fs-xs); margin-block-end: var(--ds-space-1); }
.pub-textlink {
	display: inline-flex; align-items: center; gap: var(--ds-space-2); min-block-size: var(--ds-control-h);
	color: var(--ds-deep); font-weight: var(--ds-fw-semibold); text-decoration: underline; text-underline-offset: 0.2em;
}
.pub-textlink:hover { color: var(--ds-action-hover); }
.pub-textlink .ds-icon { flex: none; }
.pub-note {
	display: flex; gap: var(--ds-space-3); align-items: flex-start;
	background: var(--ds-info-bg); border: 1px solid var(--ds-info-line); color: var(--ds-text);
	border-radius: var(--ds-radius-control); padding: var(--ds-space-3) var(--ds-space-4); font-size: var(--ds-fs-sm);
}
.pub-note .ds-icon { color: var(--ds-info); flex: none; margin-block-start: 0.2em; }
.pub-note p { margin: 0; }
.pub-card { background: var(--ds-surface); border: 1px solid var(--ds-line); border-radius: var(--ds-radius-card); padding: var(--ds-space-5); }
.pub-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--ds-space-2); }
.pub-chip {
	display: inline-flex; align-items: center; min-block-size: var(--ds-control-h); padding-inline: var(--ds-space-4);
	border: 1px solid var(--ds-control-line); border-radius: var(--ds-radius-pill); background: var(--ds-surface);
	color: var(--ds-text); font-size: var(--ds-fs-sm); text-decoration: none;
}
.pub-chip:hover { background: var(--ds-mint); border-color: var(--ds-deep); color: var(--ds-deep); text-decoration: none; }
.pub-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ds-space-3); }
.pub-ticks li { display: flex; gap: var(--ds-space-3); align-items: flex-start; }
.pub-ticks .ds-icon { color: var(--ds-action); flex: none; margin-block-start: 0.3em; }

/* ---------- 4. Home ---------- */
.pub-hero { background: var(--ds-mint); border-block-end: 1px solid var(--ds-line); padding-block: var(--ds-space-12) var(--ds-space-10); }
body.is-ravanline .pub-hero { background: var(--ds-accent-bg); }
.pub-hero__inner { display: grid; gap: var(--ds-space-8); align-items: center; }
@media (min-width: 900px) { .pub-hero__inner { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: var(--ds-space-12); } }
.pub-hero h1 { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.5rem); line-height: var(--ds-lh-tight); margin: 0 0 var(--ds-space-4); }
.pub-hero__lead { color: var(--ds-text-2); font-size: var(--ds-fs-lg); max-inline-size: 38rem; margin: 0 0 var(--ds-space-6); }
.pub-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ds-space-3) var(--ds-space-5); margin-block-end: var(--ds-space-5); }
.pub-hero__quick { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ds-space-2); margin-block-end: var(--ds-space-5); color: var(--ds-text-2); font-size: var(--ds-fs-sm); }
.pub-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ds-space-2); font-size: var(--ds-fs-sm); color: var(--ds-text); }
.pub-facts li { display: flex; gap: var(--ds-space-2); align-items: flex-start; }
.pub-facts .ds-icon { color: var(--ds-action); flex: none; margin-block-start: 0.25em; }
.pub-panel { background: var(--ds-surface); border: 1px solid var(--ds-line); border-radius: var(--ds-radius-card); padding: var(--ds-space-6); }
.pub-panel h2 { font-size: var(--ds-fs-lg); margin: 0 0 var(--ds-space-2); }
.pub-panel p { color: var(--ds-text-2); font-size: var(--ds-fs-sm); margin: 0 0 var(--ds-space-4); }
.pub-avatars { display: flex; margin-block-end: var(--ds-space-4); }
.pub-avatars__item {
	inline-size: 3.5rem; block-size: 3.5rem; border-radius: var(--ds-radius-pill); overflow: hidden; flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--ds-mint-strong); color: var(--ds-deep); font-weight: var(--ds-fw-bold); font-size: var(--ds-fs-lg);
	border: 2px solid var(--ds-surface); margin-inline-start: -0.75rem;
}
.pub-avatars__item:first-child { margin-inline-start: 0; }
.pub-avatars__item img { inline-size: 100%; block-size: 100%; object-fit: cover; }

.pub-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ds-space-6); grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); counter-reset: pubstep; }
.pub-steps__item { position: relative; padding-block-start: var(--ds-space-1); }
.pub-steps__num {
	display: inline-flex; align-items: center; justify-content: center; inline-size: 2.25rem; block-size: 2.25rem; border-radius: var(--ds-radius-pill);
	background: var(--ds-deep); color: var(--ds-on-action); font-weight: var(--ds-fw-bold); margin-block-end: var(--ds-space-3);
}
.pub-steps__title { display: block; font-size: var(--ds-fs-lg); font-weight: var(--ds-fw-bold); margin-block-end: var(--ds-space-1); }
.pub-steps__text { display: block; color: var(--ds-text-2); font-size: var(--ds-fs-sm); }

.pub-costs { display: grid; gap: var(--ds-space-6); }
@media (min-width: 900px) { .pub-costs { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); align-items: start; } }
.pub-price { display: grid; gap: var(--ds-space-3); }
.pub-price__row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--ds-space-2); padding-block: var(--ds-space-2); border-block-end: 1px solid var(--ds-line); }
.pub-price__row:last-of-type { border-block-end: 0; }
.pub-price__label { color: var(--ds-text-2); }
.pub-price__value { font-weight: var(--ds-fw-bold); }
.pub-price__unavailable { color: var(--ds-text-2); margin: 0; }
.pub-price__foot { margin: 0; color: var(--ds-text-2); font-size: var(--ds-fs-xs); }

.pub-linkcards { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ds-space-4); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.pub-linkcard { position: relative; display: flex; flex-direction: column; gap: var(--ds-space-2); }
.pub-linkcard:hover { border-color: var(--ds-deep); }
.pub-linkcard__title { font-size: var(--ds-fs-md); font-weight: var(--ds-fw-bold); margin: 0; }
.pub-linkcard__title a { color: var(--ds-text); text-decoration: none; }
.pub-linkcard__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--ds-radius-card); }
.pub-linkcard__title a:focus-visible::after { outline: var(--ds-focus-width) solid var(--ds-focus); outline-offset: 2px; }
.pub-linkcard__desc { color: var(--ds-text-2); font-size: var(--ds-fs-sm); margin: 0; }
.pub-linkcard__meta { color: var(--ds-text-2); font-size: var(--ds-fs-xs); margin: auto 0 0; }

.pub-pro { display: grid; gap: var(--ds-space-5); background: var(--ds-surface); border: 1px solid var(--ds-line); border-radius: var(--ds-radius-card); padding: var(--ds-space-6); }
@media (min-width: 900px) { .pub-pro { grid-template-columns: minmax(0, 1fr) auto; align-items: center; } }
.pub-pro h2 { font-size: var(--ds-fs-xl); margin: 0 0 var(--ds-space-2); }
.pub-pro p { margin: 0 0 var(--ds-space-2); color: var(--ds-text-2); }
.pub-pro ul { margin: var(--ds-space-3) 0 0; padding-inline-start: 1.1rem; color: var(--ds-text-2); font-size: var(--ds-fs-sm); display: grid; gap: var(--ds-space-1); }
.pub-pro__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ds-space-3); }

.pub-quotes { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ds-space-4); grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.pub-quote { margin: 0; display: flex; flex-direction: column; gap: var(--ds-space-3); }
.pub-quote blockquote { margin: 0; color: var(--ds-text); }
.pub-quote figcaption { color: var(--ds-text-2); font-size: var(--ds-fs-sm); }
.pub-quote__rating { color: var(--ds-accent); font-weight: var(--ds-fw-semibold); font-size: var(--ds-fs-sm); }
.pub-quotes__note { color: var(--ds-text-2); font-size: var(--ds-fs-xs); margin: var(--ds-space-4) 0 0; }

.pub-faq { display: grid; gap: var(--ds-space-8); }
@media (min-width: 900px) { .pub-faq { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); } }
.pub-faq__list { display: grid; gap: var(--ds-space-2); }
.pub-faq__item { background: var(--ds-surface); border: 1px solid var(--ds-line); border-radius: var(--ds-radius-control); }
.pub-faq__item > summary {
	display: flex; justify-content: space-between; align-items: center; gap: var(--ds-space-3);
	min-block-size: var(--ds-control-h); padding: var(--ds-space-3) var(--ds-space-4);
	font-weight: var(--ds-fw-semibold); cursor: pointer; list-style: none;
}
.pub-faq__item > summary::-webkit-details-marker { display: none; }
.pub-faq__item .ds-icon { flex: none; transition: transform var(--ds-dur) var(--ds-ease); color: var(--ds-text-2); }
.pub-faq__item[open] .ds-icon { transform: rotate(180deg); }
.pub-faq__item > div { padding: 0 var(--ds-space-4) var(--ds-space-4); color: var(--ds-text-2); }
.pub-faq__item > div p { margin: 0 0 var(--ds-space-2); }
.pub-faq__item > div p:last-child { margin-block-end: 0; }

/* ---------- 5. About, contact, search, 404, plain pages ---------- */
.pub-page { padding-block: var(--ds-space-8) var(--ds-space-12); }
.breadcrumb { font-size: var(--ds-fs-xs); }
.breadcrumb a { text-decoration: underline; text-underline-offset: 0.2em; }
.pub-page__head { max-inline-size: 44rem; margin-block: var(--ds-space-4) var(--ds-space-8); }
.pub-page__head h1 { font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.25rem); line-height: var(--ds-lh-tight); margin: 0 0 var(--ds-space-3); }
.pub-page__head p { color: var(--ds-text-2); font-size: var(--ds-fs-lg); margin: 0; }
.pub-values { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ds-space-4); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.pub-values h3 { font-size: var(--ds-fs-md); margin: 0 0 var(--ds-space-2); }
.pub-values p { color: var(--ds-text-2); font-size: var(--ds-fs-sm); margin: 0; }
.pub-values a { color: var(--ds-deep); text-decoration: underline; }

.pub-contact { display: grid; gap: var(--ds-space-8); }
@media (min-width: 900px) { .pub-contact { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: start; } }
.pub-contact__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ds-space-3); }
.pub-contact__item { display: flex; gap: var(--ds-space-3); align-items: flex-start; }
.pub-contact__item .ds-icon { color: var(--ds-action); flex: none; margin-block-start: 0.25em; }
.pub-contact__item strong { display: block; }
.pub-contact__item a { color: var(--ds-deep); text-decoration: underline; }
.pub-form { display: grid; gap: var(--ds-space-4); }
.pub-form h2 { font-size: var(--ds-fs-xl); margin: 0; }
.pub-form__intro { margin: 0; color: var(--ds-text-2); font-size: var(--ds-fs-sm); }
.pub-form__intro a { color: var(--ds-deep); text-decoration: underline; }
.pub-form__status { margin: 0; min-block-size: 1.5em; }
.pub-note--spaced { margin-block-start: var(--ds-space-6); }
.pub-form__status.is-error { color: var(--ds-danger); }
.pub-form__status.is-ok { color: var(--ds-success); }
.pub-form .ds-field__control, .pub-form input:not([type="hidden"]), .pub-form textarea { inline-size: 100%; }
.mentayar-honeypot { position: absolute; inset-inline-start: -9999px; }

.pub-search { display: flex; gap: var(--ds-space-2); max-inline-size: 36rem; margin-block-end: var(--ds-space-6); }
.pub-search input[type="search"] { flex: 1 1 auto; min-inline-size: 0; min-block-size: var(--ds-control-h); padding-inline: var(--ds-space-3); border: 1px solid var(--ds-control-line); border-radius: var(--ds-radius-control); background: var(--ds-surface); }
.pub-results { display: grid; gap: var(--ds-space-3); }
.pub-results article { background: var(--ds-surface); border: 1px solid var(--ds-line); border-radius: var(--ds-radius-control); padding: var(--ds-space-4); }
.pub-results h2 { font-size: var(--ds-fs-lg); margin: 0 0 var(--ds-space-1); }
.pub-results h2 a { color: var(--ds-deep); }
.pub-results p { margin: 0; color: var(--ds-text-2); font-size: var(--ds-fs-sm); }
.pub-empty { max-inline-size: 36rem; }
.pub-empty h1, .pub-empty h2 { font-size: var(--ds-fs-2xl); margin: 0 0 var(--ds-space-2); }
.pub-empty p { color: var(--ds-text-2); }
.pub-empty__links { display: flex; flex-wrap: wrap; gap: var(--ds-space-2); margin-block-start: var(--ds-space-4); }
.pub-pagination { margin-block-start: var(--ds-space-6); }
.pub-pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--ds-space-2); }
.pub-pagination a.page-numbers, .pub-pagination span.page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-inline-size: var(--ds-control-h); min-block-size: var(--ds-control-h);
	padding-inline: var(--ds-space-3); border: 1px solid var(--ds-control-line); border-radius: var(--ds-radius-control); background: var(--ds-surface); color: var(--ds-text); text-decoration: none;
}
.pub-pagination .page-numbers.current { background: var(--ds-deep); border-color: var(--ds-deep); color: var(--ds-on-action); }

/* Legal pages (text lives in the database): readable measure, in-page anchors clear of the sticky header, TOC not sticky on phones. */
.legal-page__content { max-inline-size: 48rem; }
.legal-page__content h2 { scroll-margin-block-start: calc(var(--ds-header-h) + var(--ds-space-4)); }
@media (max-width: 899.98px) { .legal-page__toc { position: static; } }
.legal-page__toc a { display: inline-flex; min-block-size: var(--ds-control-h); align-items: center; }

/* Articles, store: emoji badges are gone, the format shows as an outline icon with the label next to it. */
.article-card__format, .product-single__badge { display: inline-flex; align-items: center; gap: var(--ds-space-1); }
.article-card__format { inline-size: auto; block-size: auto; min-block-size: 1.75rem; padding: var(--ds-space-1) var(--ds-space-2); border-radius: var(--ds-radius-pill); background: var(--ds-surface); color: var(--ds-deep); font-size: var(--ds-fs-xs); }
.pub-badge-line { display: inline-flex; align-items: center; gap: var(--ds-space-1); }
.article-card__category, .article-card__meta { font-size: var(--ds-fs-xs); }
.pub-stripe { margin-block: var(--ds-space-4); }
.pub-related { margin-block-start: var(--ds-space-12); }
.pub-pillbar { display: flex; flex-wrap: wrap; gap: var(--ds-space-2); margin-block-end: var(--ds-space-6); }
.pub-pillbar .pill { min-block-size: var(--ds-control-h); display: inline-flex; align-items: center; }
.pub-inline-form { margin-block-end: var(--ds-space-6); }
.pub-inline-form input[type="text"], .pub-inline-form input[type="search"] { inline-size: 100%; max-inline-size: 22rem; min-block-size: var(--ds-control-h); padding-inline: var(--ds-space-3); border: 1px solid var(--ds-control-line); border-radius: var(--ds-radius-control); background: var(--ds-surface); }
.pub-media { inline-size: 100%; border-radius: var(--ds-radius-control); }
.pub-error { color: var(--ds-danger); min-block-size: 1.4em; margin-block: var(--ds-space-2) 0; }
.pub-center { text-align: center; }

/* ---------- 6. Sign-in dialog (auth-modal.js): same look as before, but its own class so the legacy-modal adapter does not lock page scroll for a persistent overlay ---------- */
.mentayar-auth-overlay {
	position: fixed; inset: 0; z-index: var(--ds-z-overlay); background: var(--ds-overlay);
	display: flex; align-items: center; justify-content: center; padding: var(--ds-space-4);
}
.mentayar-auth-overlay[hidden] { display: none; }
.mentayar-auth-overlay .mentayar-modal { position: relative; inline-size: 100%; max-inline-size: 26rem; max-block-size: 90vh; max-block-size: 90dvh; overflow-y: auto; overscroll-behavior: contain; background: var(--ds-surface); border-radius: var(--ds-radius-card); padding: var(--ds-space-6); }
.mentayar-auth-overlay .mentayar-modal:focus { outline: none; }
.mentayar-auth-overlay .mentayar-modal__close { position: absolute; inset-block-start: var(--ds-space-2); inset-inline-end: var(--ds-space-2); inline-size: var(--ds-control-h); block-size: var(--ds-control-h); display: inline-flex; align-items: center; justify-content: center; font-size: 1.5rem; line-height: 1; background: transparent; border: 0; border-radius: var(--ds-radius-pill); color: var(--ds-text); cursor: pointer; }
.mentayar-auth-overlay .mentayar-modal__close:hover { background: var(--ds-mint); }
.mentayar-auth-overlay .mentayar-modal__label { color: var(--ds-text-2); font-size: var(--ds-fs-sm); }
.mentayar-auth-overlay .mentayar-modal__hint { font-size: var(--ds-fs-sm); }
.mentayar-auth-overlay .mentayar-modal__input, .mentayar-auth-overlay .mentayar-modal__mobile-row input, .mentayar-auth-overlay .mentayar-modal__otp-row input { min-block-size: var(--ds-control-h); font-size: max(1rem, 16px); }
.mentayar-auth-overlay .mentayar-modal__tab, .mentayar-auth-overlay .mentayar-modal__link, .mentayar-auth-overlay .mentayar-modal__resend button { min-block-size: var(--ds-control-h); }
.mentayar-auth-overlay .mentayar-modal__error { font-size: var(--ds-fs-sm); }
.mentayar-auth-overlay .mentayar-modal__error:not(:empty) { color: var(--ds-danger); }
.mentayar-auth-overlay .mentayar-modal__error.is-info:not(:empty) { color: var(--ds-deep); }
html.ds-auth-open, html.ds-auth-open body { overflow: hidden; }
@media (max-width: 639.98px) {
	.mentayar-auth-overlay { align-items: flex-end; padding: 0; }
	.mentayar-auth-overlay .mentayar-modal { max-inline-size: none; border-end-start-radius: 0; border-end-end-radius: 0; padding-block-end: calc(var(--ds-space-6) + var(--ds-safe-bottom)); }
}

/* ---------- 7. Print and forced colours ---------- */
@media print {
	.site-header, .site-footer__social, .site-search-overlay, .market-suggestion { display: none !important; }
}
@media (forced-colors: active) {
	.pub-card, .pub-panel, .pub-pro, .pub-faq__item, .pub-chip { border: 1px solid CanvasText; }
}
