/* Public pages built with Pages. Colours, fonts and sizes come from the theme stylesheet (CSS variables). */
@font-face { font-family: "Montserrat"; font-weight: 400; font-display: swap; src: url("../../assets/fonts/montserrat-400.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 500; font-display: swap; src: url("../../assets/fonts/montserrat-500.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 600; font-display: swap; src: url("../../assets/fonts/montserrat-600.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 700; font-display: swap; src: url("../../assets/fonts/montserrat-700.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 800; font-display: swap; src: url("../../assets/fonts/montserrat-800.woff2") format("woff2"); }
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body.pg-body { margin: 0; background: var(--c-bg); color: var(--c-text); font-family: var(--f-body); font-weight: var(--fw-body); font-size: var(--fs-base); line-height: var(--lh); letter-spacing: var(--ls); }
.pg-body a { color: var(--c-link); text-underline-offset: 3px; }
.pg-body :focus-visible { outline: 2px solid var(--c-heading); outline-offset: 2px; }
.pg-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pg-container { width: 100%; max-width: var(--page-w); margin: 0 auto; padding: 0 20px; }
/* Page width: wide (1,600 px) or full (the browser's width, 24 px from the edges). Narrow sections stay narrow. */
.pg-width-wide .pg-container { max-width: max(var(--page-w), 1600px); }
.pg-width-full .pg-container { max-width: none; padding: 0 24px; }
.pg-width-wide .pg-w-wide > .pg-container { max-width: calc(max(var(--page-w), 1600px) + 240px); }
.pg-width-full .pg-w-narrow > .pg-container, .pg-width-wide .pg-w-narrow > .pg-container { max-width: 760px; }
/* Columns that fill the width: as many cards as fit, each at least the chosen width. */
.pg-files-grid.pg-cols-fill, .pgx-cols-fill { grid-template-columns: repeat(auto-fill, minmax(min(var(--minw, 240px), 100%), 1fr)) !important; }
.pg-minw-160 { --minw: 160px; } .pg-minw-200 { --minw: 200px; } .pg-minw-240 { --minw: 240px; } .pg-minw-280 { --minw: 280px; }
.pg-minw-320 { --minw: 320px; } .pg-minw-400 { --minw: 400px; } .pg-minw-480 { --minw: 480px; }
.icon { width: 18px; height: 18px; flex: none; }

/* Header and footer */
.pg-header { background: var(--c-surface); border-bottom: 1px solid var(--c-border); }
.pg-header.is-sticky { position: sticky; top: 0; z-index: 30; }
.pg-header .pg-container { display: flex; align-items: center; gap: 16px; min-height: 72px; }
.pg-header-center .pg-container { justify-content: center; }
.pg-header-right .pg-container { justify-content: flex-end; }
.pg-logo { display: block; width: auto; }
.pg-logo-s { height: 36px; } .pg-logo-m { height: 52px; } .pg-logo-l { height: 72px; }
.pg-logo-link { display: inline-flex; }
.pg-header-title { font-family: var(--f-heading); font-weight: 700; color: var(--c-heading); }
.pg-footer { border-top: 1px solid var(--c-border); color: var(--c-muted); font-size: 0.85rem; padding: 20px 0; }
.pg-footer .pg-container { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pg-footer a, .pg-link-btn { color: var(--c-muted); }
.pg-link-btn { background: none; border: 0; padding: 0; font: inherit; text-decoration: underline; cursor: pointer; }
.pg-preview-bar { background: #EBC77F; color: #1A1A1A; text-align: center; font-size: 0.85rem; font-weight: 600; padding: 6px; }

/* Sections, rows, columns */
.pg-section { position: relative; overflow: hidden; }
.pg-bg-bg { background: var(--c-bg); } .pg-bg-surface { background: var(--c-surface); } .pg-bg-surface2 { background: var(--c-surface2); }
.pg-bg-primary { background: var(--c-primary); color: var(--c-primary-text); }
.pg-bg-primary .pg-c-heading, .pg-bg-primary .pg-c-muted { color: var(--c-primary-text); }
.pg-space-none { padding: 0; } .pg-space-s { padding: calc(var(--section-space) * 0.5) 0; } .pg-space-m { padding: var(--section-space) 0; } .pg-space-l { padding: calc(var(--section-space) * 1.5) 0; }
.pg-w-narrow > .pg-container { max-width: 760px; } .pg-w-wide > .pg-container { max-width: calc(var(--page-w) + 240px); } .pg-w-full > .pg-container { max-width: none; }
.pg-align-center { text-align: center; }
.pg-section-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.pg-section-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 30, 52, 0.55), rgba(10, 30, 52, 0.85)); z-index: 0; }
.pg-section > .pg-container { position: relative; z-index: 1; }
.pg-section.has-image { color: #F2F3F4; }
.pg-row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.pg-row + .pg-row { margin-top: var(--gap); }
.pg-gap-none { gap: 0; } .pg-gap-s { gap: calc(var(--gap) * 0.5); } .pg-gap-m { gap: var(--gap); } .pg-gap-l { gap: calc(var(--gap) * 2); }
.pg-valign-center { align-items: center; } .pg-valign-bottom { align-items: end; }
.pg-span-2 { grid-column: span 2; } .pg-span-3 { grid-column: span 3; } .pg-span-4 { grid-column: span 4; } .pg-span-6 { grid-column: span 6; }
.pg-span-8 { grid-column: span 8; } .pg-span-9 { grid-column: span 9; } .pg-span-12 { grid-column: span 12; }
.pg-col { min-width: 0; }
.pg-col-center { text-align: center; } .pg-col-right { text-align: right; }
@media (max-width: 1023px) { .pg-stack-tablet > .pg-col { grid-column: 1 / -1; } }
@media (max-width: 639px) { .pg-stack-phone > .pg-col, .pg-stack-tablet > .pg-col { grid-column: 1 / -1; } }
@media (max-width: 639px) { .pg-hide-phone { display: none !important; } }
@media (min-width: 640px) { .pg-only-phone { display: none !important; } }
@media (min-width: 640px) and (max-width: 1023px) { .pg-hide-tablet { display: none !important; } }
@media (min-width: 1024px) { .pg-hide-desktop { display: none !important; } }

/* Element spacing */
.pg-mt-none { margin-top: 0; } .pg-mt-s { margin-top: 12px; } .pg-mt-m { margin-top: 24px; } .pg-mt-l { margin-top: 48px; }
.pg-mb-none { margin-bottom: 0; } .pg-mb-s { margin-bottom: 12px; } .pg-mb-m { margin-bottom: 24px; } .pg-mb-l { margin-bottom: 48px; }
.pg-el:last-child { margin-bottom: 0; }
.pg-text-left { text-align: left; } .pg-text-center { text-align: center; } .pg-text-right { text-align: right; }
.pg-note { font-size: 0.75rem; color: #1A1A1A; background: #EBC77F; display: inline-block; padding: 2px 8px; border-radius: 4px; margin: 0 0 6px; }
.pg-placeholder { border: 2px dashed var(--c-border); border-radius: var(--card-radius); padding: 28px; text-align: center; color: var(--c-muted); }

/* Text */
.pg-h { font-family: var(--f-heading); font-weight: var(--fw-heading); line-height: 1.15; margin: 0; overflow-wrap: anywhere; }
.pg-h-h1, .pg-h-xl { font-size: calc(var(--fs-base) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale)); }
.pg-h-h2, .pg-h-l { font-size: calc(var(--fs-base) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale)); }
.pg-h-h3, .pg-h-m { font-size: calc(var(--fs-base) * var(--fs-scale) * var(--fs-scale)); }
.pg-h-h4, .pg-h-s { font-size: calc(var(--fs-base) * var(--fs-scale)); }
@media (max-width: 639px) { .pg-h-h1, .pg-h-xl { font-size: calc(var(--fs-base) * var(--fs-scale) * var(--fs-scale) * var(--fs-scale)); } }
.pg-c-heading { color: var(--c-heading); } .pg-c-primary { color: var(--c-accent); } .pg-c-muted { color: var(--c-muted); }
.pg-eyebrow { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.8rem; font-weight: 600; color: var(--c-muted); margin: 0 0 8px; }
.pg-prose p { margin: 0 0 1em; } .pg-prose p:last-child { margin-bottom: 0; }
.pg-prose ul, .pg-prose ol { margin: 0 0 1em; padding-left: 1.3em; }
.pg-size-l { font-size: 1.2em; } .pg-size-s { font-size: 0.9em; }
.pg-hr { border: 0; border-top: 1px solid var(--c-border); margin: 0; }
.pg-hr-short { width: 80px; display: inline-block; border-top-width: 3px; border-color: var(--c-primary); }
.pg-spacer-s { height: 16px; } .pg-spacer-m { height: 40px; } .pg-spacer-l { height: 80px; } .pg-spacer-xl { height: 140px; }
.pg-figure { margin: 0; }
.pg-img { max-width: 100%; height: auto; display: inline-block; vertical-align: middle; }
.pg-img.is-rounded { border-radius: var(--card-radius); }
.pg-fig-l .pg-img { max-width: 75%; } .pg-fig-m .pg-img { max-width: 50%; } .pg-fig-s .pg-img { max-width: 25%; }
@media (max-width: 639px) { .pg-fig-l .pg-img, .pg-fig-m .pg-img { max-width: 100%; } .pg-fig-s .pg-img { max-width: 50%; } }
.pg-figure figcaption { font-size: 0.85rem; color: var(--c-muted); margin-top: 8px; }

/* Buttons */
.pg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: var(--btn-pad); border-radius: var(--btn-radius); border: 2px solid transparent; font: inherit; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background 0.15s, border-color 0.15s, transform 0.15s; }
.pg-body .pg-btn { color: inherit; }
.pg-btn-primary { background: var(--c-primary); color: var(--c-primary-text) !important; }
.pg-btn-primary:hover { background: var(--c-accent); }
.pg-btn-secondary { background: transparent; color: var(--c-heading) !important; border-color: var(--c-border); }
.pg-btn-secondary:hover { border-color: var(--c-heading); }
.pg-btn-link { background: none; padding-left: 6px; padding-right: 6px; color: var(--c-link) !important; text-decoration: underline; }
.pg-btn-s { font-size: 0.85rem; padding: 7px 12px; } .pg-btn-l { font-size: 1.1rem; padding: 16px 30px; }
.pg-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 8px; background: transparent; border: 1px solid var(--c-border); color: var(--c-heading); cursor: pointer; text-decoration: none; }
.pg-icon-btn:hover { border-color: var(--c-heading); }
.pg-rot-left { transform: rotate(-90deg); }

