/*
Theme Name: Maqsad Tourism
Theme URI: https://maqsadtourism.com
Author: Maqsad Tourism
Description: قالب مقصد للسياحة — قالب بلوكات عربي (RTL) بهوية مقصد السوداء والدهبية، متوافق مع محرر الموقع وإضافات السيو والنماذج.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.5.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maqsad
Tags: rtl-language-support, full-site-editing, block-patterns, custom-colors, editor-style
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(img) { height: auto; }
::selection { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); }
:focus-visible { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 3px; border-radius: 6px; }
.skip-link:focus { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); }

.mq-latin { font-family: var(--wp--preset--font-family--latin); letter-spacing: 0.3em; }
.mq-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	font-size: .875rem !important; font-weight: 700; letter-spacing: .02em;
	color: var(--wp--preset--color--gold-dark);
}
.mq-eyebrow::before { content: ""; width: 26px; height: 2px; background: currentColor; display: inline-block; }
.mq-eyebrow.has-text-align-center { display: flex; justify-content: center; }
.has-ink-background-color .mq-eyebrow, .mq-dark .mq-eyebrow { color: var(--wp--preset--color--gold); }
.mq-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); max-width: 640px; }
.has-ink-background-color .mq-lead, .mq-dark .mq-lead { color: var(--wp--preset--color--muted-light); }
.mq-center { text-align: center; margin-inline: auto; }
.mq-center.mq-lead { margin-inline: auto; }

/* ---------- Header ---------- */
.mq-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(17, 17, 17, .96);
	backdrop-filter: saturate(140%) blur(10px);
	border-bottom: 1px solid rgba(201, 162, 75, .18);
}
.admin-bar .mq-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .mq-header { top: 46px; } }
.mq-header .wp-block-navigation a { color: var(--wp--preset--color--cream); text-decoration: none; }
.mq-header .wp-block-navigation a:hover,
.mq-header .wp-block-navigation .current-menu-item > a,
.mq-header .wp-block-navigation [aria-current="page"] { color: var(--wp--preset--color--gold); }
.mq-header .wp-block-navigation__submenu-container { background: var(--wp--preset--color--ink-2) !important; border: 1px solid rgba(201,162,75,.25) !important; border-radius: 12px; padding: .4rem !important; }
.mq-header .wp-block-navigation__submenu-container a { padding: .5rem .9rem !important; border-radius: 8px; }
.mq-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--cream) !important; padding: 2rem 1.5rem; }
.mq-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.25rem; }
.mq-header .wp-block-navigation__responsive-container-open svg,
.mq-header .wp-block-navigation__responsive-container-close svg { fill: var(--wp--preset--color--cream); }
.mq-logo img { display: block; height: 46px; width: auto; }
.mq-logo { margin: 0 !important; }
.mq-header .wp-block-button__link { padding: .6rem 1.15rem; font-size: .95rem; }
@media (max-width: 600px) { .mq-header .mq-header-cta { display: none; } .mq-logo img { height: 38px; } }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-mq-ghost .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--cream);
	border: 1.5px solid rgba(245, 241, 234, .35);
}
.wp-block-button.is-style-mq-ghost .wp-block-button__link:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold); }
.wp-block-button.is-style-mq-dark .wp-block-button__link { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--cream); }
.wp-block-button.is-style-mq-dark .wp-block-button__link:hover { background: #000; color: var(--wp--preset--color--gold); }
.wp-block-button__link { transition: background-color .2s, color .2s, border-color .2s, transform .2s; }
.wp-block-button__link:active { transform: translateY(1px); }

/* ---------- Hero ---------- */
.mq-hero { position: relative; overflow: hidden; isolation: isolate; }
.mq-hero::before, .mq-hero::after {
	content: ""; position: absolute; z-index: -1; width: 520px; height: 520px;
	border: 2px solid rgba(255, 255, 255, .04); border-radius: 120px; pointer-events: none;
}
.mq-hero::before { inset-inline-end: -260px; bottom: -380px; }
.mq-hero::after { inset-inline-start: -300px; top: -330px; }
.mq-hero h1 { color: var(--wp--preset--color--cream); }
.mq-hero h1 mark, .mq-gold { background: none; color: var(--wp--preset--color--gold); }
.mq-page-hero { position: relative; overflow: hidden; isolation: isolate; }
.mq-page-hero::after {
	content: ""; position: absolute; z-index: -1; width: 420px; height: 420px;
	border: 2px solid rgba(255, 255, 255, .05); border-radius: 100px; inset-inline-end: -140px; top: -200px;
}
.mq-breadcrumb { font-size: .9rem; color: var(--wp--preset--color--muted-light); }
.mq-breadcrumb a { color: var(--wp--preset--color--muted-light); text-decoration: none; }
.mq-breadcrumb a:hover { color: var(--wp--preset--color--gold); }

/* Ticket card (hero side) */
.mq-ticket {
	background: var(--wp--preset--color--paper); color: var(--wp--preset--color--ink);
	border-radius: 22px; position: relative; box-shadow: 0 30px 60px -25px rgba(0,0,0,.6);
}
.mq-ticket::before, .mq-ticket::after {
	content: ""; position: absolute; width: 26px; height: 26px; border-radius: 50%;
	background: var(--wp--preset--color--ink); top: 108px;
}
.mq-ticket::before { inset-inline-start: -13px; }
.mq-ticket::after { inset-inline-end: -13px; }
.mq-ticket .mq-ticket-head { border-bottom: 2px dashed var(--wp--preset--color--line); }
.mq-ticket-list { list-style: none; padding: 0 !important; margin: 0; }
.mq-ticket-list li { position: relative; padding-inline-start: 1.9rem; margin-bottom: .55rem; }
.mq-ticket-list li::before {
	content: ""; position: absolute; inset-inline-start: 0; top: .35rem; width: 18px; height: 18px; border-radius: 6px;
	background: var(--wp--preset--color--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9A24B' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* ---------- Trust strip ---------- */
.mq-trust { border-top: 1px solid rgba(201,162,75,.18); }
.mq-trust .wp-block-column { display: flex; flex-direction: column; gap: .2rem; }
.mq-trust strong { color: var(--wp--preset--color--gold); font-size: 1.15rem; }
.mq-trust p { margin: 0; }

/* ---------- Cards ---------- */
.mq-card {
	background: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--line);
	border-radius: 20px; height: 100%; box-sizing: border-box;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.mq-card:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -28px rgba(17,17,17,.45); border-color: #D6C9AE; }
.mq-card--dark { background: var(--wp--preset--color--ink-2); border-color: rgba(201,162,75,.2); color: var(--wp--preset--color--cream); }
.mq-card--dark:hover { border-color: rgba(201,162,75,.5); }
.mq-card--featured { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--cream); border-color: var(--wp--preset--color--gold); }
.mq-card--featured p { color: var(--wp--preset--color--muted-light); }
.mq-card--featured p.mq-badge--live, .mq-ticket p.mq-badge--live { color: var(--wp--preset--color--ink); }
.mq-card--featured h3 { color: var(--wp--preset--color--cream); }
.mq-card h3 { margin-top: .6rem; }
.mq-card p { margin-block: .4rem 0; }
.mq-card .wp-block-buttons { margin-top: auto; padding-top: 1rem; }
.mq-card.is-layout-flex, .mq-card.is-layout-flow { display: flex; flex-direction: column; }
/* Fallback padding for cards saved without their own padding, and equal heights in a row. */
.mq-card:not([style*="padding"]) { padding: 1.6rem; }
.wp-block-columns > .mq-card { height: auto; align-self: stretch; }
.mq-step-no { margin: 0 !important; line-height: 1; }
.mq-icon { margin: 0 !important; }
.mq-icon img { width: 54px; height: 54px; display: block; }
.mq-badge {
	display: inline-block; font-size: .78rem !important; font-weight: 700; line-height: 1;
	padding: .45rem .7rem; border-radius: 999px; margin: 0 !important;
	background: var(--wp--preset--color--cream); color: var(--wp--preset--color--muted); border: 1px solid var(--wp--preset--color--line);
}
.mq-badge--live { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--gold); }
.mq-card-link a { font-weight: 700; text-decoration: none; }
.mq-card-link a::after { content: " ←"; }

/* ---------- Steps ---------- */
.mq-steps { counter-reset: mqstep; }
.mq-step { position: relative; padding-top: 3.6rem !important; }
.mq-step::before {
	counter-increment: mqstep; content: counter(mqstep);
	position: absolute; top: 0; inset-inline-start: 0;
	width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center;
	background: var(--wp--preset--color--ink); color: var(--wp--preset--color--gold);
	font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.25rem;
}
.mq-dark .mq-step::before { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); }

