/* B2B partner page (/partners, /tr/partners, /ar/partners), built by scripts/generators/gen-partners.js. Everything is scoped with .tqp-; the site header and footer are not touched.
   Logical properties only (margin-inline, padding-block, inset-inline, text-align: start) so the Arabic page mirrors without a second stylesheet.
   Brand colours as in blog-guide.css: orange #d93b1a (white text 4.6:1), navy #0e1a2b. Text colours are checked for 4.5:1 on their background, borders of inputs for 3:1. */
.tqp { --tqp-ink: #14232e; --tqp-head: #0b1626; --tqp-muted: #475766; --tqp-line: #dbe3e9; --tqp-field: #6b7785; --tqp-soft: #f3f6f9; --tqp-brand: #d93b1a; --tqp-brand-d: #a82c12; --tqp-tint: #fdeee9; --tqp-wa: #25d366; --tqp-wa-ink: #08301a; --tqp-err: #b3261e; --tqp-focus: #0b57d0; --tqp-r: 24px; --tqp-shadow: 0 14px 40px -18px rgba(11, 22, 38, .28);
  color: var(--tqp-ink); background: #fff; line-height: 1.6; font-size: 17px; }
.tqp *, .tqp *::before, .tqp *::after { box-sizing: border-box; }
.tqp h1, .tqp h2, .tqp h3 { color: var(--tqp-head); line-height: 1.15; margin: 0; font-weight: 700; letter-spacing: -.02em; }
.tqp p { margin: 0; }
.tqp ul, .tqp ol { margin: 0; padding: 0; list-style: none; }
.tqp :focus-visible { outline: 3px solid var(--tqp-focus); outline-offset: 3px; }
.tqp-hero :focus-visible, .tqp-band :focus-visible, .tqp-steps-sec :focus-visible { outline-color: #fff; }

.tqp-skip { position: absolute; inset-inline-start: 12px; top: -80px; z-index: 100001; background: #fff; color: var(--tqp-head); padding: 12px 18px; border-radius: 8px; font-weight: 600; box-shadow: 0 4px 16px rgba(0,0,0,.25); }
.tqp-skip:focus { top: 12px; }

/* buttons: 48px touch targets */
.tqp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 13px 28px; border-radius: 99px; border: 2px solid transparent; font-size: 17px; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; transition: transform .18s, background-color .18s, color .18s, border-color .18s, box-shadow .18s; font-family: inherit; }
.tqp-btn:hover { transform: translateY(-2px); }
.tqp-btn-primary { background: var(--tqp-brand); color: #fff; box-shadow: 0 10px 24px -10px rgba(217, 59, 26, .7); }
.tqp-btn-primary:hover { background: var(--tqp-brand-d); color: #fff; }
.tqp-btn-glass { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.65); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.tqp-btn-glass:hover { background: #fff; color: var(--tqp-head); }
.tqp-btn-outline { background: #fff; color: var(--tqp-brand-d); border-color: var(--tqp-brand-d); }
.tqp-btn-outline:hover { background: var(--tqp-brand-d); color: #fff; }
.tqp-btn-wa { background: var(--tqp-wa); color: var(--tqp-wa-ink); }
.tqp-btn-wa:hover { background: #1fb558; color: var(--tqp-wa-ink); }
.tqp-ic { flex: none; }
.tqp-ic-wa { width: 22px; height: 22px; }
[dir="rtl"] .tqp-arrow { transform: scaleX(-1); }
.tqp-btns { display: flex; flex-wrap: wrap; gap: 14px; }
.tqp-chip { display: inline-grid; place-items: center; inline-size: 48px; block-size: 48px; border-radius: 14px; background: var(--tqp-tint); color: var(--tqp-brand-d); flex: none; }
.tqp-chip .tqp-ic { width: 24px; height: 24px; }

/* hero: photo on the end side, deep navy on the start side (the copy sits on the dark part), trust facts in one row */
.tqp-hero { position: relative; isolation: isolate; color: #fff; background: #0b1626; overflow: hidden; padding-block: 96px 104px; }
.tqp-hero picture { position: absolute; inset-block: 0; inset-inline-end: 0; inline-size: 72%; z-index: -2; display: block; }
.tqp-hero-img { inline-size: 100%; block-size: 100%; object-fit: cover; object-position: center; display: block; }
.tqp-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #0b1626 0%, #0b1626 30%, rgba(11, 22, 38, .86) 46%, rgba(11, 22, 38, .35) 70%, rgba(11, 22, 38, .05) 100%); }
[dir="rtl"] .tqp-hero::before { background: linear-gradient(270deg, #0b1626 0%, #0b1626 30%, rgba(11, 22, 38, .86) 46%, rgba(11, 22, 38, .35) 70%, rgba(11, 22, 38, .05) 100%); }
.tqp-hero-in { display: flex; flex-direction: column; align-items: flex-start; }
.tqp-eyebrow { color: #f7a58c; font-size: 15px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
[dir="rtl"] .tqp-eyebrow { letter-spacing: 0; }
.tqp-hero h1 { color: #fff; font-size: clamp(38px, 5.6vw, 66px); margin-block: 16px 22px; max-inline-size: 11em; }
.tqp .tqp-sub { color: #e6edf3; font-size: clamp(17px, 1.9vw, 20px); max-inline-size: 34em; margin-block-end: 32px; }
.tqp .tqp-stats { display: flex; flex-wrap: wrap; gap: 18px 34px; margin-block-end: 36px; }
.tqp-stats li { display: flex; align-items: center; gap: 12px; color: #e6edf3; font-size: 15px; line-height: 1.3; }
.tqp-stats .tqp-ic { inline-size: 40px; block-size: 40px; padding: 8px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.6); color: #fff; }
.tqp-stats strong { color: #fff; font-size: 16px; display: block; }

/* sections */
.tqp-sec { padding-block: 88px; }
.tqp-soft { background: var(--tqp-soft); }
.tqp-head { margin-block-end: 40px; max-inline-size: 760px; }
.tqp-sec h2 { font-size: clamp(30px, 4.4vw, 46px); }
.tqp .tqp-lead { color: var(--tqp-muted); font-size: 20px; margin-block-start: 12px; }
.tqp-sub-h { font-size: 24px; margin-block: 56px 18px; }

.tqp-center { margin-inline: auto; text-align: center; }
.tqp-center h2::after { content: ""; display: block; inline-size: 56px; block-size: 3px; border-radius: 2px; background: var(--tqp-brand); margin: 16px auto 0; }
.tqp-h2-sm { font-size: clamp(26px, 3vw, 34px) !important; margin-block: 56px 22px !important; }

/* why: six compact cards */
.tqp-why-sec { padding-block: 80px 72px; }
.tqp-why { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.tqp-card { background: #fff; border: 1px solid var(--tqp-line); border-radius: 18px; padding: 26px 18px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; box-shadow: 0 4px 18px -12px rgba(11, 22, 38, .25); transition: transform .2s, box-shadow .2s; }
.tqp-card:hover { transform: translateY(-4px); box-shadow: var(--tqp-shadow); }
.tqp-card h3 { font-size: 18px; letter-spacing: -.01em; }
.tqp-card p { color: var(--tqp-muted); font-size: 15px; line-height: 1.5; }

/* services + partnership models on the start side, the form card on the end side */
.tqp-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 36px; align-items: start; }
.tqp-svc-wrap { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 28px; align-items: stretch; }
.tqp-svc-txt h2 { font-size: clamp(28px, 3.4vw, 38px); }
.tqp-svc-txt .tqp-lead { font-size: 18px; margin-block: 8px 24px; }
.tqp-svc { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 18px; }
.tqp-svc li { display: flex; align-items: flex-start; gap: 12px; }
.tqp-svc .tqp-chip { inline-size: 42px; block-size: 42px; border-radius: 12px; }
.tqp-svc .tqp-chip .tqp-ic { width: 22px; height: 22px; }
.tqp-svc h3 { font-size: 16px; color: #17518a; margin-block-end: 3px; letter-spacing: 0; }
.tqp-svc p { color: var(--tqp-muted); font-size: 14.5px; line-height: 1.45; }
.tqp-svc-img { border-radius: 20px; overflow: hidden; min-block-size: 320px; background: #0b1626; }
.tqp-svc-img picture, .tqp-svc-img .tqp-img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.tqp-models { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tqp-model { background: #fff; border: 1px solid var(--tqp-line); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.tqp-model-h { display: flex; align-items: center; gap: 12px; }
.tqp-num { font-size: 40px; font-weight: 600; line-height: 1; color: #17518a; letter-spacing: -.03em; }
.tqp-model h3 { font-size: 18px; line-height: 1.25; }
.tqp-model > p { color: var(--tqp-muted); font-size: 15px; }
.tqp-model .tqp-btn { margin-block-start: auto; }
.tqp-big { font-size: 52px; font-weight: 800; line-height: 1; letter-spacing: -.04em; color: var(--tqp-brand); }
.tqp-checks { display: grid; gap: 9px; }
.tqp-checks li { display: flex; align-items: center; gap: 10px; font-size: 15px; }
.tqp-checks .tqp-ic { inline-size: 22px; block-size: 22px; padding: 4px; border-radius: 50%; background: var(--tqp-brand); color: #fff; }
.tqp-btn-sm { min-height: 46px; padding: 10px 20px; font-size: 15px; }
.tqp-btn-block { inline-size: 100%; }

/* how it works: navy band */
.tqp-steps-sec { background: #0b1626; color: #fff; padding-block: 64px; }
.tqp-steps-sec h2 { color: #fff; text-align: center; font-size: clamp(28px, 3.4vw, 38px); margin-block-end: 40px; }
.tqp-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; counter-reset: tqp; }
.tqp-steps li { position: relative; counter-increment: tqp; padding-inline-start: 62px; }
.tqp-steps li::before { content: counter(tqp); position: absolute; inset-block-start: 0; inset-inline-start: 0; inline-size: 46px; block-size: 46px; border-radius: 50%; border: 2px solid #f7a58c; color: #f7a58c; display: grid; place-items: center; font-weight: 700; font-size: 19px; }
.tqp-steps h3 { color: #fff; font-size: 18px; margin-block: 2px 6px; }
.tqp-steps p { color: #c9d6e3; font-size: 15px; }

/* destinations: photo tiles linking to the tour pages */
.tqp-tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.tqp-tile { position: relative; isolation: isolate; overflow: hidden; border-radius: 20px; aspect-ratio: 4 / 5; background: #0b1626; }
.tqp-tile a { position: absolute; inset: 0; display: block; color: #fff; text-decoration: none; }
.tqp-tile picture { position: absolute; inset: 0; z-index: -2; display: block; }
.tqp-tile .tqp-img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; transition: transform .5s; }
.tqp-tile:hover .tqp-img { transform: scale(1.06); }
.tqp-tile a::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(8,17,31,.85) 0%, rgba(8,17,31,0) 55%); }
.tqp-tile span { position: absolute; inset-inline: 16px; inset-block-end: 14px; color: #fff; font-weight: 700; font-size: 19px; line-height: 1.2; }

/* contracted hotels: names in a grid */
.tqp-hotels { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.tqp-hotels li { min-block-size: 68px; display: grid; place-items: center; text-align: center; padding: 12px 16px; background: #fff; border: 1px solid var(--tqp-line); border-radius: 14px; font-weight: 600; font-size: 16px; color: var(--tqp-head); letter-spacing: .01em; }
.tqp-hotels .tqp-hotels-more { background: transparent; border-style: dashed; color: var(--tqp-muted); font-weight: 500; }

/* form card */
.tqp-form-card { background: #fff; border: 1px solid var(--tqp-line); border-radius: 24px; padding: 32px; box-shadow: 0 24px 48px -24px rgba(11, 22, 38, .35); position: sticky; top: 100px; }
.tqp-form-card h2 { font-size: 28px; text-align: center; }
.tqp .tqp-form-intro { color: var(--tqp-muted); text-align: center; margin-block: 6px 14px; }
.tqp .tqp-or { color: var(--tqp-muted); font-size: 15px; text-align: center; margin-block: 18px 10px; }
.tqp .tqp-note { color: var(--tqp-muted); font-size: 14px; margin-block-end: 16px; }
.tqp-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
@media (min-width: 480px) { .tqp-grid { grid-template-columns: 1fr 1fr; } .tqp-wide { grid-column: 1 / -1; } }
.tqp-field label { display: block; font-weight: 600; font-size: 15px; margin-block-end: 6px; color: var(--tqp-head); }
.tqp-req { color: var(--tqp-err); }
.tqp-field input, .tqp-field select, .tqp-field textarea { display: block; inline-size: 100%; min-block-size: 48px; padding: 12px 16px; font: inherit; font-size: 17px; color: var(--tqp-ink); background: #fff; border: 1.5px solid var(--tqp-field); border-radius: 14px; transition: border-color .15s, box-shadow .15s; }
.tqp-field input:hover, .tqp-field select:hover, .tqp-field textarea:hover { border-color: var(--tqp-head); }
.tqp-field textarea { min-block-size: 120px; resize: vertical; }
.tqp-field input::placeholder, .tqp-field textarea::placeholder { color: #5e6c78; opacity: 1; }
.tqp-field [aria-invalid="true"] { border-color: var(--tqp-err); border-width: 2px; }
.tqp-err { color: var(--tqp-err); font-size: 15px; font-weight: 600; margin-block-start: 6px; }
.tqp-hp { position: absolute; inset-inline-start: -9999px; inline-size: 1px; block-size: 1px; overflow: hidden; }
.tqp-status { min-block-size: 1.4em; margin-block: 18px 6px; font-weight: 600; }
.tqp-status.is-error { color: var(--tqp-err); }
.tqp-status a { color: var(--tqp-brand-d); text-decoration: underline; }
.tqp-submit { inline-size: 100%; }
.tqp-submit[disabled] { opacity: .75; cursor: progress; transform: none; }
.tqp-ok { border: 2px solid #1f8f4e; border-radius: 20px; padding: 30px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; background: #f1faf5; }
.tqp-ok h3 { font-size: 26px; }
.tqp-ok p { color: var(--tqp-muted); font-size: 18px; }
.tqp-ok[hidden], .tqp-form[hidden], .tqp-msgs { display: none; }

/* FAQ */
.tqp-faq { max-inline-size: 900px; }
.tqp-q { border: 1px solid var(--tqp-line); border-radius: 18px; background: #fff; margin-block-start: 12px; transition: box-shadow .2s, border-color .2s; }
.tqp-q[open] { box-shadow: var(--tqp-shadow); border-color: transparent; }
.tqp-q summary { position: relative; padding: 20px 60px 20px 24px; min-block-size: 60px; font-weight: 600; font-size: 19px; color: var(--tqp-head); cursor: pointer; list-style: none; display: flex; align-items: center; }
[dir="rtl"] .tqp-q summary { padding: 20px 24px 20px 60px; }
.tqp-q summary::-webkit-details-marker { display: none; }
.tqp-q summary::after { content: "+"; position: absolute; inset-inline-end: 22px; inline-size: 32px; block-size: 32px; border-radius: 50%; background: var(--tqp-tint); color: var(--tqp-brand-d); display: grid; place-items: center; font-size: 22px; line-height: 1; }
.tqp-q[open] summary::after { content: "–"; }
.tqp-a { padding: 0 24px 22px; color: var(--tqp-muted); font-size: 18px; }
.tqp-todo { background: #fff8e1; border: 1px dashed #b26a00; border-radius: 10px; padding: 12px 16px; color: #5f3b00; }

/* closing band */
.tqp-band { background: linear-gradient(135deg, #0b1626 0%, #17324f 60%, #7a2411 130%); color: #fff; padding-block: 76px; text-align: center; }
.tqp-band h2 { color: #fff; font-size: clamp(28px, 4.4vw, 42px); margin-block-end: 12px; margin-inline: auto; max-inline-size: 22em; }
.tqp-band p { color: #e6edf3; font-size: 20px; margin-block-end: 30px; }
.tqp-band .tqp-btns { justify-content: center; }

/* sticky WhatsApp button on phones */
.tqp-sticky { display: none; }
@media (max-width: 1199px) {
  .tqp-why { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tqp-split { grid-template-columns: minmax(0, 1fr) minmax(0, 380px); }
  .tqp-svc-wrap { grid-template-columns: 1fr; }
  .tqp-svc-img { min-block-size: 260px; max-block-size: 340px; }
}
@media (max-width: 991px) {
  .tqp-hero picture { inline-size: 100%; }
  .tqp-hero::before { background: linear-gradient(180deg, rgba(11, 22, 38, .78) 0%, rgba(11, 22, 38, .92) 100%); }
  [dir="rtl"] .tqp-hero::before { background: linear-gradient(180deg, rgba(11, 22, 38, .78) 0%, rgba(11, 22, 38, .92) 100%); }
  .tqp-split { grid-template-columns: 1fr; }
  .tqp-form-card { position: static; }
  /* phones and tablets: the form comes right after the services, before the partnership models */
  .tqp-main { display: contents; }
  .tqp-svc-wrap { order: 1; }
  .tqp-form-card { order: 2; }
  .tqp-h2-sm { order: 3; margin-block: 24px 0 !important; }
  .tqp-models { order: 4; }
  .tqp-models { grid-template-columns: 1fr; }
  .tqp-tiles { grid-template-columns: repeat(3, 1fr); }
  .tqp-steps { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
}
@media (max-width: 767px) {
  .tqp { padding-block-end: 76px; }
  .tqp-sticky { position: fixed; inset-inline: 14px; inset-block-end: calc(14px + env(safe-area-inset-bottom, 0px)); z-index: 9990; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; border-radius: 99px; background: var(--tqp-wa); color: var(--tqp-wa-ink); font-weight: 700; font-size: 17px; text-decoration: none; box-shadow: 0 10px 26px rgba(8,48,26,.4); }
  .tqp-hero { padding-block: 56px 60px; }
  .tqp-stats { gap: 14px 22px; }
  .tqp-sec { padding-block: 56px; }
  .tqp-head { margin-block-end: 28px; }
  .tqp-why { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .tqp-card { padding: 20px 14px; }
  .tqp-svc { grid-template-columns: 1fr; }
  .tqp-tiles { grid-template-columns: repeat(2, 1fr); }
  .tqp-tile:last-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
  .tqp-steps { grid-template-columns: 1fr; }
  .tqp-form-card { padding: 24px 20px; border-radius: 20px; }
  .tqp-btns .tqp-btn { inline-size: 100%; }
  .tqp-q summary { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) { .tqp *, .tqp-skip { transition: none !important; scroll-behavior: auto !important; animation: none !important; } .tqp-btn:hover, .tqp-card:hover { transform: none; } .tqp-tile:hover .tqp-img { transform: none; } }
html:has(.tqp) { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html:has(.tqp) { scroll-behavior: auto; } }