/* Files */
.pg-file-search input { width: 100%; max-width: 420px; font: inherit; color: var(--c-text); background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--btn-radius); padding: 10px 14px; margin-bottom: 16px; }
.pg-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.pg-chip, .pg-explorer-nav button { font: inherit; font-size: 0.9rem; font-weight: 600; color: var(--c-text); background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 999px; padding: 7px 14px; cursor: pointer; }
.pg-chip[aria-pressed="true"] { background: var(--c-primary); border-color: var(--c-primary); color: var(--c-primary-text); }
.pg-files { display: grid; gap: var(--gap); }
.pg-files-grid.pg-cols-1 { grid-template-columns: 1fr; }
.pg-files-grid.pg-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pg-files-grid.pg-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-files-grid.pg-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pg-files-grid.pg-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pg-files-grid.pg-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1023px) { .pg-files-grid.pg-cols-3, .pg-files-grid.pg-cols-4, .pg-files-grid.pg-cols-5, .pg-files-grid.pg-cols-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .pg-files-grid[class*="pg-cols-"] { grid-template-columns: minmax(0, 1fr); } }
.pg-file { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--card-radius); overflow: hidden; box-shadow: var(--shadow); text-align: left; }
.pg-file-grid { display: flex; flex-direction: column; }
.pg-file-list, .pg-file-table { display: flex; gap: 16px; align-items: center; padding: 12px; }
.pg-file-thumb { display: flex; align-items: center; justify-content: center; background: var(--c-surface2); aspect-ratio: 3 / 4; overflow: hidden; }
.pg-file-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.pg-file-thumb.is-icon .icon { width: 48px; height: 48px; color: var(--c-muted); }
.pg-file-list .pg-file-thumb { width: 84px; flex: none; border-radius: 8px; }
.pg-file-table .pg-file-thumb { width: 44px; flex: none; border-radius: 6px; }
.pg-file-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; }
.pg-file-list .pg-file-body, .pg-file-table .pg-file-body { padding: 0; }
.pg-file-table .pg-file-body { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 12px; }
/* Phones: grid cards become compact rows, so a list of files does not take a screen per file. */
@media (max-width: 639px) {
  .pg-file-grid { flex-direction: row; align-items: flex-start; gap: 14px; padding: 12px; }
  .pg-file-grid .pg-file-thumb { width: 96px; flex: none; border-radius: 8px; }
  .pg-file-grid .pg-file-body { padding: 0; }
}
.pg-file-title { font-family: var(--f-heading); font-size: 1.05rem; font-weight: 700; color: var(--c-heading); margin: 0; overflow-wrap: anywhere; }
.pg-file-table .pg-file-title { flex: 1 1 200px; font-size: 0.95rem; }
.pg-file-meta { color: var(--c-muted); font-size: 0.8rem; margin: 0; }
.pg-file-desc { margin: 0; font-size: 0.9rem; }
.pg-file-table .pg-file-desc { display: none; }
.pg-file-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 6px; }
.pg-group-title { font-family: var(--f-heading); color: var(--c-heading); margin: 28px 0 14px; }
.pg-file-group:first-child .pg-group-title { margin-top: 0; }
.pg-empty { color: var(--c-muted); }
.pg-more { text-align: center; margin-top: 20px; }