/* ---------- Checklists ---------- */
.mq-check { list-style: none; padding: 0 !important; }
.mq-check li { position: relative; padding-inline-start: 2rem; margin-bottom: .7rem; }
.mq-check li::before {
	content: ""; position: absolute; inset-inline-start: 0; top: .3rem; width: 20px; height: 20px; border-radius: 50%;
	background: var(--wp--preset--color--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat;
}
.mq-cross li::before {
	background: #F3D9D6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B3261E' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/11px no-repeat;
}

/* ---------- Notice / disclaimer ---------- */
.mq-notice {
	border: 1px solid var(--wp--preset--color--line); border-inline-start: 4px solid var(--wp--preset--color--gold);
	background: var(--wp--preset--color--paper); border-radius: 14px;
}
.mq-notice p { margin: 0; }

/* ---------- FAQ (details block) ---------- */
.mq-faq .wp-block-details {
	background: var(--wp--preset--color--paper); border: 1px solid var(--wp--preset--color--line);
	border-radius: 16px; padding: 0; margin-block-start: .8rem; overflow: hidden;
}
.mq-faq .wp-block-details summary {
	cursor: pointer; list-style: none; padding: 1.1rem 1.4rem; font-weight: 700; font-size: 1.05rem;
	display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.mq-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.mq-faq .wp-block-details summary::after {
	content: "+"; flex: none; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center;
	background: var(--wp--preset--color--cream); color: var(--wp--preset--color--gold-dark); font-size: 1.3rem; transition: transform .2s;
}
.mq-faq .wp-block-details[open] summary::after { content: "−"; background: var(--wp--preset--color--ink); color: var(--wp--preset--color--gold); }
.mq-faq .wp-block-details > *:not(summary) { padding: 0 1.4rem 1.2rem; margin: 0; color: var(--wp--preset--color--muted); }

/* ---------- CTA band ---------- */
.mq-cta { border-radius: 28px; position: relative; overflow: hidden; isolation: isolate; }
.mq-cta::after {
	content: ""; position: absolute; z-index: -1; width: 360px; height: 360px; border-radius: 90px;
	border: 2px solid rgba(201,162,75,.16); inset-inline-end: -140px; bottom: -220px;
}

/* ---------- Contact ---------- */
.mq-contact-item a { text-decoration: none; font-weight: 700; }
.mq-form label { display: block; font-weight: 700; margin-bottom: .35rem; }
.mq-form input, .mq-form select, .mq-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; padding: .85rem 1rem; border-radius: 12px;
	border: 1.5px solid var(--wp--preset--color--line); background: #fff; color: var(--wp--preset--color--ink);
}
.mq-form input:focus, .mq-form select:focus, .mq-form textarea:focus { border-color: var(--wp--preset--color--gold); outline: none; box-shadow: 0 0 0 3px rgba(201,162,75,.25); }
.mq-form .mq-field { margin-bottom: 1rem; }
.mq-form button {
	font: inherit; font-weight: 700; border: 0; cursor: pointer; border-radius: 12px; padding: .9rem 1.6rem;
	background: var(--wp--preset--color--ink); color: var(--wp--preset--color--cream); min-height: 48px;
}
.mq-form button:hover { color: var(--wp--preset--color--gold); }
.mq-form-msg { padding: .9rem 1.1rem; border-radius: 12px; margin-bottom: 1rem; font-weight: 500; }
.mq-form-msg--ok { background: #E3F1E9; color: var(--wp--preset--color--success); }
.mq-form-msg--err { background: #F8E1DF; color: var(--wp--preset--color--danger); }
.mq-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* ---------- Legal pages ---------- */
.mq-legal h2 { font-size: 1.4rem; margin-top: 2.4rem; }
.mq-legal p, .mq-legal li { color: #2E2A25; }

/* ---------- Footer ---------- */
.mq-footer a { color: var(--wp--preset--color--muted-light); text-decoration: none; }
.mq-footer a:hover { color: var(--wp--preset--color--gold); }
.mq-footer h2 { color: var(--wp--preset--color--cream); font-size: 1.05rem !important; font-family: var(--wp--preset--font-family--body); }
.mq-footer .mq-footer-links { list-style: none; padding: 0 !important; margin: 0; }
.mq-footer .mq-footer-links li { margin-bottom: .55rem; }
.mq-footer-bottom { border-top: 1px solid rgba(245,241,234,.1); }
.mq-footer .mq-logo img { height: 52px; }

/* ---------- Floating WhatsApp ---------- */
.mq-wa {
	position: fixed; z-index: 60; bottom: 20px; inset-inline-end: 20px;
	display: inline-flex; align-items: center; gap: .55rem; padding: .75rem 1.1rem .75rem 1rem;
	background: #1FAF5A; color: #fff !important; border-radius: 999px; text-decoration: none; font-weight: 700;
	box-shadow: 0 14px 30px -12px rgba(0,0,0,.45); min-height: 48px; box-sizing: border-box;
}
.mq-wa:hover { background: #18914A; }
.mq-wa svg { width: 24px; height: 24px; fill: currentColor; }
@media (max-width: 600px) { .mq-wa span { display: none; } .mq-wa { padding: .8rem; } }

/* ---------- Misc ---------- */
.mq-divider-gold { width: 80px; height: 3px; background: var(--wp--preset--color--gold); border: 0; margin-inline: auto; }
.wp-block-post-content > .alignfull:first-child { margin-top: 0; }
.mq-404 h1 { font-size: clamp(5rem, 18vw, 10rem); line-height: 1; color: var(--wp--preset--color--gold); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .mq-card, .wp-block-button__link { transition: none; } }

/* ---------- English (LTR) ---------- */
html:lang(en) {
	--wp--preset--font-family--display: 'Josefin Sans', 'Segoe UI', sans-serif;
}
html:lang(en) h1, html:lang(en) h2 { letter-spacing: -0.01em; }
html:lang(en) .mq-card-link a::after { content: " →"; }
.mq-lang-switch {
	display: inline-flex; align-items: center; min-height: 40px; padding: .35rem .8rem; border-radius: 10px;
	border: 1px solid rgba(245, 241, 234, .25); color: var(--wp--preset--color--cream) !important; text-decoration: none;
	font-size: .9rem; font-weight: 700; white-space: nowrap;
}
.mq-lang-switch:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold) !important; }
.mq-lang-switch[lang="en"] { font-family: var(--wp--preset--font-family--latin); letter-spacing: .04em; }
.mq-footer .mq-lang-switch { color: var(--wp--preset--color--muted-light) !important; }
.mq-header p:has(> .mq-lang-switch) { margin: 0 !important; display: flex; line-height: 1; }
.mq-header .mq-lang-switch { min-height: 38px; height: 38px; line-height: 1.2; box-sizing: border-box; }
.mq-header p:has(> .mq-lang-switch) { align-self: center; }

/* "No guarantee" notice (also styled by the orders plugin) */
.mq-disclaimer{border:1px solid #E8C979;background:#FFF8E6;color:#3D2E00;border-radius:14px;padding:14px 18px;margin:1.2rem auto;box-sizing:border-box;font-size:.95rem;line-height:1.8}
.mq-disclaimer p{margin:0}
.mq-disclaimer p:first-child{margin-bottom:4px;color:#7A4A00}
.mq-ticket-note{opacity:.75;margin-top:.6rem !important;text-align:center}
.mq-early{display:inline-block;background:var(--wp--preset--color--gold);color:var(--wp--preset--color--ink);border-radius:999px;padding:2px 12px;font-size:.85rem;font-weight:700}
.mq-tiers{list-style:none;padding:0;margin:.4rem 0;display:flex;flex-direction:column;gap:.5rem}.mq-tiers li{display:flex;align-items:baseline;gap:.5rem;border-bottom:1px solid #c9a24b33;padding:.45rem 0;margin:0}.mq-tiers li span{opacity:.7;font-size:.85em;flex:1}.mq-tiers li b{color:var(--wp--preset--color--gold);font-size:1.25em;white-space:nowrap}
.mq-disclaimer,.mq-disclaimer p,.mqo-disclaimer,.mqo-disclaimer p{color:#3D2E00 !important}.mq-disclaimer p:first-child,.mqo-disclaimer-h{color:#7A4A00 !important}

/* Page intro line above wide content: centre it so it lines up with the cards below. */
.wp-block-post-content > .mq-lead:first-child:has(+ .alignwide) { text-align: center; margin-inline: auto; }
.wp-block-post-content > .mq-lead:not(:has(+ .alignwide)) { max-width: var(--wp--style--global--content-size, 720px); }

/* ---------- Services (v1.5) ---------- */
.mq-card .mq-card-link { margin-top: auto !important; padding-top: .6rem; }
.mq-svc-list { list-style: none; padding: 0 !important; margin: 0 0 1.1rem; }
.mq-svc-list li { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .62rem 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.mq-svc-list li:last-child { border-bottom: 0; }
.mq-svc-list a { color: var(--wp--preset--color--ink); text-decoration: none; font-weight: 700; }
.mq-svc-list a:hover { color: #8A6A22; }
.mq-svc-list .mq-badge { flex: none; }
.mq-svc-request { max-width: 760px; margin-inline: auto !important; text-align: center; }
.mq-svc-request .wp-block-buttons { justify-content: center; }
.mq-svc-cta { display: flex; flex-direction: column; align-items: center; gap: .7rem; margin-top: .4rem; }
.mq-btn-off .wp-block-button__link {
	display: inline-flex; align-items: center; gap: .5rem; cursor: not-allowed; user-select: none;
	background: #E6E0D4 !important; color: #7C756A !important; border: 1px dashed #B9AF9C !important; box-shadow: none !important;
}
.mq-btn-off .wp-block-button__link:hover { transform: none !important; }
.mq-svc-off-note { margin: 0 !important; max-width: 560px; font-size: .95rem; line-height: 1.8; color: #6B4A00; background: #FFF8E6; border: 1px solid #E8C979; border-radius: 12px; padding: .7rem 1rem; }
.mq-svc-off-note a { color: #7A4A00; font-weight: 700; }
.mq-dv-legal { margin: 0; max-width: 620px; }
.mq-svc-features .mq-icon { margin-bottom: .4rem !important; }
@media (max-width: 781px) { .mq-svc-grid .wp-block-columns { flex-wrap: wrap !important; } }
.mq-footer-contact a { white-space: nowrap; font-size: .92rem; }