/* Category explorer */
.pg-explorer { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: calc(var(--gap) * 1.5); align-items: start; }
.pg-explorer-right { grid-template-columns: minmax(0, 1fr) 260px; }
.pg-explorer-right .pg-explorer-nav { order: 2; }
.pg-explorer-top { grid-template-columns: minmax(0, 1fr); }
.pg-explorer-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; position: sticky; top: 90px; }
.pg-explorer-top .pg-explorer-nav ul { display: flex; flex-wrap: wrap; position: static; }
.pg-explorer-nav button { width: 100%; display: flex; justify-content: space-between; gap: 10px; border-radius: var(--btn-radius); text-align: left; }
.pg-explorer-top .pg-explorer-nav button { width: auto; border-radius: 999px; }
.pg-explorer-nav button[aria-pressed="true"] { background: var(--c-primary); border-color: var(--c-primary); color: var(--c-primary-text); }
.pg-count { opacity: 0.75; font-weight: 500; }
.pg-explorer-select { display: none; width: 100%; font: inherit; color: var(--c-text); background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--btn-radius); padding: 10px 14px; }
@media (max-width: 767px) {
  .pg-explorer, .pg-explorer-right { grid-template-columns: minmax(0, 1fr); }
  .pg-explorer-right .pg-explorer-nav { order: 0; }
  .pg-explorer-nav ul { display: none; }
  .pg-explorer-select { display: block; margin-bottom: 14px; }
}

/* PDF viewer */
.pg-pdf { background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--card-radius); overflow: hidden; display: flex; flex-direction: column; }
.pg-pdf-title { margin: 0; padding: 10px 14px 0; font-weight: 700; color: var(--c-heading); }
.pg-pdf-bar { display: flex; gap: 6px; align-items: center; justify-content: flex-end; padding: 8px 10px; border-bottom: 1px solid var(--c-border); flex-wrap: wrap; }
.pg-pdf-pages { margin-right: auto; color: var(--c-muted); font-size: 0.85rem; font-variant-numeric: tabular-nums; }
.pg-pdf { position: relative; }
/* Pages are centred with auto margins (not align-items: center) so a zoomed page can be scrolled to both edges. */
.pg-pdf-stage { position: relative; overflow: auto; background: var(--c-surface2); display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 14px; touch-action: pan-x pan-y; max-height: calc(100dvh - 110px); }
.pg-pdf-stage > * { margin-left: auto; margin-right: auto; flex-shrink: 0; }
.pg-pdf-s .pg-pdf-stage { height: 420px; } .pg-pdf-m .pg-pdf-stage { height: 600px; } .pg-pdf-l .pg-pdf-stage { height: 820px; } .pg-pdf-screen .pg-pdf-stage { height: calc(100dvh - 110px); } .pg-pdf-fit .pg-pdf-stage { height: 600px; }
@media (max-width: 639px) { .pg-pdf-l .pg-pdf-stage, .pg-pdf-m .pg-pdf-stage { height: 70dvh; } .pg-pdf-s .pg-pdf-stage { height: 50dvh; } }
.pg-pdf-stage canvas { max-width: none; height: auto; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4); background: #fff; }
.pg-pdf-zoomview { position: absolute; inset: 0; z-index: 5; overflow: auto; background: #0b1320; padding: 14px; display: block; margin: 0; cursor: zoom-out; }
.pg-pdf-zoomview canvas { display: block; margin: 0 auto; }
.pg-pdf-zoomclose { position: sticky; top: 0; float: right; z-index: 1; background: var(--c-surface); }
.pg-pdf-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; width: 100%; }
.pg-pdf-thumbs button { background: none; border: 2px solid transparent; padding: 0; cursor: pointer; border-radius: 6px; color: var(--c-muted); font: inherit; font-size: 0.8rem; }
.pg-pdf-thumbs button:hover { border-color: var(--c-primary); }
.pg-pdf-thumbs canvas { width: 100%; }
.pg-pdf-loading { color: var(--c-muted); }
.pg-pdf:fullscreen .pg-pdf-stage { height: calc(100dvh - 60px); max-height: none; }
.pg-pdf-spread { display: flex; gap: 12px; justify-content: center; align-items: flex-start; }
.pg-pdf-mode-slideshow .pg-pdf-stage, .pg-pdf-mode-flipbook .pg-pdf-stage { background: #0b1320; justify-content: center; overflow: hidden; }
.pg-pdf-mode-flipbook .pg-pdf-stage canvas, .pg-pdf-mode-slideshow .pg-pdf-stage canvas { cursor: zoom-in; }
.pg-pdf-mode-single .pg-pdf-stage, .pg-pdf-mode-spread .pg-pdf-stage { justify-content: flex-start; }
.pg-flip { margin: 0 auto; }
.pg-flip .stf__wrapper { position: relative; width: 100%; height: 100%; }
.pg-flip-page { background: #fff; overflow: hidden; }
.pg-flip-page canvas { width: 100% !important; height: 100%; display: block; }
.pg-pdf-search { display: flex; align-items: center; gap: 6px; }
.pg-pdf-search input { width: 150px; font: inherit; font-size: 0.85rem; color: var(--c-text); background: var(--c-bg); border: 1px solid var(--c-border); border-radius: 8px; padding: 6px 10px; }
.pg-pdf-hits { font-size: 0.8rem; color: var(--c-muted); white-space: nowrap; }
.pg-icon-btn.is-done { border-color: var(--c-success); color: var(--c-success); }
@media (max-width: 639px) { .pg-pdf-search input { width: 110px; } .pg-pdf-bar { justify-content: flex-start; } }

.pg-gate { display: flex; gap: 20px; align-items: center; padding: 20px; flex-wrap: wrap; }
.pg-gate-cover { width: 160px; border-radius: 8px; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35); background: #fff; }
.pg-gate p { margin: 0 0 12px; }

/* Dialog (preview, QR) */
.pg-dialog { width: min(1000px, 96vw); max-height: 94vh; padding: 0; border: 1px solid var(--c-border); border-radius: var(--card-radius); background: var(--c-surface); color: var(--c-text); }
.pg-dialog::backdrop { background: rgba(0, 0, 0, 0.65); }
.pg-dialog-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--c-border); }
.pg-dialog-head h2 { margin: 0; font-size: 1.05rem; color: var(--c-heading); }
.pg-dialog-body { padding: 14px; }
.pg-dialog-body .pg-pdf { border: 0; }
.pg-qr-box { display: grid; justify-items: center; gap: 14px; padding: 10px; }
.pg-qr-box .pg-qr-img { background: #fff; padding: 12px; border-radius: 10px; width: min(320px, 80vw); }
.pg-qr-box svg { display: block; width: 100%; height: auto; }

/* Pop-up (modal) and side panel (drawer) */
.pg-modal { width: min(720px, 94vw); }
.pg-drawer { margin: 0 0 0 auto; height: 100vh; max-height: 100vh; width: min(480px, 92vw); border-radius: 0; border-width: 0 0 0 1px; }
.pg-drawer.is-left { margin: 0 auto 0 0; border-width: 0 1px 0 0; }
.pg-drawer .pg-dialog-body { overflow: auto; max-height: calc(100vh - 60px); }
.pg-modal .pg-dialog-body { overflow: auto; max-height: calc(94vh - 60px); }

/* Builder preview: the selected item */
.is-preview .pg-selected { outline: 2px dashed #EBC77F; outline-offset: 4px; }
.is-preview .pg-el[draggable="true"] { cursor: grab; }
.is-preview .pg-drop-before { box-shadow: 0 -4px 0 #EBC77F; } .is-preview .pg-drop-after { box-shadow: 0 4px 0 #EBC77F; }
.is-preview .pg-drop-into { outline: 2px dashed #EBC77F; outline-offset: 2px; }
.is-preview [data-pg-id]:hover { outline: 1px dashed rgba(235, 199, 127, 0.6); outline-offset: 2px; cursor: pointer; }

/* Cookie banner (same markup as the other public pages) */
.consent { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50; max-width: 720px; margin: 0 auto; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 14px; padding: 18px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45); }
.consent h2 { margin: 0 0 6px; font-size: 1.05rem; color: var(--c-heading); }
.consent p { margin: 0 0 12px; font-size: 0.9rem; }
.consent-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.consent-actions .pg-btn { flex: 1 1 auto; }
.consent-settings { display: grid; gap: 10px; margin-bottom: 14px; }
.consent-row { display: flex; gap: 10px; align-items: flex-start; font-size: 0.88rem; }
.consent-row input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--c-primary); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; scroll-behavior: auto !important; } }

/* Size and place of an element (builder: "Size and place") */
.pg-ew-25 { width: 25%; } .pg-ew-33 { width: 33.333%; } .pg-ew-50 { width: 50%; } .pg-ew-66 { width: 66.666%; } .pg-ew-75 { width: 75%; } .pg-ew-100 { width: 100%; }
.pg-emax-240 { max-width: 240px; } .pg-emax-320 { max-width: 320px; } .pg-emax-400 { max-width: 400px; } .pg-emax-480 { max-width: 480px; }
.pg-emax-600 { max-width: 600px; } .pg-emax-720 { max-width: 720px; } .pg-emax-960 { max-width: 960px; } .pg-emax-1200 { max-width: 1200px; }
.pg-eplace-center { margin-left: auto; margin-right: auto; } .pg-eplace-right { margin-left: auto; }
@media (max-width: 639px) { .pg-ew-25, .pg-ew-33, .pg-ew-50, .pg-ew-66, .pg-ew-75 { width: 100%; } }
/* Shapes (pictures and videos are trimmed to fit) and fixed picture heights */
.pg-ratio-16-9 :is(.pg-img, video) { aspect-ratio: 16 / 9; } .pg-ratio-21-9 :is(.pg-img, video) { aspect-ratio: 21 / 9; }
.pg-ratio-3-2 :is(.pg-img, video) { aspect-ratio: 3 / 2; } .pg-ratio-4-3 :is(.pg-img, video) { aspect-ratio: 4 / 3; }
.pg-ratio-1-1 :is(.pg-img, video) { aspect-ratio: 1 / 1; } .pg-ratio-3-4 :is(.pg-img, video) { aspect-ratio: 3 / 4; } .pg-ratio-9-16 video { aspect-ratio: 9 / 16; }
.pg-figure[class*="pg-ratio-"] .pg-img, .pg-figure[class*="pg-imgh-"] .pg-img { width: 100%; object-fit: cover; }
.pg-imgh-160 .pg-img { height: 160px; } .pg-imgh-240 .pg-img { height: 240px; } .pg-imgh-320 .pg-img { height: 320px; } .pg-imgh-400 .pg-img { height: 400px; }
.pg-imgh-500 .pg-img { height: 500px; } .pg-imgh-600 .pg-img { height: 600px; } .pg-imgh-800 .pg-img { height: 800px; }
@media (max-width: 639px) { .pg-figure[class*="pg-imgh-"] .pg-img { max-height: 55dvh; } }

/* --- Sites: header with menu, menus, search, language switch ------------------------------------------------- */
.pg-header .pg-container { flex-wrap: nowrap; }
.pg-header-brand { display: flex; align-items: center; gap: 14px; min-width: 0; }
.pg-header.has-nav .pg-container { justify-content: space-between; }
.pg-header.has-nav.pg-header-center .pg-container { flex-direction: column; justify-content: center; gap: 8px; padding-top: 10px; padding-bottom: 10px; }
.pg-header.has-nav.pg-header-right .pg-container { flex-direction: row-reverse; }
.pg-header-nav { display: flex; align-items: center; gap: 14px; min-width: 0; }
.pg-header-nav.pg-nav-left { margin-right: auto; margin-left: 24px; } .pg-header-nav.pg-nav-center { flex: 1; justify-content: center; }
.pg-menu-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.pg-menu-bar .pg-menu-list { align-items: center; }
.pg-menu-align-center .pg-menu-list { justify-content: center; } .pg-menu-align-right .pg-menu-list { justify-content: flex-end; }
.pg-menu-link { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border-radius: var(--btn-radius); color: var(--c-heading); text-decoration: none; font-weight: 600; font-size: 0.95rem; }
.pg-menu-link:hover { background: var(--c-surface2); }
.pg-menu-link[aria-current="page"] { color: var(--c-heading); box-shadow: inset 0 -3px 0 var(--c-primary); }
.pg-menu-item { position: relative; }
.pg-menu-parent { display: flex; align-items: center; }
.pg-menu-toggle { background: none; border: 0; color: var(--c-muted); min-width: 32px; min-height: 44px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; }
.pg-menu-toggle .icon { width: 16px; height: 16px; transition: transform 0.15s; }
.pg-menu-toggle[aria-expanded="true"] .icon { transform: rotate(180deg); }
.pg-submenu { list-style: none; margin: 0; padding: 6px; display: none; }
.pg-menu-bar .pg-submenu { position: absolute; top: 100%; inset-inline-start: 0; min-width: 220px; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--card-radius); box-shadow: var(--shadow); z-index: 35; }
.pg-menu-item.is-open > .pg-submenu { display: block; }
@media (hover: hover) { .pg-menu-bar .pg-menu-item.has-sub:hover > .pg-submenu, .pg-menu-bar .pg-menu-item.has-sub:focus-within > .pg-submenu { display: block; } }
.pg-submenu .pg-menu-link { width: 100%; font-weight: 500; }
.pg-menu-vertical .pg-menu-list { flex-direction: column; gap: 2px; }
.pg-menu-vertical .pg-menu-link { width: 100%; }
.pg-menu-vertical .pg-submenu { padding: 0 0 0 14px; padding-inline: 14px 0; }
.pg-menu-vertical .pg-menu-parent { justify-content: space-between; }
.pg-menu-buttons .pg-menu-list { gap: 8px; }
.pg-menu-buttons .pg-menu-link { border: 1px solid var(--c-border); background: var(--c-surface); }
.pg-menu-buttons .pg-menu-link[aria-current="page"] { border-color: var(--c-primary); box-shadow: none; }
.pg-menu-burger { display: none; background: none; border: 1px solid var(--c-border); color: var(--c-heading); min-width: 44px; min-height: 44px; border-radius: var(--btn-radius); cursor: pointer; align-items: center; justify-content: center; }
/* Small screens: phones (up to 767 px) or phones and tablets (up to 1,023 px), as chosen per menu. */
.pg-menu-burger.has-label { gap: 8px; padding: 0 14px; font: inherit; font-weight: 600; }
.pg-menu-burger .icon { width: 20px; height: 20px; }
.pg-menu-dropdown { display: none; }
@media (max-width: 767px) {
  .pg-menu-bar.pg-mb-phone:not(.pg-mm-scroll) { display: none; }
  .pg-menu-burger.pg-mb-phone { display: inline-flex; }
  .pg-menu-dropdown.pg-mb-phone:not([hidden]) { display: block; }
}
@media (max-width: 1023px) {
  .pg-menu-bar.pg-mb-tablet:not(.pg-mm-scroll) { display: none; }
  .pg-menu-burger.pg-mb-tablet { display: inline-flex; }
  .pg-menu-dropdown.pg-mb-tablet:not([hidden]) { display: block; }
}
@media (max-width: 899px) { .pg-header.has-nav.pg-header-center .pg-container { flex-direction: row; justify-content: space-between; } }
/* "Keep the bar": one line that can be swiped sideways. */
@media (max-width: 1023px) {
  .pg-menu-bar.pg-mm-scroll { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .pg-menu-bar.pg-mm-scroll .pg-menu-list { flex-wrap: nowrap; }
  .pg-menu-bar.pg-mm-scroll .pg-menu-link { white-space: nowrap; }
}
.pg-header .pg-container { position: relative; }
.pg-menu-dropdown { position: absolute; left: 0; right: 0; top: 100%; z-index: 34; background: var(--c-surface); border-bottom: 1px solid var(--c-border); box-shadow: var(--shadow); padding: 8px 16px 14px; max-height: calc(100dvh - 80px); overflow: auto; }
.pg-menu-full { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; inset: 0; border: 0; border-radius: 0; background: var(--c-bg); }
.pg-menu-full .pg-menu-link { font-size: 1.35rem; min-height: 56px; }
.pg-menu-full .pg-dialog-body { display: flex; justify-content: center; padding-top: 4vh; }
.pg-menu-drawer .pg-menu-link { font-size: 1.05rem; }
.pg-lang { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 12px; border: 1px solid var(--c-border); border-radius: 999px; color: var(--c-heading); text-decoration: none; font-weight: 600; font-size: 0.9rem; }
.pg-lang:hover { border-color: var(--c-primary); }
.pg-search { position: relative; max-width: 640px; }
.pg-search-box { display: flex; align-items: center; gap: 8px; background: var(--c-bg); border: 1px solid var(--c-border); border-radius: var(--btn-radius); padding: 0 12px; }
.pg-search-box:focus-within { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(35, 104, 174, 0.45); }
.pg-search-box .icon { width: 18px; height: 18px; color: var(--c-muted); flex: none; }
.pg-search-box input { flex: 1; min-width: 0; font: inherit; color: var(--c-text); background: none; border: 0; outline: none; min-height: 46px; }
.pg-search-results { margin-top: 8px; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--card-radius); padding: 6px; display: grid; gap: 2px; max-height: 70vh; overflow: auto; }
.pg-search-hit { display: block; padding: 10px 12px; border-radius: 8px; text-decoration: none; color: var(--c-text); }
.pg-search-hit:hover, .pg-search-hit:focus-visible { background: var(--c-surface2); }
.pg-search-hit strong { display: block; color: var(--c-heading); }
.pg-search-hit .pg-search-kind { font-size: 0.75rem; color: var(--c-accent); text-transform: uppercase; letter-spacing: 0.06em; }
.pg-search-hit span.pg-search-text { display: block; font-size: 0.88rem; color: var(--c-muted); margin-top: 2px; }
.pg-search-none { padding: 10px 12px; color: var(--c-muted); margin: 0; }
.pg-site-top > .pg-section:first-child, .pg-site-bottom > .pg-section:first-child { border-top: 0; }

/* --- Arabic: right to left. Grids, flex rows and menus turn by themselves; text alignment and a few edges follow. -- */
[dir="rtl"] .pg-body { font-family: var(--f-body), "Segoe UI", Tahoma, "Geeza Pro", "Noto Naskh Arabic", sans-serif; }
[dir="rtl"] .pg-text-left, [dir="rtl"] .pg-col-left, [dir="rtl"] .pg-file, [dir="rtl"] .pg-explorer-nav button, [dir="rtl"] .pgx-card, [dir="rtl"] .pgx-switch-btn,
[dir="rtl"] .pgx-hours th, [dir="rtl"] .pgx-hours td, [dir="rtl"] .pgx-table th, [dir="rtl"] .pgx-table td, [dir="rtl"] .pgx-locs-list .pgx-loc,
[dir="rtl"] .pgc-table th, [dir="rtl"] .pgc-table td, [dir="rtl"] .pgc-cat { text-align: right; }
[dir="rtl"] .pg-text-right, [dir="rtl"] .pg-col-right { text-align: left; }
[dir="rtl"] .pg-prose ul, [dir="rtl"] .pg-prose ol { padding-left: 0; padding-right: 1.3em; }
[dir="rtl"] .pg-pdf-pages { margin-right: 0; margin-left: auto; }
[dir="rtl"] .pg-eplace-right { margin-left: 0; margin-right: auto; }
[dir="rtl"] .pgx-timeline { padding: 0 24px 0 0; border-left: 0; border-right: 2px solid var(--c-border); }
[dir="rtl"] .pgx-tl-item::before { left: auto; right: -32px; }
[dir="rtl"] .pgc-timeline { padding: 0 22px 0 0; border-left: 0; border-right: 2px solid var(--c-border); }
[dir="rtl"] .pgc-tl-item::before { left: auto; right: -30px; }
[dir="rtl"] .pgx-quote.is-boxed { border-left: 1px solid var(--c-border); border-right: 4px solid var(--c-primary); }
[dir="rtl"] .pgx-card-name { padding-right: 0; padding-left: 30px; }
[dir="rtl"] .pgx-pop-close { right: auto; left: 8px; }
[dir="rtl"] .pgx-top { right: auto; left: 16px; }
[dir="rtl"] .pg-header-nav.pg-nav-left { margin-right: 24px; margin-left: 0; }
[dir="rtl"] .pgc-depth-1 { padding-left: 0; padding-right: 14px; } [dir="rtl"] .pgc-depth-2 { padding-left: 0; padding-right: 28px; }
[dir="rtl"] .pg-heading, [dir="rtl"] .pg-prose { letter-spacing: 0; }

/* --- Colours and box of an element (builder: "Colours and box"). Colours are theme variables, so headings, text,
       links and buttons inside follow. ---------------------------------------------------------------------------- */
.pg-el[class*="pg-ebg-"], .pg-el[class*="pg-eborder-"], .pg-el[class*="pg-x-"] { border-radius: var(--card-radius); }
.pg-ebg-surface { background: var(--c-surface); } .pg-ebg-surface2 { background: var(--c-surface2); }
.pg-ebg-primary { background: var(--c-primary); --c-text: var(--c-primary-text); --c-heading: var(--c-primary-text); --c-muted: var(--c-primary-text); --c-link: var(--c-primary-text); color: var(--c-primary-text); }
.pg-ebg-accent { background: var(--c-accent); --c-text: #FFFFFF; --c-heading: #FFFFFF; --c-muted: #FFFFFF; --c-link: #FFFFFF; color: #FFFFFF; }
.pg-ebg-secondary { background: var(--c-secondary); --c-text: #FFFFFF; --c-heading: #FFFFFF; --c-muted: #FFFFFF; --c-link: #FFFFFF; color: #FFFFFF; }
.pg-ebg-success { background: var(--c-success); --c-text: #0A1E34; --c-heading: #0A1E34; --c-muted: #0A1E34; --c-link: #0A1E34; color: #0A1E34; }
.pg-ebg-warning { background: var(--c-warning); --c-text: #1A1A1A; --c-heading: #1A1A1A; --c-muted: #1A1A1A; --c-link: #1A1A1A; color: #1A1A1A; }
.pg-ebg-error { background: var(--c-error); --c-text: #FFFFFF; --c-heading: #FFFFFF; --c-muted: #FFFFFF; --c-link: #FFFFFF; color: #FFFFFF; }
.pg-ebg-light { background: #FFFFFF; --c-text: #1F2A37; --c-heading: #0A1E34; --c-muted: #55606D; --c-link: #2368AE; --c-border: #D5DAE0; --c-surface: #F4F6F8; color: #1F2A37; }
.pg-ebg-dark { background: #061423; --c-text: #F2F3F4; --c-heading: #FFFFFF; --c-muted: #B3BBC5; color: #F2F3F4; }
.pg-ec-heading { --c-text: var(--c-heading); color: var(--c-heading); }
.pg-ec-muted { --c-text: var(--c-muted); --c-heading: var(--c-muted); color: var(--c-muted); }
.pg-ec-primary { --c-text: var(--c-primary); --c-heading: var(--c-primary); color: var(--c-primary); }
.pg-ec-accent { --c-text: var(--c-accent); --c-heading: var(--c-accent); color: var(--c-accent); }
.pg-ec-secondary { --c-text: var(--c-secondary); --c-heading: var(--c-secondary); color: var(--c-secondary); }
.pg-ec-light { --c-text: #FFFFFF; --c-heading: #FFFFFF; --c-muted: #E6E9ED; color: #FFFFFF; }
.pg-ec-dark { --c-text: #0A1E34; --c-heading: #0A1E34; --c-muted: #3A4B5E; color: #0A1E34; }
.pg-ebtn-accent { --c-primary: var(--c-accent); } .pg-ebtn-secondary { --c-primary: var(--c-secondary); }
.pg-ebtn-success { --c-primary: var(--c-success); --c-primary-text: #0A1E34; } .pg-ebtn-warning { --c-primary: var(--c-warning); --c-primary-text: #1A1A1A; }
.pg-ebtn-error { --c-primary: var(--c-error); } .pg-ebtn-light { --c-primary: #FFFFFF; --c-primary-text: #0A1E34; --c-accent: #E6E9ED; } .pg-ebtn-dark { --c-primary: #061423; --c-primary-text: #FFFFFF; }
.pg-epad-s { padding: 10px 12px; } .pg-epad-m { padding: 18px 20px; } .pg-epad-l { padding: 32px 34px; }
@media (max-width: 639px) { .pg-epad-l { padding: 22px 18px; } }
.pg-eborder-thin { border: 1px solid var(--c-border); } .pg-eborder-primary { border: 2px solid var(--c-primary); } .pg-eborder-accent { border: 2px solid var(--c-accent); }
.pg-erad-none { border-radius: 0 !important; } .pg-erad-s { border-radius: 6px !important; } .pg-erad-l { border-radius: 24px !important; } .pg-erad-round { border-radius: 999px !important; }
.pg-eshadow { box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); }
.pg-el[class*="pg-ec-"] .pg-prose, .pg-el[class*="pg-ebg-"] .pg-prose, .pg-el[class*="pg-x-"] .pg-prose { color: var(--c-text); }

/* Menu in its own row under the logo */
.pg-header.has-nav-below .pg-container { flex-wrap: wrap; row-gap: 0; }
.pg-header.has-nav-below .pg-header-nav.pg-nav-below { flex-basis: 100%; order: 3; border-top: 1px solid var(--c-border); padding: 4px 0; justify-content: flex-start; margin: 0; }
.pg-header.has-nav-below.pg-header-center .pg-nav-below { justify-content: center; }
@media (max-width: 1023px) { .pg-header.has-nav-below .pg-header-nav.pg-nav-below { flex-basis: auto; order: 0; border-top: 0; margin-left: auto; } }

/* Theme Studio settings (variables from the theme stylesheet; the fallbacks are the Global Impact look). */
.pg-header { background: var(--hd-bg, var(--c-surface)); border-bottom: var(--hd-border, 1px solid var(--c-border)); box-shadow: var(--hd-shadow, none); }
.pg-header .pg-container { min-height: var(--hd-h, 72px); }
.pg-header-title { color: var(--hd-fg, var(--c-heading)); }
.pg-body h1, .pg-body h2, .pg-body h3, .pg-body h4 { text-transform: var(--h-transform, none); }
.pg-body a:not([class]) { text-decoration: var(--link-deco, underline); }
.pg-body a:not([class]):hover { color: var(--c-link-hover, var(--c-accent)); }
.pg-btn { font-weight: var(--btn-fw, 700); text-transform: var(--btn-transform, none); }
.pg-btn-primary { background: var(--btn-bg, var(--c-primary)); color: var(--btn-fg, var(--c-primary-text)) !important; border-color: var(--c-primary); }
.pg-btn-primary:hover { background: var(--btn-hover-bg, var(--c-accent)); transform: translateY(var(--btn-hover-y, 0px)); }
.pg-btn-secondary { background: var(--btn2-bg, transparent); border-color: var(--btn2-border, var(--c-border)); }
.pg-menu-list { gap: var(--mn-gap, 4px); }
.pg-menu-link { color: var(--mn-fg, var(--c-heading)); font-size: var(--mn-fs, 0.95rem); font-weight: var(--mn-fw, 600); text-transform: var(--mn-transform, none); }
.pg-menu-link:hover { background: var(--mn-hover-bg, var(--c-surface2)); color: var(--mn-hover, var(--c-heading)); }
.pg-menu-link[aria-current="page"] { color: var(--mn-active-fg, var(--c-heading)); box-shadow: var(--mn-active-shadow, inset 0 -3px 0 var(--c-primary)); background: var(--mn-active-bg, transparent); outline: 2px solid var(--mn-active-border, transparent); outline-offset: -2px; border-radius: var(--mn-active-radius, var(--btn-radius)); }
.pg-menu-bar .pg-submenu { background: var(--mn-sub-bg, var(--c-surface)); }
.pg-menu-burger { background: var(--mm-bg, none); color: var(--mm-fg, var(--c-heading)); border-color: var(--mm-border, var(--c-border)); border-radius: var(--mm-radius, var(--btn-radius)); min-width: var(--mm-size, 44px); min-height: var(--mm-size, 44px); order: var(--mm-order, 0); }
.pg-menu-drawer, .pg-menu-full, .pg-menu-dropdown { background: var(--mm-panel-bg, var(--c-surface)); }
.pg-menu-drawer .pg-menu-link, .pg-menu-dropdown .pg-menu-link { font-size: var(--mm-link-fs, 1.05rem); }
.pg-file, .pg-pdf { background: var(--cd-bg, var(--c-surface)); border-color: var(--cd-border, var(--c-border)); }
.pg-file:hover { border-color: var(--cd-hover-border, var(--c-border)); transform: translateY(var(--cd-hover-y, 0px)); }
.pg-pdf-bar { background: var(--pdf-bar, transparent); }
.pg-pdf-stage { background: var(--pdf-stage, var(--c-surface2)); }
.pg-main > .pg-section:nth-of-type(even).pg-bg-none { background: var(--alt-bg, transparent); }
.pg-footer { background: var(--ft-bg, transparent); color: var(--ft-fg, var(--c-muted)); }
.pg-footer a, .pg-footer .pg-link-btn { color: var(--ft-link, var(--c-muted)); }
.consent { background: var(--cs-bg, var(--c-surface)); color: var(--cs-fg, var(--c-text)); }
.pg-body table th { background: var(--tb-head, var(--c-surface)); }
.pg-body table tbody tr:nth-child(even) { background: var(--tb-stripe, transparent); }
.pg-tag, .gig-tag { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: var(--tag-radius, 999px); background: var(--tag-bg, var(--c-surface2)); color: var(--tag-fg, var(--c-heading)); font-size: 0.8rem; font-weight: 600; }
.pg-lang-ar { font-family: var(--f-arabic, var(--f-body)); }
.pg-lang-ar h1, .pg-lang-ar h2, .pg-lang-ar h3, .pg-lang-ar h4 { font-family: var(--f-arabic, var(--f-heading)); text-transform: none; }

/* Ribbons and tags (Theme Studio > Ribbons and tags), on any element. */
.pg-el.has-ribbon { position: relative; }
.gig-ribbon { --rb-bg: var(--c-primary); --rb-fg: var(--c-primary-text); display: inline-flex; align-items: center; font-family: var(--rb-font, var(--f-heading)); font-size: var(--rb-fs, 0.76rem); font-weight: 700; letter-spacing: 0.04em; text-transform: var(--rb-transform, uppercase); line-height: 1.2; background: var(--rb-bg); color: var(--rb-fg); z-index: 3; pointer-events: none; white-space: nowrap; }
.gig-rbc-accent { --rb-bg: var(--c-accent); --rb-fg: #FFFFFF; } .gig-rbc-secondary { --rb-bg: var(--c-secondary); --rb-fg: #FFFFFF; }
.gig-rbc-success { --rb-bg: var(--c-success); --rb-fg: #0A1E34; } .gig-rbc-warning { --rb-bg: var(--c-warning); --rb-fg: #0A1E34; } .gig-rbc-error { --rb-bg: var(--c-error); --rb-fg: #FFFFFF; }
.gig-rbc-dark { --rb-bg: #000000; --rb-fg: #FFFFFF; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4); } .gig-rbc-light { --rb-bg: #FFFFFF; --rb-fg: #0A1E34; } .gig-rbc-vip { --rb-bg: #111111; --rb-fg: #D9A441; }
.gig-rbp-top_end, .gig-rbp-top_start { position: absolute; top: 10px; }
.gig-rbp-top_end { inset-inline-end: 10px; } .gig-rbp-top_start { inset-inline-start: 10px; }
.gig-rbp-inline { margin-bottom: 8px; }
.gig-rb-tag { padding: 4px 10px; border-radius: 999px; }
.gig-rb-dot { padding: 4px 10px 4px 22px; border-radius: 999px; background: var(--c-surface2); color: var(--c-heading); position: absolute; }
.gig-rb-dot.gig-rbp-inline { position: relative; }
.gig-rb-dot::before { content: ""; position: absolute; inset-inline-start: 9px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: var(--rb-bg); }
.gig-rb-flag { padding: 5px 16px 5px 10px; clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 0 100%); }
[dir="rtl"] .gig-rb-flag { padding: 5px 10px 5px 16px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 8px 50%); }
.gig-rb-stamp { padding: 5px 10px; border: 2px solid var(--rb-bg); background: transparent; color: var(--rb-bg); border-radius: 4px; transform: rotate(-6deg); }
.gig-rb-banner { padding: 6px 14px; border-radius: 4px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); }
.gig-rb-banner.gig-rbp-top_end, .gig-rb-banner.gig-rbp-top_start { top: 14px; border-radius: 0; }
.gig-rb-banner.gig-rbp-top_end { inset-inline-end: -6px; } .gig-rb-banner.gig-rbp-top_start { inset-inline-start: -6px; }
.gig-rb-corner.gig-rbp-top_end, .gig-rb-corner.gig-rbp-top_start { top: 0; width: 110px; justify-content: center; padding: 4px 0; font-size: calc(var(--rb-fs, 0.76rem) * 0.9); }
.has-ribbon:has(.gig-rb-corner.gig-rbp-top_end), .has-ribbon:has(.gig-rb-corner.gig-rbp-top_start) { overflow: hidden; }
.gig-rb-corner.gig-rbp-top_end { inset-inline-end: 0; transform: translate(36px, 16px) rotate(45deg); }
.gig-rb-corner.gig-rbp-top_start { inset-inline-start: 0; transform: translate(-36px, 16px) rotate(-45deg); }
[dir="rtl"] .gig-rb-corner.gig-rbp-top_end { transform: translate(-36px, 16px) rotate(-45deg); }
[dir="rtl"] .gig-rb-corner.gig-rbp-top_start { transform: translate(36px, 16px) rotate(45deg); }
.gig-rb-corner.gig-rbp-inline { padding: 4px 10px; border-radius: 4px; }

/* Header: language switch and phone menu button follow the header colours; the switch is a square box set apart from the menu. */
.pg-header .pg-lang { color: var(--hd-fg, var(--c-heading)); border-color: currentColor; border-radius: var(--btn-radius); margin-left: 20px; text-transform: var(--mn-transform, none); letter-spacing: .06em; }
.pg-header .pg-lang:hover { background: var(--hd-fg, var(--c-heading)); color: var(--hd-bg, var(--c-surface)); }
.pg-header .pg-menu-burger { color: var(--hd-fg, var(--c-heading)); border-color: currentColor; }
/* Menu links keep the menu colours (".pg-body a" was stronger than ".pg-menu-link"). */
.pg-body .pg-menu-link { color: var(--mn-fg, var(--c-heading)); text-decoration: none; }
.pg-body .pg-menu-link:hover { color: var(--mn-hover, var(--c-heading)); }
.pg-body .pg-menu-link[aria-current="page"] { color: var(--mn-active-fg, var(--c-heading)); }
