:root {
  --green-900: #064a34;
  --green-800: #075f43;
  --green-700: #0b7a53;
  --green-600: #119663;
  --green-100: #e8f7f1;
  --green-50: #f3fbf8;
  --ink: #14231d;
  --muted: #66736e;
  --line: #dce5e1;
  --surface: #ffffff;
  --canvas: #f7faf8;
  --danger: #c23535;
  --danger-dark: #9f2828;
  --danger-soft: #fff0f0;
  --takalo-blue: #163a70;
  --takalo-blue-dark: #102e59;
  --takalo-blue-soft: #eef3f8;
  --takalo-blue-border: #b8c9dc;
  --takalo-blue-icon: #dfe8f2;
  --warning: #b36b00;
  --warning-soft: #fff7e6;
  --shadow-sm: 0 8px 24px rgba(10, 61, 43, .08);
  --shadow-lg: 0 24px 70px rgba(8, 52, 37, .18);
  --radius-sm: 12px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --container: min(1180px, calc(100% - 32px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
.container { width: var(--container); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; transform: translateY(-140%); background: #fff; padding: 10px 14px; border-radius: 10px; }
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.91);
  border-bottom: 1px solid rgba(220,229,225,.88);
  backdrop-filter: blur(16px);
}
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
.brand-mark { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(145deg, var(--green-700), var(--green-900)); color: #fff; box-shadow: 0 9px 20px rgba(11,122,83,.22); font-weight: 900; }
.brand-mark svg { width: 27px; fill: currentColor; }
.brand > span:last-child { display: grid; line-height: 1.1; }
.brand strong { letter-spacing: .08em; font-size: 1.08rem; }
.brand small { color: var(--muted); font-size: .72rem; margin-top: 4px; }
.top-actions { display: flex; align-items: center; gap: 10px; }

.button {
  border: 0;
  border-radius: 13px;
  min-height: 44px;
  padding: 10px 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  font-weight: 750;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, opacity .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button:focus-visible, .icon-button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(17,150,99,.24); outline-offset: 2px; }
.button-primary { color: #fff; background: var(--green-700); box-shadow: 0 10px 24px rgba(11,122,83,.2); }
.button-primary:hover { background: var(--green-800); }
.button-secondary { color: var(--green-800); background: var(--green-100); }
.button-secondary:hover { background: #d9f1e7; }
.button-ghost { color: var(--ink); background: #fff; border: 1px solid var(--line); }
.button-danger { color: #fff; background: var(--danger); }
.button-danger:hover { background: var(--danger-dark); }
.button-small { min-height: 38px; padding: 8px 12px; border-radius: 10px; font-size: .88rem; }
.button-large { min-height: 52px; padding: 14px 22px; border-radius: 15px; }
.button[disabled] { opacity: .58; cursor: wait; transform: none; }

.hero {
  overflow: hidden;
  position: relative;
  padding: 72px 0 76px;
  color: #fff;
  background: #173d2f;
  isolation: isolate;
}
.hero-bg-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 47%;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(4,29,21,.84) 0%, rgba(6,47,34,.72) 34%, rgba(5,35,25,.42) 62%, rgba(5,35,25,.15) 100%),
    radial-gradient(circle at 18% 50%, rgba(9,102,70,.36) 0%, rgba(9,102,70,.10) 34%, transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.03) 0%, rgba(0,0,0,.11) 72%, rgba(4,29,21,.32) 100%);
  pointer-events: none;
}
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.02fr) minmax(420px,.98fr); gap: 56px; align-items: center; }
.eyebrow { margin: 0 0 10px; color: var(--green-700); text-transform: uppercase; letter-spacing: .14em; font-size: .74rem; font-weight: 850; }
.hero .eyebrow { color: #d7f6e9; text-shadow: 0 2px 12px rgba(0,0,0,.28); }
.hero h1 { max-width: 720px; margin: 0; font-size: clamp(2.85rem, 5.2vw, 5.3rem); line-height: .96; letter-spacing: -.06em; text-shadow: 0 4px 28px rgba(0,0,0,.34); }
.hero-highlight { color: #74f0be; display: inline; }
.hero-lead { max-width: 680px; margin: 24px 0 0; color: rgba(255,255,255,.92); font-size: clamp(1.03rem, 1.8vw, 1.23rem); text-shadow: 0 2px 15px rgba(0,0,0,.30); }
.hero-actions { margin-top: 31px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero .button-primary { padding-inline: 22px; }
.hero .button-secondary { color: var(--green-900); background: rgba(255,255,255,.96); box-shadow: 0 10px 26px rgba(0,0,0,.16); }
.hero .button-secondary:hover { background: #fff; }
.trust-row { display: flex; flex-wrap: wrap; gap: 14px 18px; margin-top: 28px; }
.trust-row span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  border-radius: 999px;
  color: rgba(255,255,255,.95);
  font-size: .88rem;
  font-weight: 700;
  text-shadow: 0 2px 12px rgba(0,0,0,.24);
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
}
.trust-row span::before {
  content: "✓";
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: rgba(116,240,190,.30);
}
.hero-visual { min-height: 520px; position: relative; }
.hero-card {
  position: absolute;
  overflow: hidden;
  width: min(100%, 330px);
  border-radius: 28px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(223,231,227,.9);
  box-shadow: 0 25px 60px rgba(8,52,37,.22);
  backdrop-filter: blur(8px);
}
.hero-card-media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #e6efe9; }
.hero-card-media img { width: 100%; height: 100%; object-fit: cover; }
.hero-card-copy { display: grid; gap: 4px; padding: 14px 16px 16px; color: var(--ink); }
.hero-card-copy strong { font-size: 1.28rem; line-height: 1.15; }
.hero-card-copy span { color: var(--muted); font-size: .94rem; }
.hero-card-copy small { color: #6d7a75; font-size: .86rem; margin-top: 8px; }
.hero-card-fav {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  font-size: 1.5rem;
  color: #fff;
  background: rgba(5,35,25,.28);
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.hero-card-phone { left: 8px; top: 0; transform: rotate(-2deg); z-index: 2; }
.hero-card-shelf { right: -8px; top: 62px; transform: rotate(2.5deg); z-index: 1; }
.hero-card-bike { left: 88px; bottom: 8px; transform: rotate(1.5deg); z-index: 3; }
.visual-status { position: absolute; top: 16px; left: 16px; z-index: 3; border-radius: 999px; padding: 8px 14px; color: #fff; font-size: .8rem; font-weight: 850; box-shadow: 0 7px 18px rgba(0,0,0,.12); }
.visual-status.available { background: var(--green-700); }
.hero-note {
  position: absolute;
  right: 18px;
  bottom: 8px;
  z-index: 4;
  max-width: 220px;
  color: rgba(255,255,255,.95);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: left;
  text-shadow: 0 3px 18px rgba(0,0,0,.28);
}
.hero-note::after {
  content: "";
  display: block;
  width: 84px;
  height: 4px;
  margin-top: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, #74f0be, rgba(116,240,190,0));
}
.how-section { padding: 66px 0; background: #fff; border-block: 1px solid var(--line); }
.section-heading { margin-bottom: 26px; }
.section-heading h2 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.7rem); letter-spacing: -.035em; }
.compact-heading { text-align: center; }
.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.step-card { border: 1px solid var(--line); border-radius: var(--radius-md); padding: 25px; background: #fff; box-shadow: var(--shadow-sm); }
.step-card > span { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: #fff; background: var(--green-700); font-weight: 850; }
.step-card h3 { margin: 18px 0 7px; font-size: 1.2rem; }
.step-card p { margin: 0; color: var(--muted); }

.catalogue-section { padding: 76px 0 84px; }
.catalogue-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.muted { color: var(--muted); margin: 9px 0 0; }
.filter-bar { display: grid; grid-template-columns: 1fr 220px 220px; gap: 12px; margin-bottom: 26px; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); }
.filter-bar input, .filter-bar select { width: 100%; height: 48px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); padding: 0 14px; }
.search-field { position: relative; }
.search-field svg { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 20px; fill: none; stroke: var(--muted); stroke-width: 2; stroke-linecap: round; }
.search-field input { padding-left: 44px; }
.listing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.listing-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-sm); transition: transform .2s ease, box-shadow .2s ease; }
.listing-card:hover { transform: translateY(-3px); box-shadow: 0 17px 38px rgba(10,61,43,.12); }
.listing-image-wrap { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #e9efec; }
.listing-image { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.listing-card:hover .listing-image { transform: scale(1.035); }
.status-pill { position: absolute; top: 13px; left: 13px; padding: 7px 11px; border-radius: 999px; color: #fff; font-size: .74rem; font-weight: 850; box-shadow: 0 5px 16px rgba(0,0,0,.15); }
.status-pill.available { background: var(--green-700); }
.status-pill.taken { background: var(--danger); }
.category-pill { position: absolute; right: 13px; bottom: 13px; max-width: calc(100% - 26px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 6px 9px; border-radius: 9px; background: rgba(255,255,255,.92); color: #33423c; font-size: .71rem; font-weight: 750; backdrop-filter: blur(8px); }
.image-count-pill { position: absolute; left: 13px; bottom: 13px; padding: 6px 9px; border-radius: 9px; color: #fff; background: rgba(8,52,37,.72); font-size: .72rem; font-weight: 850; backdrop-filter: blur(8px); }
.listing-body { flex: 1; display: flex; flex-direction: column; padding: 18px; }
.listing-body h3 { margin: 0; font-size: 1.18rem; line-height: 1.25; }
.listing-description { margin: 10px 0; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.exchange-wanted { margin: 0 0 12px; padding: 9px 11px; border-radius: 11px; color: var(--green-900); background: var(--green-50); font-size: .83rem; }
.listing-location { margin: auto 0 14px; color: #596760; font-size: .86rem; display: flex; gap: 7px; align-items: center; }
.listing-actions { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
.whatsapp-button { color: #fff; background: #1cae61; }
.whatsapp-button:hover { background: #158c4e; }
.taken-button { color: #fff; background: var(--danger); cursor: not-allowed; }
.icon-button { width: 44px; height: 44px; padding: 0; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 13px; background: #fff; color: var(--ink); font-size: 1.6rem; line-height: 1; }
.manage-link { border: 0; background: transparent; padding: 11px 0 0; color: var(--muted); font-size: .78rem; text-decoration: underline; text-underline-offset: 3px; }
.empty-state { text-align: center; max-width: 540px; margin: 42px auto 0; padding: 35px; border: 1px dashed #b9cac2; border-radius: var(--radius-md); background: rgba(255,255,255,.65); }
.empty-icon { width: 64px; height: 64px; margin: 0 auto 14px; display: grid; place-items: center; border-radius: 19px; background: var(--green-100); color: var(--green-700); font-size: 2rem; font-weight: 900; }
.empty-state h3 { margin: 0; font-size: 1.35rem; }
.empty-state p { color: var(--muted); }
.skeleton { min-height: 390px; border-radius: 20px; background: linear-gradient(90deg, #edf2ef 25%, #f7faf8 37%, #edf2ef 63%); background-size: 400% 100%; animation: shimmer 1.3s infinite; }
@keyframes shimmer { 0%{background-position:100% 0}100%{background-position:-100% 0} }

.safety-section { padding: 0 0 84px; }
.safety-card { display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center; padding: 32px; border-radius: var(--radius-lg); background: var(--green-900); color: #fff; box-shadow: var(--shadow-lg); }
.safety-card .eyebrow { color: #83e2bf; }
.safety-card h2 { margin: 0 0 8px; font-size: clamp(1.55rem, 3vw, 2.2rem); }
.safety-card p:last-child { margin: 0; color: #d4e8df; max-width: 880px; }
.safety-icon { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 22px; background: rgba(255,255,255,.12); font-size: 2rem; }
.site-footer { padding: 30px 0; background: #fff; border-top: 1px solid var(--line); }
.footer-grid { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--muted); }
.footer-brand .brand-mark { width: 38px; height: 38px; border-radius: 12px; }
.footer-grid p { margin: 0; }
.footer-grid > a { color: var(--green-700); font-weight: 750; }

.modal { width: min(860px, calc(100% - 24px)); max-height: calc(100vh - 24px); padding: 0; border: 0; border-radius: 24px; background: #fff; box-shadow: var(--shadow-lg); }
.modal::backdrop { background: rgba(6,30,21,.64); backdrop-filter: blur(5px); }
.modal-shell { padding: 26px; }
.modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.modal-header h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: -.03em; }
.form-progress { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 16px; color: var(--muted); font-size: .8rem; }
.photo-uploader { position: relative; min-height: 230px; overflow: hidden; display: grid; place-items: center; margin-bottom: 21px; border: 2px dashed #b9cac2; border-radius: 18px; background: var(--green-50); cursor: pointer; }
.photo-uploader input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.photo-placeholder { text-align: center; display: grid; justify-items: center; gap: 4px; padding: 30px; }
.upload-icon { font-size: 2.1rem; margin-bottom: 8px; }
.photo-placeholder small { color: var(--muted); }
.photo-uploader img { width: 100%; max-height: 380px; object-fit: contain; background: #e4ece8; }
.photo-change { position: absolute; right: 13px; bottom: 13px; z-index: 2; border: 0; border-radius: 10px; padding: 9px 12px; background: rgba(255,255,255,.94); color: var(--ink); font-weight: 750; box-shadow: var(--shadow-sm); }
.photo-gallery-uploader { margin-bottom: 21px; padding: 12px; border: 1px solid #cfdcd6; border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.photo-add-zone { min-height: 165px; position: relative; display: grid; place-items: center; border: 2px dashed #b9cac2; border-radius: 15px; background: var(--green-50); cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.photo-add-zone:hover { border-color: var(--green-600); background: #edf9f4; }
.photo-add-zone input { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.photo-previews { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-top: 10px; }
.photo-preview-item { position: relative; overflow: hidden; aspect-ratio: 1 / 1; border-radius: 14px; background: #e7efeb; border: 1px solid var(--line); }
.photo-preview-item img { width: 100%; height: 100%; object-fit: cover; }
.photo-order-badge { position: absolute; left: 7px; bottom: 7px; max-width: calc(100% - 44px); padding: 5px 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-radius: 999px; color: #fff; background: rgba(6,74,52,.88); font-size: .68rem; font-weight: 850; backdrop-filter: blur(7px); }
.photo-remove { position: absolute; top: 7px; right: 7px; width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 50%; color: #fff; background: rgba(20,35,29,.78); font-size: 1.25rem; line-height: 1; }
.photo-reorder { position: absolute; right: 7px; bottom: 7px; display: flex; gap: 4px; }
.photo-reorder button { width: 28px; height: 28px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; color: #fff; background: rgba(20,35,29,.72); font-weight: 900; }
.photo-reorder button:disabled { opacity: .35; cursor: default; }
.photo-gallery-footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; color: var(--muted); font-size: .76rem; }
.photo-gallery-footer > span { color: var(--green-800); font-weight: 850; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field { min-width: 0; display: grid; gap: 7px; font-weight: 700; font-size: .88rem; }
.field.full { grid-column: 1 / -1; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #cfdcd6; border-radius: 12px; background: #fff; color: var(--ink); padding: 12px 13px; font-weight: 500; }
.field textarea { resize: vertical; min-height: 110px; }
.field input::placeholder, .field textarea::placeholder { color: #94a099; }
.char-count { justify-self: end; margin-top: -2px; color: var(--muted); font-weight: 500; }
.checkbox-field { display: grid; grid-template-columns: 19px 1fr; align-items: start; gap: 10px; margin-top: 18px; color: #536159; font-size: .85rem; }
.checkbox-field input { width: 18px; height: 18px; accent-color: var(--green-700); }
.form-alert { margin-top: 16px; padding: 12px 14px; border-radius: 11px; background: var(--danger-soft); color: var(--danger-dark); font-weight: 650; }
.form-alert.success { background: var(--green-100); color: var(--green-900); }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.success-panel { padding: 24px 8px 8px; text-align: center; }
.success-icon { width: 72px; height: 72px; margin: 0 auto 16px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--green-700); font-size: 2.1rem; font-weight: 900; }
.success-panel h3 { margin: 0; font-size: 1.8rem; }
.success-panel > p { color: var(--muted); }
.management-code-box { max-width: 420px; margin: 22px auto; padding: 18px; display: grid; gap: 10px; border-radius: 16px; background: var(--green-50); border: 1px solid #cce9dd; }
.management-code-box span { color: var(--muted); font-size: .8rem; }
.management-code-box strong { font-size: 1.45rem; letter-spacing: .12em; }
.small-note { max-width: 540px; margin-inline: auto; font-size: .82rem; }
.detail-modal { width: min(960px, calc(100% - 24px)); }
.detail-shell { position: relative; padding: 0; overflow: hidden; }
.detail-close { position: absolute; top: 14px; right: 14px; z-index: 5; box-shadow: var(--shadow-sm); }
.detail-grid { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 540px; }
.detail-gallery { min-width: 0; background: #e5ede9; display: flex; flex-direction: column; }
.detail-gallery-main { position: relative; flex: 1; min-height: 450px; overflow: hidden; }
.detail-image { width: 100%; height: 100%; min-height: 450px; object-fit: cover; background: #e5ede9; }
.detail-gallery-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; color: #fff; background: rgba(8,52,37,.62); font-size: 2rem; line-height: 1; backdrop-filter: blur(8px); box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.detail-gallery-nav.prev { left: 14px; }
.detail-gallery-nav.next { right: 14px; }
.detail-gallery-count { position: absolute; right: 14px; bottom: 14px; padding: 6px 10px; border-radius: 999px; color: #fff; background: rgba(8,52,37,.70); font-size: .76rem; font-weight: 800; backdrop-filter: blur(8px); }
.detail-thumbnails { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; padding: 9px; background: #fff; border-top: 1px solid var(--line); }
.detail-thumb { overflow: hidden; aspect-ratio: 4 / 3; padding: 0; border: 2px solid transparent; border-radius: 10px; background: #e5ede9; opacity: .72; }
.detail-thumb.active { border-color: var(--green-700); opacity: 1; }
.detail-thumb img { width: 100%; height: 100%; object-fit: cover; }
.detail-info { padding: 42px 34px 30px; display: flex; flex-direction: column; }
.detail-info h2 { margin: 12px 0 8px; font-size: clamp(1.8rem, 4vw, 2.65rem); line-height: 1.05; letter-spacing: -.045em; }
.detail-info .detail-description { color: var(--muted); white-space: pre-wrap; }
.detail-meta { display: grid; gap: 10px; margin: 18px 0; padding: 15px; border-radius: 14px; background: var(--canvas); }
.detail-meta div { display: grid; grid-template-columns: 130px 1fr; gap: 10px; }
.detail-meta span { color: var(--muted); font-size: .84rem; }
.detail-contact { margin-top: auto; display: grid; gap: 9px; }
.narrow-shell { max-width: 520px; }
.status-modal { width: min(520px, calc(100% - 24px)); }
.toast { position: fixed; left: 50%; bottom: max(22px, env(safe-area-inset-bottom)); z-index: 100; transform: translateX(-50%); max-width: min(520px, calc(100% - 30px)); padding: 12px 17px; border-radius: 12px; color: #fff; background: #17251f; box-shadow: var(--shadow-lg); font-weight: 700; text-align: center; }

/* Administration */
.admin-body { background: #f3f7f5; }
.admin-header { background: var(--green-900); color: #fff; border-bottom: 0; }
.admin-header .brand small { color: #b9d8cc; }
.admin-header .button-ghost { color: #fff; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.07); }
.admin-main { padding: 40px 0 80px; }
.login-card { max-width: 470px; margin: 70px auto; padding: 30px; border-radius: 22px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-lg); }
.login-card h1 { margin: 0 0 7px; }
.login-card > p { color: var(--muted); margin-bottom: 24px; }
.login-card .field { margin-bottom: 14px; }
.login-card .button { width: 100%; }
.admin-toolbar { display: flex; justify-content: space-between; gap: 18px; align-items: end; margin-bottom: 25px; }
.admin-toolbar h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.05em; }
.admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 22px; }
.stat-card { padding: 17px; border-radius: 16px; background: #fff; border: 1px solid var(--line); }
.stat-card span { color: var(--muted); font-size: .8rem; }
.stat-card strong { display: block; margin-top: 3px; font-size: 1.65rem; }
.admin-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.filter-chip { border: 1px solid var(--line); border-radius: 999px; padding: 8px 13px; background: #fff; color: var(--ink); font-weight: 700; }
.filter-chip.active { color: #fff; background: var(--green-700); border-color: var(--green-700); }
.admin-list { display: grid; gap: 14px; }
.admin-item { display: grid; grid-template-columns: 150px minmax(0,1fr) auto; gap: 18px; align-items: center; padding: 14px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); }
.admin-item img { width: 150px; height: 115px; border-radius: 13px; object-fit: cover; background: #e5ede9; }
.admin-item h3 { margin: 0 0 6px; }
.admin-item p { margin: 4px 0; color: var(--muted); font-size: .88rem; }
.admin-badges { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 9px; }
.admin-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: .72rem; font-weight: 850; }
.admin-badge.pending { background: var(--warning-soft); color: var(--warning); }
.admin-badge.approved, .admin-badge.available { background: var(--green-100); color: var(--green-900); }
.admin-badge.rejected, .admin-badge.taken { background: var(--danger-soft); color: var(--danger-dark); }
.admin-actions { min-width: 155px; display: grid; gap: 8px; }
.admin-actions .button { width: 100%; }
.admin-empty { text-align: center; padding: 50px; background: #fff; border: 1px dashed #b8c8c1; border-radius: 18px; color: var(--muted); }

@media (max-width: 980px) {
  .hero::before {
    background: linear-gradient(180deg, rgba(4,29,21,.66) 0%, rgba(4,29,21,.58) 48%, rgba(4,29,21,.68) 100%);
  }
  .hero-bg-image { object-position: center 46%; }
  .hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .hero-content { text-align: center; }
  .hero-lead { margin-inline: auto; }
  .hero-actions, .trust-row { justify-content: center; }
  .hero-visual { min-height: 440px; max-width: 620px; width: 100%; margin-inline: auto; }
  .hero-card-phone { left: 12px; }
  .hero-card-shelf { right: 0; top: 72px; }
  .hero-card-bike { left: 86px; bottom: 0; }
  .hero-note { right: 10px; bottom: -4px; font-size: .95rem; }
  .listing-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .filter-bar { grid-template-columns: 1fr 1fr; }
  .search-field { grid-column: 1 / -1; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-image { height: min(50vh, 470px); min-height: 300px; }
  .admin-item { grid-template-columns: 120px minmax(0,1fr); }
  .admin-item img { width: 120px; height: 100px; }
  .admin-actions { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 720px) {
  :root { --container: min(100% - 22px, 1180px); }
  .header-inner { min-height: 68px; }
  .brand-mark { width: 39px; height: 39px; border-radius: 12px; }
  .brand small { display: none; }
  .install-button { display: none !important; }
  .top-actions .button-primary { padding-inline: 13px; }
  .hero { padding: 48px 0 54px; }
  .hero h1 { font-size: clamp(2.4rem, 13vw, 4rem); }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .hero-visual { min-height: 560px; }
  .hero-card { width: min(100%, 290px); }
  .hero-card-phone { left: 8px; top: 0; }
  .hero-card-shelf { right: 6px; top: 84px; }
  .hero-card-bike { left: 24px; right: 24px; bottom: 70px; width: auto; }
  .hero-note { left: 28px; right: auto; bottom: 8px; max-width: 210px; font-size: .92rem; }
  .visual-status { top: 12px; left: 12px; padding: 7px 12px; }
  .hero-card-fav { top: 12px; right: 12px; width: 38px; height: 38px; }
  .steps-grid { grid-template-columns: 1fr; }
  .catalogue-heading { align-items: stretch; }
  .catalogue-heading > .button { display: none; }
  .filter-bar { grid-template-columns: 1fr; }
  .search-field { grid-column: auto; }
  .listing-grid { grid-template-columns: 1fr; }
  .safety-card { grid-template-columns: 1fr; text-align: center; }
  .safety-icon { margin-inline: auto; }
  .footer-grid { flex-direction: column; text-align: center; }
  .modal { width: 100%; max-height: calc(100vh - 8px); margin-bottom: 0; border-radius: 24px 24px 0 0; }
  .modal-shell { padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); }
  .form-progress { display: grid; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .photo-uploader { min-height: 190px; }
  .photo-previews { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .photo-gallery-footer { display: grid; gap: 3px; }
  .detail-gallery-main { min-height: 300px; }
  .detail-image { min-height: 300px; height: min(46vh, 430px); }
  .detail-gallery-nav { width: 40px; height: 40px; }
  .modal-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .detail-shell { padding: 0; }
  .detail-info { padding: 28px 18px 20px; }
  .detail-meta div { grid-template-columns: 1fr; gap: 1px; }
  .admin-toolbar { display: grid; }
  .admin-stats { grid-template-columns: repeat(2, 1fr); }
  .admin-item { grid-template-columns: 90px minmax(0,1fr); gap: 12px; }
  .admin-item img { width: 90px; height: 90px; }
  .admin-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* TAKALO V1.1 — Foundation + Messenger */
.top-actions { flex-wrap: wrap; }
.multichannel-actions { flex-wrap: wrap; }
.channel-stack { display: grid; gap: 9px; }
.messenger-contact { background: var(--takalo-blue); color: #fff; border-color: var(--takalo-blue); }
.messenger-contact:hover { background: var(--takalo-blue-dark); border-color: var(--takalo-blue-dark); }
.facebook-button { background: #0866ff; color: #fff; border-color: #0866ff; }
.facebook-button:hover { background: #0759dc; border-color: #0759dc; }
.messenger-publish-note { padding: 12px 14px; border: 1px solid #cfe5dc; border-radius: 12px; background: #f0faf6; color: #315448; font-size: .84rem; }

.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 5px; margin-bottom: 20px; border-radius: 13px; background: var(--canvas); }
.auth-tab { border: 0; border-radius: 10px; padding: 10px 12px; background: transparent; color: var(--muted); font-weight: 800; cursor: pointer; }
.auth-tab.active { background: #fff; color: var(--green-800); box-shadow: var(--shadow-sm); }
.auth-form { display: grid; gap: 14px; }
.auth-form > .button { width: 100%; margin-top: 4px; }
.account-panel { text-align: center; padding: 18px 0 8px; }
.account-avatar { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 14px; border-radius: 50%; background: var(--green-700); color: #fff; font-size: 1.8rem; font-weight: 900; }
.account-panel h3 { margin: 0 0 5px; font-size: 1.5rem; }

.messenger-modal { width: min(1080px, calc(100% - 24px)); height: min(760px, calc(100vh - 24px)); max-height: calc(100vh - 24px); }
.messenger-shell { height: 100%; min-height: 600px; display: grid; grid-template-columns: 330px 1fr; overflow: hidden; }
.messenger-sidebar { display: flex; flex-direction: column; min-width: 0; border-right: 1px solid var(--line); background: #f8fbf9; }
.messenger-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; padding: 22px 20px 16px; border-bottom: 1px solid var(--line); background: #fff; }
.messenger-head h2 { margin: 0; font-size: 1.55rem; }
.conversation-list { overflow-y: auto; padding: 8px; }
.conversation-item { width: 100%; display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 11px; align-items: center; padding: 10px; border: 0; border-radius: 14px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.conversation-item:hover, .conversation-item.active { background: #e7f4ee; }
.conversation-item img { width: 48px; height: 48px; border-radius: 13px; object-fit: cover; background: #e5ede9; }
.conversation-item span { min-width: 0; display: grid; gap: 1px; }
.conversation-item strong, .conversation-item small, .conversation-item em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.conversation-item small { color: var(--muted); }
.conversation-item em { color: #75827b; font-size: .76rem; font-style: normal; }
.messenger-empty { display: grid; gap: 6px; padding: 28px 18px; text-align: center; color: var(--muted); }

.messenger-chat { min-width: 0; display: grid; grid-template-rows: auto 1fr auto; background: #fff; }
.chat-header { min-height: 74px; display: grid; align-content: center; padding: 14px 22px; border-bottom: 1px solid var(--line); }
.chat-header strong { font-size: 1rem; }
.chat-header small { color: var(--muted); margin-top: 2px; }
.message-list { min-height: 0; overflow-y: auto; padding: 22px; background: linear-gradient(#fbfdfc, #f4f8f6); }
.messenger-placeholder { height: 100%; display: grid; place-items: center; align-content: center; gap: 8px; padding: 30px; color: var(--muted); text-align: center; font-size: 2rem; }
.messenger-placeholder strong { color: var(--ink); font-size: 1.1rem; }
.messenger-placeholder span { max-width: 480px; font-size: .88rem; }
.message-row { display: flex; justify-content: flex-start; margin: 7px 0; }
.message-row.mine { justify-content: flex-end; }
.message-row.system { justify-content: center; }
.message-bubble { max-width: min(72%, 580px); padding: 10px 12px 7px; border-radius: 16px 16px 16px 5px; background: #fff; border: 1px solid #dbe7e1; box-shadow: 0 2px 8px rgba(13,55,40,.05); }
.message-row.mine .message-bubble { background: var(--green-700); border-color: var(--green-700); color: #fff; border-radius: 16px 16px 5px 16px; }
.message-row.system .message-bubble { max-width: 90%; background: transparent; border: 0; box-shadow: none; color: var(--muted); text-align: center; font-size: .8rem; }
.message-bubble span { display: block; white-space: pre-wrap; overflow-wrap: anywhere; }
.message-bubble small { display: block; margin-top: 4px; color: #849189; font-size: .68rem; }
.message-row.mine .message-bubble small { color: rgba(255,255,255,.7); }
.message-composer { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 14px; border-top: 1px solid var(--line); background: #fff; }
.message-composer input { min-width: 0; border: 1px solid #cfdcd6; border-radius: 13px; padding: 12px 14px; }

@media (max-width: 760px) {
  .top-actions { gap: 6px; }
  .top-actions .button { padding-inline: 10px; font-size: .78rem; }
  .messenger-modal { width: 100%; height: 100%; max-height: 100%; border-radius: 0; }
  .messenger-shell { min-height: 100%; grid-template-columns: 1fr; grid-template-rows: minmax(180px, 38vh) 1fr; }
  .messenger-sidebar { border-right: 0; border-bottom: 1px solid var(--line); }
  .messenger-head { padding: 14px 16px 10px; }
  .message-list { padding: 14px; }
  .message-bubble { max-width: 84%; }
  .message-composer { padding: 10px; }
  .message-composer .button { padding-inline: 12px; }
}

/* TAKALO Proximité — V1.2 */
.proximity-bar { display: grid; grid-template-columns: auto 150px minmax(260px, 1fr); gap: 12px; align-items: stretch; margin: -10px 0 26px; padding: 12px; border: 1px solid #cfe4db; border-radius: 18px; background: linear-gradient(135deg, #f7fcfa, #edf8f3); box-shadow: var(--shadow-sm); }
.proximity-button { min-height: 52px; color: var(--green-900); background: #fff; border: 1px solid #bcdccd; }
.proximity-button.active { color: #fff; background: var(--green-700); border-color: var(--green-700); box-shadow: 0 8px 22px rgba(11,122,83,.18); }
.proximity-button.locating { cursor: progress; opacity: .82; }
.proximity-radius { display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: center; padding: 0 10px; border: 1px solid #d5e5de; border-radius: 12px; background: #fff; color: var(--muted); font-size: .78rem; font-weight: 750; }
.proximity-radius select { min-width: 76px; height: 42px; border: 0; background: transparent; color: var(--ink); font-weight: 800; }
.proximity-status { min-width: 0; display: grid; align-content: center; gap: 2px; padding: 7px 12px; }
.proximity-status strong { color: var(--green-900); font-size: .88rem; }
.proximity-status span { color: var(--muted); font-size: .77rem; line-height: 1.35; }
.distance-pill { position: absolute; right: 13px; top: 13px; z-index: 2; padding: 7px 10px; border-radius: 999px; color: #fff; background: rgba(18,44,34,.88); backdrop-filter: blur(8px); font-size: .73rem; font-weight: 850; box-shadow: 0 5px 16px rgba(0,0,0,.14); }
.status-pill + .distance-pill { top: 52px; }
.proximity-available-note { display: inline-flex; align-items: center; gap: 5px; margin: -5px 0 12px; color: var(--green-700); font-size: .76rem; font-weight: 750; }
.detail-distance { display: inline-flex; align-items: center; gap: 7px; width: fit-content; padding: 8px 11px; border-radius: 999px; background: var(--green-100); color: var(--green-900); font-size: .82rem; font-weight: 850; }
.listing-location-capture { display: grid; grid-template-columns: auto minmax(220px, 1fr); gap: 12px; align-items: center; padding: 13px; border: 1px solid #cfe4db; border-radius: 14px; background: var(--green-50); }
.listing-location-capture .button { justify-self: start; }
.listing-location-status { display: grid; gap: 2px; min-width: 0; }
.listing-location-status strong { color: var(--green-900); font-size: .83rem; }
.listing-location-status span { color: var(--muted); font-size: .75rem; line-height: 1.35; }
.listing-location-status.success strong { color: var(--green-700); }
.admin-badge.proximity { background: #e8f2ff; color: #255c91; }

@media (max-width: 820px) {
  .proximity-bar { grid-template-columns: 1fr 130px; }
  .proximity-status { grid-column: 1 / -1; padding-top: 2px; }
  .listing-location-capture { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .proximity-bar { grid-template-columns: 1fr; }
  .proximity-status { grid-column: auto; padding-inline: 4px; }
  .proximity-radius { min-height: 48px; }
  .proximity-button { width: 100%; }
}

/* TAKALO V1.3 — Paiement Mobile Money avant validation */
.payment-box { display: grid; gap: 14px; padding: 18px; border: 1px solid #d8dfda; border-radius: 18px; background: linear-gradient(135deg, #fffdf6, #f7fbf8); }
.payment-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.payment-heading h3 { margin: 2px 0 0; font-size: 1.08rem; }
.payment-amount { white-space: nowrap; padding: 9px 12px; border-radius: 999px; background: #163a70; color: #fff; font-size: .9rem; }
.payment-help { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.payment-config-warning { padding: 11px 13px; border: 1px solid #e3b449; border-radius: 12px; background: #fff6dc; color: #77530a; font-weight: 750; font-size: .82rem; }
.payment-methods { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.payment-method { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; padding: 13px; border: 1px solid #d7e2dc; border-radius: 14px; background: #fff; cursor: pointer; }
.payment-method:has(input:checked) { border-color: var(--green-700); box-shadow: inset 0 0 0 1px var(--green-700); background: #f0faf6; }
.payment-method input { width: 18px; height: 18px; accent-color: var(--green-700); }
.payment-method span { display: grid; gap: 2px; }
.payment-method strong { color: var(--ink); }
.payment-method small { color: var(--muted); font-weight: 750; letter-spacing: .02em; }
.payment-fields { margin-top: 2px; }
.payment-confirm { margin-top: -2px; }
.admin-payment { display: grid; gap: 4px; margin: 10px 0; padding: 10px 12px; border-radius: 12px; background: #f6f8f7; border: 1px solid #dfe6e2; font-size: .79rem; }
.admin-payment > strong { color: var(--ink); }
.admin-payment > span { color: var(--muted); }
.admin-payment code { font-size: .78rem; font-weight: 800; color: var(--ink); }
.admin-payment.verified { background: #edf9f2; border-color: #bfe2cd; }
.admin-payment.pending { background: #fff8e7; border-color: #ead39a; }
.admin-payment.rejected { background: #fff1f1; border-color: #edc2c2; }
.admin-badge.payment-verified { background: #e8f7ee; color: #1d7145; }
.admin-badge.payment-pending { background: #fff2ce; color: #7c5700; }
.admin-badge.payment-rejected { background: #ffe4e4; color: #9d2929; }
.admin-badge.payment-unsubmitted { background: #ecefee; color: #53615b; }
.admin-badge.payment-legacy_exempt, .admin-badge.payment-not_required { background: #e8f2ff; color: #255c91; }

@media (max-width: 720px) {
  .payment-heading { display: grid; }
  .payment-amount { width: fit-content; }
  .payment-methods { grid-template-columns: 1fr; }
}


/* V1.4.0 — statut propriétaire Disponible / Vendu */
.owner-status-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 4px; }
.owner-status-button { min-height: 54px; font-size: .98rem; color: #fff; border: 2px solid transparent; }
.owner-status-available { background: var(--green-700); }
.owner-status-available:hover { background: var(--green-800); }
.owner-status-sold { background: var(--danger); }
.owner-status-sold:hover { background: var(--danger-dark); }
.owner-status-button.current-status { box-shadow: 0 0 0 4px rgba(20,35,29,.12); border-color: #fff; }
.sold-removal-note, .sold-auto-remove { margin: 10px 0 0; padding: 9px 11px; border-radius: 11px; background: var(--danger-soft); color: var(--danger-dark); font-size: .82rem; font-weight: 700; }
.detail-sold-remove { margin: 8px 0 4px; }
.status-close-actions { justify-content: flex-end; }
@media (max-width: 560px) { .owner-status-actions { grid-template-columns: 1fr; } }

/* TAKALO V1.5 - Archive automatique et messages épinglés */
.admin-pins-card{margin:1.25rem 0 1.5rem;padding:1.15rem;border:1px solid var(--line,#dce7e2);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.04)}
.admin-pins-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.admin-pins-heading h2{margin:.15rem 0}.admin-pins-heading>strong{white-space:nowrap;background:#e9f8f2;color:#075c40;border-radius:999px;padding:.45rem .7rem}
.admin-pin-form{display:grid;grid-template-columns:1fr auto;gap:.8rem;align-items:end}.admin-pin-form textarea{resize:vertical;min-height:78px}.admin-pin-list{display:grid;gap:.65rem;margin-top:1rem}.admin-pin-item{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border:1px solid #e5ece8;border-radius:14px;padding:.8rem .9rem;background:#fbfdfc}.admin-pin-item p{margin:0;white-space:pre-wrap}.admin-pin-item small{display:block;color:#66756e;margin-top:.25rem}
.admin-badge.archived{background:#eef1f4;color:#53606a}.admin-item.is-archived{opacity:.86;border-style:dashed}.archive-note{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;padding:.35rem .55rem;border-radius:9px;background:#f2f4f6;color:#4e5962;font-size:.84rem;font-weight:700}
.pinned-messages-section{padding:.75rem 0 0;background:#f7fbf9}.pinned-messages-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.55rem;color:#064a34}.pinned-messages-list{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.65rem;scroll-snap-type:x proximity}.pinned-message-card{flex:0 0 min(420px,88vw);scroll-snap-align:start;background:#fff;border:1px solid #cfe4da;border-left:5px solid #0b7a53;border-radius:13px;padding:.72rem .85rem;box-shadow:0 5px 18px rgba(6,74,52,.06)}.pinned-message-card p{margin:0;line-height:1.45}.pinned-message-card small{display:block;color:#6c7772;margin-top:.35rem}
@media(max-width:720px){.admin-pin-form{grid-template-columns:1fr}.admin-pins-heading{align-items:center}.admin-pin-item{flex-direction:column}.admin-pin-item .button{width:100%}}
.archive-auto-note{margin:.5rem 0 0;color:#58645f;font-size:.82rem;font-weight:700}.detail-info .archive-auto-note{padding:.5rem .65rem;border-radius:10px;background:#f4f6f5}

/* TAKALO V1.6 — TAKALO Match */
.match-button{background:linear-gradient(135deg,#087a51,#10a36d);color:#fff;border-color:transparent;box-shadow:0 7px 18px rgba(8,122,81,.18)}
.match-button:hover{filter:brightness(.96)}
.match-modal{width:min(980px,96vw);max-height:94vh}.match-shell{width:100%;max-width:980px}.match-content{padding:0 1.2rem 1.3rem;max-height:76vh;overflow:auto}
.match-intro{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:.2rem 0 1rem;padding:.85rem 1rem;border-radius:14px;background:linear-gradient(135deg,#edf9f3,#f7fcfa);border:1px solid #cde6db}.match-intro strong{color:#075c40}.match-intro span{color:var(--muted);font-size:.82rem}
.match-grid{display:grid;gap:1rem}.match-card{display:grid;grid-template-columns:170px 1fr;gap:1rem;border:1px solid #dce8e2;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(8,50,35,.06)}.match-card>img{width:100%;height:100%;min-height:210px;object-fit:cover}.match-card-body{padding:1rem 1rem 1rem 0}.match-card-body h3{margin:.35rem 0 .45rem}.match-card-body>p{margin:.25rem 0;color:var(--muted);line-height:1.45}.match-score-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.match-score{display:inline-flex;align-items:baseline;gap:2px;padding:.38rem .58rem;border-radius:999px;font-size:.72rem;font-weight:800}.match-score strong{font-size:1rem}.match-level{font-size:.78rem;font-weight:850}.match-score.excellent,.match-level.excellent{background:#dff7e9;color:#087044}.match-score.very-good,.match-level.very-good{background:#e6f4ff;color:#22618b}.match-score.good,.match-level.good{background:#fff3d8;color:#815b00}.match-score.possible,.match-level.possible{background:#f1f2f3;color:#56615c}.match-level{background:transparent!important}
.match-badges{display:flex;gap:.45rem;flex-wrap:wrap;margin:.7rem 0}.match-reciprocal,.match-oneway,.match-distance{display:inline-flex;align-items:center;gap:.35rem;padding:.34rem .5rem;border-radius:999px;font-size:.73rem;font-weight:800}.match-reciprocal{background:#e7f7ef;color:#0b6e49}.match-oneway{background:#eef3f1;color:#53645d}.match-distance{background:#edf3ff;color:#315f95}.match-reasons{margin:.55rem 0 .8rem;padding-left:1.15rem;color:#53615b;font-size:.8rem;line-height:1.45}.match-actions{display:flex;gap:.5rem;flex-wrap:wrap}.match-empty{text-align:center;padding:2.5rem 1.2rem;color:var(--muted)}.match-empty:first-letter{font-size:1.7rem}.match-empty h3{color:var(--ink);margin:.5rem 0}.match-empty p{max-width:640px;margin:.35rem auto}.match-empty small{display:block;margin-top:.6rem}
@media(max-width:700px){.match-card{grid-template-columns:1fr}.match-card>img{height:210px;min-height:0}.match-card-body{padding:0 1rem 1rem}.match-intro{display:grid}.match-content{padding-inline:.8rem}.match-actions .button,.match-actions a.button{flex:1 1 auto}}

/* V1.7 - localisation automatique publication */
.location-helper{display:block;margin-top:6px;color:var(--muted);font-size:.74rem;line-height:1.35}
.location-attribution{grid-column:1/-1;color:var(--muted);font-size:.68rem;line-height:1.35}
.location-attribution a{color:var(--green-700);font-weight:700;text-decoration:none}
.location-attribution a:hover{text-decoration:underline}

/* TAKALO V1.8.1 — Mobile First Premium + Data Saver */
.hero-bg-picture{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%}.hero-bg-picture .hero-bg-image{position:static;width:100%;height:100%}
.data-saver-button.active{color:#075f43;background:#e8f7f1;border-color:#bfe8d8}.data-saver-button.active::after{content:"Éco";font-size:.68rem;padding:.14rem .35rem;border-radius:999px;background:#0b7a53;color:#fff;margin-left:2px}
.mobile-bottom-nav{display:none}

/* Rendu plus fluide sans télécharger/rendre ce qui n'est pas visible */
.how-section,.catalogue-section,.safety-section{content-visibility:auto;contain-intrinsic-size:700px}
.listing-card,.step-card,.pinned-message-card{contain:layout paint}
.listing-image,.match-card>img,.conversation-item img{background:#edf3f0}

@media(max-width:720px){
  :root{--container:min(100% - 26px,1180px)}
  body{padding-bottom:76px;background:#f5f8f6}
  .site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(18px)}
  .header-inner{min-height:64px}
  .brand-mark{width:40px;height:40px;border-radius:13px}.brand strong{font-size:1rem}.brand small{display:block;font-size:.62rem}
  .top-actions{gap:7px}.top-actions .install-button,.top-actions #messenger-button,.top-actions #account-button,.top-actions .button-primary{display:none!important}
  .data-saver-button{display:inline-flex!important;width:44px;height:44px;min-height:44px;padding:0;border-radius:14px}.data-saver-label{display:none}.data-saver-button.active::after{display:none}

  .hero{padding:42px 0 36px;min-height:auto}
  .hero::before{background:linear-gradient(180deg,rgba(4,29,21,.82) 0%,rgba(4,29,21,.72) 48%,rgba(4,29,21,.84) 100%)}
  .hero-bg-image{object-position:center 44%}
  .hero-grid{grid-template-columns:1fr;gap:26px}
  .hero-content{text-align:left}
  .hero .eyebrow{font-size:.68rem;letter-spacing:.17em;margin-bottom:12px}
  .hero h1{font-size:clamp(2.6rem,13vw,4.2rem);line-height:.94;max-width:10ch}
  .hero-lead{font-size:1rem;line-height:1.55;margin-top:19px;max-width:38rem}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.hero-actions .button{width:100%;min-height:50px;padding:12px 13px;font-size:.9rem}
  .trust-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.trust-row span{padding:8px 10px;font-size:.72rem;border-radius:14px;background:rgba(255,255,255,.09)}.trust-row span::before{width:20px;height:20px;flex-basis:20px;font-size:.72rem}

  /* Les 3 cartes deviennent un vrai carrousel tactile horizontal */
  .hero-visual{min-height:0;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;margin-inline:-13px;padding:8px 13px 17px;scrollbar-width:none}
  .hero-visual::-webkit-scrollbar{display:none}
  .hero-card{position:relative;inset:auto!important;transform:none!important;flex:0 0 min(78vw,315px);width:auto;scroll-snap-align:center;border-radius:22px;box-shadow:0 16px 35px rgba(0,0,0,.22)}
  .hero-card-media{aspect-ratio:16/10}.hero-card-copy{padding:12px 14px 14px}.hero-card-copy strong{font-size:1.08rem}.hero-card-copy span{font-size:.82rem}.hero-card-copy small{font-size:.72rem;margin-top:5px}
  .visual-status{top:11px;left:11px;padding:6px 10px;font-size:.7rem}.hero-card-fav{top:10px;right:10px;width:36px;height:36px;font-size:1.25rem}
  .hero-note{display:none}

  .how-section{padding:45px 0}.compact-heading{text-align:left}.section-heading h2{font-size:1.85rem}.steps-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:-13px;padding:3px 13px 14px;scrollbar-width:none}.steps-grid::-webkit-scrollbar{display:none}.step-card{flex:0 0 min(82vw,330px);scroll-snap-align:start;padding:21px;border-radius:20px}
  .catalogue-section{padding:48px 0 54px}.catalogue-heading h2{font-size:2rem}.filter-bar{position:sticky;top:72px;z-index:12;padding:9px;border-radius:16px;box-shadow:0 10px 28px rgba(8,52,37,.08)}
  .proximity-bar{border-radius:18px;padding:12px}.listing-grid{gap:14px}.listing-card{border-radius:18px;box-shadow:0 7px 20px rgba(8,52,37,.06)}.listing-body{padding:15px}.listing-body h3{font-size:1.08rem}.listing-description{font-size:.9rem}.listing-actions{gap:7px}.multichannel-actions .button{min-height:40px;padding:8px 10px;font-size:.78rem}
  .pinned-messages-section{padding-top:.45rem}.pinned-message-card{flex-basis:90vw}
  .safety-section{padding-bottom:42px}.safety-card{padding:24px 19px;border-radius:22px;text-align:left}.safety-icon{margin:0;width:56px;height:56px;border-radius:18px}

  .mobile-bottom-nav{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:48;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:7px;border:1px solid rgba(216,227,222,.92);border-radius:22px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(4,46,31,.18);backdrop-filter:blur(18px)}
  .mobile-nav-item{appearance:none;border:0;background:transparent;color:#63716b;text-decoration:none;min-width:0;min-height:48px;padding:5px 2px;display:grid;place-items:center;align-content:center;gap:2px;border-radius:14px;font-weight:750}.mobile-nav-item span{font-size:1.35rem;line-height:1}.mobile-nav-item small{font-size:.62rem;white-space:nowrap}.mobile-nav-item:active{background:#edf8f3;color:#075f43}
  .mobile-nav-publish{width:58px;height:58px;min-height:58px;justify-self:center;margin-top:-22px;border-radius:19px;color:#fff;background:linear-gradient(145deg,#0b8a5d,#075f43);box-shadow:0 10px 24px rgba(11,122,83,.30)}.mobile-nav-publish span{font-size:1.7rem}.mobile-nav-publish small{color:#fff}

  .modal{max-height:calc(100vh - 72px)}
}

@media(max-width:430px){
  .brand small{display:none}.hero-actions{grid-template-columns:1fr}.trust-row{grid-template-columns:1fr 1fr}.hero-card{flex-basis:84vw}.filter-bar{top:67px}.mobile-nav-item small{font-size:.58rem}
}

/* Mode économie : moins d'images et moins d'effets, sans perdre les fonctions */
html.data-saver .hero-card-shelf,html.data-saver .hero-card-bike{display:none}
html.data-saver .hero-visual{scroll-snap-type:none}
html.data-saver .hero-card-phone{flex-basis:min(78vw,300px)}
html.data-saver .listing-card:hover{transform:none;box-shadow:var(--shadow-sm)}
html.data-saver .listing-card:hover .listing-image{transform:none}
html.data-saver *,html.data-saver *::before,html.data-saver *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}


/* TAKALO V1.8.1 — Mise en avant admin + bandeau d'information */
.pinned-messages-section{
  padding:0;
  overflow:hidden;
  color:#fff;
  background:linear-gradient(90deg,#064a34,#087a53 48%,#064a34);
  border-bottom:1px solid rgba(255,255,255,.12)
}
.pinned-messages-section>.container{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;min-height:42px}
.pinned-messages-head{display:flex;align-items:center;gap:8px;margin:0;color:#fff;white-space:nowrap;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.pinned-messages-head #pinned-messages-count{display:none}
.pinned-messages-viewport{min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.pinned-messages-list{display:flex;width:max-content;will-change:transform;animation:takaloTicker var(--ticker-duration,34s) linear infinite}
.pinned-ticker-group{display:flex;align-items:center;gap:28px;flex:0 0 auto;padding-right:28px}
.pinned-message-ticker{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#f5fffb;font-size:.86rem;font-weight:700}
.pinned-message-ticker>span:first-child{opacity:.9}
.pinned-messages-section:hover .pinned-messages-list,.pinned-messages-section:focus-within .pinned-messages-list{animation-play-state:paused}
@keyframes takaloTicker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.pinned-listing-pill{position:absolute;top:13px;right:13px;z-index:3;padding:7px 10px;border-radius:999px;color:#704c00;background:rgba(255,231,158,.96);box-shadow:0 5px 16px rgba(0,0,0,.12);font-size:.72rem;font-weight:900;backdrop-filter:blur(8px)}
.hero-card.is-live-listing{cursor:pointer}
.hero-card.is-live-listing:hover{transform:translateY(-3px) rotate(0deg);box-shadow:0 30px 68px rgba(5,45,31,.28)}
.admin-item.is-pinned{border-color:#d7b85d;box-shadow:0 10px 28px rgba(177,132,22,.10)}
.admin-badge.promotion{background:#fff1be;color:#765400}.admin-badge.hero{background:#e9e4ff;color:#593aa0}
.admin-promo-actions{display:grid;gap:7px;padding-top:4px;border-top:1px dashed #dce5e1}
.admin-hero-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.admin-hero-buttons .button:last-child:nth-child(4){grid-column:1/-1}
.active-promo{background:#eae5ff!important;border-color:#cfc2ff!important;color:#55369e!important}
.admin-promotion-help{margin:0 0 1.2rem;padding:1rem 1.1rem;border:1px solid #dce8e3;border-radius:16px;background:linear-gradient(135deg,#f6fbf9,#fff)}
.admin-promotion-help p{margin:.3rem 0 0;color:var(--muted);font-size:.86rem}

@media(max-width:720px){
  .pinned-messages-section>.container{width:100%;grid-template-columns:auto minmax(0,1fr);padding-inline:10px;gap:9px;min-height:38px}
  .pinned-messages-head{font-size:.66rem}.pinned-message-ticker{font-size:.78rem}.pinned-ticker-group{gap:22px;padding-right:22px}
  .pinned-listing-pill{top:11px;right:11px;padding:6px 9px;font-size:.66rem}
  .admin-hero-buttons{grid-template-columns:repeat(3,1fr)}
}
@media(prefers-reduced-motion:reduce){
  .pinned-messages-viewport{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
  .pinned-messages-list{animation:none}
  .pinned-ticker-group:nth-child(2){display:none}
}
html.data-saver .pinned-messages-list{animation-duration:var(--ticker-duration,34s)!important;animation-iteration-count:infinite!important}

@media(prefers-reduced-motion:reduce){html.data-saver .pinned-messages-list{animation:none!important}}

/* TAKALO V1.9.1 — Header ticker fusionné + TAKALO Business / B2B Pro */
.site-header .header-ticker{position:relative;width:100%;border-top:1px solid rgba(6,74,52,.08);border-bottom:0;background:linear-gradient(90deg,#064a34,#0a865b 48%,#064a34)}
.header-ticker-inner{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center;gap:12px;min-height:34px!important}
.header-ticker-label{display:inline-flex;align-items:center;white-space:nowrap;color:#dffff2;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase}
.header-ticker .pinned-messages-viewport{height:34px;display:flex;align-items:center}
.header-ticker .pinned-message-ticker{font-size:.78rem;font-weight:750}
.header-ticker .pinned-ticker-group{gap:32px;padding-right:32px}
body.has-header-ticker .site-header{box-shadow:0 6px 20px rgba(7,54,39,.08)}

.b2b-section{padding:84px 0;background:linear-gradient(180deg,#f4faf7 0%,#fff 46%,#f7faf8 100%);border-block:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:1100px}
.b2b-hero-card{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(340px,.78fr);gap:34px;align-items:center;padding:36px;border-radius:30px;color:#fff;background:radial-gradient(circle at 85% 18%,rgba(116,240,190,.22),transparent 34%),linear-gradient(135deg,#053e2d,#087552 64%,#0b8d60);box-shadow:0 26px 70px rgba(5,64,45,.17);overflow:hidden}
.b2b-hero-card .eyebrow{color:#8ff2c8}.b2b-hero-card h2{margin:0;font-size:clamp(2rem,4.2vw,3.7rem);line-height:1;letter-spacing:-.05em;max-width:720px}.b2b-hero-card p{max-width:760px;color:#d9eee6;font-size:1.02rem}
.b2b-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.b2b-hero-card .button-secondary,.b2b-hero-card .button-ghost{background:rgba(255,255,255,.93);color:#064a34;border-color:rgba(255,255,255,.72)}
.b2b-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:10px}.b2b-capabilities span{min-height:64px;display:flex;align-items:center;padding:13px 14px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.10);backdrop-filter:blur(10px);font-size:.86rem;font-weight:750}
.b2b-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 24px}.b2b-stats article{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.b2b-stats strong{display:block;color:var(--green-800);font-size:1.8rem}.b2b-stats span{color:var(--muted);font-size:.8rem;font-weight:700}
.b2b-toolbar{display:grid;gap:14px;margin:24px 0 20px}.b2b-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.b2b-tab{border:1px solid var(--line);border-radius:999px;padding:10px 16px;background:#fff;color:var(--ink);font-weight:800;white-space:nowrap}.b2b-tab.active{color:#fff;background:var(--green-700);border-color:var(--green-700);box-shadow:0 8px 20px rgba(11,122,83,.18)}
.b2b-filters{display:grid;grid-template-columns:minmax(220px,1.45fr) minmax(170px,.8fr) minmax(120px,.55fr) minmax(150px,.7fr) auto;gap:10px;padding:11px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.b2b-filters input,.b2b-filters select{min-width:0;height:46px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#fff}.b2b-verified-filter{display:flex;align-items:center;gap:7px;padding:0 10px;white-space:nowrap;font-size:.82rem;font-weight:750}.b2b-verified-filter input{width:17px;height:17px;accent-color:var(--green-700)}
.b2b-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.b2b-loading,.b2b-empty{grid-column:1/-1;padding:38px;text-align:center;border:1px dashed #c9d8d1;border-radius:18px;color:var(--muted);background:rgba(255,255,255,.7)}.b2b-empty{display:grid;gap:5px}.b2b-empty strong{color:var(--ink);font-size:1.15rem}
.b2b-card{min-width:0;display:flex;flex-direction:column;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease}.b2b-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(8,52,37,.11)}.b2b-card h3{margin:0;font-size:1.2rem;line-height:1.2}.b2b-card p{color:var(--muted)}
.b2b-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.b2b-card-head p{margin:4px 0 0;font-size:.8rem}.b2b-company-mark{width:50px;height:50px;display:grid;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(145deg,#0b8c60,#064a34);font-size:1.2rem;font-weight:900}.b2b-verified-badge{display:inline-flex;align-items:center;width:max-content;padding:6px 9px;border-radius:999px;color:#075f43;background:#dff6eb;font-size:.7rem;font-weight:900;white-space:nowrap}.b2b-card-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:64px}.b2b-tags{display:flex;flex-wrap:wrap;gap:6px;margin:3px 0 14px}.b2b-tags span{padding:5px 8px;border-radius:999px;color:#496057;background:#f0f6f3;font-size:.7rem;font-weight:700}.b2b-metrics{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:auto;padding-top:12px;border-top:1px solid #edf2ef;color:#6a7771;font-size:.74rem}.b2b-metrics strong{color:#173c2e}.b2b-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.b2b-card-actions .button{flex:1 1 auto}
.offer-card{padding:0;overflow:hidden}.b2b-offer-image{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#e6f5ef,#f4faf7);font-size:2.2rem}.b2b-offer-image img{width:100%;height:100%;object-fit:cover}.b2b-offer-body{display:flex;flex-direction:column;flex:1;padding:18px}.b2b-card-kicker{margin-bottom:7px;color:var(--green-700);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.b2b-offer-body>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.b2b-offer-meta{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.b2b-offer-meta span{padding:7px 9px;border-radius:10px;background:#f5f8f6;color:#5a6862;font-size:.72rem}.b2b-offer-meta strong{color:#203b30}.b2b-price-tiers{padding:9px;border-radius:11px;background:#eef8f3;color:#416256!important;font-size:.75rem}.b2b-company-inline{margin-top:auto;padding-top:10px;color:#607069;font-size:.78rem}
.rfq-card{border-top:4px solid #0b7a53}.b2b-rfq-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;color:#728078;font-size:.72rem}.b2b-rfq-badge{padding:6px 9px;border-radius:999px;color:#075f43;background:#e3f7ed;font-weight:900}.rfq-card>p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.b2b-photo-uploader{min-height:180px}.b2b-modal{width:min(900px,calc(100% - 24px))}.b2b-dashboard-modal{width:min(1120px,calc(100% - 20px));max-height:94vh}.b2b-dashboard-shell{padding:26px}.b2b-dashboard-content{max-height:78vh;overflow:auto;padding-right:4px}.b2b-dashboard-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:18px;background:#f8fbf9}.b2b-dashboard-head h3{margin:7px 0 2px;font-size:1.6rem}.b2b-dashboard-head p{margin:0;color:var(--muted)}.b2b-dashboard-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.b2b-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.68rem;font-weight:900;margin-right:6px}.b2b-status.pending{background:#fff4d9;color:#815b00}.b2b-status.approved{background:#e0f6eb;color:#076343}.b2b-status.rejected{background:#fff0f0;color:#9f2828}
.b2b-dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.b2b-dashboard-stats article{padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff}.b2b-dashboard-stats strong{display:block;color:var(--green-800);font-size:1.5rem}.b2b-dashboard-stats span{font-size:.74rem;color:var(--muted)}.b2b-dashboard-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.b2b-dashboard-section h4{margin:0 0 10px;font-size:1rem}.b2b-lead-list{display:grid;gap:9px}.b2b-lead-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.8fr);gap:12px;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff}.b2b-lead-row strong{display:block}.b2b-lead-row span{color:var(--muted);font-size:.74rem}.b2b-lead-row p{margin:7px 0 0;color:#57655f;font-size:.82rem}.b2b-lead-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px}.b2b-lead-controls select,.b2b-lead-controls input{min-width:0;height:38px;border:1px solid var(--line);border-radius:9px;padding:0 9px}.b2b-lead-controls [data-lead-note]{grid-column:1/-1}.b2b-lead-controls .button{grid-column:1/-1}.b2b-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.b2b-mini-grid article{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.b2b-mini-grid span{color:var(--muted);font-size:.74rem}.b2b-publication-list{display:grid;gap:5px}.b2b-publication-list span{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:#f7faf8;font-size:.8rem}.b2b-dashboard-empty{text-align:center;padding:42px}

@media(max-width:980px){.b2b-hero-card{grid-template-columns:1fr}.b2b-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.b2b-filters{grid-template-columns:1fr 1fr}.b2b-filters #b2b-search{grid-column:1/-1}.b2b-lead-row{grid-template-columns:1fr}.b2b-mini-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
  .header-ticker-inner{width:100%;padding-inline:10px;min-height:30px!important;gap:8px}.header-ticker .pinned-messages-viewport{height:30px}.header-ticker-label{font-size:.58rem}.header-ticker .pinned-message-ticker{font-size:.7rem}
  body.has-header-ticker .filter-bar{top:99px}
  .top-actions .b2b-header-button{display:none!important}
  .b2b-section{padding:50px 0}.b2b-hero-card{padding:23px 18px;border-radius:24px;gap:24px}.b2b-hero-card h2{font-size:2.25rem}.b2b-hero-card p{font-size:.92rem}.b2b-actions{display:grid;grid-template-columns:1fr 1fr}.b2b-actions .button{padding:10px;font-size:.78rem}.b2b-capabilities{grid-template-columns:1fr 1fr;gap:7px}.b2b-capabilities span{min-height:54px;padding:9px;font-size:.72rem}
  .b2b-stats{grid-template-columns:1fr 1fr}.b2b-stats article{padding:13px}.b2b-stats strong{font-size:1.35rem}.b2b-filters{grid-template-columns:1fr;padding:9px}.b2b-filters #b2b-search{grid-column:auto}.b2b-verified-filter{min-height:42px}.b2b-grid{grid-template-columns:1fr}.b2b-card{border-radius:19px;padding:16px}.offer-card{padding:0}.b2b-offer-body{padding:15px}.b2b-card:hover{transform:none;box-shadow:var(--shadow-sm)}
  .b2b-dashboard-modal{width:100%;max-height:calc(100vh - 6px);border-radius:22px 22px 0 0}.b2b-dashboard-shell{padding:18px 14px calc(18px + env(safe-area-inset-bottom))}.b2b-dashboard-head{display:grid}.b2b-dashboard-actions{justify-content:flex-start}.b2b-dashboard-stats{grid-template-columns:1fr 1fr}.b2b-lead-controls{grid-template-columns:1fr}.b2b-lead-controls [data-lead-note],.b2b-lead-controls .button{grid-column:auto}.b2b-mini-grid{grid-template-columns:1fr}
}
html.data-saver .b2b-card{box-shadow:none}html.data-saver .b2b-offer-image img{content-visibility:auto}
.admin-b2b-card{margin:0 0 1.35rem;padding:1.15rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.04)}
.admin-b2b-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.admin-b2b-list{display:grid;gap:10px}.admin-b2b-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fbfdfc}.admin-b2b-item h3{margin:5px 0}.admin-b2b-item p{margin:4px 0;color:var(--muted);font-size:.83rem}.admin-b2b-actions{min-width:160px;display:grid;gap:7px}.admin-badge.b2b-verified{background:#ddf6e9;color:#076343}
@media(max-width:760px){.admin-b2b-item{grid-template-columns:1fr}.admin-b2b-actions{grid-template-columns:1fr 1fr}.admin-stats{grid-template-columns:repeat(2,1fr)}}

/* V1.9.1 — B2C par défaut / B2B sur accès dédié */
.b2b-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;padding:12px 14px;border:1px solid #cfe2d8;border-radius:16px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-sm)}
.b2b-mode-bar span{color:var(--green-900);font-weight:800;font-size:.88rem}
body.b2b-mode .site-header{box-shadow:0 8px 28px rgba(4,46,31,.10)}
body.b2b-mode .b2b-section{min-height:calc(100vh - 110px);border-top:0}
body.b2b-mode .b2b-header-button{color:#fff;background:var(--green-800);border-color:var(--green-800)}
@media(max-width:720px){.b2b-mode-bar{position:sticky;top:calc(68px + var(--ticker-offset,0px));z-index:18;margin:0 -4px 16px;padding:9px 10px;border-radius:14px}.b2b-mode-bar span{display:none}.b2b-mode-bar .button{width:100%}}


/* TAKALO V1.9.3 — Messages successifs centrés + Hero mobile autoplay + étapes compactes */
.site-header .header-ticker{
  overflow:hidden;
  min-height:38px;
  background:linear-gradient(90deg,#064a34 0%,#0a875c 48%,#064a34 100%);
}
.header-ticker-inner{
  position:relative;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:var(--container);
  min-height:38px!important;
  padding-inline:104px;
}
.header-ticker-label{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  color:#dffff2;
  opacity:.88;
}
.header-ticker .pinned-messages-viewport{
  width:100%;
  min-width:0;
  height:auto;
  min-height:38px;
  overflow:hidden!important;
  display:flex;
  align-items:center;
  justify-content:center;
  mask-image:none!important;
  -webkit-mask-image:none!important;
  scrollbar-width:none;
}
.header-ticker .pinned-messages-viewport::-webkit-scrollbar{display:none!important;width:0;height:0}
.header-ticker .pinned-messages-list{
  width:100%!important;
  max-width:920px;
  min-width:0;
  display:flex!important;
  align-items:center;
  justify-content:center;
  animation:none!important;
  transform:none!important;
  will-change:auto!important;
  overflow:hidden!important;
}
.header-ticker .pinned-message-ticker{
  width:100%;
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  text-align:center;
  color:#f5fffb;
  font-size:clamp(.74rem,1.35vw,.88rem);
  font-weight:760;
  line-height:1.25;
  opacity:1;
  transform:translateY(0);
  transition:opacity .24s ease,transform .24s ease;
}
.header-ticker .pinned-message-ticker.is-out{opacity:0;transform:translateY(-8px)}
.header-ticker .pinned-message-ticker.is-in{animation:takaloPinnedIn .34s ease both}
.pinned-message-icon{flex:0 0 auto}
.pinned-message-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance}
@keyframes takaloPinnedIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.pinned-ticker-group{display:none!important}

/* Bloc Comment ça marche : 4 cartes fines sur une ligne en bureau */
.how-section{padding:40px 0 42px}
.how-section .compact-heading{margin-bottom:16px}
.how-section .compact-heading .eyebrow{margin-bottom:5px}
.how-section .compact-heading h2{font-size:clamp(1.55rem,2.2vw,2.15rem)}
.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.step-card{min-width:0;padding:15px 16px;border-radius:16px;box-shadow:0 6px 18px rgba(10,61,43,.055)}
.step-card>span{width:34px;height:34px;border-radius:11px;font-size:.86rem}
.step-card h3{margin:10px 0 4px;font-size:1rem}
.step-card p{font-size:.82rem;line-height:1.42}

@media(min-width:721px) and (max-width:980px){
  .steps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}

@media(max-width:720px){
  .site-header .header-ticker{min-height:34px}
  .header-ticker-inner{width:100%;min-height:34px!important;padding:0 12px!important}
  .header-ticker-label{display:none}
  .header-ticker .pinned-messages-viewport{min-height:34px;height:auto!important}
  .header-ticker .pinned-message-ticker{min-height:30px;font-size:.72rem;gap:6px;padding:3px 0}
  .pinned-message-text{-webkit-line-clamp:2}

  /* Le Hero reste tactile mais avance seul carte par carte. */
  .hero-visual{scroll-behavior:smooth;scrollbar-width:none!important}
  .hero-visual::-webkit-scrollbar{display:none!important;width:0;height:0}

  .how-section{padding:30px 0 34px}
  .how-section .compact-heading{margin-bottom:12px}
  .how-section .compact-heading h2{font-size:1.55rem}
  .steps-grid{gap:10px;padding-bottom:8px}
  .step-card{flex-basis:min(72vw,270px);padding:14px 15px;border-radius:16px}
  .step-card>span{width:31px;height:31px;border-radius:10px;font-size:.8rem}
  .step-card h3{margin:8px 0 3px;font-size:.95rem}
  .step-card p{font-size:.78rem;line-height:1.38}
}

@media(prefers-reduced-motion:reduce){
  .header-ticker .pinned-message-ticker{transition:none!important;animation:none!important}
}

.b2b-offer-image{position:relative}.b2b-image-count{position:absolute;right:9px;bottom:9px;padding:5px 8px;border-radius:999px;color:#fff;background:rgba(8,52,37,.72);font-size:.7rem;font-weight:850;backdrop-filter:blur(7px)}

/* V1.9.5 — Rapports & Analytics Admin */
.admin-report-card{margin:0 0 1.35rem;padding:1.15rem;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff,#fbfdfc);box-shadow:0 10px 32px rgba(4,55,38,.06)}
.admin-report-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.admin-report-heading h2{margin:.15rem 0 .25rem;font-size:clamp(1.45rem,2.4vw,2rem)}
.admin-report-tools{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.report-date-field{display:grid;gap:5px;font-size:.76rem;font-weight:800;color:var(--muted)}.report-date-field input{min-height:42px;border:1px solid var(--line);border-radius:12px;padding:0 11px;background:#fff;color:var(--ink);font:inherit}
.admin-report-periods{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.report-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.report-kpis article{min-width:0;padding:14px;border:1px solid #e2ebe6;border-radius:16px;background:#fff}.report-kpis span{display:block;color:var(--muted);font-size:.75rem;font-weight:750}.report-kpis strong{display:block;margin-top:5px;font-size:1.45rem;letter-spacing:-.035em;color:var(--ink)}.report-kpis small{display:block;margin-top:3px;color:#6d7b75;font-size:.7rem;line-height:1.25}.report-kpi-money{background:linear-gradient(145deg,#075c40,#0a8a5d)!important;border-color:transparent!important}.report-kpi-money span,.report-kpi-money strong{color:#fff!important}
.report-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,.8fr);gap:12px;margin-top:12px}.report-trend-panel,.report-side-panel{border:1px solid #e2ebe6;border-radius:16px;background:#fff;padding:14px}.report-panel-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.report-panel-title .muted{font-size:.75rem}
.report-trend{display:flex;align-items:end;gap:5px;min-height:170px;overflow-x:auto;padding:4px 2px 2px;scrollbar-width:thin}.report-bar-item{flex:1 0 28px;min-width:28px;display:grid;grid-template-rows:118px auto auto;gap:3px;text-align:center}.report-bar-stack{height:118px;display:flex;align-items:end;justify-content:center;border-radius:8px;background:#f3f8f5;overflow:hidden}.report-bar-stack span{display:block;width:72%;min-height:2px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#55d5a8,#087a53)}.report-bar-item small{font-size:.62rem;color:var(--muted);white-space:nowrap}.report-bar-item b{font-size:.68rem;color:var(--ink)}
.report-side-panel{display:grid;gap:18px;align-content:start}.report-side-panel>div>strong{font-size:.82rem}.report-mini-list{display:grid;gap:6px;margin-top:8px}.report-mini-list>div{display:flex;justify-content:space-between;gap:12px;padding:7px 8px;border-radius:10px;background:#f5faf7;font-size:.72rem}.report-mini-list span{color:var(--muted)}.report-mini-list strong{white-space:nowrap}
@media(max-width:1100px){.report-kpis{grid-template-columns:repeat(3,1fr)}.report-layout{grid-template-columns:1fr}}
@media(max-width:720px){.admin-report-heading{display:grid}.admin-report-tools{display:grid;grid-template-columns:1fr}.admin-report-tools .button{width:100%}.report-date-field input{width:100%}.report-kpis{grid-template-columns:repeat(2,1fr)}.report-trend{min-height:150px}.report-bar-item{grid-template-rows:100px auto auto}.report-bar-stack{height:100px}}


/* TAKALO V1.9.6.2 — B2B images / Rapports Ar / Mobile flag fix / Stable Security SEO */
.detail-status-inline{position:static;align-self:flex-start}
.offline-main{min-height:100vh;display:grid;place-items:center;padding:30px 0}
.offline-card{display:block;background:#fff}

/* Porte-drapeau malgache : visuel léger, intégré au Hero sans gêner les 3 cartes administrables. */
.hero-national-card{
  position:absolute;right:-72px;top:-46px;z-index:7;width:168px;margin:0;padding:10px 10px 9px;
  border:1px solid rgba(255,255,255,.42);border-radius:24px;
  background:linear-gradient(160deg,rgba(255,255,255,.96),rgba(236,249,243,.91));
  box-shadow:0 20px 48px rgba(2,30,21,.26);backdrop-filter:blur(10px);transform:rotate(2deg)
}
.hero-national-card picture,.hero-national-card img{display:block;width:100%}
.hero-national-card img{height:auto;max-height:220px;object-fit:contain;filter:contrast(1.05) saturate(1.06)}
.hero-national-card figcaption{margin-top:6px;color:var(--green-900);font-size:.61rem;font-weight:800;line-height:1.25;text-align:center}

/* Footer institutionnel / trust signals */
.site-footer{padding:34px 0;background:linear-gradient(145deg,#043d2b,#075f43);border-top:0;color:#e9f6f0}
.footer-grid-pro{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) minmax(250px,1fr) minmax(220px,.9fr);align-items:start;gap:26px;color:#e9f6f0}
.footer-identity{display:grid;gap:10px}.footer-identity p{margin:0;color:#cfe3da;line-height:1.5}
.footer-brand{color:#fff}.footer-brand small{color:#cfe3da}.footer-brand .brand-mark{background:#0b7a53;color:#fff}
.footer-links{display:grid;gap:9px}.footer-links a,.footer-contact a{color:#eef9f4;text-decoration:none;font-weight:700}.footer-links a:hover,.footer-contact a:hover{text-decoration:underline;text-underline-offset:3px}
.footer-contact{display:grid;gap:10px;margin:0;font-style:normal}.footer-contact a{word-break:break-word}
.footer-legal{display:grid;gap:8px;text-align:right}.footer-legal strong{color:#fff}.footer-legal span{color:#bcd6ca;font-size:.82rem;line-height:1.4}

/* Barres de rapport sans style inline : compatible CSP stricte. */
.report-bar-stack span.h-5{height:5%}.report-bar-stack span.h-10{height:10%}.report-bar-stack span.h-15{height:15%}.report-bar-stack span.h-20{height:20%}.report-bar-stack span.h-25{height:25%}.report-bar-stack span.h-30{height:30%}.report-bar-stack span.h-35{height:35%}.report-bar-stack span.h-40{height:40%}.report-bar-stack span.h-45{height:45%}.report-bar-stack span.h-50{height:50%}.report-bar-stack span.h-55{height:55%}.report-bar-stack span.h-60{height:60%}.report-bar-stack span.h-65{height:65%}.report-bar-stack span.h-70{height:70%}.report-bar-stack span.h-75{height:75%}.report-bar-stack span.h-80{height:80%}.report-bar-stack span.h-85{height:85%}.report-bar-stack span.h-90{height:90%}.report-bar-stack span.h-95{height:95%}.report-bar-stack span.h-100{height:100%}

.seo-noscript-listing{max-width:900px;margin:28px auto;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}
.seo-noscript-listing img{max-width:420px;width:100%;height:auto;border-radius:14px}

@media(max-width:1180px){
  .hero-national-card{right:0;top:-34px;width:150px}
  .footer-grid-pro{grid-template-columns:1fr 1fr}.footer-legal{text-align:left}
}
@media(max-width:720px){
  .hero-national-card{right:8px;top:-18px;width:90px;padding:6px;border-radius:16px;transform:rotate(1deg);pointer-events:none}
  .hero-national-card img{max-height:125px}.hero-national-card figcaption{display:none}
  .footer-grid-pro{grid-template-columns:1fr;gap:20px;text-align:left}.footer-legal{text-align:left}.footer-links{grid-template-columns:1fr 1fr}
}
html.data-saver .hero-national-card{display:none}

/* V1.9.6 — Pré-rendu SEO progressif */
body.b2b-mode [data-b2c-view]{display:none!important}
body.b2b-mode .b2b-section{display:block!important}
.seo-noscript-listing{width:min(980px,calc(100% - 32px));margin:28px auto;padding:22px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm)}
.seo-noscript-listing img{width:min(100%,520px);max-height:440px;object-fit:cover;border-radius:16px;margin:14px 0}
.seo-noscript-listing h1{margin:0 0 10px;font-size:clamp(1.8rem,5vw,3rem);line-height:1.05}
.seo-noscript-listing p{max-width:760px;color:var(--muted)}
.seo-noscript-listing a{color:var(--green-700);font-weight:800}

/* V1.9.6.1 — Galerie B2B et confirmation visuelle des uploads */
.b2b-photo-gallery-uploader{margin-bottom:18px}.b2b-photo-gallery-uploader .photo-add-zone{min-height:150px}.b2b-publication-offer{align-items:center!important}.b2b-publication-offer img{width:48px;height:48px;flex:0 0 48px;object-fit:cover;border-radius:9px;border:1px solid var(--line)}.b2b-publication-offer em{flex:1;font-style:normal;min-width:0}.admin-b2b-images{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.admin-b2b-images figure{position:relative;width:76px;height:64px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#eef5f1}.admin-b2b-images img{width:100%;height:100%;object-fit:cover}.admin-b2b-images figcaption{position:absolute;left:4px;bottom:4px;padding:2px 5px;border-radius:999px;background:rgba(8,52,37,.78);color:#fff;font-size:.58rem;font-weight:800}.admin-b2b-images.empty{color:var(--muted);font-size:.76rem}

/* V1.9.6.2 — Porte-drapeau mobile intégral, hors du carrousel pour éviter tout rognage. */
.hero-national-mobile{display:none}
@media(max-width:720px){
  .hero-national-card{display:none!important}
  .hero-national-mobile{
    display:grid;justify-self:end;align-self:start;width:clamp(124px,38vw,164px);margin:-10px 4px 2px 0;padding:7px;
    border:1px solid rgba(255,255,255,.42);border-radius:18px;
    background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(236,249,243,.92));
    box-shadow:0 16px 36px rgba(2,30,21,.24);backdrop-filter:blur(8px)
  }
  .hero-national-mobile picture,.hero-national-mobile img{display:block;width:100%;height:auto}
  .hero-national-mobile img{max-height:none;object-fit:contain;object-position:center;filter:contrast(1.05) saturate(1.06)}
  .hero-national-mobile figcaption{margin-top:5px;color:var(--green-900);font-size:.59rem;font-weight:850;line-height:1.25;text-align:center;text-wrap:balance}
}
html.data-saver .hero-national-mobile{display:none!important}


/* TAKALO V1.9.6.3 — Galerie B2B 4 images + porte-drapeau compact dans le header */
.header-flag-bearer{
  width:42px;height:56px;flex:0 0 42px;display:grid;place-items:center;overflow:hidden;
  border-radius:10px;background:linear-gradient(160deg,#fff,#eef8f3);border:1px solid rgba(11,122,83,.15);
}
.header-flag-bearer img{width:100%;height:100%;object-fit:contain;object-position:center;filter:contrast(1.04) saturate(1.05)}
.hero-national-card,.hero-national-mobile{display:none!important}
.b2b-empty[hidden]{display:none!important}
.b2b-offer-gallery{position:relative;background:#eef5f1}
.b2b-offer-main-link{display:block;overflow:hidden;background:#edf3f0;text-decoration:none}
.b2b-offer-main-image{display:block;width:100%;height:205px;object-fit:cover;transition:opacity .15s ease}
.b2b-offer-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px;background:#fff;border-top:1px solid var(--line)}
.b2b-offer-thumb{min-width:0;height:54px;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;background:#edf3f0}
.b2b-offer-thumb img{width:100%;height:100%;object-fit:cover}
.b2b-offer-thumb.active{border-color:var(--green-700);box-shadow:0 0 0 2px rgba(11,122,83,.12)}
.b2b-offer-thumb:focus-visible{outline:3px solid rgba(17,150,99,.24);outline-offset:2px}
.seo-b2b-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.seo-b2b-gallery figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#eef5f1}
.seo-b2b-gallery img{display:block;width:100%;height:260px;max-width:none;max-height:none;margin:0;object-fit:cover;border-radius:0}
@media(max-width:720px){
  .header-inner{gap:9px}.brand{gap:7px}.header-flag-bearer{width:31px;height:43px;flex-basis:31px;border-radius:8px}.brand-mark{width:36px;height:36px}.brand strong{font-size:.95rem}
  .b2b-offer-main-image{height:220px}.b2b-offer-thumb{height:58px}.seo-b2b-gallery{grid-template-columns:1fr 1fr;gap:7px}.seo-b2b-gallery img{height:170px}
}
@media(max-width:420px){.header-flag-bearer{width:28px;height:39px;flex-basis:28px}.brand{gap:6px}.b2b-offer-thumb{height:52px}}


/* TAKALO V1.9.6.4 — porte-drapeau en haut à droite + compteur de visites */
.header-right{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.header-right .top-actions{justify-content:flex-end}
.header-flag-bearer{width:36px;height:48px;flex:0 0 36px;border-radius:9px}
.site-visit-counter{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:.82rem;color:#d7eee4;white-space:nowrap}
.site-visit-counter strong{color:#fff;font-variant-numeric:tabular-nums}
@media(max-width:720px){
  .header-right{gap:7px}
  .header-flag-bearer{width:28px;height:38px;flex-basis:28px;border-radius:7px}
}
@media(max-width:420px){.header-flag-bearer{width:25px;height:35px;flex-basis:25px}.header-right{gap:5px}}

/* TAKALO V1.9.6.5 — alignement vertical du compteur avec le copyright */
.footer-legal{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
  text-align:left;
}
.site-visit-counter{
  margin-top:0;
  align-self:flex-start;
  justify-content:flex-start;
}

/* TAKALO V1.9.6.6 — configuration 2FA admin sans inline style */
.admin-security-card{flex-wrap:wrap;align-items:flex-start}
.admin-security-summary{flex:1 1 340px;min-width:0}
.admin-security-summary p{margin:.35rem 0 0}
.admin-security-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.admin-2fa-enrollment{flex:1 0 100%;margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72)}
.admin-2fa-enrollment[hidden]{display:none!important}
.admin-2fa-secret{display:block;max-width:100%;overflow-wrap:anywhere;padding:12px;border:1px solid var(--line);border-radius:10px;background:#eef5f1;font-size:.9rem;font-weight:800;letter-spacing:.08em;user-select:all}
.admin-2fa-code-field{max-width:320px;margin:12px 0}
.admin-2fa-code-field input{font-size:1.2rem;letter-spacing:.18em;font-variant-numeric:tabular-nums}


/* TAKALO V1.9.7.0 — TAKALO Dons */
.donations-section{padding:34px 0 12px;background:linear-gradient(180deg,#f7fbf9,#fff)}
.donations-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:25px 28px;border:1px solid #cae8da;border-radius:26px;background:radial-gradient(circle at 88% 10%,rgba(116,240,190,.24),transparent 34%),linear-gradient(135deg,#effcf6,#fff);box-shadow:0 16px 42px rgba(5,82,57,.08)}
.donations-icon{display:grid;place-items:center;width:74px;height:74px;border-radius:22px;background:#0b7a53;color:#fff;font-size:2rem;box-shadow:0 12px 25px rgba(11,122,83,.18)}
.donations-copy h2{margin:.15rem 0 .25rem;font-size:clamp(1.75rem,3vw,2.55rem);letter-spacing:-.04em;color:var(--green-900)}
.donations-copy p{margin:.35rem 0;color:var(--muted)}
.donations-motto{font-size:1.08rem!important;font-weight:850!important;font-style:italic;color:#0b7a53!important}
.donations-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.listing-type-picker{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px;padding:0;border:0}
.listing-type-picker legend{grid-column:1/-1;margin-bottom:7px;font-weight:850;color:var(--green-900)}
.listing-type-picker label{display:block;cursor:pointer}.listing-type-picker input{position:absolute;opacity:0;pointer-events:none}
.listing-type-picker label span{display:grid;gap:3px;padding:14px 15px;border:1px solid #ccd9d3;border-radius:15px;background:#fff;transition:.18s ease}
.listing-type-picker label small{color:var(--muted)}.listing-type-picker input:checked+span{border-color:#0b7a53;background:#effaf5;box-shadow:0 0 0 2px rgba(11,122,83,.09)}
.donation-form-motto{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:11px 14px;border-radius:14px;background:#edf9f3;color:#075c40}.donation-form-motto[hidden]{display:none!important}.donation-form-motto span{font-style:italic;font-weight:800}
.donation-listing-card{border-color:#bfe6d3;box-shadow:0 12px 32px rgba(5,96,65,.09)}
.donation-pill,.exchange-type-pill{position:absolute;left:12px;bottom:12px;z-index:3;padding:6px 9px;border-radius:999px;font-size:.7rem;font-weight:900;backdrop-filter:blur(8px)}
.donation-pill{background:rgba(229,255,242,.96);color:#075c40}.exchange-type-pill{background:rgba(255,255,255,.94);color:#42504a}.donation-copy{padding:9px 10px;border-radius:12px;background:#effaf5;color:#075c40!important;font-size:.86rem}.admin-badge.donation{background:#e9fbf1;color:#096443}
@media(max-width:760px){.donations-card{grid-template-columns:1fr;text-align:center;padding:21px 17px}.donations-icon{margin:auto}.donations-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}.listing-type-picker{grid-template-columns:1fr}.donation-form-motto{display:grid;text-align:center}}


/* TAKALO V1.9.7.1 — Mobile Hero UX + Data Eco Header */
@media(max-width:720px){
  body{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .hero{padding:34px 0 28px}
  .hero-grid{gap:20px}
  .hero .eyebrow{margin-bottom:9px}
  .hero h1{font-size:clamp(2.3rem,11.6vw,3.75rem);line-height:.95;max-width:10.4ch}
  .hero-lead{font-size:.96rem;line-height:1.5;margin-top:14px}
  .hero-actions{gap:9px;margin-top:18px}
  .hero-actions .button{min-height:48px;padding:11px 13px}
  .trust-row{gap:7px;margin-top:14px}
  .trust-row span{padding:7px 9px;font-size:.69rem;line-height:1.25}
  .mobile-bottom-nav{bottom:max(10px,env(safe-area-inset-bottom))}
}
@media(max-width:430px){
  .hero{padding:32px 0 24px}
  .hero h1{font-size:clamp(2.2rem,11.4vw,3.35rem);max-width:10.6ch}
  .hero-lead{font-size:.94rem;margin-top:13px}
  .hero-actions{margin-top:17px}
  .trust-row{margin-top:13px}
}

/* Data Eco : header desktop/tablette plus large, compact et strictement mono-ligne. */
@media(min-width:721px){
  html.data-saver .site-header{
    background:rgba(250,253,251,.97);
    border-bottom-color:rgba(11,122,83,.18);
    box-shadow:0 8px 26px rgba(6,74,52,.055);
  }
  html.data-saver .site-header .header-inner{
    width:min(1460px,calc(100% - 32px));
    min-height:72px;
    gap:14px;
  }
  html.data-saver .header-right{flex:1 1 auto;gap:8px;min-width:0}
  html.data-saver .top-actions{margin-left:auto;flex-wrap:nowrap;gap:7px;min-width:0}
  html.data-saver .top-actions .button{min-height:42px;padding:9px 13px;font-size:.86rem;white-space:nowrap}
  html.data-saver .data-saver-button.active{
    color:#075f43;
    background:linear-gradient(180deg,#f3fbf8,#e5f5ee);
    border-color:#b8dfcf;
    box-shadow:inset 0 0 0 1px rgba(11,122,83,.04);
  }
  html.data-saver .data-saver-button.active::after{font-size:.62rem;padding:.12rem .31rem;margin-left:1px}
  html.data-saver .header-flag-bearer{width:34px;height:44px;flex-basis:34px}
}
@media(min-width:721px) and (max-width:1180px){
  html.data-saver .site-header .header-inner{width:calc(100% - 20px);gap:9px}
  html.data-saver .brand{gap:7px}
  html.data-saver .brand-mark{width:38px;height:38px;border-radius:12px}
  html.data-saver .brand strong{font-size:.96rem}
  html.data-saver .brand small{display:none}
  html.data-saver .header-right{gap:5px}
  html.data-saver .top-actions{gap:5px}
  html.data-saver .top-actions .button{min-height:40px;padding:8px 9px;font-size:.78rem}
  html.data-saver .header-flag-bearer{width:30px;height:40px;flex-basis:30px}
}
@media(min-width:721px) and (max-width:920px){
  html.data-saver .top-actions .install-button{display:none!important}
  html.data-saver .top-actions .button{padding-inline:8px;font-size:.76rem}
}


/* TAKALO V1.9.7.2 — Message épinglé sans icône + centrage strict */
.header-ticker .pinned-message-ticker{
  gap:0;
  justify-content:center;
  text-align:center;
}
.header-ticker .pinned-message-icon{display:none!important}
.header-ticker .pinned-message-text{
  width:100%;
  max-width:920px;
  margin-inline:auto;
  text-align:center;
  text-wrap:balance;
}
@media(max-width:720px){
  .header-ticker .pinned-message-text{max-width:100%;padding-inline:4px}
}


/* TAKALO V1.9.7.5 — Ticker sans libellé : message seul centré pleine largeur */
.header-ticker-inner{
  padding-inline:0!important;
  gap:0!important;
}
.header-ticker .pinned-messages-viewport{
  width:100%!important;
}
.header-ticker .pinned-messages-list{
  width:100%!important;
  max-width:none!important;
}
.header-ticker .pinned-message-text{
  width:100%;
  max-width:none;
  margin-inline:auto;
  text-align:center;
}
@media(max-width:720px){
  .header-ticker-inner{padding-inline:10px!important}
}


/* TAKALO V1.9.7.5 — Messenger Foundation 2.0 */
.messenger-entry-button{position:relative}.messenger-unread-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:.67rem;font-weight:900;line-height:1}.messenger-unread-badge[hidden]{display:none!important}.mobile-messenger-entry{position:relative}.messenger-unread-badge.mobile{position:absolute;top:3px;right:14%;min-width:18px;height:18px;font-size:.62rem}
.conversation-item{position:relative;grid-template-columns:48px minmax(0,1fr) auto}.conversation-item.unread{background:#eef9f4}.conversation-item.unread strong{font-weight:900}.conversation-copy{min-width:0;display:grid;gap:2px}.conversation-line{display:flex!important;align-items:center;gap:8px;min-width:0}.conversation-line strong{flex:1}.conversation-line time{flex:0 0 auto;color:#7b8982;font-size:.65rem}.conversation-item small b{color:var(--green-700)}.conversation-unread{display:grid!important;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--green-700);color:#fff;font-size:.66rem;font-weight:900}
.chat-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.chat-header-copy{min-width:0;display:grid}.chat-header-copy strong,.chat-header-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header-actions{display:flex;gap:6px;align-items:center}.messenger-back-button{display:none}.load-older-messages{display:block;margin:0 auto 14px;padding:7px 11px;border:1px solid #cbdcd4;border-radius:999px;background:#fff;color:var(--green-800);font-size:.73rem;font-weight:800;cursor:pointer}.message-delivery{margin-top:3px!important}.message-delivery.pending{opacity:.75}.message-delivery.failed{color:#ffd7d2!important}.message-delivery button{border:0;background:transparent;color:inherit;text-decoration:underline;font:inherit;cursor:pointer;padding:0}.message-row.optimistic .message-bubble{opacity:.78}.message-row.failed .message-bubble{outline:1px solid rgba(217,45,32,.45)}
@media(max-width:720px){
  .messenger-shell{display:block;position:relative;min-height:100%}.messenger-sidebar,.messenger-chat{position:absolute;inset:0}.messenger-sidebar{display:flex;border:0}.messenger-chat{display:none;grid-template-rows:auto 1fr auto}.messenger-shell.conversation-active .messenger-sidebar{display:none}.messenger-shell.conversation-active .messenger-chat{display:grid}.messenger-back-button{display:grid}.chat-header{min-height:64px;padding:8px 10px}.chat-header-actions .button{padding:6px;font-size:0}.chat-header-actions #chat-listing-link::after{content:'↗';font-size:.9rem}.chat-header-actions #archive-conversation-button::after{content:'⌁';font-size:.9rem}.message-list{padding:14px 10px}.message-bubble{max-width:84%}
}


/* ==========================================================================
   TAKALO V1.9.7.5 HF1 — Messenger Runtime Fix
   - scroll desktop autoritaire
   - header/composer conservés
   - aucune modification visuelle métier
   ========================================================================== */

.messenger-modal{
  box-sizing:border-box;
  overflow:hidden;
}

.messenger-shell{
  height:100%;
  min-height:0;
  overflow:hidden;
}

.messenger-sidebar{
  min-height:0;
  overflow:hidden;
}

.conversation-list{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.messenger-chat{
  height:100%;
  min-height:0;
  overflow:hidden;
  grid-template-rows:auto minmax(0,1fr) auto;
}

.message-list{
  min-height:0;
  max-height:100%;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}

.message-composer{
  min-height:0;
  flex:0 0 auto;
}

@media(max-width:720px){
  .messenger-shell{
    height:100%;
    min-height:0;
  }

  .messenger-sidebar,
  .messenger-chat{
    height:100%;
    min-height:0;
  }
}


/* TAKALO V1.9.7.6 — Messenger Presence & Receipts RC1 */
.message-delivery.sent{opacity:.82;font-weight:700}
.message-delivery.read{opacity:1;font-weight:850;color:#d9fff0!important}
.chat-header-copy small.typing-active{color:var(--green-700);font-weight:850}

/* TAKALO V1.9.7.7 — Messenger Media & Attachments RC1 */
.message-composer{display:block;padding:10px 14px}
.message-composer-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center}
.message-composer-row input[name="text"]{width:100%}
.message-attach-button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #cfdcd6;border-radius:13px;background:#f7fbf9;color:var(--green-800);font-size:1.45rem;font-weight:800;cursor:pointer;user-select:none}
.message-attach-button:hover{background:#edf8f3}
.message-attachment-preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;margin:0 0 8px;padding:8px 10px;border:1px solid #d8e7df;border-radius:12px;background:#f6fbf8;color:var(--ink)}
.message-attachment-preview[hidden]{display:none!important}
.message-attachment-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}
.message-attachment-preview small{color:var(--muted);font-size:.7rem}
.message-attachment-preview button{width:28px;height:28px;border:0;border-radius:999px;background:#e5efea;color:#365247;font-size:1.05rem;cursor:pointer}
.message-media-link{display:block;margin:-3px -3px 8px;text-decoration:none}
.message-media-image{display:block;width:min(360px,100%);max-height:340px;object-fit:cover;border-radius:12px;background:#e9f1ed}
.message-file-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:8px;align-items:center;margin:0 0 8px;padding:9px 10px;border:1px solid rgba(255,255,255,.32);border-radius:11px;background:rgba(255,255,255,.12);color:inherit;text-decoration:none}
.message-row:not(.mine) .message-file-card{border-color:#d6e3dd;background:#f4f8f6}
.message-file-card>span{grid-row:1/3;font-size:1.45rem}.message-file-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.message-file-card small{margin:1px 0 0!important;color:inherit!important;opacity:.72}
.message-row.mine .message-media-image{box-shadow:0 0 0 1px rgba(255,255,255,.18)}
@media(max-width:720px){.message-composer{padding:8px 10px}.message-attach-button{width:40px;height:40px}.message-media-image{max-height:280px}}

/* TAKALO V1.9.7.7 HF2 — Auth Recovery
   Les règles display:grid des formulaires ne doivent jamais neutraliser [hidden]. */
.auth-form[hidden],
.auth-tabs[hidden],
.account-panel[hidden] { display:none!important; }


/* TAKALO V1.9.7.8 — Messenger Multi-Media Composer RC1 */
.messenger-chat{position:relative}
.message-attachment-preview{display:block;padding:9px 10px}
.message-attachment-preview-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.message-attachment-preview-summary strong{font-size:.78rem}.message-attachment-preview-summary small{font-size:.68rem;color:var(--muted)}
.message-attachment-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.message-attachment-preview-card{position:relative;min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);gap:7px;align-items:center;padding:6px 30px 6px 6px;border:1px solid #d7e5de;border-radius:10px;background:#fff}.message-attachment-preview-card img,.message-attachment-preview-icon{width:42px;height:42px;border-radius:8px;object-fit:cover;background:#eef5f1;display:grid;place-items:center;font-size:1.25rem}.message-attachment-preview-card span{min-width:0;display:grid}.message-attachment-preview-card strong{font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-attachment-preview-card small{font-size:.62rem;color:var(--muted)}.message-attachment-preview-card button{position:absolute;right:4px;top:4px;width:23px;height:23px;font-size:.9rem}
.message-upload-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:0 0 8px}.message-upload-progress[hidden]{display:none!important}.message-upload-progress-bar{height:7px;border-radius:999px;background:#dfeae5;overflow:hidden}.message-upload-progress-bar span{display:block;width:0;height:100%;background:var(--green-700);transition:width .16s linear}.message-upload-progress small{font-size:.68rem;color:var(--muted);white-space:nowrap}
.message-media-link.local-preview,.message-file-card.local-preview{cursor:default}
.messenger-media-panel{position:absolute;inset:64px 0 0;z-index:8;display:flex;flex-direction:column;gap:10px;padding:14px;background:rgba(250,253,251,.98);backdrop-filter:blur(10px);overflow:auto;border-top:1px solid #dce8e2}.messenger-media-panel[hidden]{display:none!important}.messenger-media-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.messenger-media-head>div{display:grid}.messenger-media-head strong{color:var(--ink)}.messenger-media-head small{color:var(--muted);font-size:.72rem}.messenger-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.messenger-media-tile{min-width:0;border:1px solid #d7e5de;border-radius:12px;background:#fff;color:var(--ink);text-decoration:none;overflow:hidden}.messenger-media-tile.image{display:grid}.messenger-media-tile.image img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#edf4f1}.messenger-media-tile.image span{padding:7px 8px;font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-media-tile.pdf{min-height:118px;display:grid;place-items:center;align-content:center;gap:4px;padding:10px;text-align:center}.messenger-media-tile.pdf b{font-size:2rem}.messenger-media-tile.pdf span{max-width:100%;font-size:.7rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-media-tile.pdf small{font-size:.65rem;color:var(--muted)}
@media(max-width:900px){.message-attachment-preview-grid,.messenger-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.chat-header-actions #messenger-media-button::after{content:'▦';font-size:.9rem}.message-attachment-preview-summary{align-items:flex-start;flex-direction:column;gap:2px}.message-attachment-preview-grid{grid-template-columns:1fr 1fr}.messenger-media-panel{inset:64px 0 0;padding:10px}.messenger-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:430px){.messenger-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.message-attachment-preview-grid{grid-template-columns:1fr}}


/* TAKALO V1.9.7.9 — Image Capture & Preview RC2 */
.image-capture-uploader .photo-add-zone{cursor:default;padding:14px;min-height:178px}.image-capture-uploader .photo-placeholder{width:100%;padding:20px;pointer-events:auto}.photo-source-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:8px}.photo-drop-hint{font-style:normal;font-size:.68rem;color:var(--muted)}.photo-add-zone.dragging{border-color:var(--green-700);background:#e7f7ef;box-shadow:0 0 0 4px rgba(14,117,79,.08)}
.photo-preview-item.enhanced{aspect-ratio:4/3;overflow:hidden;background:#eef4f1}.photo-preview-open{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:#10251d;cursor:zoom-in}.photo-preview-open img{width:100%;height:100%;object-fit:contain;background:linear-gradient(135deg,#e8f0ec,#dfe9e4)}.photo-preview-item.enhanced .photo-order-badge{top:7px;bottom:auto;left:7px;max-width:calc(100% - 78px)}.photo-preview-file{position:absolute;left:7px;right:72px;bottom:7px;display:grid;min-width:0;padding:5px 7px;border-radius:9px;background:rgba(7,34,24,.78);color:#fff;backdrop-filter:blur(7px);pointer-events:none}.photo-preview-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem}.photo-preview-file small{font-size:.58rem;opacity:.82}.photo-preview-item.enhanced .photo-reorder{z-index:3}.photo-preview-item.enhanced .photo-remove{z-index:4}
.message-media-actions{display:flex;gap:6px;align-items:center}.message-camera-button{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid #cfdcd6;border-radius:13px;background:#f7fbf9;color:var(--green-800);font-size:1.05rem;cursor:pointer}.message-camera-button:hover{background:#edf8f3}.message-attachment-preview-card{display:block!important;padding:0!important;overflow:hidden;min-height:0}.message-attachment-preview-open{display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;background:#eaf2ee;cursor:zoom-in}.message-attachment-preview-open img{width:100%!important;height:100%!important;border-radius:0!important;object-fit:contain!important;background:linear-gradient(135deg,#e7efeb,#dce8e2)}.message-attachment-preview-card.pdf .message-attachment-preview-icon{width:100%!important;height:92px!important;border-radius:0!important}.message-attachment-preview-info{display:grid;padding:7px 30px 7px 8px!important}.message-attachment-remove{z-index:3;background:rgba(7,34,24,.82)!important;color:#fff!important}
.image-camera-dialog,.image-preview-dialog{width:min(980px,calc(100% - 20px));background:#081710;color:#fff}.image-camera-dialog::backdrop,.image-preview-dialog::backdrop{background:rgba(2,10,7,.82);backdrop-filter:blur(8px)}.image-camera-shell,.image-preview-shell{padding:16px}.image-tool-header{margin-bottom:12px;align-items:center}.image-tool-header h2{color:#fff}.image-tool-header small{display:block;margin-top:3px;color:#b9cec4}.image-tool-header .eyebrow{color:#87d8b6}.image-tool-header .icon-button{background:rgba(255,255,255,.12);color:#fff}
.image-camera-stage{position:relative;display:grid;place-items:center;min-height:min(62vh,620px);overflow:hidden;border-radius:18px;background:#000}.image-camera-stage video,.image-camera-stage>img{display:block;width:100%;height:min(62vh,620px);object-fit:contain;background:#000}.image-camera-guide{position:absolute;inset:8%;pointer-events:none;border:1px solid rgba(255,255,255,.32);border-radius:16px}.image-camera-guide:before,.image-camera-guide:after,.image-camera-guide span:before,.image-camera-guide span:after{content:'';position:absolute;width:34px;height:34px;border-color:#fff;border-style:solid}.image-camera-guide:before{left:-1px;top:-1px;border-width:3px 0 0 3px;border-radius:10px 0 0 0}.image-camera-guide:after{right:-1px;top:-1px;border-width:3px 3px 0 0;border-radius:0 10px 0 0}.image-camera-guide span:before{left:-1px;bottom:-1px;border-width:0 0 3px 3px;border-radius:0 0 0 10px}.image-camera-guide span:after{right:-1px;bottom:-1px;border-width:0 3px 3px 0;border-radius:0 0 10px 0}.image-camera-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:12px}.image-shutter{min-width:145px}.image-camera-note{margin:10px 0 0;text-align:center;color:#abc2b7;font-size:.7rem}
.image-preview-stage{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;min-height:min(65vh,650px);border-radius:18px;background:#020805;overflow:hidden}.image-preview-viewport{height:min(65vh,650px);display:grid;place-items:center;overflow:auto;touch-action:pan-x pan-y pinch-zoom}.image-preview-viewport img{display:block;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;transition:transform .16s ease;cursor:zoom-in}.image-preview-nav{width:40px;height:54px;margin:auto;border:0;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-size:2rem;cursor:pointer;z-index:2}.image-preview-nav:hover{background:rgba(255,255,255,.2)}.image-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.image-zoom-controls{display:flex;align-items:center;gap:6px}.image-zoom-controls button{height:38px;min-width:38px;padding:0 10px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-weight:800;cursor:pointer}
@media(max-width:720px){.photo-source-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.photo-source-actions .button{width:100%;padding-inline:8px}.photo-drop-hint{display:none}.photo-preview-item.enhanced{aspect-ratio:4/3}.message-camera-button,.message-attach-button{width:40px;height:40px}.message-media-actions{gap:4px}.message-attachment-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-camera-dialog,.image-preview-dialog{width:100%;max-height:100dvh;height:100dvh;margin:0;border-radius:0}.image-camera-shell,.image-preview-shell{min-height:100dvh;padding:10px 10px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.image-camera-stage{min-height:0;flex:1}.image-camera-stage video,.image-camera-stage>img{height:100%;max-height:none}.image-preview-stage{flex:1;min-height:0;grid-template-columns:34px minmax(0,1fr) 34px}.image-preview-viewport{height:100%;min-height:0}.image-preview-nav{width:32px;height:48px;font-size:1.65rem}.image-preview-toolbar{flex-wrap:wrap}.image-preview-toolbar .button{flex:1}.image-tool-header{margin-bottom:8px}.image-tool-header h2{font-size:1.2rem}.image-camera-actions{margin-top:8px}.image-camera-note{margin-top:7px}}
@media(max-width:430px){.message-attachment-preview-grid{grid-template-columns:1fr 1fr}.photo-source-actions{grid-template-columns:1fr}.image-preview-toolbar{display:grid;grid-template-columns:1fr}.image-zoom-controls{justify-content:center}.image-preview-toolbar .button{width:100%}}

.image-capture-uploader .photo-add-zone.complete{min-height:78px}.image-capture-uploader .photo-add-zone.complete .upload-icon,.image-capture-uploader .photo-add-zone.complete .photo-source-actions,.image-capture-uploader .photo-add-zone.complete .photo-drop-hint{display:none}.image-capture-uploader .photo-add-zone.complete .photo-placeholder{padding:10px}.photo-source-actions button:disabled{opacity:.45;cursor:not-allowed}

/* TAKALO V1.9.7.9 RC2 R2 — camera state authority / PC + mobile */
.image-camera-stage > [hidden],
.image-camera-actions .button[hidden] {
  display: none !important;
}
.image-camera-stage > img:not([hidden]) ~ .image-camera-guide {
  display: none !important;
}
.image-camera-actions .button:disabled {
  cursor: not-allowed;
}
.image-preview-viewport {
  width: 100%;
  min-width: 0;
}
.image-preview-viewport img {
  display: block;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  object-fit: contain;
  margin: auto;
  will-change: transform;
}
@media (max-width:720px) {
  .image-camera-shell {
    height: 100dvh;
    min-height: 0;
    max-height: 100dvh;
    overflow: hidden;
  }
  .image-camera-stage {
    flex: 1 1 0;
    min-height: 0;
  }
  .image-tool-header,
  .image-camera-actions,
  .image-camera-note {
    flex: 0 0 auto;
  }
  .image-camera-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    width: 100%;
  }
  .image-camera-actions .button {
    width: 100%;
    min-width: 0;
    padding-inline: 10px;
  }
}
@media (max-width:390px) {
  .image-camera-actions .button {
    font-size: .82rem;
    padding-inline: 7px;
  }
}


/* TAKALO V1.9.7.9 RC2 R2 — visionneuse robuste */
.image-preview-stage{min-width:0}
.image-preview-viewport{position:relative;justify-self:stretch;align-self:stretch}


/* TAKALO V1.9.7.9 — UI N2 Account Polish RC2 R3 */
.auth-modal {
  width: min(600px, calc(100% - 28px));
  overflow: auto;
}
.auth-modal .narrow-shell {
  max-width: none;
}
.auth-modal.is-account-view {
  width: min(620px, calc(100% - 28px));
}
.auth-modal.is-account-view .modal-shell {
  padding: 24px;
}
.auth-modal.is-account-view .modal-header {
  margin-bottom: 14px;
}
.auth-modal.is-account-view .modal-header h2 {
  font-size: clamp(1.55rem, 3vw, 2rem);
}
.account-panel-v2 {
  padding: 4px 0 0;
  text-align: left;
}
.account-profile-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
  border: 1px solid #dbe9e2;
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 8%, rgba(14,117,79,.10), transparent 38%),
    linear-gradient(145deg, #f8fcfa 0%, #eef8f3 100%);
}
.account-avatar-wrap {
  position: relative;
  flex: 0 0 auto;
}
.account-panel-v2 .account-avatar {
  width: 76px;
  height: 76px;
  margin: 0;
  border: 4px solid #fff;
  border-radius: 22px;
  background: linear-gradient(145deg, var(--green-700), #075f41);
  box-shadow: 0 10px 24px rgba(6,75,50,.18);
  font-size: 1.55rem;
  letter-spacing: -.04em;
}
.account-online-dot {
  position: absolute;
  right: -2px;
  bottom: 2px;
  width: 18px;
  height: 18px;
  border: 4px solid #fff;
  border-radius: 999px;
  background: #18a66a;
}
.account-identity {
  min-width: 0;
}
.account-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #dff5e9;
  color: #075f41;
  font-size: .72rem;
  font-weight: 850;
}
.account-status-pill > span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #16a166;
  box-shadow: 0 0 0 3px rgba(22,161,102,.12);
}
.account-panel-v2 h3 {
  margin: 0;
  max-width: 100%;
  overflow: hidden;
  color: #10251d;
  font-size: clamp(1.35rem, 4vw, 1.75rem);
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-subtitle {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: .9rem;
}
.account-quick-actions {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.account-quick-action {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d8e5df;
  border-radius: 16px;
  background: #fff;
  color: #10251d;
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.account-quick-action:hover {
  transform: translateY(-1px);
  border-color: #96cdb5;
  background: #fbfefc;
  box-shadow: 0 8px 22px rgba(18,72,51,.08);
}
.account-action-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #e7f7ef;
  color: var(--green-800);
  font-size: 1.15rem;
  font-weight: 900;
}
.account-quick-action > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 2px;
}
.account-quick-action strong {
  font-size: .94rem;
}
.account-quick-action small {
  overflow: hidden;
  color: var(--muted);
  font-size: .76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.account-action-arrow {
  color: #6b8c7e;
  font-size: 1.6rem;
  line-height: 1;
}
.account-security-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 14px;
  padding: 11px 13px;
  border-radius: 14px;
  background: #f2f7f4;
  color: #36574a;
}
.account-security-note > span {
  width: 24px;
  height: 24px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: #d9f0e4;
  color: #08734e;
  font-weight: 900;
}
.account-security-note p {
  display: grid;
  gap: 2px;
  margin: 0;
}
.account-security-note strong {
  font-size: .8rem;
}
.account-security-note small {
  color: #698176;
  font-size: .72rem;
  line-height: 1.35;
}
.account-logout-button {
  width: 100%;
  margin-top: 14px;
  border: 1px solid #e6dada;
  background: #fff;
  color: #8d3434;
  font-weight: 800;
}
.account-logout-button:hover {
  border-color: #dbbcbc;
  background: #fff8f8;
}
@media (min-width: 721px) {
  .image-camera-actions #image-camera-switch:not([hidden]) {
    min-width: 0;
    padding-inline: 16px;
  }
}
@media (max-width: 640px) {
  .auth-modal,
  .auth-modal.is-account-view {
    width: calc(100% - 16px);
    max-height: calc(100dvh - 16px);
  }
  .auth-modal.is-account-view .modal-shell {
    padding: 16px;
  }
  .account-profile-card {
    gap: 12px;
    padding: 14px;
    border-radius: 18px;
  }
  .account-panel-v2 .account-avatar {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    font-size: 1.35rem;
  }
  .account-online-dot {
    width: 16px;
    height: 16px;
  }
  .account-quick-action {
    grid-template-columns: 40px minmax(0,1fr) auto;
    padding: 11px 12px;
  }
  .account-action-icon {
    width: 40px;
    height: 40px;
  }
}


/* TAKALO V1.9.8.0 — Account Profile & Cover RC3 Header Avatar */
.account-profile-card-media{display:block;padding:0;overflow:hidden;background:#f8fcfa}.account-cover{position:relative;height:118px;overflow:hidden;background:linear-gradient(120deg,#064b36,#0b8b60 55%,#9ed8bd);isolation:isolate}.account-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(2,38,27,.24))}.account-cover img{width:100%;height:100%;object-fit:cover;display:block}.account-cover-fallback{position:absolute;right:18px;bottom:12px;color:rgba(255,255,255,.38);font-weight:900;letter-spacing:.18em;font-size:1rem;z-index:1}.account-profile-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:14px;padding:0 18px 16px;margin-top:-34px;position:relative;z-index:2}.account-avatar-wrap-media{align-self:end}.account-profile-card-media .account-avatar,.account-avatar-image{width:78px;height:78px;border:4px solid #fff;border-radius:50%;box-shadow:0 8px 24px rgba(4,55,39,.22)}.account-avatar-image{display:block;object-fit:cover;background:#e9f5ef}.account-profile-card-media .account-avatar[hidden]{display:none!important}.account-avatar-image[hidden]{display:none!important}.conversation-item img.has-profile-avatar{border-radius:50%}.account-edit-profile{align-self:end;border:1px solid #cfe2d8;background:#fff;border-radius:12px;padding:8px 11px;color:#075f41;font-weight:850;cursor:pointer}.account-edit-profile:hover{background:#f1faf5;border-color:#99cdb5}.profile-editor-modal{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto}.profile-editor-shell{padding:22px}.profile-editor-form{display:grid;gap:16px}.profile-media-editor{display:grid;gap:11px;padding:14px;border:1px solid #d9e7e0;border-radius:18px;background:#fbfefc}.profile-media-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-media-heading>div{display:grid;gap:2px}.profile-media-heading strong{color:#10251d}.profile-media-heading small{color:#698176;font-size:.75rem}.profile-media-heading>span{font-size:.72rem;font-weight:800;color:#577269;background:#eef6f2;border-radius:999px;padding:5px 8px;white-space:nowrap}.profile-cover-preview{height:180px;border-radius:15px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(120deg,#064b36,#0b8b60 55%,#9ed8bd);position:relative}.profile-cover-preview img{width:100%;height:100%;object-fit:cover;display:block}.profile-cover-preview img[hidden]{display:none!important}.profile-cover-preview span{color:rgba(255,255,255,.48);font-weight:900;letter-spacing:.18em}.profile-avatar-editor-row{display:flex;align-items:center;gap:16px}.profile-avatar-preview{width:112px;height:112px;flex:0 0 auto;border-radius:50%;background:linear-gradient(145deg,#08734e,#075f41);border:5px solid #fff;box-shadow:0 8px 24px rgba(4,55,39,.16);display:grid;place-items:center;overflow:hidden;color:#fff;font-size:1.7rem;font-weight:900}.profile-avatar-preview img{width:100%;height:100%;object-fit:cover}.profile-avatar-preview img[hidden]{display:none!important}.profile-avatar-copy p{margin:4px 0 0;color:#698176;font-size:.82rem;line-height:1.4}.profile-media-actions{display:flex;gap:8px;flex-wrap:wrap}.profile-media-actions .button{min-height:38px}.profile-remove-media{color:#963838}.profile-remove-media:disabled{opacity:.45;cursor:not-allowed}.profile-editor-alert{padding:10px 12px;border-radius:12px;background:#fff0f0;color:#943a3a;border:1px solid #efcaca;font-size:.84rem}.profile-editor-footer{display:flex;justify-content:flex-end;gap:10px;align-items:center}.profile-crop-modal{width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto}.profile-crop-shell{padding:20px}.profile-crop-stage{width:100%;overflow:hidden;border-radius:18px;background:#071811;display:grid;place-items:center;position:relative}.profile-crop-stage.avatar{aspect-ratio:1/1;max-height:58vh}.profile-crop-stage.cover{aspect-ratio:8/3;max-height:58vh}.profile-crop-stage img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .08s linear;user-select:none;pointer-events:none}.profile-crop-stage::after{content:"";position:absolute;inset:0;border:2px solid rgba(255,255,255,.84);border-radius:18px;pointer-events:none;box-shadow:inset 0 0 0 999px rgba(0,0,0,.03)}.profile-crop-controls{display:grid;gap:9px;margin-top:14px}.profile-crop-controls label{display:grid;grid-template-columns:80px minmax(0,1fr) 64px;align-items:center;gap:10px;color:#49655a;font-size:.78rem;font-weight:800}.profile-crop-controls label:not(:first-child){grid-template-columns:80px minmax(0,1fr)}.profile-crop-controls input[type=range]{width:100%}.profile-crop-controls output{text-align:right;color:#075f41}@media(max-width:640px){.account-cover{height:104px}.account-profile-main{grid-template-columns:auto minmax(0,1fr);align-items:end;padding:0 14px 14px}.account-edit-profile{grid-column:1/-1;width:100%}.profile-editor-modal,.profile-crop-modal{width:calc(100% - 12px);max-height:calc(100dvh - 12px)}.profile-editor-shell,.profile-crop-shell{padding:14px}.profile-cover-preview{height:145px}.profile-avatar-preview{width:92px;height:92px;border-radius:50%}.profile-media-actions{display:grid;grid-template-columns:1fr 1fr}.profile-media-actions .profile-remove-media{grid-column:1/-1}.profile-editor-footer{display:grid;grid-template-columns:1fr 1fr}.profile-editor-footer .button{width:100%}.profile-crop-controls label{grid-template-columns:68px minmax(0,1fr) 56px}.profile-crop-controls label:not(:first-child){grid-template-columns:68px minmax(0,1fr)}}
/* V1.9.8.0 RC3 — avatar du compte dans la navigation */
.header-account-button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  max-width:190px;
}
.header-account-label{
  min-width:0;
  max-width:128px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav-account-avatar{
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:linear-gradient(145deg,#0b8b60,#075f41);
  color:#fff;
  font-weight:900;
  line-height:1;
  box-shadow:0 0 0 2px rgba(11,139,96,.10);
}
.nav-account-avatar.header{width:27px;height:27px;font-size:.64rem}
.nav-account-avatar.mobile{width:25px;height:25px;font-size:.58rem}
.nav-account-avatar img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:50%;
}
.nav-account-avatar[hidden],
.nav-account-avatar img[hidden],
.nav-account-initials[hidden],
.mobile-account-generic[hidden]{display:none!important}
.mobile-account-entry .nav-account-avatar.mobile{
  font-size:.58rem;
  line-height:1;
}
.mobile-account-entry .nav-account-avatar.mobile .nav-account-initials{
  font-size:.58rem;
  line-height:1;
}
.mobile-account-entry .mobile-account-generic{
  font-size:1.35rem;
  line-height:1;
}


/* TAKALO V1.9.9.0 — Marketplace Modes Foundation RC1 */
.marketplace-modes-section{padding:38px 0 18px;background:linear-gradient(180deg,#f7fbf9,#fff)}
.marketplace-modes-heading{margin-bottom:18px}
.marketplace-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.marketplace-mode-card{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(5,82,57,.07)}
.marketplace-mode-card h3{margin:.15rem 0 .4rem;font-size:1.35rem;color:var(--green-900)}
.marketplace-mode-card p{color:var(--muted)}
.marketplace-mode-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:12px;border-radius:17px;font-size:1.65rem}
.sale-mode-card{border-color:#fecaca;background:linear-gradient(145deg,#fff1f2,#fff)}
.sale-mode-card .marketplace-mode-icon{background:#dc2626;color:#fff}
.exchange-mode-card{border-color:var(--takalo-blue-border);background:linear-gradient(145deg,var(--takalo-blue-soft),#fff)}
.exchange-mode-card .marketplace-mode-icon{background:var(--takalo-blue);color:#fff}
.donation-mode-card{border-color:#bbf7d0;background:linear-gradient(145deg,#f0fdf4,#fff)}
.donation-mode-card .marketplace-mode-icon{background:#15803d;color:#fff}
.marketplace-mode-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:10px}
.listing-type-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
.listing-mode-sale input:checked+span{border-color:#dc2626;background:#fff1f2;box-shadow:0 0 0 2px rgba(220,38,38,.10)}
.listing-mode-exchange input:checked+span{border-color:var(--takalo-blue);background:var(--takalo-blue-soft)}
.listing-mode-donation input:checked+span{border-color:#15803d;background:#f0fdf4}
.sale-price-fields{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:12px;align-items:stretch;margin-bottom:2px}
.sale-price-fields[hidden]{display:none!important}
.sale-price-input{display:flex;align-items:center;border:1px solid #ccd9d3;border-radius:12px;background:#fff;overflow:hidden}
.sale-price-input input{min-width:0;flex:1;border:0!important;border-radius:0!important;box-shadow:none!important}
.sale-price-input strong{padding:0 14px;color:#b91c1c}
.sale-negotiable-field{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #fecaca;border-radius:14px;background:#fff1f2;cursor:pointer}
.sale-negotiable-field input{width:18px;height:18px;accent-color:#dc2626}
.sale-negotiable-field span{display:grid;gap:2px}.sale-negotiable-field small{color:var(--muted)}
.sale-listing-card{border-color:#fecaca;box-shadow:0 12px 32px rgba(185,28,28,.08)}
.sale-type-pill{position:absolute;left:12px;bottom:12px;z-index:3;padding:6px 9px;border-radius:999px;font-size:.7rem;font-weight:900;backdrop-filter:blur(8px);background:rgba(254,226,226,.97);color:#991b1b}
.sale-price-copy{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:.15rem 0 .65rem;padding:10px 11px;border-radius:12px;background:#fff1f2;color:#991b1b!important}
.sale-price-copy strong{font-size:1.08rem}.sale-price-copy span{font-size:.76rem;font-weight:800;color:#b91c1c}
.detail-sale-price{margin:12px 0}
@media(max-width:900px){.marketplace-mode-grid{grid-template-columns:1fr}.marketplace-mode-card{padding:20px}.listing-type-picker{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.marketplace-mode-actions{display:grid;grid-template-columns:1fr}.listing-type-picker{grid-template-columns:1fr}.sale-price-fields{grid-template-columns:1fr}}


/* TAKALO V1.9.9.0 RC2 — TAKALO Match tous modes + Header N3 */
.site-header-v1990-rc2{box-shadow:0 8px 30px rgba(5,65,45,.06)}
.site-header-v1990-rc2 .header-main-row,.site-header-v1990-rc2 .header-market-switch-inner{width:min(1480px,calc(100% - 32px))}
.site-header-v1990-rc2 .header-main-row{min-height:72px;gap:18px}
.site-header-v1990-rc2 .header-right{flex:1;min-width:0;gap:9px}
.site-header-v1990-rc2 .top-actions{flex-wrap:nowrap;gap:7px}
.site-header-v1990-rc2 .top-actions>.button{min-height:40px;padding:8px 12px;border-radius:12px;font-size:.84rem;white-space:nowrap}
.site-header-v1990-rc2 .header-market-entry.active{border-color:#a8d8c4;background:#ecf9f3;color:#086544;box-shadow:inset 0 0 0 1px rgba(11,122,83,.03)}
.header-search-form{width:min(250px,21vw);flex:1 1 210px;min-width:160px;max-width:270px}
.header-search-field{height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d8e4de;border-radius:14px;background:#f8fbf9;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.header-search-field:focus-within{border-color:#8cc8ae;box-shadow:0 0 0 3px rgba(17,150,99,.10);background:#fff}
.header-search-field svg{width:18px;flex:0 0 18px;fill:none;stroke:#597168;stroke-width:2;stroke-linecap:round}
.header-search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:.84rem}
.header-search-field input::placeholder{color:#8b9993}
.site-header-v1990-rc2 .header-account-button{min-height:44px;max-width:190px;padding:5px 10px 5px 7px;border-radius:14px;gap:8px}
.header-account-copy{display:grid;min-width:0;text-align:left;line-height:1.08}
.header-account-copy strong{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
.header-account-copy small{margin-top:3px;color:#7d8d86;font-size:.64rem;font-weight:700;white-space:nowrap}
.site-header-v1990-rc2 .nav-account-avatar.header{width:32px;height:32px;font-size:.68rem}
.site-header-v1990-rc2 .header-publish-button{min-height:42px;padding:8px 13px;border-radius:13px;white-space:nowrap}
.site-header-v1990-rc2 .header-flag-bearer-compact{width:28px;height:38px;flex-basis:28px;border-radius:8px;opacity:.94}

.header-market-switch{border-top:1px solid rgba(6,74,52,.07);background:linear-gradient(90deg,#f7fbf9,#eef9f4 48%,#f7fbf9)}
.header-market-switch-inner{min-height:72px;display:grid;grid-template-columns:auto repeat(3,minmax(150px,1fr)) minmax(135px,.75fr);align-items:center;gap:10px;padding:9px 0}
.header-market-switch-label{color:#53675f;font-size:.78rem;font-weight:850;white-space:nowrap}
.header-mode-pill,.header-proximity-shortcut{min-width:0;min-height:52px;border:1px solid #d9e6e0;border-radius:17px;background:#fff;color:var(--ink);display:flex;align-items:center;gap:10px;padding:8px 14px;text-align:left;box-shadow:0 4px 14px rgba(6,72,50,.03);cursor:pointer;transition:transform .17s ease,border-color .17s ease,background .17s ease,box-shadow .17s ease}
.header-mode-pill:hover,.header-proximity-shortcut:hover{transform:translateY(-1px);border-color:#aed6c4;box-shadow:0 8px 20px rgba(6,72,50,.07)}
.header-mode-pill>span:last-child,.header-proximity-shortcut>span:last-child{display:grid;min-width:0;line-height:1.05}
.header-mode-pill strong,.header-proximity-shortcut strong{font-size:.82rem}
.header-mode-pill small,.header-proximity-shortcut small{margin-top:4px;color:#7b8b84;font-size:.66rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-mode-icon{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:10px;background:#edf7f2;font-size:1rem}
.header-mode-pill.sale.active{border-color:#ef4444;background:#fff1f2;box-shadow:0 7px 20px rgba(220,38,38,.10)}
.header-mode-pill.sale.active .header-mode-icon{background:#dc2626;color:#fff}
.header-mode-pill.exchange.active{border-color:var(--takalo-blue);background:var(--takalo-blue-soft);box-shadow:0 7px 20px rgba(22,58,112,.10)}
.header-mode-pill.exchange.active .header-mode-icon{background:var(--takalo-blue);color:#fff}
.header-mode-pill.donation.active{border-color:#4ade80;background:#f0fdf4;box-shadow:0 7px 20px rgba(21,128,61,.10)}
.header-mode-pill.donation.active .header-mode-icon{background:#15803d;color:#fff}
.header-proximity-shortcut{background:#f9fcfa}

.match-card-sale{border-color:#fecaca}
.match-card-donation{border-color:#bfe5d3}
.match-mode-copy{margin-top:3px}
.match-card-sale .match-score{box-shadow:0 0 0 1px rgba(220,38,38,.10)}
.marketplace-mode-card.sale-mode-card::after,.marketplace-mode-card.exchange-mode-card::after,.marketplace-mode-card.donation-mode-card::after{content:"🎯 TAKALO Match";display:inline-flex;align-self:flex-start;margin-top:12px;padding:5px 9px;border-radius:999px;background:#eff8f4;color:#0a6c4a;font-size:.69rem;font-weight:900}

@media(max-width:1280px){
  .header-search-form{display:none}
  .site-header-v1990-rc2 .top-actions>.button{padding-inline:10px}
  .site-header-v1990-rc2 .header-publish-button{padding-inline:11px}
}
@media(max-width:1040px){
  .header-market-switch{display:none}
  .site-header-v1990-rc2 .header-account-copy small{display:none}
  .site-header-v1990-rc2 .header-account-button{max-width:145px}
}
@media(max-width:820px){
  .site-header-v1990-rc2 .header-main-row{min-height:68px}
  .site-header-v1990-rc2 .top-actions .header-market-entry,
  .site-header-v1990-rc2 .top-actions .b2b-header-button,
  .site-header-v1990-rc2 .top-actions .messenger-entry-button,
  .site-header-v1990-rc2 .header-account-button,
  .site-header-v1990-rc2 .header-publish-button{display:none}
  .site-header-v1990-rc2 .header-right{flex:0 0 auto}
  .site-header-v1990-rc2 .top-actions{gap:6px}
  .site-header-v1990-rc2 .header-flag-bearer-compact{width:30px;height:40px;flex-basis:30px}
}


/* TAKALO V1.9.9.0 RC3 — CODIFICATION COULEUR AUTORITAIRE
   Vente = Rouge | Échange = Bleu | Don = Vert */
:root{
  --mode-sale-red:#dc2626;
  --mode-sale-dark:#991b1b;
  --mode-sale-soft:#fff1f2;
  --mode-exchange-blue:var(--takalo-blue);
  --mode-exchange-dark:var(--takalo-blue-dark);
  --mode-exchange-soft:var(--takalo-blue-soft);
  --mode-donation-green:#15803d;
  --mode-donation-dark:#166534;
  --mode-donation-soft:#f0fdf4;
}
.marketplace-mode-title,.mode-name{font-weight:900}
.marketplace-mode-title.sale,.mode-name.sale{color:var(--mode-sale-red)}
.marketplace-mode-title.exchange,.mode-name.exchange{color:var(--mode-exchange-blue)}
.marketplace-mode-title.donation,.mode-name.donation{color:var(--mode-donation-green)}
.mode-brand{color:var(--green-900)}
.sale-mode-card .eyebrow{color:var(--mode-sale-red)}
.exchange-mode-card .eyebrow{color:var(--mode-exchange-blue)}
.donation-mode-card .eyebrow{color:var(--mode-donation-green)}

.sale-mode-card .button-primary,.hero-actions [data-listing-type="sale"]{
  background:var(--mode-sale-red);color:#fff;border-color:var(--mode-sale-red);box-shadow:0 10px 24px rgba(220,38,38,.18)
}
.sale-mode-card .button-primary:hover,.hero-actions [data-listing-type="sale"]:hover{background:var(--mode-sale-dark)}
.sale-mode-card .button-secondary{background:var(--mode-sale-soft);color:var(--mode-sale-dark);border-color:#fecaca}

.exchange-mode-card .button-primary,.hero-actions [data-listing-type="exchange"]{
  background:var(--mode-exchange-blue);color:#fff;border-color:var(--mode-exchange-blue);box-shadow:0 10px 24px rgba(37,99,235,.18)
}
.exchange-mode-card .button-primary:hover,.hero-actions [data-listing-type="exchange"]:hover{background:var(--mode-exchange-dark)}
.exchange-mode-card .button-secondary{background:var(--mode-exchange-soft);color:var(--mode-exchange-dark);border-color:var(--takalo-blue-border)}

.donation-mode-card .button-primary,.hero-actions [data-listing-type="donation"]{
  background:var(--mode-donation-green);color:#fff;border-color:var(--mode-donation-green);box-shadow:0 10px 24px rgba(21,128,61,.18)
}
.donation-mode-card .button-primary:hover,.hero-actions [data-listing-type="donation"]:hover{background:var(--mode-donation-dark)}
.donation-mode-card .button-secondary{background:var(--mode-donation-soft);color:var(--mode-donation-dark);border-color:#bbf7d0}

.header-mode-pill.sale{border-color:#fecaca;background:#fff8f8}
.header-mode-pill.sale .header-mode-icon{background:#fee2e2;color:var(--mode-sale-red)}
.header-mode-pill.sale strong{color:var(--mode-sale-dark)}
.header-mode-pill.exchange{border-color:var(--takalo-blue-border);background:#f8fafc}
.header-mode-pill.exchange .header-mode-icon{background:var(--takalo-blue-icon);color:var(--mode-exchange-blue)}
.header-mode-pill.exchange strong{color:var(--mode-exchange-dark)}
.header-mode-pill.donation{border-color:#bbf7d0;background:#f7fef9}
.header-mode-pill.donation .header-mode-icon{background:#dcfce7;color:var(--mode-donation-green)}
.header-mode-pill.donation strong{color:var(--mode-donation-dark)}
.header-mode-pill.sale.active{border-color:#ef4444;background:var(--mode-sale-soft)}
.header-mode-pill.sale.active .header-mode-icon{background:var(--mode-sale-red);color:#fff}
.header-mode-pill.exchange.active{border-color:var(--takalo-blue);background:var(--mode-exchange-soft)}
.header-mode-pill.exchange.active .header-mode-icon{background:var(--mode-exchange-blue);color:#fff}
.header-mode-pill.donation.active{border-color:#4ade80;background:var(--mode-donation-soft)}
.header-mode-pill.donation.active .header-mode-icon{background:var(--mode-donation-green);color:#fff}

.sale-mode-card::after{background:#fee2e2!important;color:var(--mode-sale-dark)!important}
.exchange-mode-card::after{background:var(--takalo-blue-icon)!important;color:var(--mode-exchange-dark)!important}
.donation-mode-card::after{background:#dcfce7!important;color:var(--mode-donation-dark)!important}


/* TAKALO V1.9.9.0 RC3 T2 — Hero / TAKALO Blue / Don gratuit */
.hero-slogan-italic{font-style:italic}
.payment-box[hidden]{display:none!important}


/* ==========================================================================
   TAKALO V1.9.9.0 RC3 T3 — Corporate Hero / Plus Jakarta Sans + Inter
   Maquette PC validée comme direction visuelle. Les chiffres inventés de la
   maquette ne sont pas publiés : le bandeau bas affiche uniquement des
   fonctions réelles TAKALO.
   ========================================================================== */
:root{
  --font-display:"Plus Jakarta Sans",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --hero-mint:#70f0bd;
  --hero-mint-2:#98f6d2;
}
body,button,input,select,textarea{font-family:var(--font-ui)}
h1,h2,h3,.brand strong,.header-mode-pill strong,.header-proximity-shortcut strong,.button{
  font-family:var(--font-display);
}
.brand strong{font-weight:800;letter-spacing:.075em}
.header-mode-pill strong,.header-proximity-shortcut strong{font-weight:800}
.button{font-weight:800}

/* Ticker de bienvenue : lignes latérales comme sur la maquette */
.header-ticker .pinned-message-ticker::before,
.header-ticker .pinned-message-ticker::after{
  content:"";
  width:34px;
  height:1px;
  flex:0 0 34px;
  background:rgba(223,255,242,.56);
}
@media(max-width:720px){
  .header-ticker .pinned-message-ticker::before,
  .header-ticker .pinned-message-ticker::after{display:none}
}

/* Slogan corporate : gras + italique, contraste blanc / menthe */
.hero-slogan-corporate{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:max-content;
  max-width:100%;
  font-family:var(--font-display)!important;
  font-style:italic;
  font-weight:900;
  font-size:clamp(3.35rem,5.75vw,6.05rem)!important;
  line-height:.88!important;
  letter-spacing:-.075em!important;
  text-wrap:balance;
}
.hero-slogan-first{
  position:relative;
  display:inline-block;
  width:max-content;
  max-width:100%;
  color:#fff;
  font-weight:900;
}
.hero-slogan-first::after{
  content:"";
  position:absolute;
  left:.08em;
  bottom:-.08em;
  width:58%;
  height:5px;
  border-radius:999px;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,var(--hero-mint),rgba(112,240,189,.15));
  box-shadow:0 2px 12px rgba(112,240,189,.18);
}
.hero-slogan-corporate .hero-highlight{
  display:block;
  color:var(--hero-mint);
  font-weight:900;
}

/* Bandeau fonctionnel inspiré de la zone statistiques de la maquette,
   sans métriques non vérifiées. */
.hero-corporate-strip{
  position:relative;
  z-index:3;
  margin-top:42px;
  border-top:1px solid rgba(255,255,255,.14);
  background:linear-gradient(90deg,rgba(220,233,228,.92),rgba(238,245,242,.95) 48%,rgba(209,226,220,.92));
  color:var(--green-900);
  box-shadow:0 -10px 30px rgba(3,30,21,.10);
}
.hero-corporate-strip-inner{
  min-height:86px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
}
.hero-corporate-item{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:15px 26px;
}
.hero-corporate-item+ .hero-corporate-item{border-left:1px solid rgba(6,74,52,.20)}
.hero-corporate-item>span:first-child{
  width:42px;height:42px;flex:0 0 42px;
  display:grid;place-items:center;
  border:1px solid rgba(11,122,83,.22);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  font-size:1.15rem;
}
.hero-corporate-item>span:last-child{display:grid;gap:2px;min-width:0}
.hero-corporate-item strong{
  font-family:var(--font-display);
  font-size:.92rem;
  font-weight:850;
  color:#083f2f;
}
.hero-corporate-item small{color:#52645d;font-size:.75rem}

/* Cartes du hero : architecture plus nette et corporate */
.visual-status.sale{background:var(--mode-sale-red)}
.visual-status.exchange{background:var(--mode-exchange-blue)}
.visual-status.donation{background:var(--mode-donation-green)}
.hero-card-fav{
  color:#708078;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.72);
  font-size:1.35rem;
}
.hero-card-copy strong{font-family:var(--font-display);font-weight:850}
.hero-note{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:600}

/* Accentuation plus premium des actions du hero */
.hero-actions .button{
  min-height:54px;
  padding-inline:22px;
  border-radius:16px;
  box-shadow:0 13px 28px rgba(0,0,0,.15);
}
.hero-actions [data-listing-type="sale"],
.hero-actions [data-listing-type="exchange"],
.hero-actions [data-listing-type="donation"]{color:#fff}
.hero-actions>a.button-secondary{
  color:var(--green-900);
  background:#fff;
  border:1px solid rgba(255,255,255,.85);
}
.hero-actions>a.button-secondary:hover{background:#f7fbf9}

/* Grand écran : proportions de la maquette fournie */
@media(min-width:1101px){
  .hero{
    padding:54px 0 0;
    background:#173d2f;
  }
  .hero>.container{
    width:min(1420px,calc(100% - 64px));
  }
  .hero-grid{
    grid-template-columns:minmax(0,1.03fr) minmax(540px,.97fr);
    gap:48px;
    align-items:center;
    min-height:560px;
  }
  .hero-content{padding-left:8px}
  .hero .eyebrow{
    margin-bottom:17px;
    font-family:var(--font-display);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.17em;
  }
  .hero-lead{
    max-width:620px;
    margin-top:27px;
    font-size:1.08rem;
    line-height:1.58;
  }
  .hero-actions{
    max-width:670px;
    margin-top:24px;
    gap:10px;
  }
  .trust-row{
    display:grid;
    grid-template-columns:repeat(3,max-content);
    gap:10px 12px;
    margin-top:24px;
  }
  .trust-row span{
    min-height:39px;
    padding:7px 12px;
    font-size:.77rem;
    background:rgba(255,255,255,.095);
  }
  .trust-row span:last-child{grid-column:1 / span 2}
  .hero-visual{
    min-height:500px;
    max-width:650px;
    width:100%;
    justify-self:end;
  }
  .hero-card{
    width:292px;
    border-radius:24px;
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 26px 60px rgba(0,0,0,.22);
  }
  .hero-card-media{aspect-ratio:16/11}
  .hero-card-copy{padding:13px 15px 15px}
  .hero-card-copy strong{font-size:1.12rem}
  .hero-card-copy span{font-size:.82rem}
  .hero-card-copy small{font-size:.72rem;margin-top:5px}
  .visual-status{top:13px;left:13px;padding:7px 12px;font-size:.71rem}
  .hero-card-fav{top:12px;right:12px;width:36px;height:36px}
  .hero-card-bike{left:0;top:24px;bottom:auto;transform:rotate(-1.7deg);z-index:2}
  .hero-card-phone{left:auto;right:0;top:62px;transform:rotate(2.4deg);z-index:1;width:278px}
  .hero-card-shelf{left:128px;right:auto;top:auto;bottom:0;transform:rotate(.8deg);z-index:3;width:300px}
  .hero-note{
    right:4px;
    bottom:96px;
    max-width:155px;
    font-size:.93rem;
    line-height:1.45;
  }
}

/* Tablette : typographie renforcée sans modifier le carousel mobile */
@media(min-width:721px) and (max-width:1100px){
  .hero-slogan-corporate{font-size:clamp(3.2rem,8vw,5rem)!important}
  .hero-corporate-strip-inner{width:min(900px,calc(100% - 32px))}
}

/* Mobile : conserve la navigation/carousel existants, avec le nouveau langage typo */
@media(max-width:720px){
  .hero-slogan-corporate{
    width:100%;
    font-size:clamp(2.75rem,14vw,4.35rem)!important;
    line-height:.9!important;
  }
  .hero-slogan-first::after{height:4px}
  .hero-corporate-strip{margin-top:22px}
  .hero-corporate-strip-inner{
    grid-template-columns:1fr;
    padding:5px 0;
  }
  .hero-corporate-item{
    justify-content:flex-start;
    padding:10px 16px;
  }
  .hero-corporate-item+ .hero-corporate-item{
    border-left:0;
    border-top:1px solid rgba(6,74,52,.12);
  }
  .hero-corporate-item>span:first-child{width:36px;height:36px;flex-basis:36px}
}


/* ==========================================================================
   TAKALO V1.9.9.0 RC3 T4 — Mobile First Responsive UX
   Audit réel PC + Android 360–430 px :
   - hero trop long sur mobile ;
   - actions empilées à <=430 px ;
   - carrousel hero et bandeau services trop hauts ;
   - cartes Vente/Échange/Don surdimensionnées ;
   - navigation basse masque le contenu.
   Objectif : densité premium, touch targets >=44 px, safe-area et zéro
   modification du comportement métier.
   ========================================================================== */

@media (max-width: 900px){
  .section-heading h2{
    font-size:clamp(1.95rem,6.5vw,2.75rem);
    line-height:1.06;
    letter-spacing:-.045em;
    text-wrap:balance;
  }
  .section-heading .muted{font-size:.96rem;line-height:1.5}
}

@media (max-width: 720px){
  :root{--container:min(100% - 28px,1180px)}
  html{scroll-padding-bottom:calc(116px + env(safe-area-inset-bottom));scroll-padding-top:108px}
  body{
    padding-bottom:calc(116px + env(safe-area-inset-bottom));
    overflow-x:hidden;
    background:#f6f9f7;
  }
  main{overflow:clip}
  section[id]{scroll-margin-top:108px}

  /* Header mobile : même identité, moins de hauteur et davantage d'air utile. */
  .site-header-v1990-rc2 .header-main-row{
    width:calc(100% - 24px);
    min-height:62px;
    gap:10px;
  }
  .site-header-v1990-rc2 .header-right{gap:5px}
  .site-header-v1990-rc2 .top-actions{gap:5px}
  .brand-mark{width:40px;height:40px;border-radius:13px}
  .brand strong{font-size:1.03rem;letter-spacing:.06em}
  .data-saver-button{width:42px;height:42px;min-height:42px;border-radius:13px}
  .site-header-v1990-rc2 .header-flag-bearer-compact{width:29px;height:39px;flex-basis:29px}
  .header-ticker-inner{min-height:40px!important;padding-inline:10px}
  .header-ticker .pinned-messages-viewport{height:40px}
  .header-ticker .pinned-message-ticker{font-size:.73rem;line-height:1.25;text-align:center}

  /* Hero mobile compact : 2 x 2 actions au lieu de quatre gros blocs verticaux. */
  .hero{padding:30px 0 20px;min-height:auto}
  .hero>.container{width:var(--container)}
  .hero-grid{grid-template-columns:1fr;gap:18px;min-height:0}
  .hero-content{text-align:left;min-width:0}
  .hero .eyebrow{margin-bottom:11px;font-size:.64rem;letter-spacing:.14em;line-height:1.45}
  .hero-slogan-corporate{
    width:100%;
    font-size:clamp(2.72rem,12.2vw,3.7rem)!important;
    line-height:.91!important;
    letter-spacing:-.065em!important;
  }
  .hero-slogan-first::after{height:4px;width:52%;bottom:-.06em}
  .hero-lead{
    max-width:none;
    margin-top:17px;
    font-size:clamp(.93rem,3.7vw,1rem);
    line-height:1.5;
  }
  .hero-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:9px;
    margin-top:18px;
  }
  .hero-actions .button{
    width:100%;
    min-height:48px;
    padding:10px 8px;
    border-radius:14px;
    font-size:.82rem;
    line-height:1.15;
    box-shadow:0 8px 20px rgba(0,0,0,.13);
  }
  .hero-actions>a.button-secondary{grid-column:auto}

  /* Les preuves fonctionnelles deviennent une rangée tactile compacte. */
  .trust-row{
    display:flex!important;
    gap:7px;
    margin:14px -14px 0;
    padding:0 14px 4px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    overscroll-behavior-inline:contain;
  }
  .trust-row::-webkit-scrollbar{display:none}
  .trust-row span{
    flex:0 0 auto;
    min-height:34px;
    padding:6px 10px;
    border-radius:999px;
    font-size:.66rem;
    white-space:nowrap;
    scroll-snap-align:start;
  }
  .trust-row span::before{width:19px;height:19px;flex-basis:19px;font-size:.66rem}

  /* Carrousel produits : cartes plus petites, aperçu plus rapide. */
  .hero-visual{
    min-height:0!important;
    display:flex!important;
    gap:12px;
    margin:2px -14px 0;
    padding:6px 14px 12px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .hero-visual::-webkit-scrollbar{display:none}
  .hero-card{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    flex:0 0 min(72vw,270px)!important;
    width:auto!important;
    border-radius:20px;
    scroll-snap-align:center;
    box-shadow:0 13px 30px rgba(0,0,0,.18);
  }
  .hero-card-media{aspect-ratio:16/10}
  .hero-card-copy{padding:11px 13px 13px}
  .hero-card-copy strong{font-size:1rem}
  .hero-card-copy span{font-size:.76rem}
  .hero-card-copy small{font-size:.67rem;margin-top:4px}
  .visual-status{top:10px;left:10px;padding:6px 10px;font-size:.66rem}
  .hero-card-fav{top:9px;right:9px;width:34px;height:34px;font-size:1.15rem}
  .hero-note{display:none!important}

  /* Bandeau services : une seule ligne horizontale au lieu de trois étages. */
  .hero-corporate-strip{margin-top:14px;box-shadow:0 -5px 18px rgba(3,30,21,.07)}
  .hero-corporate-strip-inner{
    width:100%;
    min-height:66px;
    display:flex;
    gap:8px;
    padding:8px 14px 10px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    overscroll-behavior-inline:contain;
  }
  .hero-corporate-strip-inner::-webkit-scrollbar{display:none}
  .hero-corporate-item{
    flex:0 0 auto;
    min-width:205px;
    justify-content:flex-start;
    gap:9px;
    padding:8px 12px;
    border:1px solid rgba(6,74,52,.10)!important;
    border-radius:16px;
    background:rgba(255,255,255,.50);
    scroll-snap-align:start;
  }
  .hero-corporate-item+ .hero-corporate-item{border-left:1px solid rgba(6,74,52,.10)}
  .hero-corporate-item>span:first-child{width:34px;height:34px;flex-basis:34px;font-size:1rem}
  .hero-corporate-item strong{font-size:.79rem}
  .hero-corporate-item small{font-size:.66rem;white-space:nowrap}

  /* Marché tri-mode : hiérarchie plus compacte et lisible. */
  .marketplace-modes-section{padding:30px 0 14px}
  .marketplace-modes-heading{margin-bottom:14px}
  .marketplace-modes-heading .eyebrow{font-size:.67rem;letter-spacing:.14em}
  .marketplace-modes-heading h2{
    margin-top:5px;
    font-size:clamp(1.85rem,8.3vw,2.45rem);
    line-height:1.07;
    letter-spacing:-.045em;
  }
  .marketplace-modes-heading .muted{margin-top:11px;font-size:.92rem}
  .marketplace-mode-grid{grid-template-columns:1fr;gap:12px}
  .marketplace-mode-card{
    display:grid;
    grid-template-columns:48px minmax(0,1fr);
    column-gap:12px;
    row-gap:3px;
    padding:16px;
    border-radius:20px;
    box-shadow:0 7px 22px rgba(5,82,57,.055);
  }
  .marketplace-mode-icon{
    grid-column:1;
    grid-row:1 / span 2;
    width:48px;
    height:48px;
    margin:0;
    border-radius:15px;
    font-size:1.35rem;
  }
  .marketplace-mode-card>.eyebrow{
    grid-column:2;
    margin:2px 0 0;
    align-self:end;
    font-size:.66rem;
    letter-spacing:.12em;
  }
  .marketplace-mode-card>h3{
    grid-column:2;
    margin:0;
    align-self:start;
    font-size:1.28rem;
    line-height:1.12;
  }
  .marketplace-mode-card>p:not(.eyebrow){
    grid-column:1 / -1;
    margin:10px 0 0;
    font-size:.92rem;
    line-height:1.46;
  }
  .marketplace-mode-card>.donations-motto{
    margin-top:9px!important;
    font-size:1rem!important;
    line-height:1.3!important;
  }
  .marketplace-mode-actions{
    grid-column:1 / -1;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px;
    margin-top:3px;
    padding-top:10px;
  }
  .marketplace-mode-actions .button{
    min-height:46px;
    padding:9px 8px;
    border-radius:13px;
    font-size:.78rem;
    line-height:1.15;
  }
  .marketplace-mode-card::after{
    grid-column:1 / -1;
    margin-top:6px!important;
    font-size:.64rem!important;
    padding:5px 8px!important;
  }

  /* Catalogue et sections suivantes : titres moins massifs sur écran étroit. */
  .catalogue-section{padding-top:40px}
  .catalogue-heading{gap:10px;margin-bottom:14px}
  .catalogue-heading h2{font-size:clamp(1.8rem,8vw,2.35rem);line-height:1.08}

  /* Navigation basse : largeur maîtrisée + vraie zone de sécurité. */
  .mobile-bottom-nav{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    width:min(calc(100% - 20px),540px);
    bottom:max(10px,env(safe-area-inset-bottom));
    padding:6px 7px;
    border-radius:24px;
    box-shadow:0 16px 42px rgba(4,46,31,.20);
  }
  .mobile-nav-item{min-height:50px;border-radius:14px}
  .mobile-nav-item span{font-size:1.28rem}
  .mobile-nav-item small{font-size:.59rem}
  .mobile-nav-publish{
    width:60px;
    height:60px;
    min-height:60px;
    margin-top:-21px;
    border-radius:20px;
  }

  /* Dialogues : plus naturels sur Android, sans masquer les actions. */
  .modal{max-height:calc(100dvh - 6px)}
  .modal-shell{padding-bottom:calc(26px + env(safe-area-inset-bottom))}
  .modal-actions .button{min-height:46px}
}

@media (max-width: 430px){
  /* Annule l'ancien passage en colonne unique des actions du hero. */
  .hero-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .hero-slogan-corporate{font-size:clamp(2.55rem,12vw,3.25rem)!important}
  .hero-lead{font-size:.92rem}
  .hero-card{flex-basis:min(76vw,258px)!important}
  .marketplace-mode-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
}

@media (max-width: 360px){
  .hero-actions{grid-template-columns:1fr!important}
  .hero-actions .button{min-height:46px}
  .marketplace-mode-actions{grid-template-columns:1fr!important}
  .hero-slogan-corporate{font-size:2.5rem!important}
  .mobile-nav-item small{font-size:.55rem}
}

@media (max-width: 900px) and (orientation: landscape) and (max-height: 520px){
  .hero{padding:22px 0 14px}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:22px;align-items:center}
  .hero-slogan-corporate{font-size:clamp(2.45rem,7vw,3.6rem)!important}
  .hero-lead{margin-top:12px;font-size:.88rem;line-height:1.4}
  .hero-actions{margin-top:12px}
  .trust-row{margin-top:10px}
  .hero-visual{margin:0;padding-block:4px 8px}
  .hero-card{flex-basis:min(36vw,240px)!important}
  .hero-corporate-strip{margin-top:8px}
}


/* TAKALO V1.9.9.0 RC3 T6 — sous-titre placé sous le slogan */
.hero .hero-mode-kicker{
  margin:18px 0 0;
  font-family:var(--font-display);
  line-height:1.35;
}
@media(max-width:720px){
  .hero .hero-mode-kicker{
    margin-top:13px;
    margin-bottom:0;
    font-size:.63rem;
    letter-spacing:.13em;
    line-height:1.4;
  }
  .hero .hero-mode-kicker + .hero-lead{
    margin-top:16px;
  }
}


/* TAKALO V1.9.9.0 RC3 T7 — Auth premium + Catalogue compact */
.auth-modal{
  width:min(620px,calc(100% - 28px));
  border-radius:28px;
  overflow:auto;
}
.auth-modal .auth-shell{padding:26px 28px 28px}
.auth-modal .auth-brand-header{
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}
.auth-brand-stack{display:grid;gap:22px;min-width:0}
.auth-brand-lockup{display:flex;align-items:center;gap:13px}
.auth-brand-mark{
  width:58px;height:58px;flex:0 0 58px;
  display:grid;place-items:center;
  border-radius:18px;
  background:linear-gradient(145deg,#08734e,#0b9464);
  color:#fff;
  font-family:var(--font-display);
  font-size:2rem;font-weight:900;line-height:1;
  box-shadow:0 12px 28px rgba(5,113,77,.22);
}
.auth-brand-copy{display:grid;gap:2px;min-width:0}
.auth-brand-copy strong{
  font-family:var(--font-display);
  color:#10251d;
  font-size:1.55rem;
  letter-spacing:.03em;
}
.auth-brand-copy small{color:#6c7d76;font-size:.82rem}
.auth-intro{display:grid;gap:7px}
.auth-intro .eyebrow{margin:0}
.auth-intro h2{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.9rem,4.4vw,2.55rem);
  line-height:1.05;
  letter-spacing:-.045em;
}
.auth-subtitle{
  margin:0;
  max-width:470px;
  color:#6c7d76;
  font-size:.93rem;
  line-height:1.5;
}
.auth-close-button{
  width:46px;height:46px;flex:0 0 46px;
  border-radius:15px;
  background:#f7faf8;
  border-color:#dce7e1;
  font-size:1.75rem;
}
.auth-modal .auth-tabs{
  gap:0;
  padding:4px;
  margin-bottom:20px;
  border:1px solid #dce7e1;
  border-radius:16px;
  background:#f5f8f6;
}
.auth-modal .auth-tab{
  min-height:46px;
  border-radius:12px;
  padding:9px 12px;
  font-size:.9rem;
}
.auth-modal .auth-tab.active{
  background:linear-gradient(135deg,#087a52,#0b9867);
  color:#fff;
  box-shadow:0 8px 20px rgba(6,112,76,.18);
}
.auth-modal .auth-form{gap:15px}
.auth-modal .auth-form .field{gap:8px;font-size:.9rem}
.auth-modal .auth-form .field>span{font-weight:850;color:#17241f}
.auth-modal .auth-form .field input{
  min-height:52px;
  border-radius:15px;
  padding:0 15px;
  background:#fff;
  border-color:#d1ddd7;
  font-size:.94rem;
  box-shadow:inset 0 1px 0 rgba(6,41,29,.015);
}
.auth-modal .auth-form .field input:focus{
  outline:0;
  border-color:#78bfa2;
  box-shadow:0 0 0 4px rgba(12,139,93,.10);
}
.auth-modal .auth-form>.button{
  min-height:52px;
  margin-top:5px;
  border-radius:16px;
  font-size:1rem;
  box-shadow:0 12px 28px rgba(6,112,76,.15);
}
.auth-modal.is-account-view .auth-subtitle{display:none}
.auth-modal.is-account-view .auth-brand-stack{gap:12px}

/* Barre catalogue: une vraie barre de recherche compacte sur PC. */
.filter-bar{
  grid-template-columns:minmax(280px,1.7fr) minmax(190px,.88fr) minmax(120px,.55fr) minmax(180px,.82fr);
  gap:8px;
  margin-bottom:20px;
  padding:8px;
  border-radius:16px;
  align-items:center;
}
.filter-bar input,.filter-bar select{
  height:42px;
  border-radius:11px;
  padding-inline:12px;
  font-size:.82rem;
}
.filter-bar .search-field svg{
  left:13px;
  width:18px;
}
.filter-bar .search-field input{padding-left:40px}

/* Mobile: recherche compacte + 3 filtres sur une seule rangée. */
@media(max-width:720px){
  .auth-modal{
    width:calc(100% - 24px);
    max-height:calc(100dvh - 24px);
    margin:auto!important;
    border-radius:28px;
  }
  .auth-modal .auth-shell{
    padding:20px 18px calc(22px + env(safe-area-inset-bottom));
  }
  .auth-modal .auth-brand-header{margin-bottom:16px}
  .auth-brand-stack{gap:17px}
  .auth-brand-mark{
    width:52px;height:52px;flex-basis:52px;
    border-radius:16px;font-size:1.8rem;
  }
  .auth-brand-copy strong{font-size:1.35rem}
  .auth-brand-copy small{font-size:.75rem}
  .auth-intro h2{font-size:1.9rem}
  .auth-subtitle{font-size:.84rem;line-height:1.42}
  .auth-close-button{width:43px;height:43px;flex-basis:43px}
  .auth-modal .auth-tabs{margin-bottom:17px}
  .auth-modal .auth-form .field input{min-height:50px}
  .auth-modal .auth-form>.button{min-height:50px}

  .filter-bar{
    grid-template-columns:minmax(0,1.55fr) minmax(72px,.62fr) minmax(112px,.95fr)!important;
    gap:7px;
    padding:8px;
    margin-bottom:16px;
    border-radius:16px;
  }
  .filter-bar>.search-field{
    grid-column:1/-1!important;
  }
  .filter-bar input,.filter-bar select{
    height:40px;
    min-width:0;
    border-radius:11px;
    padding-inline:10px;
    font-size:.72rem;
  }
  .filter-bar .search-field input{
    height:42px;
    padding-left:39px;
    font-size:.83rem;
  }
  .filter-bar .search-field svg{left:12px;width:18px}
}

@media(max-width:380px){
  .filter-bar{
    grid-template-columns:minmax(0,1.45fr) minmax(66px,.58fr) minmax(102px,.92fr)!important;
    gap:6px;
  }
  .filter-bar select{font-size:.67rem;padding-inline:7px}
}

@media(max-width:345px){
  .filter-bar{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .filter-bar>.search-field{grid-column:1/-1!important}
  .filter-bar>label:nth-child(2){grid-column:1/-1}
  .filter-bar select{font-size:.72rem}
}


/* TAKALO V1.9.9.0 RC3 T8 — inscription épurée + documents légaux */
.auth-modal.is-register-mode .auth-brand-stack{gap:16px}
.auth-modal.is-register-mode .auth-intro{gap:0}
.auth-modal.is-register-mode .auth-subtitle{
  max-width:520px;
  font-size:.96rem;
  line-height:1.5;
  color:#65766f;
}
.auth-register-form{gap:14px}
.auth-register-form .auth-field>span{font-weight:850}
.auth-inline-hint{
  display:flex;align-items:flex-start;gap:9px;
  margin:-4px 4px 2px;
  color:#61776e;font-size:.78rem;line-height:1.38;
}
.auth-inline-hint>span{
  width:18px;height:18px;flex:0 0 18px;
  display:grid;place-items:center;border-radius:50%;
  background:#0b8b5d;color:white;font-size:.69rem;font-weight:900;
}
.auth-password-policy{
  display:grid;grid-template-columns:1fr;gap:8px;
  padding:14px 16px;border-radius:17px;
  background:linear-gradient(135deg,#edf9f4,#f5fbf8);
  border:1px solid #d9efe6;color:#214a3b;
}
.auth-password-policy strong{font-size:.8rem}
.auth-password-policy ul{margin:0;padding:0;list-style:none;display:grid;gap:5px}
.auth-password-policy li{
  position:relative;padding-left:22px;font-size:.78rem;line-height:1.25;color:#45675b;
}
.auth-password-policy li::before{
  content:'✓';position:absolute;left:0;top:-1px;
  width:16px;height:16px;display:grid;place-items:center;border-radius:50%;
  background:#0b8b5d;color:#fff;font-size:.64rem;font-weight:900;
}
.auth-otp-note{
  display:flex;gap:11px;align-items:flex-start;
  padding:13px 15px;border-radius:17px;
  background:#eef6fd;border:1px solid #d8e9f9;color:#345d79;
}
.auth-otp-note>span{
  width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;
  border-radius:10px;background:#d7ebff;color:#1976d2;font-weight:900;
}
.auth-otp-note p{margin:0;font-size:.78rem;line-height:1.42}
.auth-create-account{display:flex!important;align-items:center;justify-content:center;gap:12px}
.auth-create-account span{font-size:1.45rem;line-height:1}
.auth-legal-consent{
  margin:0 auto;text-align:center;max-width:500px;
  color:#7a8882;font-size:.72rem;line-height:1.45;
}
.auth-legal-consent a{color:#087a52;text-decoration:underline;text-underline-offset:2px;font-weight:700}

/* Mode inscription : suppression visuelle des éléments redondants validée. */
.auth-modal.is-register-mode #auth-title,
.auth-modal.is-register-mode #auth-eyebrow{display:none!important}

/* Pages légales TAKALO */
.legal-page-body{margin:0;background:#f4f8f6;color:#17241f;font-family:var(--font-ui);min-height:100vh}
.legal-document{
  width:min(860px,calc(100% - 28px));margin:24px auto 50px;padding:34px clamp(22px,5vw,54px);
  background:#fff;border:1px solid #dde9e3;border-radius:26px;box-shadow:0 18px 50px rgba(7,54,36,.08)
}
.legal-back{display:inline-flex;margin-bottom:24px;color:#087a52;font-weight:800;text-decoration:none}
.legal-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.legal-brand>div{display:grid;gap:2px}.legal-brand strong{font-family:var(--font-display);font-size:1.45rem}.legal-brand small{color:#718079}
.legal-kicker{margin:0 0 10px;color:#087a52;text-transform:uppercase;font-size:.74rem;font-weight:900;letter-spacing:.11em}
.legal-document h1{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);line-height:1.04;margin:0 0 14px;letter-spacing:-.04em}
.legal-lead{font-size:1.02rem;line-height:1.6;color:#5c6e66;margin:0 0 30px}
.legal-section{padding:20px 0;border-top:1px solid #e7efeb}.legal-section h2{font-family:var(--font-display);font-size:1.12rem;margin:0 0 10px;color:#0d5139}.legal-section p{margin:8px 0;line-height:1.65;color:#42544d}
.legal-footer{margin-top:26px;padding-top:18px;border-top:1px solid #dce8e2;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#74827c;font-size:.78rem}.legal-footer p{margin:0}
@media(max-width:720px){
  .auth-modal.is-register-mode .auth-shell{padding-top:18px}
  .auth-modal.is-register-mode .auth-brand-header{margin-bottom:14px}
  .auth-modal.is-register-mode .auth-brand-stack{gap:12px}
  .auth-modal.is-register-mode .auth-subtitle{font-size:.86rem;line-height:1.42}
  .auth-register-form{gap:12px}
  .auth-password-policy{padding:12px 14px}
  .auth-otp-note{padding:12px 14px}
  .auth-legal-consent{font-size:.69rem}
  .legal-document{width:calc(100% - 18px);margin:9px auto 30px;padding:24px 18px;border-radius:22px}
  .legal-brand .auth-brand-mark{width:48px;height:48px;flex-basis:48px}
}


/* ==========================================================================
   TAKALO V1.9.9.0 RC3 T11 — Visual proposal validated
   ========================================================================== */
.site-header-v1990-rc2 .header-account-button{
  border-color:rgba(22,58,112,.20);
}
.site-header-v1990-rc2 .header-account-button .header-account-label,
.site-header-v1990-rc2 .header-account-button #header-account-subtitle{
  color:var(--takalo-blue)!important;
}
.site-header-v1990-rc2 .header-account-button:hover,
.site-header-v1990-rc2 .header-account-button:focus-visible{
  border-color:rgba(22,58,112,.34);
  background:rgba(22,58,112,.055);
}
.hero-slogan-corporate{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  column-gap:.14em;
  width:max-content!important;
  max-width:100%!important;
  white-space:nowrap!important;
  text-wrap:nowrap!important;
  font-size:clamp(2.7rem,3.95vw,4.25rem)!important;
  line-height:.96!important;
  letter-spacing:-.065em!important;
}
.hero-slogan-corporate .hero-slogan-first{flex:0 0 auto}
.hero-slogan-corporate .hero-highlight{display:inline-block!important;flex:0 0 auto}
@media (min-width:721px) and (max-width:1100px){
  .hero-slogan-corporate{font-size:clamp(2.5rem,5.1vw,3.45rem)!important}
}
@media (max-width:720px){
  .hero-slogan-corporate{
    font-size:clamp(1.58rem,7.55vw,2.6rem)!important;
    line-height:1!important;
    letter-spacing:-.05em!important;
    column-gap:.12em;
  }
  .hero-slogan-first::after{height:3px;width:52%;bottom:-.08em}
}
@media (max-width:360px){
  .hero-slogan-corporate{
    font-size:clamp(1.45rem,7.4vw,1.85rem)!important;
    letter-spacing:-.045em!important;
  }
}


/* ==========================================================================
   TAKALO V1.9.9.0 RC3 T12 — Hero Enlarged
   - Agrandit "Mividy, Mivarotra, Manakalo & Mizara..."
   - Conserve impérativement une seule ligne desktop + mobile
   - Logos strictement inchangés
   ========================================================================== */

.hero-slogan-corporate{
  font-size:clamp(3.2rem,4.9vw,5.5rem)!important;
  line-height:.94!important;
  letter-spacing:-.066em!important;
  white-space:nowrap!important;
  text-wrap:nowrap!important;
}

@media (min-width:721px) and (max-width:1100px){
  .hero-slogan-corporate{
    font-size:clamp(2.85rem,5.7vw,4.15rem)!important;
    letter-spacing:-.06em!important;
  }
}

@media (max-width:720px){
  .hero-slogan-corporate{
    font-size:clamp(1.75rem,8.7vw,3.15rem)!important;
    line-height:.98!important;
    letter-spacing:-.052em!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }
}

@media (max-width:360px){
  .hero-slogan-corporate{
    font-size:clamp(1.55rem,8.0vw,2rem)!important;
    letter-spacing:-.048em!important;
  }
}


/* ==========================================================================
   TAKALO V1.9.9.0 RC3 T13 V6 — Header Cleanup + Desktop Hero Collision Fix
   - Barre modes redondante supprimée du DOM dans index.html
   - Desktop >1100 px : davantage d'espace au slogan et collision supprimée
   - Mobile/tablette T12 strictement inchangés
   - Aucun changement métier, backend, DB, Messenger, Match ou paiement
   ========================================================================== */
@media (min-width:1101px){
  .hero-grid{
    grid-template-columns:minmax(0,1.10fr) minmax(420px,.90fr);
    gap:42px;
  }
  .hero-content{min-width:0}
  .hero-slogan-corporate{
    font-size:clamp(3.2rem,4.35vw,5.05rem)!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
  }
}


/* ==========================================================================
   TAKALO V1.9.9.0 RC3 T13 V7 — Hero Note Legibility
   - Rend lisible le message :
     "Des objets / des rencontres / une communauté plus forte"
   - Contraste renforcé sans masquer les cartes
   - Mobile <=720 px inchangé : .hero-note reste masquée
   - Aucun changement métier, backend, DB, Messenger, Match ou paiement
   ========================================================================== */
@media (min-width:721px){
  .hero-note{
    color:#fff!important;
    max-width:190px!important;
    padding:11px 14px 12px!important;
    border:1px solid rgba(255,255,255,.24)!important;
    border-radius:16px!important;
    background:
      linear-gradient(145deg,rgba(3,27,20,.86),rgba(7,73,51,.74))!important;
    box-shadow:
      0 14px 34px rgba(0,0,0,.30),
      inset 0 1px 0 rgba(255,255,255,.08)!important;
    -webkit-backdrop-filter:blur(10px) saturate(120%);
    backdrop-filter:blur(10px) saturate(120%);
    text-shadow:0 2px 10px rgba(0,0,0,.70)!important;
    font-family:var(--font-display)!important;
    font-size:1rem!important;
    font-style:italic!important;
    font-weight:850!important;
    line-height:1.34!important;
    letter-spacing:-.015em!important;
    text-align:center!important;
    z-index:8!important;
  }
}
@media (min-width:1101px){
  .hero-note{
    right:18px!important;
    bottom:110px!important;
  }
}
@media (min-width:721px) and (max-width:1100px){
  .hero-note{
    padding:10px 13px 11px!important;
  }
}


/* ==========================================================================
   TAKALO V1.9.9.0 RC3 T14 P1 — Social Reactions + Sharing
   ========================================================================== */
.listing-social{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:16px 0 4px;padding:11px;border:1px solid #dceae4;border-radius:16px;background:#f8fcfa}
.listing-social.compact{margin:12px 0 2px;padding:8px 9px;border-radius:13px;background:#fbfdfc}
.reaction-buttons,.share-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.social-reaction-button,.share-buttons button,.social-share-button{appearance:none;border:1px solid #d5e3dd;background:#fff;color:#23453a;border-radius:999px;min-height:36px;padding:7px 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer;transition:.16s ease}
.social-reaction-button:hover,.share-buttons button:hover,.social-share-button:hover{border-color:#9fc9b8;background:#eef8f3;transform:translateY(-1px)}
.social-reaction-button.active{border-color:#0b8a5d;background:#e5f8ef;color:#075f43;box-shadow:inset 0 0 0 1px rgba(11,138,93,.08)}
.social-reaction-button b{min-width:18px;padding:1px 5px;border-radius:999px;background:#edf4f1;font-size:.68rem}
.social-reaction-button.compact{width:36px;height:34px;min-height:34px;padding:0;font-size:1rem}
.social-reaction-button.compact span{display:none}
.social-share-button.compact{min-height:34px;padding:6px 10px}
.detail-info>.listing-social{margin-top:18px}
@media(max-width:720px){
  .listing-social{align-items:stretch}
  .listing-social:not(.compact){display:grid}
  .listing-social:not(.compact) .reaction-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .listing-social:not(.compact) .social-reaction-button{width:100%}
  .listing-social:not(.compact) .share-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .listing-social:not(.compact) .share-buttons button{width:100%;min-width:0}
}


/* ==========================================================================
   TAKALO V1.9.9.0 RC3 T15 P1 — Listing Content Edit
   ========================================================================== */
.listing-edit-modal .listing-edit-shell{width:min(760px,calc(100vw - 28px));max-height:min(90vh,900px);overflow:auto}
.listing-edit-head{padding-right:42px;margin-bottom:16px}
.listing-edit-head h2{margin:.2rem 0 .45rem;font-family:var(--font-display);color:var(--green-900)}
.listing-edit-head p:last-child{margin:0;color:var(--text-muted);line-height:1.55}
.listing-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.listing-edit-form .full{grid-column:1/-1}
.listing-edit-mode{padding:10px 12px;border-radius:12px;background:#eef6ff;border:1px solid #c9daef;color:var(--takalo-blue);font-weight:900}
.listing-edit-sale{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.listing-edit-check{display:flex;align-items:center;gap:8px;min-height:48px;font-weight:800}
.listing-edit-images{display:grid;gap:10px;padding:14px;border:1px solid #dbe8e1;border-radius:16px;background:#fbfdfc}
.listing-edit-images>div:first-child{display:flex;flex-direction:column;gap:3px}
.listing-edit-images small{color:var(--text-muted)}
.listing-edit-existing-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.listing-edit-image{display:grid;gap:6px;padding:7px;border:1px solid #dce7e1;border-radius:12px;background:#fff}
.listing-edit-image img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px;background:#eef3f0}
.listing-edit-image span{font-size:.76rem;font-weight:800;line-height:1.25}
.listing-edit-add-photo{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;border:1px dashed #9fc8b6;border-radius:12px;background:#f1faf6;color:#0a6c4a;font-weight:900;cursor:pointer}
.listing-edit-add-photo input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.listing-edit-actions{display:flex;justify-content:flex-end;gap:10px}
.listing-edit-location-note{margin:0;padding:10px 12px;border-radius:12px;background:#f7faf9;color:var(--text-muted);font-size:.83rem;line-height:1.45}
.owner-edit-content-button{width:100%;margin:2px 0 10px}
@media(max-width:720px){
  .listing-edit-modal .listing-edit-shell{width:min(100% - 14px,680px);max-height:94dvh;padding:16px 14px}
  .listing-edit-form{grid-template-columns:1fr;gap:11px}
  .listing-edit-form .full{grid-column:1}
  .listing-edit-existing-images{grid-template-columns:repeat(2,minmax(0,1fr))}
  .listing-edit-sale{grid-template-columns:1fr}
  .listing-edit-actions{display:grid;grid-template-columns:1fr}
  .listing-edit-actions .button{width:100%}
}


/* ==========================================================================
   TAKALO V1.9.9.0 RC3 T15 P1.1 — Editor Visibility UX Fix
   ========================================================================== */
.listing-edit-form [hidden],
.listing-edit-sale[hidden],
.listing-edit-exchange[hidden]{
  display:none!important;
}

.listing-edit-sale:not([hidden]){
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
}
.listing-edit-exchange:not([hidden]){
  display:block;
}

.listing-edit-modal .listing-edit-shell{
  position:relative;
}
.listing-edit-modal .modal-close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  left:auto!important;
  margin:0!important;
  z-index:6;
}

.listing-edit-modal .listing-edit-head{
  padding-right:64px;
}

.listing-edit-modal .listing-edit-actions{
  position:sticky;
  bottom:-1px;
  z-index:5;
  padding:12px 0 4px;
  background:linear-gradient(to bottom,rgba(255,255,255,.88),#fff 38%);
  backdrop-filter:blur(8px);
}

@media(max-width:720px){
  .listing-edit-sale:not([hidden]){
    grid-template-columns:1fr;
  }
  .listing-edit-modal .modal-close{
    top:12px!important;
    right:12px!important;
  }
  .listing-edit-modal .listing-edit-head{
    padding-right:56px;
  }
  .listing-edit-modal .listing-edit-actions{
    padding-top:10px;
  }
}


/* ========================================================================== 
   TAKALO V1.9.9.0 RC3 T16 P1 — Mobile Money interop + Phone OTP
   ========================================================================== */
.payment-wallet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}
.payment-wallet-card{border:2px solid var(--line,#dbe4ee);border-radius:24px;padding:1.1rem;display:flex;flex-direction:column;gap:.9rem;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.payment-wallet-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,23,42,.10)}
.payment-wallet-card:has(input:checked){box-shadow:0 0 0 3px rgba(33,94,201,.13),0 16px 32px rgba(15,23,42,.12)}
.payment-wallet-choice{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;cursor:pointer}
.payment-wallet-choice input{position:absolute;opacity:0;pointer-events:none}
.payment-wallet-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:1.8rem}
.payment-wallet-copy{display:flex;flex-direction:column;gap:.2rem}.payment-wallet-copy strong{text-transform:uppercase;letter-spacing:.09em;font-size:.76rem}.payment-wallet-copy b{font-size:1.15rem;letter-spacing:-.02em}
.payment-wallet-action{display:flex;align-items:center;justify-content:center;min-height:46px;padding:.75rem 1rem;border-radius:16px;text-decoration:none;font-weight:800;font-size:.9rem;transition:transform .16s ease,filter .16s ease}
.payment-wallet-action:active{transform:scale(.97)}
.payment-wallet-mvola{background:#fffde7;border-color:#f9c200}.payment-wallet-mvola .payment-wallet-icon,.payment-wallet-mvola .payment-wallet-action{background:linear-gradient(135deg,#f9c200,#ffe033);color:#5a4000}.payment-wallet-mvola .payment-wallet-copy strong{color:#9a7200}
.payment-wallet-airtel .payment-wallet-icon,.payment-wallet-airtel .payment-wallet-action{background:linear-gradient(135deg,#c8102e,#e8324e);color:#fff}.payment-wallet-airtel:has(input:checked){border-color:#c8102e}
.payment-wallet-orange .payment-wallet-icon,.payment-wallet-orange .payment-wallet-action{background:linear-gradient(135deg,#ff6600,#ffaa00);color:#fff}.payment-wallet-orange:has(input:checked){border-color:#ff6600}
.payment-interoperability-note{margin:.35rem 0 1rem;padding:.8rem 1rem;border-radius:14px;background:#f7f9fc;color:#475569;font-size:.86rem;line-height:1.5}
.phone-otp-panel{margin-top:1rem;padding:1rem;border:1px solid #dbe4ee;border-radius:18px;background:#f8fbff;text-align:left;display:grid;gap:.8rem}
.phone-otp-panel[hidden],.phone-otp-form[hidden]{display:none!important}
.phone-otp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.phone-otp-head>div{display:flex;flex-direction:column;gap:.2rem}.phone-otp-head small{color:#64748b}
.phone-otp-badge{display:inline-flex;padding:.3rem .55rem;border-radius:999px;background:#e7efff;color:#174ea6;font-weight:800;font-size:.72rem;letter-spacing:.08em}.phone-otp-badge.verified{background:#dcfce7;color:#166534}
.phone-otp-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;align-items:end}
@media(max-width:760px){.payment-wallet-grid{grid-template-columns:1fr}.payment-wallet-card{padding:1rem}.phone-otp-form{grid-template-columns:1fr}.phone-otp-form .button{width:100%}}


/* S5-A3 NOTIFICATION INBOX UI BEGIN — styles */
.notification-entry-button{position:relative;gap:.45rem}
.notification-unread-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;
  padding:0 .34rem;border-radius:999px;background:#dc2626;color:#fff;font-size:.72rem;font-weight:800;
  line-height:1;box-shadow:0 0 0 2px rgba(255,255,255,.92)
}
.notification-unread-badge[hidden]{display:none!important}
.notification-unread-badge.mobile{position:absolute;top:.18rem;right:calc(50% - 1.15rem);min-width:1.15rem;height:1.15rem;font-size:.65rem}
.mobile-notification-entry{position:relative}
.notification-shell{width:min(94vw,650px);max-height:min(86vh,760px);display:flex;flex-direction:column;padding:0;overflow:hidden}
.notification-head{padding:1rem 1.1rem;border-bottom:1px solid var(--border,#e5e7eb);gap:1rem}
.notification-subtitle{margin:.22rem 0 0;color:var(--muted,#64748b);font-size:.88rem}
.notification-head-actions{display:flex;align-items:center;gap:.5rem}
.notification-list{min-height:180px;max-height:62vh;overflow:auto;padding:.55rem}
.notification-item{
  width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 12px;align-items:start;gap:.72rem;
  border:0;border-bottom:1px solid rgba(148,163,184,.18);background:transparent;color:inherit;
  text-align:left;padding:.88rem .72rem;border-radius:.8rem;cursor:pointer
}
.notification-item:hover,.notification-item:focus-visible{background:rgba(22,58,112,.06);outline:none}
.notification-item.unread{background:rgba(22,58,112,.075)}
.notification-item.read{opacity:.82}
.notification-type-icon{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(22,58,112,.09);font-size:1.12rem
}
.notification-copy{min-width:0;display:grid;gap:.22rem}
.notification-copy>span:last-child{color:var(--muted,#64748b);font-size:.9rem;line-height:1.38}
.notification-line{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem}
.notification-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notification-line time{flex:0 0 auto;color:var(--muted,#64748b);font-size:.73rem;font-weight:600}
.notification-dot{width:9px;height:9px;border-radius:50%;background:#dc2626;margin-top:.5rem}
.notification-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:.35rem;text-align:center;color:var(--muted,#64748b);padding:2rem}
.notification-empty>span{font-size:2rem}.notification-empty strong{color:var(--text,#0f172a)}
.notification-footer{display:flex;justify-content:center;padding:.75rem 1rem;border-top:1px solid var(--border,#e5e7eb)}
@media(max-width:720px){
  .notification-shell{width:100%;max-height:92vh;border-radius:18px 18px 0 0;margin:auto 0 0}
  .notification-head{align-items:flex-start}
  .notification-head-actions{flex-direction:column-reverse;align-items:flex-end}
  .notification-head-actions .button{font-size:.76rem;padding:.48rem .66rem}
  .notification-list{max-height:68vh}
  .notification-item{grid-template-columns:38px minmax(0,1fr) 10px;padding:.78rem .55rem}
  .notification-type-icon{width:38px;height:38px}
}
/* S5-A3 NOTIFICATION INBOX UI END — styles */

/* S5-A4C1 WEB PUSH SUBSCRIPTION FOUNDATION BEGIN — styles */
.notification-push-panel{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:.65rem;padding:.62rem .72rem;border:1px solid rgba(148,163,184,.28);border-radius:12px;background:rgba(248,250,252,.8)}
.notification-push-panel span{font-size:.78rem;color:var(--muted,#64748b);line-height:1.3}.notification-push-panel .button{flex:0 0 auto}
.notification-push-panel.is-active{border-color:rgba(22,163,74,.35);background:rgba(240,253,244,.85)}.notification-push-panel.is-active span{color:#166534}.notification-push-panel.is-unavailable{opacity:.78}
@media(max-width:720px){.notification-push-panel{align-items:stretch;flex-direction:column}.notification-push-panel .button{width:100%}}
/* S5-A4C1 WEB PUSH SUBSCRIPTION FOUNDATION END — styles */

/* ==========================================================================
   TAKALO S6-A1A — Public Boost Visibility
   Pure visual layer. Organic ranking, MATCH and promotion delivery untouched.
   ========================================================================== */
.listing-card.is-boosted{
  position:relative;
  border-color:#93d7bb;
  box-shadow:0 13px 34px rgba(7,105,71,.13),inset 0 0 0 1px rgba(68,197,145,.08);
}
.listing-card.is-boosted:hover{
  box-shadow:0 19px 44px rgba(7,105,71,.18),inset 0 0 0 1px rgba(68,197,145,.12);
}
.boost-visibility-badge{
  position:absolute;
  top:13px;
  left:13px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:calc(100% - 92px);
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.74);
  border-radius:999px;
  color:#064a34;
  background:rgba(224,255,241,.96);
  box-shadow:0 6px 18px rgba(0,0,0,.11);
  backdrop-filter:blur(8px);
  font-size:.70rem;
  font-weight:850;
  line-height:1;
}
.boost-visibility-badge strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font:inherit;
}
.boost-visibility-icon{font-size:.86rem}
.listing-card[data-boost-tier="plus"] .boost-visibility-badge{background:rgba(229,243,255,.97);color:#174f7a}
.listing-card[data-boost-tier="smart"] .boost-visibility-badge{background:rgba(239,233,255,.97);color:#52368c}
.listing-card[data-boost-tier="express"] .boost-visibility-badge{background:rgba(255,239,218,.97);color:#7b4300}
.listing-card[data-boost-tier="premium"] .boost-visibility-badge{background:rgba(255,244,198,.98);color:#684d00}
.boost-detail-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid #bde7d5;
  border-radius:14px;
  color:#064a34;
  background:linear-gradient(135deg,#e9fbf3,#f9fffc);
}
.boost-detail-banner strong{font-size:.84rem}
.boost-detail-banner small{color:#5d7168;font-size:.72rem;text-align:right}
.boost-detail-banner[data-boost-tier="plus"]{border-color:#c5def3;background:linear-gradient(135deg,#edf7ff,#fbfdff)}
.boost-detail-banner[data-boost-tier="smart"]{border-color:#d7cdf4;background:linear-gradient(135deg,#f3efff,#fdfcff)}
.boost-detail-banner[data-boost-tier="express"]{border-color:#f1d3ad;background:linear-gradient(135deg,#fff4e5,#fffdf9)}
.boost-detail-banner[data-boost-tier="premium"]{border-color:#e7d186;background:linear-gradient(135deg,#fff8d9,#fffef7)}
@media(max-width:720px){
  .boost-visibility-badge{top:11px;left:11px;max-width:calc(100% - 86px);padding:6px 9px;font-size:.65rem}
  .boost-detail-banner{align-items:flex-start;flex-direction:column;gap:3px}
  .boost-detail-banner small{text-align:left}
}
@media(prefers-reduced-motion:reduce){
  .listing-card.is-boosted{transition:none!important}
}

/* TAKALO S6-A4B2 — Admin Ticker Review */
.admin-ticker-review-card{
  margin:24px 0;
  padding:22px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.98));
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.admin-ticker-review-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.admin-ticker-review-tools{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.admin-ticker-review-tools strong{white-space:nowrap;font-size:.92rem}
.admin-ticker-review-notice{
  display:flex;
  gap:8px 16px;
  align-items:center;
  flex-wrap:wrap;
  margin:0 0 16px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(245,158,11,.25);
  background:rgba(245,158,11,.08);
}
.admin-ticker-review-notice strong{color:#92400e}
.admin-ticker-review-list{display:grid;gap:14px}
.admin-ticker-review-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  padding:18px;
  border:1px solid rgba(15,23,42,.09);
  border-radius:16px;
  background:#fff;
}
.admin-ticker-review-main{min-width:0}
.admin-ticker-review-topline{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}
.ticker-review-pending{background:rgba(245,158,11,.12);color:#92400e}
.admin-ticker-review-message{
  margin:0 0 14px;
  padding:14px 16px;
  border-left:4px solid #f59e0b;
  border-radius:10px;
  background:rgba(248,250,252,.9);
  font-size:1rem;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.admin-ticker-review-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px;
}
.admin-ticker-review-meta span{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  padding:9px 10px;
  border-radius:10px;
  background:rgba(15,23,42,.035);
}
.admin-ticker-review-meta b{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  opacity:.66;
}
.admin-ticker-review-note textarea{width:100%;resize:vertical;min-height:64px}
.admin-ticker-review-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:126px;
}
@media (max-width:820px){
  .admin-ticker-review-heading,
  .admin-ticker-review-item{
    grid-template-columns:1fr;
    display:grid;
  }
  .admin-ticker-review-tools{justify-content:flex-start}
  .admin-ticker-review-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-ticker-review-actions{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:520px){
  .admin-ticker-review-card{padding:16px}
  .admin-ticker-review-meta{grid-template-columns:1fr}
  .admin-ticker-review-topline{flex-direction:column}
}

/* TAKALO S6-A4B3 — Public Promotion Center */
.promotion-center-page{
  min-height:100vh;
  background:linear-gradient(180deg,#f8fbff 0,#fff 40%,#f8fafc 100%);
}
.promotion-center-shell{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  padding:32px 0 calc(60px + env(safe-area-inset-bottom));
}
.promotion-center-header{
  display:grid;
  gap:18px;
  margin-bottom:24px;
}
.promotion-center-header h1{margin:.2rem 0 .45rem}
.promotion-back-link{font-weight:700;text-decoration:none}
.promotion-auth-gate,
.promotion-product-card{
  border:1px solid rgba(15,23,42,.09);
  border-radius:22px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 48px rgba(15,23,42,.07);
  padding:22px;
}
#promotion-app{display:grid;gap:22px}
.promotion-section-heading{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:16px;
}
.promotion-kind-tabs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-bottom:18px;
}
.promotion-kind-tab{
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  border-radius:14px;
  min-height:48px;
  padding:10px 12px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.promotion-kind-tab.active{
  border-color:rgba(30,102,255,.42);
  background:rgba(30,102,255,.08);
  color:#1746a2;
}
.promotion-order-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.promotion-order-form>.promotion-ticker-field,
.promotion-order-form>.promotion-quote-card,
.promotion-order-form>.promotion-inline-alert,
.promotion-order-form>.promotion-submit-button{grid-column:1/-1}
.promotion-duration-row{display:flex;align-items:center;gap:10px}
.promotion-duration-row input{max-width:110px}
.promotion-quote-card{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:16px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(30,102,255,.08),rgba(16,185,129,.07));
  border:1px solid rgba(30,102,255,.16);
}
.promotion-quote-card strong{font-size:1.55rem}
.promotion-inline-alert{
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(220,38,38,.18);
  background:rgba(220,38,38,.06);
}
.promotion-inline-alert[data-type="success"]{
  border-color:rgba(16,185,129,.25);
  background:rgba(16,185,129,.08);
}
.promotion-inline-alert[data-type="info"]{
  border-color:rgba(30,102,255,.22);
  background:rgba(30,102,255,.07);
}
.promotion-orders-list{display:grid;gap:12px}
.promotion-order-item{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:#fff;
}
.promotion-order-item-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.promotion-order-item-top>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.promotion-order-item code{font-size:.75rem;overflow-wrap:anywhere}
.promotion-order-status{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  font-size:.78rem;
  font-weight:800;
}
.promotion-order-status[data-status="activated"]{background:rgba(16,185,129,.12);color:#047857}
.promotion-order-status[data-status="rejected"],
.promotion-order-status[data-status="payment_failed"]{background:rgba(220,38,38,.09);color:#991b1b}
.promotion-order-item blockquote{
  margin:0;
  padding:12px 14px;
  border-left:4px solid #f59e0b;
  border-radius:10px;
  background:#f8fafc;
}
.promotion-order-meta{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.promotion-order-meta span{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px 9px;
  border-radius:10px;
  background:rgba(15,23,42,.035);
}
.promotion-order-meta b{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;opacity:.65}
.promotion-count-badge{
  min-width:34px;height:34px;border-radius:999px;
  display:grid;place-items:center;
  background:#0f172a;color:#fff;font-weight:800;
}
.promotion-payment-dialog{
  width:min(620px,calc(100% - 24px));
  border:0;
  border-radius:22px;
  padding:0;
  box-shadow:0 24px 70px rgba(15,23,42,.24);
}
.promotion-payment-dialog::backdrop{background:rgba(15,23,42,.52);backdrop-filter:blur(3px)}
.promotion-payment-dialog-inner{position:relative;padding:24px;display:grid;gap:16px}
.promotion-dialog-close{
  position:absolute;right:14px;top:12px;
  width:38px;height:38px;border-radius:999px;border:0;
  background:rgba(15,23,42,.06);font-size:1.4rem;cursor:pointer;
}
.promotion-payment-summary{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
}
.promotion-payment-summary>div{
  display:flex;flex-direction:column;gap:3px;
  padding:10px;border-radius:12px;background:#f8fafc;
}
.promotion-payment-summary span{font-size:.75rem;opacity:.66;text-transform:uppercase}
.promotion-payment-actions{display:flex;gap:10px;flex-wrap:wrap}
.promotion-center-fab{
  position:fixed;
  right:18px;
  bottom:calc(18px + env(safe-area-inset-bottom));
  z-index:52;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:11px 16px;
  border-radius:999px;
  background:#0f172a;
  color:#fff!important;
  text-decoration:none;
  font-weight:800;
  box-shadow:0 12px 30px rgba(15,23,42,.24);
}
@media(max-width:760px){
  .promotion-center-shell{width:min(100% - 20px,1120px);padding-top:18px}
  .promotion-order-form{grid-template-columns:1fr}
  .promotion-order-form>*{grid-column:1!important}
  .promotion-order-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .promotion-section-heading{display:grid}
  .promotion-payment-summary{grid-template-columns:1fr}
}
@media(max-width:480px){
  .promotion-kind-tabs{grid-template-columns:1fr}
  .promotion-order-meta{grid-template-columns:1fr}
  .promotion-order-item-top{display:grid}
  .promotion-center-fab{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:10px 14px}
}

/* TAKALO S6-A4B6 — Manual Multi-Operator Payment Verification */
.promotion-manual-instructions{
  display:grid;
  gap:6px;
  padding:14px;
  border-radius:14px;
  background:rgba(30,102,255,.06);
  border:1px solid rgba(30,102,255,.15);
}
.promotion-payment-destination{
  display:grid;
  gap:4px;
  padding:14px;
  border-radius:14px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
}
.promotion-payment-destination strong{font-size:1.35rem;letter-spacing:.02em}
.admin-manual-payment-card{
  margin:24px 0;
  padding:22px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.98));
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}
.admin-manual-payment-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:14px;
}
.admin-manual-payment-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-manual-payment-notice{
  display:flex;
  gap:8px 16px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:16px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(16,185,129,.07);
  border:1px solid rgba(16,185,129,.20);
}
.admin-manual-payment-list{display:grid;gap:14px}
.admin-manual-payment-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  padding:18px;
  border:1px solid rgba(15,23,42,.09);
  border-radius:16px;
  background:#fff;
}
.admin-manual-payment-main{min-width:0}
.admin-manual-payment-topline{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.admin-manual-payment-reference{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  align-items:center;
  padding:12px 14px;
  margin-bottom:12px;
  border-radius:12px;
  background:rgba(245,158,11,.08);
  border:1px solid rgba(245,158,11,.18);
}
.admin-manual-payment-reference strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
.admin-manual-payment-actions{display:flex;flex-direction:column;gap:8px;min-width:154px}
@media(max-width:820px){
  .admin-manual-payment-heading{display:grid}
  .admin-manual-payment-item{grid-template-columns:1fr}
  .admin-manual-payment-actions{flex-direction:row;flex-wrap:wrap}
}

/* TAKALO S6-A5A — Payment Operations & Notifications */
.payment-operation-alert-toast{
  position:fixed;right:18px;bottom:88px;z-index:9999;width:min(390px,calc(100vw - 28px));
  display:grid;gap:4px;padding:13px 15px;border-radius:15px;background:#0f172a;color:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.28);border:1px solid rgba(255,255,255,.12)
}
.payment-operation-alert-toast[hidden]{display:none!important}
.payment-operation-alert-toast strong{font-size:.92rem}
.payment-operation-alert-toast span{font-size:.82rem;opacity:.88;line-height:1.4}
.payment-operation-alert-badge{
  position:fixed;right:18px;bottom:24px;z-index:9998;display:inline-flex;align-items:center;gap:6px;
  min-height:42px;padding:0 12px;border-radius:999px;background:#fff;color:#0f172a;text-decoration:none;
  border:1px solid rgba(15,23,42,.12);box-shadow:0 12px 28px rgba(15,23,42,.16);font-weight:850
}
.payment-operation-alert-badge[hidden]{display:none!important}
.payment-operation-alert-badge span{min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;background:#dc2626;color:#fff;font-size:.7rem}
.promotion-payment-history-summary,.admin-payment-ops-summary{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 15px}
.promotion-payment-history-summary span,.admin-payment-ops-summary span{padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:.78rem}
.admin-payment-ops-summary .is-warning{background:#fff7ed;color:#9a3412}
.promotion-payment-history-list,.admin-payment-history-list{display:grid;gap:12px}
.promotion-payment-history-item,.admin-payment-history-item{padding:15px;border:1px solid rgba(15,23,42,.09);border-radius:15px;background:#fff}
.promotion-payment-history-top,.admin-payment-history-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.admin-payment-history-top>div{display:grid;gap:3px}
.promotion-payment-history-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:850;background:#eef2ff;color:#3730a3}
.promotion-payment-history-status[data-status="verified"]{background:#ecfdf5;color:#047857}
.promotion-payment-history-status[data-status="rejected"]{background:#fef2f2;color:#b91c1c}
.promotion-payment-history-status[data-status="submitted"]{background:#fff7ed;color:#c2410c}
.promotion-payment-history-grid,.admin-payment-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.promotion-payment-history-grid span,.admin-payment-history-grid span{display:grid;gap:2px;font-size:.78rem;min-width:0}
.promotion-payment-history-grid b,.admin-payment-history-grid b{color:#64748b;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}
.promotion-payment-history-grid code,.admin-payment-history-grid code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.promotion-payment-history-note{margin:10px 0 0;padding:9px 10px;border-radius:10px;background:#fff7ed;color:#7c2d12;font-size:.78rem}
.admin-payment-history-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.admin-payment-history-controls select,.admin-payment-history-controls input{min-height:38px;border:1px solid rgba(15,23,42,.14);border-radius:10px;padding:0 10px;background:#fff}
@media(max-width:760px){
  .promotion-payment-history-grid,.admin-payment-history-grid{grid-template-columns:1fr 1fr}
  .admin-payment-history-controls{display:grid;grid-template-columns:1fr}
}
@media(max-width:480px){
  .promotion-payment-history-grid,.admin-payment-history-grid{grid-template-columns:1fr}
}

/* S6-A5E R1 B2B SUBSCRIPTIONS UI */
.b2b-subscriptions-section{margin:28px 0 30px;padding:24px;border:1px solid #d7e8df;border-radius:24px;background:linear-gradient(180deg,#fff,#f7fbf9);box-shadow:0 12px 34px rgba(6,74,52,.06)}
.b2b-subscriptions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.b2b-subscriptions-head h2{margin:4px 0 7px;font-size:clamp(1.45rem,2.2vw,2rem);color:var(--green-900)}
.b2b-subscriptions-head p{margin:0;max-width:720px;color:var(--muted)}
.b2b-subscription-manual-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border-radius:999px;background:#e7f6ee;color:#086044;font-size:.72rem;font-weight:900}
.b2b-subscription-usage{display:grid;grid-template-columns:auto auto minmax(220px,1fr) auto;align-items:center;gap:16px;padding:15px 17px;margin-bottom:14px;border:1px solid #dce8e2;border-radius:18px;background:#fff}
.b2b-subscription-usage>div:first-child{display:flex;align-items:center;gap:10px}.b2b-subscription-usage h3{margin:1px 0}.b2b-subscription-usage small{color:var(--muted);font-weight:800}.b2b-subscription-usage p{margin:0;color:var(--muted);font-size:.86rem}
.b2b-usage-price{display:grid}.b2b-usage-price strong{font-size:1.28rem;color:var(--green-900)}.b2b-usage-price span{font-size:.72rem;color:var(--muted)}
.b2b-subscription-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.b2b-subscription-card{position:relative;display:flex;flex-direction:column;min-height:100%;padding:20px;border:1px solid #dce8e2;border-radius:20px;background:#fff;box-shadow:0 7px 24px rgba(16,63,48,.05)}
.b2b-subscription-card.is-featured{border:2px solid #12815d;box-shadow:0 16px 38px rgba(11,112,78,.13);transform:translateY(-3px)}
.b2b-plan-ribbon{position:absolute;right:14px;top:14px;padding:5px 8px;border-radius:999px;background:#0b7654;color:#fff;font-size:.66rem;font-weight:900}
.b2b-plan-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px}.b2b-plan-heading h3{margin:2px 0;color:var(--green-900)}.b2b-plan-heading small{font-weight:800;color:var(--muted)}
.b2b-plan-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#edf8f3;font-size:1.25rem}
.b2b-plan-periods{display:grid;gap:6px;margin:4px 0 12px}.b2b-plan-periods span{display:flex;justify-content:space-between;gap:12px;padding:7px 9px;border-radius:10px;background:#f7faf9;font-size:.81rem}.b2b-plan-periods b{color:var(--muted)}
.b2b-plan-price{display:grid;margin:4px 0 12px}.b2b-plan-price strong{font-size:1.3rem;color:var(--green-900)}.b2b-plan-price span{font-size:.75rem;color:var(--muted)}
.b2b-plan-limit{margin:0 0 9px;font-size:.83rem;color:var(--green-900)}
.b2b-subscription-card ul,.b2b-subscription-selection ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:7px;color:#42584f;font-size:.82rem}
.b2b-subscription-card .button{margin-top:auto}
.b2b-subscription-footnote{margin:14px 0 0;color:var(--muted);font-size:.78rem;text-align:center}
.b2b-subscription-selection-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef7f3;color:#076343;font-size:.7rem;font-weight:900}.b2b-subscription-selection h3{margin:10px 0 4px;font-size:1.45rem}.b2b-subscription-selection-price{font-size:1.02rem;color:var(--green-900)}
.b2b-subscription-foundation-note{display:grid;gap:5px;margin-top:16px;padding:13px;border-radius:14px;background:#fff8e8;border:1px solid #f0d89b;color:#614a0b;font-size:.82rem}
@media(max-width:900px){.b2b-subscription-grid{grid-template-columns:1fr}.b2b-subscription-card.is-featured{transform:none}.b2b-subscription-usage{grid-template-columns:1fr 1fr}.b2b-subscription-usage p{grid-column:1/-1}}
@media(max-width:620px){.b2b-subscriptions-section{padding:16px;margin-inline:-2px}.b2b-subscriptions-head{display:grid}.b2b-subscription-usage{grid-template-columns:1fr}.b2b-subscription-usage p{grid-column:auto}}



/* S6-A5E R2 B2B SUBSCRIPTION MOBILE MONEY UI */
.b2b-subscription-payment-form{display:grid;gap:13px;margin-top:16px}
.b2b-subscription-payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.b2b-subscription-payment-method{display:grid;gap:4px;text-align:left;padding:12px;border:1px solid #d5e3dc;border-radius:14px;background:#fff;cursor:pointer}
.b2b-subscription-payment-method strong{color:var(--green-900)}.b2b-subscription-payment-method span{font-size:.8rem;color:var(--muted)}
.b2b-subscription-payment-method.is-selected{border:2px solid #0c7b58;background:#eff9f5;box-shadow:0 7px 20px rgba(8,104,73,.08)}
.b2b-subscription-payment-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:#f5faf7;border:1px solid #dce9e2}
.b2b-subscription-payment-summary strong{font-size:1.1rem;color:var(--green-900)}
@media(max-width:620px){.b2b-subscription-payment-methods{grid-template-columns:1fr}}

/* S6-A5E R2.1 HARDENING */
.admin-b2b-load-more{display:flex;justify-content:center;margin-top:12px}

/* S6-A5F R1 UNIFIED MONETIZATION */
.b2b-usage-payment-panel{display:grid;gap:14px}.b2b-usage-payment-panel form{display:grid;gap:12px}

/* TAKALO — Hero subtitle natural case */
.hero-mode-kicker {
    text-transform: none !important;
    letter-spacing: 0.06em;
}

/* ==========================================================
   TAKALO — HERO SLOGAN 2 LIGNES
   Mividy, Mivarotra,
   Manakalo & Mizara...
   ========================================================== */

.hero-slogan-corporate {
    max-width: 760px;
    width: 100%;
    font-size: clamp(42px, 4.15vw, 72px);
    line-height: 0.98;
    letter-spacing: -0.035em;
    white-space: normal;
    overflow: visible;
}

.hero-slogan-corporate .hero-slogan-first,
.hero-slogan-corporate .hero-highlight {
    display: block;
    width: fit-content;
    max-width: 100%;
}

.hero-slogan-corporate .hero-highlight {
    margin-top: 0.08em;
}

@media (max-width: 1100px) {
    .hero-slogan-corporate {
        max-width: 620px;
        font-size: clamp(38px, 5vw, 58px);
    }
}

@media (max-width: 768px) {
    .hero-slogan-corporate {
        max-width: 100%;
        font-size: clamp(34px, 10vw, 50px);
        line-height: 1;
        letter-spacing: -0.025em;
    }
}

@media (max-width: 480px) {
    .hero-slogan-corporate {
        font-size: clamp(30px, 9.5vw, 42px);
    }
}

/* ==========================================================
   TAKALO — Hero slogan final 2 lines
   ========================================================== */

.hero-slogan-corporate {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    white-space: normal !important;
    overflow: visible !important;
    line-height: .94 !important;
    font-size: clamp(46px, 4.1vw, 72px) !important;
    letter-spacing: -0.045em !important;
}

.hero-slogan-corporate .hero-slogan-first,
.hero-slogan-corporate .hero-highlight {
    display: block !important;
    width: max-content;
    max-width: 100%;
    white-space: nowrap !important;
}

.hero-slogan-corporate .hero-highlight {
    margin-top: .08em;
}

.hero-mode-kicker {
    text-transform: none !important;
    letter-spacing: .025em !important;
    margin-top: 14px !important;
}

@media (max-width: 1100px) {
    .hero-slogan-corporate {
        max-width: 610px !important;
        font-size: clamp(40px, 5vw, 58px) !important;
    }
}

@media (max-width: 768px) {
    .hero-slogan-corporate {
        max-width: 100% !important;
        font-size: clamp(34px, 9vw, 48px) !important;
        line-height: .98 !important;
    }

    .hero-slogan-corporate .hero-slogan-first,
    .hero-slogan-corporate .hero-highlight {
        white-space: normal !important;
    }
}

/* ==========================================================
   TAKALO — FORCE HERO SLOGAN ON 2 REAL LINES
   ========================================================== */

.hero-slogan-corporate {
    display: block !important;
    width: 720px !important;
    max-width: min(720px, 100%) !important;
    white-space: normal !important;
    overflow: visible !important;

    font-size: clamp(46px, 4vw, 68px) !important;
    line-height: .96 !important;
    letter-spacing: -0.045em !important;
}

.hero-slogan-corporate > .hero-slogan-first,
.hero-slogan-corporate > .hero-highlight {
    display: block !important;
    position: relative !important;
    float: none !important;

    width: auto !important;
    max-width: 100% !important;

    white-space: nowrap !important;
}

.hero-slogan-corporate > .hero-slogan-first {
    margin: 0 !important;
}

.hero-slogan-corporate > .hero-highlight {
    margin: .10em 0 0 0 !important;
}

.hero-mode-kicker {
    display: block !important;
    clear: both !important;

    margin-top: 16px !important;

    text-transform: none !important;
    letter-spacing: .025em !important;
    font-size: clamp(13px, .95vw, 16px) !important;
}

/* Desktop intermédiaire */
@media (max-width: 1200px) {
    .hero-slogan-corporate {
        width: 620px !important;
        max-width: 620px !important;
        font-size: clamp(42px, 4.6vw, 58px) !important;
    }
}

/* Tablette / mobile */
@media (max-width: 768px) {
    .hero-slogan-corporate {
        width: 100% !important;
        max-width: 100% !important;
        font-size: clamp(34px, 9vw, 48px) !important;
        line-height: 1 !important;
    }

    .hero-slogan-corporate > .hero-slogan-first,
    .hero-slogan-corporate > .hero-highlight {
        white-space: normal !important;
    }

    .hero-mode-kicker {
        font-size: 13px !important;
        line-height: 1.35 !important;
    }
}

/* ==========================================================
   TAKALO — Mobile bottom navigation without Alertes
   B2B | Proximité | Publier | Messages
   ========================================================== */

.mobile-bottom-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* ==========================================================
   TAKALO — Mobile header compact + porte-drapeau malagasy
   TAKALO | Data(icon) | Live | Notifications(icon) | Flag bearer
   ========================================================== */

@media (max-width: 720px) {

    .site-header-v1990-rc2 {
        overflow: visible !important;
    }

    .site-header-v1990-rc2 .header-main-row {
        width: calc(100% - 12px) !important;
        min-height: 62px !important;
        padding-inline: 0 !important;
        gap: 4px !important;
        overflow: visible !important;
    }

    /* ---------- Marque TAKALO ---------- */

    .site-header-v1990-rc2 .brand {
        flex: 0 0 auto !important;
        min-width: 0 !important;
        gap: 6px !important;
    }

    .site-header-v1990-rc2 .brand-mark {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
        border-radius: 12px !important;
    }

    .site-header-v1990-rc2 .brand-mark svg {
        width: 23px !important;
    }

    .site-header-v1990-rc2 .brand strong {
        font-size: .96rem !important;
        letter-spacing: .065em !important;
        white-space: nowrap !important;
    }

    .site-header-v1990-rc2 .brand small {
        display: none !important;
    }

    /* ---------- Zone actions ---------- */

    .site-header-v1990-rc2 .header-right {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin-left: auto !important;
        gap: 3px !important;
        overflow: visible !important;
    }

    .site-header-v1990-rc2 .top-actions {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
        gap: 4px !important;
    }

    .site-header-v1990-rc2 .top-actions > .button {
        min-height: 40px !important;
        height: 40px !important;
        padding: 5px 8px !important;
        border-radius: 11px !important;
        font-size: .72rem !important;
        line-height: 1 !important;
    }

    /* ---------- Data : icône compacte ---------- */

    .site-header-v1990-rc2 .data-saver-button {
        width: 38px !important;
        min-width: 38px !important;
        flex: 0 0 38px !important;
        padding: 0 !important;
    }

    .site-header-v1990-rc2 .data-saver-button > span[aria-hidden="true"] {
        font-size: 1rem !important;
    }

    .site-header-v1990-rc2 .data-saver-label {
        display: none !important;
    }

    /* ---------- Live ---------- */

    .site-header-v1990-rc2 .takalo-live-header-button {
        min-width: 57px !important;
        padding-inline: 7px !important;
        font-size: .72rem !important;
        white-space: nowrap !important;
    }

    /* ---------- Notifications : cloche seule ---------- */

    .site-header-v1990-rc2 .notification-entry-button {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        flex: 0 0 40px !important;
        padding: 0 !important;

        /*
         * Le texte brut "Notifications" devient invisible,
         * mais la cloche et le badge restent visibles.
         * aria-label reste intact pour l'accessibilité.
         */
        font-size: 0 !important;
    }

    .site-header-v1990-rc2
    .notification-entry-button > span[aria-hidden="true"] {
        font-size: 1rem !important;
        line-height: 1 !important;
    }

    .site-header-v1990-rc2
    .notification-entry-button .notification-unread-badge {
        font-size: .58rem !important;
    }

    /* ---------- Porte-drapeau Malagasy ---------- */

    .site-header-v1990-rc2 .header-flag-bearer,
    .site-header-v1990-rc2 .header-flag-bearer-compact {
        width: 34px !important;
        height: 48px !important;
        min-width: 34px !important;
        flex: 0 0 34px !important;

        margin: 0 0 0 1px !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;

        opacity: 1 !important;
        overflow: visible !important;
        align-self: center !important;
    }

    .site-header-v1990-rc2 .header-flag-bearer img,
    .site-header-v1990-rc2 .header-flag-bearer-compact img {
        display: block !important;

        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;

        object-fit: contain !important;
        object-position: center bottom !important;

        opacity: 1 !important;
        transform: none !important;
    }
}

/* Très petits smartphones */
@media (max-width: 420px) {

    .site-header-v1990-rc2 .header-main-row {
        width: calc(100% - 8px) !important;
        gap: 3px !important;
    }

    .site-header-v1990-rc2 .brand {
        gap: 5px !important;
    }

    .site-header-v1990-rc2 .brand-mark {
        width: 36px !important;
        height: 36px !important;
        flex-basis: 36px !important;
    }

    .site-header-v1990-rc2 .brand strong {
        font-size: .90rem !important;
        letter-spacing: .055em !important;
    }

    .site-header-v1990-rc2 .top-actions {
        gap: 3px !important;
    }

    .site-header-v1990-rc2 .data-saver-button {
        width: 36px !important;
        min-width: 36px !important;
        flex-basis: 36px !important;
    }

    .site-header-v1990-rc2 .takalo-live-header-button {
        min-width: 53px !important;
        padding-inline: 5px !important;
        font-size: .68rem !important;
    }

    .site-header-v1990-rc2 .notification-entry-button {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        flex-basis: 38px !important;
    }

    .site-header-v1990-rc2 .header-flag-bearer,
    .site-header-v1990-rc2 .header-flag-bearer-compact {
        width: 32px !important;
        min-width: 32px !important;
        height: 46px !important;
        flex-basis: 32px !important;
    }
}

/* ==========================================================
   TAKALO — FORCE COMPACT MOBILE HEADER
   ========================================================== */

@media (max-width: 720px) {

    .site-header-v1990-rc2 .header-main-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 6px !important;
        width: calc(100% - 10px) !important;
        min-height: 60px !important;
        overflow: visible !important;
    }

    /* Bloc marque */
    .site-header-v1990-rc2 .brand {
        min-width: 0 !important;
        max-width: calc(100vw - 195px) !important;
        gap: 6px !important;
        overflow: hidden !important;
    }

    .site-header-v1990-rc2 .brand-mark {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
        border-radius: 12px !important;
    }

    .site-header-v1990-rc2 .brand strong {
        font-size: .95rem !important;
        letter-spacing: .055em !important;
        white-space: nowrap !important;
    }

    .site-header-v1990-rc2 .brand small {
        display: none !important;
    }

    /* Zone actions compacte */
    .site-header-v1990-rc2 .header-right {
        flex: 0 0 auto !important;
        min-width: auto !important;
        margin-left: 0 !important;
        overflow: visible !important;
    }

    .site-header-v1990-rc2 .top-actions {
        display: grid !important;
        grid-template-columns: 36px 58px 40px 34px !important;
        grid-auto-rows: 40px !important;
        align-items: center !important;
        justify-content: end !important;
        gap: 4px !important;
        width: auto !important;
        min-width: auto !important;
        overflow: visible !important;
        flex: 0 0 auto !important;
    }

    /* Neutraliser les largeurs génériques */
    .site-header-v1990-rc2 .top-actions > .button,
    .site-header-v1990-rc2 .top-actions > a.button {
        min-height: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        border-radius: 11px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    /* Data -> icône seule */
    .site-header-v1990-rc2 .data-saver-button {
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        flex: none !important;
        justify-content: center !important;
    }

    .site-header-v1990-rc2 .data-saver-label {
        display: none !important;
    }

    .site-header-v1990-rc2 .data-saver-button > span[aria-hidden="true"] {
        font-size: 1rem !important;
    }

    /* Live compact mais lisible */
    .site-header-v1990-rc2 .takalo-live-header-button {
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
        padding-inline: 6px !important;
        font-size: .72rem !important;
        justify-content: center !important;
    }

    /* Notifications -> cloche seule */
    .site-header-v1990-rc2 .notification-entry-button {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        padding: 0 !important;
        justify-content: center !important;
        font-size: 0 !important;
        color: transparent !important;
        overflow: visible !important;
    }

    .site-header-v1990-rc2 .notification-entry-button > span[aria-hidden="true"] {
        font-size: 1rem !important;
        line-height: 1 !important;
        color: inherit !important;
    }

    .site-header-v1990-rc2 .notification-entry-button .notification-unread-badge {
        font-size: .58rem !important;
    }

    /* Porte-drapeau Malagasy */
    .site-header-v1990-rc2 .header-flag-bearer,
    .site-header-v1990-rc2 .header-flag-bearer-compact {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 48px !important;
        flex: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        overflow: visible !important;
        opacity: 1 !important;
    }

    .site-header-v1990-rc2 .header-flag-bearer img,
    .site-header-v1990-rc2 .header-flag-bearer-compact img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
        object-position: center bottom !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

@media (max-width: 420px) {

    .site-header-v1990-rc2 .brand {
        max-width: calc(100vw - 183px) !important;
    }

    .site-header-v1990-rc2 .brand strong {
        font-size: .91rem !important;
        letter-spacing: .045em !important;
    }

    .site-header-v1990-rc2 .top-actions {
        grid-template-columns: 34px 54px 38px 32px !important;
        gap: 3px !important;
    }

    .site-header-v1990-rc2 .data-saver-button {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
    }

    .site-header-v1990-rc2 .takalo-live-header-button {
        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;
        font-size: .69rem !important;
    }

    .site-header-v1990-rc2 .notification-entry-button {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
    }

    .site-header-v1990-rc2 .header-flag-bearer,
    .site-header-v1990-rc2 .header-flag-bearer-compact {
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 46px !important;
    }
}

/* ==========================================================
   TAKALO — FINAL MOBILE HEADER STRUCTURE
   TAKALO | [ Data | Live | Bell ] | Flag bearer
   ========================================================== */

@media (max-width:720px) {

    .site-header-v1990-rc2 .header-main-row {
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        width:calc(100% - 10px) !important;
        gap:5px !important;
        overflow:visible !important;
    }

    /* TAKALO */
    .site-header-v1990-rc2 .brand {
        flex:0 1 auto !important;
        min-width:0 !important;
        max-width:none !important;
        gap:5px !important;
        overflow:visible !important;
    }

    .site-header-v1990-rc2 .brand-mark {
        width:37px !important;
        height:37px !important;
        flex:0 0 37px !important;
    }

    .site-header-v1990-rc2 .brand strong {
        font-size:.91rem !important;
        letter-spacing:.045em !important;
        white-space:nowrap !important;
    }

    .site-header-v1990-rc2 .brand small {
        display:none !important;
    }

    /* Actions + porte-drapeau */
    .site-header-v1990-rc2 .header-right {
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        flex:0 0 auto !important;
        width:auto !important;
        min-width:0 !important;
        gap:4px !important;
        margin-left:auto !important;
        overflow:visible !important;
    }

    /* Seulement 3 boutons ici.
       Le porte-drapeau est un élément séparé. */
    .site-header-v1990-rc2 .top-actions {
        display:grid !important;
        grid-template-columns:36px 56px 40px !important;
        grid-template-rows:40px !important;
        align-items:center !important;
        gap:4px !important;
        flex:0 0 auto !important;
        width:140px !important;
        min-width:140px !important;
        overflow:visible !important;
    }

    .site-header-v1990-rc2 .top-actions > .button {
        box-sizing:border-box !important;
        min-height:40px !important;
        height:40px !important;
        margin:0 !important;
        border-radius:11px !important;
    }

    /* DATA = éclair seul */
    .site-header-v1990-rc2 .data-saver-button {
        width:36px !important;
        min-width:36px !important;
        max-width:36px !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    .site-header-v1990-rc2 .data-saver-label {
        display:none !important;
    }

    /* LIVE */
    .site-header-v1990-rc2 .takalo-live-header-button {
        width:56px !important;
        min-width:56px !important;
        max-width:56px !important;
        padding:0 5px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        font-size:.69rem !important;
        white-space:nowrap !important;
    }

    /* NOTIFICATIONS = cloche seule */
    .site-header-v1990-rc2 .notification-entry-button {
        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        overflow:visible !important;

        /* masque uniquement le texte brut */
        font-size:0 !important;

        /* surtout pas transparent :
           la cloche doit rester visible */
        color:var(--ink) !important;
    }

    .site-header-v1990-rc2
    .notification-entry-button > span[aria-hidden="true"] {
        display:inline-block !important;
        font-size:1.05rem !important;
        line-height:1 !important;
        color:inherit !important;
    }

    .site-header-v1990-rc2
    .notification-entry-button .notification-unread-badge {
        font-size:.56rem !important;
    }

    /* PORTEUR DU DRAPEAU */
    .site-header-v1990-rc2 .header-flag-bearer,
    .site-header-v1990-rc2 .header-flag-bearer-compact {
        display:block !important;
        position:relative !important;

        width:34px !important;
        min-width:34px !important;
        max-width:34px !important;
        height:48px !important;

        flex:0 0 34px !important;

        margin:0 !important;
        padding:0 !important;

        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;

        overflow:visible !important;
        opacity:1 !important;
    }

    .site-header-v1990-rc2 .header-flag-bearer img,
    .site-header-v1990-rc2 .header-flag-bearer-compact img {
        display:block !important;
        width:34px !important;
        height:48px !important;

        object-fit:contain !important;
        object-position:center bottom !important;

        max-width:none !important;
        max-height:none !important;
        transform:none !important;
        opacity:1 !important;
    }
}

@media (max-width:420px) {

    .site-header-v1990-rc2 .header-main-row {
        width:calc(100% - 6px) !important;
        gap:3px !important;
    }

    .site-header-v1990-rc2 .brand {
        gap:4px !important;
    }

    .site-header-v1990-rc2 .brand-mark {
        width:35px !important;
        height:35px !important;
        flex-basis:35px !important;
    }

    .site-header-v1990-rc2 .brand strong {
        font-size:.87rem !important;
        letter-spacing:.035em !important;
    }

    .site-header-v1990-rc2 .header-right {
        gap:3px !important;
    }

    .site-header-v1990-rc2 .top-actions {
        grid-template-columns:33px 52px 37px !important;
        width:128px !important;
        min-width:128px !important;
        gap:3px !important;
    }

    .site-header-v1990-rc2 .data-saver-button {
        width:33px !important;
        min-width:33px !important;
        max-width:33px !important;
    }

    .site-header-v1990-rc2 .takalo-live-header-button {
        width:52px !important;
        min-width:52px !important;
        max-width:52px !important;
        font-size:.65rem !important;
    }

    .site-header-v1990-rc2 .notification-entry-button {
        width:37px !important;
        min-width:37px !important;
        max-width:37px !important;
    }

    .site-header-v1990-rc2 .header-flag-bearer,
    .site-header-v1990-rc2 .header-flag-bearer-compact {
        width:30px !important;
        min-width:30px !important;
        max-width:30px !important;
        height:45px !important;
        flex-basis:30px !important;
    }

    .site-header-v1990-rc2 .header-flag-bearer img,
    .site-header-v1990-rc2 .header-flag-bearer-compact img {
        width:30px !important;
        height:45px !important;
    }
}

/* ==========================================================
   TAKALO — MOBILE HEADER R2 FINAL
   Correctifs :
   - haute spécificité sur les boutons du header
   - aucun débordement de texte
   - porte-drapeau entièrement visible
   - bottom nav 5 éléments sur une seule ligne
   ========================================================== */

@media (max-width:720px) {

    /* -------------------------------------------------------
       HEADER PRINCIPAL
       ------------------------------------------------------- */

    .site-header-v1990-rc2 .header-main-row {
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        width:calc(100% - 12px) !important;
        min-height:60px !important;
        gap:6px !important;
        overflow:visible !important;
    }

    .site-header-v1990-rc2 .brand {
        display:flex !important;
        align-items:center !important;
        flex:0 1 auto !important;
        min-width:0 !important;
        gap:5px !important;
        overflow:visible !important;
    }

    .site-header-v1990-rc2 .brand-mark {
        width:37px !important;
        height:37px !important;
        flex:0 0 37px !important;
        border-radius:11px !important;
    }

    .site-header-v1990-rc2 .brand strong {
        font-size:.89rem !important;
        line-height:1 !important;
        letter-spacing:.04em !important;
        white-space:nowrap !important;
    }

    .site-header-v1990-rc2 .brand small {
        display:none !important;
    }

    .site-header-v1990-rc2 .header-right {
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        flex:0 0 auto !important;
        width:auto !important;
        min-width:0 !important;
        gap:4px !important;
        margin-left:auto !important;
        overflow:visible !important;
    }

    .site-header-v1990-rc2 .top-actions {
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        flex:0 0 auto !important;
        width:auto !important;
        min-width:0 !important;
        gap:4px !important;
        overflow:visible !important;
    }

    /*
       IMPORTANT :
       Sélecteurs plus spécifiques que
       .site-header-v1990-rc2 .top-actions > .button
    */

    /* DATA — éclair seul */
    .site-header-v1990-rc2
    .top-actions > .data-saver-button {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:36px !important;
        min-width:36px !important;
        max-width:36px !important;

        height:40px !important;
        min-height:40px !important;

        padding:0 !important;
        margin:0 !important;

        font-size:0 !important;
        border-radius:11px !important;
        overflow:hidden !important;
    }

    .site-header-v1990-rc2
    .top-actions > .data-saver-button
    > span[aria-hidden="true"] {
        display:block !important;
        font-size:1.08rem !important;
        line-height:1 !important;
    }

    .site-header-v1990-rc2
    .top-actions > .data-saver-button
    .data-saver-label {
        display:none !important;
    }

    /* LIVE — compact */
    .site-header-v1990-rc2
    .top-actions > .takalo-live-header-button {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:58px !important;
        min-width:58px !important;
        max-width:58px !important;

        height:40px !important;
        min-height:40px !important;

        padding:0 5px !important;
        margin:0 !important;

        font-size:.68rem !important;
        line-height:1 !important;
        letter-spacing:0 !important;
        white-space:nowrap !important;

        border-radius:11px !important;
        overflow:hidden !important;
    }

    /* NOTIFICATIONS — cloche seule */
    .site-header-v1990-rc2
    .top-actions > .notification-entry-button {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        position:relative !important;

        width:40px !important;
        min-width:40px !important;
        max-width:40px !important;

        height:40px !important;
        min-height:40px !important;

        padding:0 !important;
        margin:0 !important;

        font-size:0 !important;
        line-height:0 !important;
        letter-spacing:0 !important;

        color:var(--ink) !important;
        border-radius:11px !important;
        overflow:visible !important;
    }

    .site-header-v1990-rc2
    .top-actions > .notification-entry-button
    > span[aria-hidden="true"] {
        display:block !important;
        flex:0 0 auto !important;

        margin:0 !important;
        padding:0 !important;

        font-size:1.05rem !important;
        line-height:1 !important;

        color:var(--ink) !important;
    }

    .site-header-v1990-rc2
    .top-actions > .notification-entry-button
    .notification-unread-badge {
        position:absolute !important;
        top:-4px !important;
        right:-4px !important;

        font-size:.55rem !important;
        line-height:1 !important;
    }

    /* PORTE-DRAPEAU MALAGASY */
    .site-header-v1990-rc2
    .header-flag-bearer.header-flag-bearer-compact {
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:34px !important;
        min-width:34px !important;
        max-width:34px !important;

        height:48px !important;
        flex:0 0 34px !important;

        margin:0 !important;
        padding:0 !important;

        border:0 !important;
        border-radius:0 !important;
        background:transparent !important;

        overflow:visible !important;
        opacity:1 !important;
    }

    .site-header-v1990-rc2
    .header-flag-bearer.header-flag-bearer-compact img {
        display:block !important;

        width:34px !important;
        height:48px !important;

        max-width:34px !important;
        max-height:48px !important;

        object-fit:contain !important;
        object-position:center bottom !important;

        margin:0 !important;
        transform:none !important;
        opacity:1 !important;
    }

    /* -------------------------------------------------------
       BARRE BASSE
       5 éléments :
       B2B | Proximité | Publier | Messages | Compte
       ------------------------------------------------------- */

    .mobile-bottom-nav {
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        grid-auto-flow:column !important;
        grid-template-rows:1fr !important;

        align-items:end !important;

        min-height:68px !important;
        height:auto !important;

        padding:7px 5px !important;
    }

    .mobile-bottom-nav > .mobile-nav-item {
        min-width:0 !important;
        width:auto !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    .mobile-bottom-nav .mobile-account-entry {
        grid-row:1 !important;
        margin:0 !important;
    }

    .mobile-bottom-nav .mobile-nav-publish {
        grid-row:1 !important;
        margin-top:-22px !important;
    }
}

@media (max-width:420px) {

    .site-header-v1990-rc2 .header-main-row {
        width:calc(100% - 8px) !important;
        gap:3px !important;
    }

    .site-header-v1990-rc2 .brand {
        gap:4px !important;
    }

    .site-header-v1990-rc2 .brand-mark {
        width:35px !important;
        height:35px !important;
        flex-basis:35px !important;
    }

    .site-header-v1990-rc2 .brand strong {
        font-size:.84rem !important;
        letter-spacing:.025em !important;
    }

    .site-header-v1990-rc2 .header-right,
    .site-header-v1990-rc2 .top-actions {
        gap:3px !important;
    }

    .site-header-v1990-rc2
    .top-actions > .data-saver-button {
        width:33px !important;
        min-width:33px !important;
        max-width:33px !important;
    }

    .site-header-v1990-rc2
    .top-actions > .takalo-live-header-button {
        width:52px !important;
        min-width:52px !important;
        max-width:52px !important;
        padding-inline:3px !important;
        font-size:.63rem !important;
    }

    .site-header-v1990-rc2
    .top-actions > .notification-entry-button {
        width:36px !important;
        min-width:36px !important;
        max-width:36px !important;
    }

    .site-header-v1990-rc2
    .header-flag-bearer.header-flag-bearer-compact {
        width:30px !important;
        min-width:30px !important;
        max-width:30px !important;
        height:45px !important;
        flex-basis:30px !important;
    }

    .site-header-v1990-rc2
    .header-flag-bearer.header-flag-bearer-compact img {
        width:30px !important;
        height:45px !important;
        max-width:30px !important;
        max-height:45px !important;
    }

    .mobile-bottom-nav {
        padding-inline:3px !important;
    }

    .mobile-bottom-nav .mobile-nav-item small {
        font-size:.53rem !important;
    }
}

/* ==========================================================
   TAKALO — MOBILE HEADER MARGINS R3
   Respiration latérale finale
   ========================================================== */

@media (max-width:720px) {
    .site-header-v1990-rc2 .header-main-row {
        width:calc(100% - 16px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
}

@media (max-width:420px) {
    .site-header-v1990-rc2 .header-main-row {
        width:calc(100% - 12px) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
}

/* ==================================================================
   TAKALO POST-R2 FORM MODES R2 — AUTHORITATIVE VISIBILITY
   Vente   : aucun champ "Échange souhaité"
   Échange : contrepartie visible, aucun prix de vente
   Don     : aucun prix et aucune contrepartie
   ================================================================== */

#desired-exchange-field[hidden],
#sale-price-fields[hidden],
#donation-form-motto[hidden] {
  display: none !important;
}

/*
 * Défense supplémentaire contre les règles de layout du formulaire.
 * aria-hidden est synchronisé par app.js.
 */
#desired-exchange-field[aria-hidden="true"],
#sale-price-fields[aria-hidden="true"],
#donation-form-motto[aria-hidden="true"] {
  display: none !important;
}

/* ======================================================================
   S6 SERVICES S4A — PUBLIC CATALOG + CREATE + OWNER PAYMENT UI
   ====================================================================== */
.services-section {
  padding: 72px 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(17,150,99,.08), transparent 34%),
    linear-gradient(180deg, #fff 0%, var(--green-50) 100%);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.services-heading { align-items: flex-end; gap: 24px; }
.services-heading-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.services-flow-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 22px 0;
}
.services-flow-strip > span {
  min-height: 56px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.88);
  font-size: .9rem;
  font-weight: 700;
}
.services-flow-strip strong {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-800);
}
.services-filter-bar {
  display: grid;
  grid-template-columns: minmax(240px, 1.6fr) repeat(3, minmax(150px, .8fr));
  gap: 10px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
}
.services-filter-bar input,
.services-filter-bar select { width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; background: #fff; color: var(--ink); }
.services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.service-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.service-card:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(10,61,43,.12); border-color: #c6d9d1; }
.service-card-main { width: 100%; height: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; }
.service-card-media {
  aspect-ratio: 16 / 10;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(145deg, var(--green-100), #fff);
}
.service-card-media img { width: 100%; height: 100%; object-fit: cover; }
.service-card-placeholder { font-size: 2.3rem; filter: saturate(.75); }
.service-card-body { display: grid; gap: 9px; padding: 15px; }
.service-card-body > strong { font-size: 1rem; line-height: 1.25; }
.service-card-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.service-card-meta span,
.service-detail-meta span {
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--green-50);
  border: 1px solid #d7ebe3;
  color: var(--green-800);
  font-size: .74rem;
  font-weight: 750;
}
.service-card-description { color: var(--muted); font-size: .88rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.service-card-bottom { display: grid; gap: 3px; padding-top: 5px; border-top: 1px solid #eef3f1; }
.service-card-bottom b { color: var(--green-800); }
.service-card-bottom small { color: var(--muted); }
.services-empty,
.my-services-empty,
.my-services-loading {
  margin-top: 22px;
  padding: 34px 20px;
  text-align: center;
  border: 1px dashed #bfd5cc;
  border-radius: 18px;
  background: rgba(255,255,255,.7);
}
.services-empty-icon { font-size: 2.2rem; margin-bottom: 6px; }

.service-submit-shell { width: min(900px, calc(100vw - 28px)); }
.service-submit-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.service-submit-form .full { grid-column: 1 / -1; }
.service-submit-form textarea { min-height: 132px; resize: vertical; }
.service-flow-note {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 18px;
  padding: 10px;
  border-radius: 13px;
  background: var(--green-50);
  border: 1px solid #d8ebe4;
}
.service-flow-note span { font-size: .82rem; font-weight: 750; color: var(--green-800); }
.service-location-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: #fbfdfc; }
.service-location-control { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.service-location-control > span { color: var(--muted); font-size: .82rem; flex: 1 1 280px; }
.service-media-field { border: 1px solid var(--line); border-radius: 16px; padding: 14px; background: #fff; }
.service-media-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.service-media-head > span:first-child { display: grid; gap: 2px; }
.service-media-head small { color: var(--muted); font-weight: 500; }
.service-photo-drop {
  min-height: 100px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  padding: 14px;
  text-align: center;
  border: 1.5px dashed #b9d4c9;
  border-radius: 14px;
  background: var(--green-50);
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease;
}
.service-photo-drop.dragging { border-color: var(--green-600); background: var(--green-100); }
.service-photo-drop.complete { opacity: .64; pointer-events: none; }
.service-photo-drop > span { font-size: 1.5rem; }
.service-photo-drop small { color: var(--muted); }
.service-photo-previews { display: grid; gap: 8px; margin-top: 10px; }
.service-photo-preview { display: grid; grid-template-columns: 58px 1fr auto; align-items: center; gap: 10px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; }
.service-photo-preview img { width: 58px; height: 48px; border-radius: 9px; object-fit: cover; }
.service-photo-preview span { min-width: 0; display: grid; }
.service-photo-preview strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .85rem; }
.service-photo-preview small { color: var(--muted); }
.service-photo-preview button { width: 34px; height: 34px; border: 0; border-radius: 999px; background: var(--danger-soft); color: var(--danger); font-weight: 900; }
.service-rules { display: flex; align-items: flex-start; gap: 9px; padding: 12px 14px; border-radius: 13px; background: #fbfdfc; border: 1px solid var(--line); }
.service-rules input { margin-top: 4px; }
.service-publication-price { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 14px 16px; border-radius: 14px; background: var(--warning-soft); border: 1px solid #efd8aa; }
.service-publication-price strong { color: #8a5700; font-size: 1.15rem; }
.service-publication-price small { grid-column: 1 / -1; color: var(--muted); }

.my-services-shell { width: min(940px, calc(100vw - 28px)); }
.my-services-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 4px 0 16px; }
.my-services-list { display: grid; gap: 12px; max-height: min(68vh, 760px); overflow: auto; padding-right: 4px; }
.my-service-card { border: 1px solid var(--line); border-radius: 17px; padding: 15px; background: #fff; }
.my-service-card-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.my-service-card-head h3 { margin: 7px 0 2px; font-size: 1rem; }
.my-service-card-head p { margin: 0; color: var(--muted); font-size: .84rem; }
.my-service-card-head > strong { color: var(--green-800); white-space: nowrap; }
.service-status { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 8px; border-radius: 999px; font-size: .73rem; font-weight: 800; background: #eef3f1; }
.service-status.pending { background: var(--warning-soft); color: #8a5700; }
.service-status.awaiting { background: #edf3ff; color: #28589a; }
.service-status.payment { background: #f3efff; color: #6544a2; }
.service-status.published { background: var(--green-100); color: var(--green-800); }
.service-status.rejected { background: var(--danger-soft); color: var(--danger-dark); }
.my-service-note,
.my-service-payment-state { margin: 11px 0 0; padding: 9px 11px; border-radius: 11px; background: #fafcfa; color: var(--muted); font-size: .83rem; }
.service-payment-form { display: grid; gap: 11px; margin-top: 14px; padding: 13px; border: 1px solid #d8e5f0; border-radius: 14px; background: #f8fbff; }
.service-payment-head { display: grid; gap: 2px; }
.service-payment-head span,
.service-payment-security { color: var(--muted); font-size: .8rem; }
.service-payment-numbers { display: flex; gap: 8px; flex-wrap: wrap; }
.service-payment-numbers span { padding: 5px 8px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font-size: .76rem; }
.service-payment-fields { display: grid; grid-template-columns: minmax(150px,.7fr) minmax(220px,1.3fr) auto; gap: 9px; align-items: end; }
.service-payment-fields .field { margin: 0; }

.service-detail-shell { width: min(900px, calc(100vw - 28px)); }
.service-detail-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 18px; }
.service-detail-gallery img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 14px; background: var(--green-50); }
.service-detail-gallery:has(img:only-child) { grid-template-columns: 1fr; }
.service-detail-placeholder { min-height: 210px; display: grid; place-items: center; border-radius: 16px; background: var(--green-50); font-size: 3rem; }
.service-detail-copy { display: grid; gap: 12px; }
.service-detail-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.service-detail-price { color: var(--green-800); font-size: 1.3rem; }
.service-detail-location { margin: 0; color: var(--muted); }
.service-contact-card { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 15px; background: #fbfdfc; }
.service-contact-card > span { display: grid; }
.service-contact-card small { color: var(--muted); }
.service-contact-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.service-account-action .account-action-icon { background: var(--green-100); color: var(--green-800); }

@media (max-width: 980px) {
  .services-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .services-filter-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .services-flow-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-payment-fields { grid-template-columns: 1fr 1fr; }
  .service-payment-fields .button { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .services-section { padding: 48px 0; }
  .services-heading { align-items: stretch; }
  .services-heading-actions { justify-content: stretch; }
  .services-heading-actions .button { flex: 1 1 160px; }
  .services-filter-bar,
  .services-grid,
  .services-flow-strip,
  .service-submit-form,
  .service-location-fields,
  .service-payment-fields { grid-template-columns: 1fr; }
  .services-flow-strip > span { min-height: 48px; }
  .service-submit-form .full,
  .service-location-fields .full { grid-column: auto; }
  .service-card-main { display: grid; grid-template-columns: 118px 1fr; }
  .service-card-media { aspect-ratio: auto; min-height: 148px; }
  .service-card-description { -webkit-line-clamp: 2; }
  .my-service-card-head,
  .service-contact-card { display: grid; }
  .service-detail-gallery { grid-template-columns: 1fr; }
  .service-detail-gallery img:not(:first-child) { max-height: 160px; }
  .service-contact-actions .button { flex: 1 1 130px; }
}
/* S6 SERVICES S4A UI END */

/* S6 SERVICES S4B OWNER LIFECYCLE BEGIN */
.service-status.paused { background:#eef4ff; color:#31598f; }
.service-status.archived { background:#eef1f4; color:#53606a; }
.my-service-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:13px; padding-top:12px; border-top:1px solid #edf2ef; }
.my-service-actions .button { flex:0 1 auto; }
.service-archive-button { color:var(--danger-dark); }
.my-service-owner-lock { margin-top:12px; padding:10px 12px; border-radius:11px; background:#fff8e7; border:1px solid #ead39a; color:#725400; font-size:.82rem; font-weight:750; }
.service-edit-remoderation { display:grid; gap:3px; padding:12px 14px; border-radius:13px; background:#eef6ff; border:1px solid #cbdcf0; color:#264f7c; }
.service-edit-remoderation span { font-size:.82rem; color:#526b84; }
.service-edit-existing-images { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-bottom:10px; }
.service-edit-existing-image { display:grid; gap:6px; margin:0; padding:7px; border:1px solid var(--line); border-radius:12px; background:#fbfdfc; }
.service-edit-existing-image img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:9px; background:var(--green-50); }
.service-edit-existing-image button { min-height:34px; border:0; border-radius:9px; background:var(--danger-soft); color:var(--danger-dark); font-weight:800; cursor:pointer; }
.service-edit-no-images { grid-column:1/-1; margin:0; padding:10px 12px; border-radius:10px; background:#f7faf9; color:var(--muted); font-size:.82rem; }
@media (max-width:680px) {
  .my-service-actions { display:grid; grid-template-columns:1fr; }
  .my-service-actions .button { width:100%; }
  .service-edit-existing-images { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
/* S6 SERVICES S4B OWNER LIFECYCLE END */



/* S7-P10B TICKETING UI CANDIDATE BEGIN */
.ticketing-section{padding:48px 0;background:linear-gradient(180deg,#fff,#f8fafc)}
.ticketing-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}
.ticketing-heading-actions{display:flex;flex-wrap:wrap;gap:10px}
.ticketing-flow-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0}
.ticketing-flow-strip span{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--border,#e2e8f0);border-radius:14px;background:#fff;font-size:.88rem}
.ticketing-flow-strip strong{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--primary,#0f766e);color:#fff}
.ticketing-public-gap{display:flex;gap:8px;flex-wrap:wrap;padding:14px 16px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc}
.ticket-modal-shell{width:min(760px,calc(100vw - 24px));max-height:92vh;overflow:auto}
.ticket-modal-wide{width:min(980px,calc(100vw - 24px))}
.ticket-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ticket-form.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.ticket-form .full{grid-column:1/-1}
.ticket-inline-form{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:end}
.ticket-inline-form select,.ticket-inline-form input{min-height:44px;border:1px solid var(--border,#dbe2ea);border-radius:10px;padding:0 12px;background:#fff}
.ticket-list{display:grid;gap:10px;margin-top:14px}
.ticket-card{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border:1px solid var(--border,#e2e8f0);border-radius:14px;background:#fff}
.ticket-card-main{display:grid;gap:5px;min-width:0}
.ticket-card-main>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ticket-status{font-size:.72rem;font-weight:800;letter-spacing:.04em;padding:4px 8px;border-radius:999px;background:#eef2ff}
.ticket-status-draft{background:#f1f5f9}.ticket-status-published{background:#dbeafe}.ticket-status-on_sale{background:#dcfce7}.ticket-status-sales_closed{background:#fef3c7}.ticket-status-live{background:#fee2e2}.ticket-status-ended,.ticket-status-archived{background:#e5e7eb}
.ticket-manage-block{padding:16px 0;border-top:1px solid var(--border,#e2e8f0)}
.ticket-manage-block:first-of-type{border-top:0}
.ticket-event-summary{display:grid;gap:5px;padding:14px;border-radius:14px;background:#f8fafc;margin-bottom:8px}
.ticket-lifecycle-actions{display:flex;gap:8px;flex-wrap:wrap}
.ticket-created-types{display:grid;gap:8px;margin-top:12px}
.ticket-type-row{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:#f8fafc}
.ticket-contract-note{font-size:.82rem;color:var(--muted,#64748b);margin-top:10px}
@media(max-width:760px){
 .ticketing-heading{align-items:flex-start;flex-direction:column}
 .ticketing-heading-actions{width:100%}.ticketing-heading-actions .button{flex:1 1 46%}
 .ticketing-flow-strip{grid-template-columns:1fr}
 .ticket-form,.ticket-form.compact,.ticket-inline-form{grid-template-columns:1fr}
 .ticket-card{align-items:flex-start;flex-direction:column}
}
/* S7-P10B TICKETING UI CANDIDATE END */


/* S7-P10B5 BUYER UI COMPLETION BEGIN */
.ticketing-discovery-toolbar{display:flex;gap:10px;align-items:end;margin:18px 0 12px}
.ticket-search-field{flex:1}
.ticket-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.ticket-public-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--border,#e2e8f0);border-radius:16px;background:#fff;min-height:220px}
.ticket-public-card-body{display:grid;gap:10px}
.ticket-public-card h3{margin:0}
.ticket-public-card p{margin:0;color:var(--muted,#64748b);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ticket-public-card-top{display:flex;justify-content:flex-end}
.ticket-public-meta{display:grid;gap:5px;font-size:.86rem;color:var(--muted,#64748b)}
.ticket-buyer-types{display:grid;gap:10px;margin:14px 0}
.ticket-buyer-type-card{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border,#e2e8f0);border-radius:12px;background:#fff}
.ticket-buyer-type-card>div:first-child{display:grid;gap:4px}
.ticket-buyer-type-price{display:grid;gap:4px;text-align:right;white-space:nowrap}
.ticket-order-form{display:grid;gap:12px}
.ticket-order-lines{display:grid;gap:8px}
.ticket-order-line{display:grid;grid-template-columns:1fr 90px;gap:12px;align-items:center;padding:12px;border:1px solid var(--border,#e2e8f0);border-radius:12px}
.ticket-order-line>span{display:grid;gap:3px}
.ticket-order-line input{width:100%;min-height:42px;border:1px solid var(--border,#dbe2ea);border-radius:10px;padding:0 10px}
.ticket-order-total{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:#f8fafc}
.ticket-order-created-summary{display:grid;gap:4px;margin:10px 0 12px;padding:12px 14px;border-radius:12px;background:#f8fafc}
@media(max-width:900px){.ticket-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .ticketing-discovery-toolbar{align-items:stretch;flex-direction:column}
 .ticket-public-grid{grid-template-columns:1fr}
 .ticket-buyer-type-card{align-items:flex-start;flex-direction:column}
 .ticket-buyer-type-price{text-align:left}
}
/* S7-P10B5 BUYER UI COMPLETION END */


/* TAKALO S7-P10B9 CSP FIX — provider center moved from index inline style */
.provider-center-shell{width:min(980px,calc(100vw - 24px));max-height:min(92vh,900px)}
.provider-center-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 0;border-bottom:1px solid rgba(15,23,42,.08)}
.provider-center-toolbar span{font-size:.84rem;color:var(--muted,#64748b)}
.provider-center-content{display:grid;gap:16px}
.provider-loading,.provider-empty{display:grid;gap:6px;padding:24px;border:1px dashed rgba(15,23,42,.14);border-radius:18px;text-align:center;color:var(--muted,#64748b)}
.provider-empty.compact{padding:16px}
.provider-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.provider-kpi{display:grid;gap:6px;padding:14px;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:rgba(255,255,255,.78)}
.provider-kpi span{font-size:.78rem;color:var(--muted,#64748b)}.provider-kpi strong{font-size:1.55rem;line-height:1}
.provider-attention{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:14px;border-radius:16px;background:rgba(16,185,129,.08)}
.provider-attention.has-items{background:rgba(245,158,11,.1)}.provider-attention>div{display:grid;gap:3px}.provider-attention span{font-size:.82rem;color:var(--muted,#64748b)}
.provider-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.provider-mini-card{display:grid;align-content:start;gap:7px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:var(--surface,#fff)}
.provider-mini-card>span:first-child,.provider-mini-card small,.provider-boost-note{font-size:.8rem;color:var(--muted,#64748b)}.provider-mini-card .button{margin-top:4px;justify-self:start}
.provider-section{display:grid;gap:10px;padding:16px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:var(--surface,#fff)}
.provider-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.provider-section-head>div{display:grid;gap:2px}.provider-section-head small{color:var(--muted,#64748b)}
.provider-list{display:grid;gap:8px}.provider-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(15,23,42,.06)}
.provider-row:first-child{border-top:0}.provider-row-main{display:grid;gap:3px;min-width:0}.provider-row-main strong,.provider-row-main small{overflow:hidden;text-overflow:ellipsis}
.provider-row-main small,.provider-row-date{font-size:.78rem;color:var(--muted,#64748b)}.provider-row-price{font-weight:700;white-space:nowrap}
.provider-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:760px){.provider-center-shell{width:calc(100vw - 12px);max-height:96vh}.provider-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-mini-grid,.provider-two-columns{grid-template-columns:1fr}.provider-attention,.provider-section-head,.provider-row{align-items:flex-start}.provider-attention{flex-direction:column}.provider-row{gap:8px}}


/* TAKALO S7-P10B9 CSP FIX — A4E moved from dynamic style element */
.a4e-fav-button{position:absolute;right:12px;bottom:12px;z-index:5;width:40px;height:40px;border:0;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 7px 22px rgba(0,0,0,.16);font-size:1.35rem;display:grid;place-items:center;cursor:pointer;color:#0b7a53}
      .a4e-fav-button.active,.hero-card-fav.a4e-favorite-active{background:#0b7a53;color:#fff}
      .hero-card-fav.a4e-favorite-active{font-size:1.05rem}
      .a4e-toolbar{display:flex;gap:.65rem;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin:.75rem 0 1rem}
      .a4e-save-search{border:1px solid #bcd8cc;background:#fff;color:#075f43;border-radius:999px;padding:.65rem .9rem;font-weight:800;cursor:pointer}
      .a4e-save-search[hidden]{display:none}
      .a4e-hub{margin:1rem 0 1.35rem;border:1px solid #d7e7df;background:linear-gradient(180deg,#fbfffd,#f5fbf8);border-radius:20px;padding:1rem;box-shadow:0 9px 28px rgba(5,80,55,.07)}
      .a4e-hub[hidden]{display:none}
      .a4e-hub-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.a4e-hub-head h3{margin:0;color:#064a34}.a4e-hub-head p{margin:.2rem 0 0;color:#60736b;font-size:.88rem}
      .a4e-clear{border:0;background:transparent;color:#6e7a75;text-decoration:underline;cursor:pointer;font-size:.8rem}
      .a4e-tabs{display:flex;gap:.45rem;overflow:auto;padding-bottom:.55rem;scrollbar-width:none}.a4e-tabs::-webkit-scrollbar{display:none}.a4e-tab{white-space:nowrap;border:1px solid #cfe2d9;background:#fff;border-radius:999px;padding:.55rem .75rem;font-weight:800;color:#315e4e;cursor:pointer}.a4e-tab.active{background:#0b7a53;border-color:#0b7a53;color:#fff}
      .a4e-strip{display:flex;gap:.7rem;overflow-x:auto;scroll-snap-type:x proximity;padding:.15rem 0 .35rem;scrollbar-width:thin}.a4e-memory-card{position:relative;flex:0 0 min(78vw,280px);scroll-snap-align:start;background:#fff;border:1px solid #dae9e2;border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:0 6px 20px rgba(6,74,52,.06)}.a4e-memory-media{height:132px;background:#eef5f1;position:relative;display:grid;place-items:center}.a4e-memory-media img{width:100%;height:100%;object-fit:cover}.a4e-memory-media small{position:absolute;left:9px;bottom:9px;background:rgba(6,74,52,.9);color:#fff;border-radius:999px;padding:.28rem .48rem;font-size:.68rem}.a4e-memory-copy{display:grid;gap:.28rem;padding:.7rem .75rem}.a4e-memory-copy strong{line-height:1.25}.a4e-memory-copy span,.a4e-memory-copy small{color:#60736b;font-size:.78rem}.a4e-card-remove{position:absolute;right:9px;top:9px;width:34px;height:34px;border:0;border-radius:999px;background:#0b7a53;color:#fff;cursor:pointer}
      .a4e-search-card{position:relative;flex:0 0 min(82vw,340px);border:1px solid #d8e8e0;border-radius:15px;background:#fff;display:flex;align-items:stretch;overflow:hidden}.a4e-search-run{flex:1;border:0;background:transparent;text-align:left;padding:.8rem;display:grid;gap:.25rem;cursor:pointer;color:#173d30}.a4e-search-run small{color:#687970}.a4e-search-remove{width:42px;border:0;border-left:1px solid #e4eee9;background:#fbfdfc;color:#7c8883;font-size:1.3rem;cursor:pointer}
      .a4e-empty{padding:.8rem;color:#63746d;font-size:.9rem}
      .a4e-detail-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin:.85rem 0}.a4e-interest{border:0;border-radius:12px;background:#0b7a53;color:#fff;padding:.72rem .9rem;font-weight:900;cursor:pointer}.a4e-detail-fav{border:1px solid #bfd8cd;border-radius:12px;background:#fff;color:#0b7a53;padding:.72rem .9rem;font-weight:900;cursor:pointer}.a4e-detail-fav.active{background:#eaf7f1}
      .a4e-sheet{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%,24px);width:min(92vw,520px);z-index:9999;background:#082f24;color:#fff;border-radius:22px;padding:1rem 1rem .9rem;box-shadow:0 24px 60px rgba(0,0,0,.32);opacity:0;pointer-events:none;transition:.24s ease}.a4e-sheet.open{opacity:1;transform:translate(-50%,0);pointer-events:auto}.a4e-sheet-close{position:absolute;right:12px;top:10px;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:999px;width:32px;height:32px;cursor:pointer}.a4e-sheet strong{display:block;padding-right:38px;font-size:1.05rem}.a4e-sheet p{margin:.45rem 0 .8rem;color:#d9eee6;font-size:.9rem;line-height:1.45}.a4e-sheet-actions{display:flex;gap:.55rem}.a4e-sheet-actions button{flex:1;border-radius:12px;padding:.7rem;border:1px solid rgba(255,255,255,.25);font-weight:850;cursor:pointer}.a4e-sheet-primary{background:#fff;color:#075f43}.a4e-sheet-later{background:transparent;color:#fff}
      @media(max-width:640px){.a4e-hub{margin-inline:-2px;padding:.85rem;border-radius:16px}.a4e-toolbar{justify-content:stretch}.a4e-save-search{width:100%}.a4e-memory-card{flex-basis:78vw}.a4e-sheet{width:calc(100vw - 22px)}}
      @media(prefers-reduced-motion:reduce){.a4e-sheet{transition:none}}


/* TAKALO S7-P10B9 CSP FIX — public catalog pagination */
.catalog-pagination-s1{display:flex;justify-content:center;margin:22px 0 6px}


/* ==========================================================
   TAKALO S8-A3 — strict CSP interactive runtime hardening
   ========================================================== */

.image-preview-viewport img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  transform-origin:center center;
}

.image-preview-zoom-075{transform:scale(.75)}
.image-preview-zoom-100{transform:scale(1)}
.image-preview-zoom-125{transform:scale(1.25)}
.image-preview-zoom-150{transform:scale(1.5)}
.image-preview-zoom-175{transform:scale(1.75)}
.image-preview-zoom-200{transform:scale(2)}
.image-preview-zoom-225{transform:scale(2.25)}
.image-preview-zoom-250{transform:scale(2.5)}
.image-preview-zoom-275{transform:scale(2.75)}
.image-preview-zoom-300{transform:scale(3)}

.profile-crop-stage img[hidden]{
  display:none!important;
}

.profile-crop-stage canvas{
  display:block;
  width:100%;
  height:100%;
  user-select:none;
  pointer-events:none;
}

.message-upload-progress-bar progress{
  display:block;
  width:100%;
  height:7px;
  border:0;
  border-radius:999px;
  overflow:hidden;
  appearance:none;
  -webkit-appearance:none;
  background:#dfeae5;
}

.message-upload-progress-bar progress::-webkit-progress-bar{
  background:#dfeae5;
  border-radius:999px;
}

.message-upload-progress-bar progress::-webkit-progress-value{
  background:var(--green-700);
  border-radius:999px;
}

.message-upload-progress-bar progress::-moz-progress-bar{
  background:var(--green-700);
  border-radius:999px;
}


/* ==========================================================================
   S9 A4 UI REDESIGN FIX1
   Visual-only marketplace refinement + CSP-safe mobile install sheet
   ========================================================================== */

:root{
  --s9-surface:#ffffff;
  --s9-surface-soft:#f6faf8;
  --s9-line:#dbe8e2;
  --s9-ink:#10261e;
  --s9-muted:#63756d;
  --s9-green:#087552;
  --s9-green-dark:#05553c;
  --s9-green-soft:#eaf7f1;
  --s9-radius:18px;
  --s9-shadow:0 14px 38px rgba(5,65,45,.08);
  --s9-shadow-soft:0 7px 22px rgba(5,65,45,.06);
}

body{
  background:
    radial-gradient(circle at 8% 0%,rgba(11,122,83,.045),transparent 28rem),
    #f8fbf9;
}

/* Header */
.site-header-v1990-rc2{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(6,74,52,.07);
  box-shadow:0 7px 26px rgba(5,65,45,.055);
  backdrop-filter:blur(18px);
}

.site-header-v1990-rc2 .header-main-row{
  min-height:66px;
  gap:14px;
}

.site-header-v1990-rc2 .top-actions{
  gap:6px;
}

.site-header-v1990-rc2 .top-actions>.button{
  min-height:40px;
  border-radius:12px;
}

.site-header-v1990-rc2 .header-publish-button{
  min-height:44px;
  padding-inline:17px;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(11,122,83,.18);
  font-weight:850;
}

.site-header-v1990-rc2 .install-button{
  background:transparent;
  box-shadow:none;
  color:var(--s9-muted);
}

.header-search-field{
  border-color:var(--s9-line);
  background:var(--s9-surface-soft);
  box-shadow:none;
}

.header-search-field:focus-within{
  background:#fff;
  border-color:#8bc6ad;
}

.header-market-switch{
  border-top:1px solid rgba(6,74,52,.055);
  background:#fbfdfc;
}

.header-market-switch-inner{
  min-height:62px;
  gap:8px;
  padding-block:7px;
}

.header-mode-pill,
.header-proximity-shortcut{
  min-height:46px;
  border-radius:14px;
  padding:7px 12px;
  box-shadow:none;
}

.header-mode-pill:hover,
.header-proximity-shortcut:hover{
  transform:none;
  box-shadow:var(--s9-shadow-soft);
}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
}

.hero>.container{
  position:relative;
}

.hero-grid{
  gap:44px;
}

.hero-slogan-corporate{
  letter-spacing:-.035em;
}

.hero-lead{
  max-width:690px;
  line-height:1.7;
}

.hero-actions{
  gap:10px;
}

.hero-actions .button{
  border-radius:14px;
  min-height:48px;
}

.hero-card{
  border:1px solid rgba(255,255,255,.34);
  border-radius:22px;
  box-shadow:0 18px 45px rgba(4,45,31,.18);
}

.hero-card-media{
  overflow:hidden;
}

.hero-corporate-strip{
  border-block:1px solid rgba(6,74,52,.08);
}

/* Catalogue */
.catalogue-section{
  padding-top:58px;
}

.catalogue-heading{
  margin-bottom:20px;
}

.filter-bar{
  border:1px solid var(--s9-line);
  background:rgba(255,255,255,.96);
  box-shadow:var(--s9-shadow-soft);
  backdrop-filter:blur(14px);
}

.proximity-bar{
  border-color:#cfe5da;
  background:linear-gradient(135deg,#f7fcfa,#eef8f3);
  box-shadow:none;
}

.listing-grid{
  gap:18px;
}

.listing-card{
  overflow:hidden;
  border:1px solid var(--s9-line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--s9-shadow-soft);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.listing-card:hover{
  transform:translateY(-2px);
  border-color:#c4dbd0;
  box-shadow:var(--s9-shadow);
}

.listing-body{
  padding:17px;
}

.listing-body h3{
  color:var(--s9-ink);
  letter-spacing:-.015em;
}

.listing-description{
  color:var(--s9-muted);
  line-height:1.55;
}

.listing-actions .button{
  min-height:42px;
  border-radius:12px;
}

/* Mobile navigation */
.mobile-bottom-nav{
  border-color:rgba(195,216,206,.92);
}

.mobile-nav-item{
  transition:
    background .15s ease,
    color .15s ease,
    transform .15s ease;
}

.mobile-nav-item:active{
  transform:scale(.96);
}

.mobile-nav-publish{
  position:relative;
  z-index:2;
  min-height:58px;
  margin-top:-18px;
  border-radius:18px;
  background:linear-gradient(145deg,var(--s9-green),var(--s9-green-dark));
  color:#fff;
  box-shadow:0 10px 23px rgba(7,101,70,.26);
}

.mobile-nav-publish span{
  font-size:1.55rem;
}

.mobile-nav-publish small{
  color:#fff;
  font-weight:850;
}

/* Mobile install bottom sheet */
.s9-install-sheet{
  position:fixed;
  inset:0;
  z-index:90;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:18px 12px max(18px,env(safe-area-inset-bottom));
  background:rgba(5,31,22,.42);
  backdrop-filter:blur(8px);
}

.s9-install-sheet[hidden]{
  display:none!important;
}

.s9-install-sheet-card{
  position:relative;
  width:min(100%,520px);
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  padding:20px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  background:#fff;
  box-shadow:0 22px 60px rgba(4,38,27,.24);
}

.s9-install-sheet-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:linear-gradient(145deg,var(--s9-green),var(--s9-green-dark));
  color:#fff;
  font-size:1.28rem;
  font-weight:950;
}

.s9-install-sheet-copy{
  min-width:0;
  display:grid;
  gap:4px;
  padding-right:28px;
}

.s9-install-sheet-copy strong{
  color:var(--s9-ink);
  font-size:1.06rem;
}

.s9-install-sheet-copy span{
  color:var(--s9-muted);
  font-size:.84rem;
  line-height:1.45;
}

.s9-install-sheet-action{
  grid-column:1/-1;
  width:100%;
  min-height:48px;
  border-radius:14px;
}

.s9-install-sheet-close{
  position:absolute;
  top:11px;
  right:11px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:11px;
  background:#eff5f2;
  color:#52665d;
  cursor:pointer;
  font-size:1.2rem;
}

/* Responsive */
@media(max-width:1280px){
  .site-header-v1990-rc2 .header-main-row{
    gap:10px;
  }
}

@media(max-width:1040px){
  .hero-grid{
    gap:30px;
  }
}

@media(max-width:820px){
  body{
    padding-bottom:86px;
  }

  .site-header-v1990-rc2 .header-main-row{
    min-height:62px;
  }

  .hero{
    padding-top:30px;
  }

  .hero-grid{
    gap:24px;
  }

  .hero-actions{
    grid-template-columns:1fr;
  }

  .catalogue-section{
    padding-top:44px;
  }

  .listing-grid{
    gap:14px;
  }

  .listing-card{
    border-radius:18px;
  }

  .listing-card:hover{
    transform:none;
  }

  .mobile-bottom-nav{
    left:8px;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    padding:7px 7px 6px;
    border-radius:22px;
    background:rgba(255,255,255,.97);
    box-shadow:0 15px 42px rgba(4,46,31,.17);
  }
}

@media(min-width:821px){
  .s9-install-sheet{
    display:none!important;
  }
}
/* END S9 A4 UI REDESIGN FIX1 */

/* ==========================================================================
   TAKALO S9 RESPONSIVE FIX A4
   Authority block: mobile/tablet rectification after S9 formal closure.
   Scope: presentation only.
   Desktop >= 1101 px intentionally untouched.
   ========================================================================== */

/* --------------------------------------------------------------------------
   TABLET / COMPACT DESKTOP — 721..1100
   -------------------------------------------------------------------------- */
@media (min-width:721px) and (max-width:1100px){

  .site-header-v1990-rc2 .header-main-row{
    width:min(100% - 24px,1480px);
    gap:10px;
    min-height:64px;
  }

  .site-header-v1990-rc2 .brand{
    flex:0 1 auto;
    min-width:0;
  }

  .site-header-v1990-rc2 .brand small{
    display:none;
  }

  .site-header-v1990-rc2 .header-right{
    min-width:0;
    gap:6px;
  }

  .site-header-v1990-rc2 .top-actions{
    gap:5px;
    flex-wrap:nowrap;
  }

  .site-header-v1990-rc2 .top-actions>.button{
    min-height:38px;
    padding:7px 9px;
    font-size:.76rem;
  }

  .header-search-form{
    display:none;
  }

  .hero-grid{
    gap:28px;
  }

  .hero-content{
    min-width:0;
  }

  .hero-slogan-corporate{
    font-size:clamp(3rem,6vw,4.25rem)!important;
  }

  .hero-lead{
    max-width:38rem;
  }
}


/* --------------------------------------------------------------------------
   MOBILE — <=720
   -------------------------------------------------------------------------- */
@media (max-width:720px){

  html{
    max-width:100%;
    overflow-x:hidden;
    scroll-padding-top:92px;
    scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom));
  }

  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    padding-bottom:calc(92px + env(safe-area-inset-bottom));
  }

  /* ----- Header mobile : une vraie barre compacte ----- */

  .site-header-v1990-rc2{
    width:100%;
    overflow:visible;
  }

  .site-header-v1990-rc2 .header-main-row{
    width:calc(100% - 20px);
    min-height:56px;
    gap:7px;
    padding-block:6px;
    margin-inline:auto;
  }

  .site-header-v1990-rc2 .brand{
    flex:1 1 auto;
    min-width:0;
    max-width:calc(100% - 48px);
    gap:6px;
  }

  .site-header-v1990-rc2 .brand-mark{
    width:34px;
    height:34px;
    flex:0 0 34px;
  }

  .site-header-v1990-rc2 .brand strong{
    display:block;
    max-width:118px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.9rem;
  }

  .site-header-v1990-rc2 .brand small{
    display:none!important;
  }

  .header-search-form,
  .header-market-switch{
    display:none!important;
  }

  /*
   * Les fonctions principales existent déjà dans la navigation mobile.
   * On ne compresse plus les boutons desktop dans 320–430 px.
   */
  .site-header-v1990-rc2 .top-actions>.button,
  .site-header-v1990-rc2 .top-actions .header-market-entry,
  .site-header-v1990-rc2 .top-actions .b2b-header-button,
  .site-header-v1990-rc2 .top-actions .messenger-entry-button,
  .site-header-v1990-rc2 .header-account-button,
  .site-header-v1990-rc2 .header-publish-button{
    display:none!important;
  }

  .site-header-v1990-rc2 .header-right{
    flex:0 0 auto;
    min-width:auto;
    margin-left:auto;
    gap:4px;
  }

  .site-header-v1990-rc2 .top-actions{
    width:auto;
    min-width:0;
    gap:0;
  }

  .site-header-v1990-rc2 .header-flag-bearer-compact,
  .header-flag-bearer{
    width:27px;
    height:37px;
    flex:0 0 27px;
    border-radius:7px;
  }

  /* ----- Ticker ----- */

  .site-header .header-ticker{
    min-height:32px;
  }

  .header-ticker-inner{
    min-height:32px!important;
    padding-inline:10px!important;
  }

  .header-ticker .pinned-messages-viewport{
    min-height:32px;
    height:32px!important;
  }

  .header-ticker .pinned-message-ticker{
    min-height:28px;
    padding:2px 0;
    font-size:.68rem;
    line-height:1.2;
    text-align:center;
  }

  /* ----- Hero : structure mobile réelle ----- */

  .hero{
    min-height:0!important;
    padding:24px 0 16px!important;
  }

  .hero>.container{
    width:calc(100% - 28px)!important;
    max-width:none;
  }

  .hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr)!important;
    gap:16px!important;
    min-height:0!important;
  }

  .hero-content{
    width:100%;
    min-width:0;
    padding:0!important;
    text-align:left;
  }

  .hero .eyebrow{
    margin:0 0 8px;
    font-size:.64rem;
    letter-spacing:.11em;
  }

  .hero h1,
  .hero-slogan-corporate{
    max-width:100%!important;
    margin:0;
    font-size:clamp(2.05rem,9.4vw,2.85rem)!important;
    line-height:.96!important;
    letter-spacing:-.045em;
    text-wrap:balance;
  }

  .hero-slogan-first{
    display:block;
  }

  .hero-slogan-first::after{
    height:3px;
  }

  .hero-lead{
    max-width:34rem;
    margin-top:12px!important;
    font-size:.9rem!important;
    line-height:1.48!important;
  }

  /* ----- CTA 2 x 2 ----- */

  .hero-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:15px!important;
    width:100%;
  }

  .hero-actions .button{
    width:100%;
    min-width:0;
    min-height:46px!important;
    padding:10px 8px!important;
    border-radius:12px;
    font-size:.78rem!important;
    line-height:1.15;
    white-space:normal;
    text-align:center;
    justify-content:center;
  }

  /* ----- Badges confiance ----- */

  .trust-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    margin-top:12px!important;
    width:100%;
  }

  .trust-row>*{
    min-width:0;
    width:100%;
    margin:0!important;
    padding:7px 8px!important;
    border-radius:999px;
    font-size:.64rem!important;
    line-height:1.16;
    justify-content:flex-start;
  }

  /* ----- Cartes produit hero : zone séparée, maîtrisée ----- */

  .hero-visual{
    position:relative;
    width:calc(100% + 28px);
    min-height:0!important;
    display:flex!important;
    gap:10px!important;
    margin:0 -14px!important;
    padding:8px 14px 12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:14px;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }

  .hero-visual::-webkit-scrollbar{
    display:none;
  }

  .hero-card{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    flex:0 0 min(72vw,276px)!important;
    width:auto!important;
    max-width:276px;
    margin:0!important;
    border-radius:18px!important;
    scroll-snap-align:center;
    box-shadow:0 12px 28px rgba(0,0,0,.19)!important;
  }

  .hero-card-media{
    aspect-ratio:4/3!important;
  }

  .hero-card-copy{
    padding:10px 12px 12px!important;
  }

  .hero-card-copy strong{
    font-size:.95rem!important;
  }

  .hero-card-copy span{
    font-size:.72rem!important;
  }

  .hero-card-copy small{
    margin-top:3px!important;
    font-size:.65rem!important;
  }

  .hero-card-fav{
    top:8px!important;
    right:8px!important;
    width:32px!important;
    height:32px!important;
  }

  .visual-status{
    top:9px!important;
    left:9px!important;
    padding:5px 8px!important;
    font-size:.62rem!important;
  }

  .hero-note{
    display:none!important;
  }

  /* ----- Bandeau corporate sous le hero ----- */

  .hero-corporate-strip{
    margin-top:12px!important;
  }

  .hero-corporate-strip-inner{
    width:calc(100% - 20px)!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    padding:7px 0!important;
  }

  .hero-corporate-item{
    min-width:0;
    gap:6px!important;
    padding:5px 7px!important;
  }

  .hero-corporate-item>span:first-child{
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
  }

  .hero-corporate-item strong{
    font-size:.69rem!important;
    line-height:1.12;
  }

  .hero-corporate-item small{
    display:none;
  }

  /* ----- Listings ----- */

  .listing-grid{
    width:100%;
    min-width:0;
    gap:10px!important;
  }

  .listing-card{
    min-width:0;
    overflow:hidden;
    border-radius:16px!important;
  }

  .listing-body{
    min-width:0;
    padding:12px!important;
  }

  .listing-body h3{
    overflow-wrap:anywhere;
    font-size:.96rem!important;
  }

  /* ----- Bottom navigation ----- */

  .mobile-bottom-nav{
    left:8px!important;
    right:8px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    min-height:64px;
    padding:6px!important;
    border-radius:20px!important;
  }

  .mobile-nav-item{
    min-width:0;
    min-height:48px;
    padding:4px 2px;
  }

  .mobile-nav-item small{
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.56rem!important;
  }

  .mobile-nav-publish{
    width:54px!important;
    height:54px!important;
    min-height:54px!important;
    margin-top:-18px!important;
    border-radius:17px!important;
  }

  .mobile-nav-publish span{
    font-size:1.5rem!important;
  }

  /*
   * Safe zone générique :
   * évite qu'un élément flottant natif TAKALO se pose sur la bottom-nav.
   */
  .floating-action,
  .floating-button,
  .floating-widget{
    max-width:calc(100vw - 24px);
  }
}


/* --------------------------------------------------------------------------
   SMALL MOBILE — <=380
   -------------------------------------------------------------------------- */
@media (max-width:380px){

  .site-header-v1990-rc2 .header-main-row{
    width:calc(100% - 16px);
  }

  .site-header-v1990-rc2 .brand strong{
    max-width:102px;
    font-size:.84rem;
  }

  .hero>.container{
    width:calc(100% - 24px)!important;
  }

  .hero h1,
  .hero-slogan-corporate{
    font-size:clamp(1.95rem,9.8vw,2.45rem)!important;
  }

  .hero-lead{
    font-size:.86rem!important;
  }

  .hero-actions{
    gap:7px!important;
  }

  .hero-actions .button{
    min-height:44px!important;
    padding:9px 6px!important;
    font-size:.73rem!important;
  }

  .trust-row{
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
  }

  .trust-row>*{
    font-size:.59rem!important;
    padding:6px!important;
  }

  .hero-card{
    flex-basis:min(76vw,254px)!important;
    max-width:254px;
  }

  .hero-corporate-item{
    padding-inline:4px!important;
  }

  .hero-corporate-item>span:first-child{
    display:none;
  }

  .hero-corporate-item strong{
    font-size:.64rem!important;
    text-align:center;
  }

  .mobile-bottom-nav{
    left:5px!important;
    right:5px!important;
    padding-inline:4px!important;
  }

  .mobile-nav-item small{
    font-size:.52rem!important;
  }
}


/* --------------------------------------------------------------------------
   VERY SMALL MOBILE — <=340
   -------------------------------------------------------------------------- */
@media (max-width:340px){

  .hero-actions{
    grid-template-columns:1fr!important;
  }

  .hero-actions .button{
    min-height:44px!important;
  }

  .trust-row{
    grid-template-columns:1fr!important;
  }

  .hero-corporate-strip-inner{
    grid-template-columns:1fr 1fr 1fr!important;
  }
}

/* ==========================================================================
   TAKALO S9 RESPONSIVE FIX A4 — HEADER BUTTON VISUAL AUTHORITY
   - Live = unique red header action
   - Install = primary green PWA action
   - Mobile = Install emphasized, Live compact
   - No PWA/runtime/business semantics changed
   ========================================================================== */

/* --------------------------------------------------------------------------
   DESKTOP / TABLET HEADER BUTTON SYSTEM
   -------------------------------------------------------------------------- */

.site-header-v1990-rc2 .top-actions{
  align-items:center;
  gap:7px;
}

/*
 * Default header action:
 * neutral premium white/green appearance.
 */
.site-header-v1990-rc2 .top-actions>.button,
.site-header-v1990-rc2 .top-actions>a.button{
  min-height:40px;
  padding:8px 11px;
  border:1px solid #d5e5de!important;
  border-radius:12px;
  background:#fff!important;
  color:#164c39!important;
  box-shadow:0 3px 10px rgba(5,72,49,.035);
  font-weight:800;
  white-space:nowrap;
  transition:
    background .16s ease,
    border-color .16s ease,
    color .16s ease,
    box-shadow .16s ease,
    transform .16s ease;
}

.site-header-v1990-rc2 .top-actions>.button:hover,
.site-header-v1990-rc2 .top-actions>a.button:hover,
.site-header-v1990-rc2 .top-actions>.button:focus-visible,
.site-header-v1990-rc2 .top-actions>a.button:focus-visible{
  border-color:#9bcbb6!important;
  background:#f2faf6!important;
  color:#075f43!important;
  box-shadow:0 6px 18px rgba(5,72,49,.08);
  transform:translateY(-1px);
}


/* --------------------------------------------------------------------------
   INSTALL — PRIMARY GREEN ACTION
   -------------------------------------------------------------------------- */

.site-header-v1990-rc2 .top-actions>.install-button{
  border-color:#087a53!important;
  background:linear-gradient(145deg,#0b8a5d,#08734f)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(11,122,83,.19);
  font-weight:900;
}

.site-header-v1990-rc2 .top-actions>.install-button:hover,
.site-header-v1990-rc2 .top-actions>.install-button:focus-visible{
  border-color:#075f43!important;
  background:linear-gradient(145deg,#0a7d55,#065d40)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(11,122,83,.25);
}


/* --------------------------------------------------------------------------
   LIVE — THE ONLY RED HEADER BUTTON
   -------------------------------------------------------------------------- */

.site-header-v1990-rc2 .top-actions>.takalo-live-header-button{
  border-color:#dc2626!important;
  background:#dc2626!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(220,38,38,.20);
  font-weight:900;
}

.site-header-v1990-rc2 .top-actions>.takalo-live-header-button:hover,
.site-header-v1990-rc2 .top-actions>.takalo-live-header-button:focus-visible{
  border-color:#b91c1c!important;
  background:#b91c1c!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(185,28,28,.26);
}


/* --------------------------------------------------------------------------
   PUBLISH — GREEN, NEVER RED
   -------------------------------------------------------------------------- */

.site-header-v1990-rc2 .header-publish-button{
  border-color:#087a53!important;
  background:#087a53!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(11,122,83,.16);
}

.site-header-v1990-rc2 .header-publish-button:hover,
.site-header-v1990-rc2 .header-publish-button:focus-visible{
  border-color:#065f42!important;
  background:#065f42!important;
  color:#fff!important;
}


/* --------------------------------------------------------------------------
   MOBILE <=720
   Install is the principal header CTA.
   Live remains secondary and red only when runtime makes it available.
   -------------------------------------------------------------------------- */

@media (max-width:720px){

  .site-header-v1990-rc2 .header-main-row{
    display:flex;
    align-items:center;
    gap:7px;
  }

  .site-header-v1990-rc2 .brand{
    flex:1 1 auto;
    min-width:0;
    max-width:none;
  }

  .site-header-v1990-rc2 .header-right{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:5px;
    margin-left:auto;
  }

  .site-header-v1990-rc2 .top-actions{
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    gap:5px!important;
    width:auto!important;
    min-width:0;
    margin-left:auto;
  }

  /*
   * Remove desktop-only actions from the mobile header.
   * Bottom navigation already carries the core navigation.
   */
  .site-header-v1990-rc2 .top-actions>.button,
  .site-header-v1990-rc2 .top-actions>a.button{
    display:none!important;
  }

  /*
   * Install is shown ONLY when setupInstallPrompt/runtime has removed [hidden].
   * This preserves real PWA eligibility.
   */
  .site-header-v1990-rc2 .top-actions>.install-button:not([hidden]){
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-width:124px;
    min-height:44px;
    padding:9px 14px;
    border-radius:14px;
    border:1px solid #087a53!important;
    background:linear-gradient(145deg,#0b8a5d,#08734f)!important;
    color:#fff!important;
    box-shadow:
      0 8px 20px rgba(11,122,83,.24),
      inset 0 1px 0 rgba(255,255,255,.14);
    font-size:.79rem;
    font-weight:900;
    letter-spacing:-.01em;
  }

  /*
   * Live may coexist with Install but remains compact.
   */
  .site-header-v1990-rc2 .top-actions>.takalo-live-header-button:not([hidden]){
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-width:66px;
    min-height:42px;
    padding:8px 10px;
    border-radius:13px;
    border:1px solid #dc2626!important;
    background:#dc2626!important;
    color:#fff!important;
    box-shadow:0 7px 16px rgba(220,38,38,.20);
    font-size:.74rem;
    font-weight:900;
  }

  .site-header-v1990-rc2 .top-actions>.install-button:not([hidden]):hover,
  .site-header-v1990-rc2 .top-actions>.install-button:not([hidden]):focus-visible{
    background:linear-gradient(145deg,#0a7d55,#065d40)!important;
    color:#fff!important;
  }

  .site-header-v1990-rc2 .top-actions>.takalo-live-header-button:not([hidden]):hover,
  .site-header-v1990-rc2 .top-actions>.takalo-live-header-button:not([hidden]):focus-visible{
    background:#b91c1c!important;
    border-color:#b91c1c!important;
    color:#fff!important;
  }
}


/* --------------------------------------------------------------------------
   SMALL MOBILE <=380
   -------------------------------------------------------------------------- */

@media (max-width:380px){

  .site-header-v1990-rc2 .brand strong{
    max-width:74px!important;
    font-size:.82rem!important;
  }

  .site-header-v1990-rc2 .top-actions>.install-button:not([hidden]){
    min-width:106px;
    min-height:42px;
    padding:8px 9px;
    border-radius:12px;
    font-size:.72rem;
  }

  .site-header-v1990-rc2 .top-actions>.takalo-live-header-button:not([hidden]){
    min-width:58px;
    min-height:40px;
    padding:7px 7px;
    border-radius:12px;
    font-size:.68rem;
  }

  .site-header-v1990-rc2 .header-flag-bearer-compact,
  .site-header-v1990-rc2 .header-flag-bearer{
    width:24px!important;
    height:34px!important;
    flex-basis:24px!important;
  }
}


/* --------------------------------------------------------------------------
   VERY SMALL MOBILE <=340
   -------------------------------------------------------------------------- */

@media (max-width:340px){

  .site-header-v1990-rc2 .brand strong{
    max-width:62px!important;
    font-size:.76rem!important;
  }

  .site-header-v1990-rc2 .top-actions{
    gap:4px!important;
  }

  .site-header-v1990-rc2 .top-actions>.install-button:not([hidden]){
    min-width:96px;
    padding-inline:7px;
    font-size:.68rem;
  }

  .site-header-v1990-rc2 .top-actions>.takalo-live-header-button:not([hidden]){
    min-width:52px;
    padding-inline:5px;
    font-size:.64rem;
  }
}

/* ==========================================================================
   TAKALO S9 RESPONSIVE FIX A4 — TABLET HEADER COMPACTION 901-1100
   Keep: Install + Data + Live + Notifications
   Hide: Market + Services + Ticketing + B2B + Messenger
   ========================================================================== */

@media (min-width:901px) and (max-width:1100px){

  .site-header-v1990-rc2 .header-right{
    flex:1 1 auto;
    min-width:0;
    justify-content:flex-end;
  }

  .site-header-v1990-rc2 .top-actions{
    width:auto!important;
    min-width:0;
    flex:0 1 auto;
    justify-content:flex-end;
    gap:6px!important;
  }

  .site-header-v1990-rc2 .top-actions>.header-market-entry,
  .site-header-v1990-rc2 .top-actions>.services-header-button,
  .site-header-v1990-rc2 .top-actions>.ticketing-header-button,
  .site-header-v1990-rc2 .top-actions>.b2b-header-button,
  .site-header-v1990-rc2 .top-actions>.messenger-entry-button{
    display:none!important;
  }

  .site-header-v1990-rc2 .top-actions>.install-button:not([hidden]),
  .site-header-v1990-rc2 .top-actions>.data-saver-button,
  .site-header-v1990-rc2 .top-actions>.takalo-live-header-button:not([hidden]),
  .site-header-v1990-rc2 .top-actions>.notification-entry-button{
    display:inline-flex!important;
    flex:0 0 auto;
  }

  .site-header-v1990-rc2 .top-actions>.install-button:not([hidden]){
    min-width:92px;
  }

  .site-header-v1990-rc2 .top-actions>.takalo-live-header-button:not([hidden]){
    min-width:72px;
  }

  .site-header-v1990-rc2 .top-actions>.notification-entry-button{
    max-width:126px;
  }
}


/* ==========================================================================
   S9 R1 FASTFIX MOBILE HEADER BOTTOM NAV
   ========================================================================== */

@media (max-width:820px){

  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }

  body{
    padding-bottom:
      calc(92px + env(safe-area-inset-bottom))!important;
  }

  /* -----------------------------------------------------------------------
     MOBILE HEADER
     ----------------------------------------------------------------------- */

  .site-header-v1990-rc2 .header-main-row{
    width:calc(100% - 20px)!important;
    min-height:62px!important;
    margin-inline:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }

  .site-header-v1990-rc2 .brand{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
  }

  .site-header-v1990-rc2 .header-right{
    flex:0 0 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    margin-left:auto!important;
  }

  .site-header-v1990-rc2 .header-search-form{
    display:none!important;
  }

  .site-header-v1990-rc2 .top-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
  }

  /* Hide all secondary desktop header actions on mobile */
  .site-header-v1990-rc2 .top-actions > .button,
  .site-header-v1990-rc2 .top-actions > a.button{
    display:none!important;
  }

  /* Installer = primary action only when PWA runtime exposes it */
  .site-header-v1990-rc2
  .top-actions > .install-button:not([hidden]){
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;

    min-width:92px!important;
    min-height:42px!important;

    padding:8px 12px!important;

    border:1px solid #087a53!important;
    border-radius:13px!important;

    background:
      linear-gradient(145deg,#0b8a5d,#08734f)!important;

    color:#fff!important;

    box-shadow:
      0 7px 18px rgba(11,122,83,.22)!important;

    font-size:.76rem!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* Live = only red action */
  .site-header-v1990-rc2
  .top-actions > .takalo-live-header-button:not([hidden]){
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;

    min-width:62px!important;
    min-height:40px!important;

    padding:7px 9px!important;

    border:1px solid #dc2626!important;
    border-radius:12px!important;

    background:#dc2626!important;
    color:#fff!important;

    box-shadow:
      0 6px 15px rgba(220,38,38,.20)!important;

    font-size:.72rem!important;
    font-weight:900!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* Keep the right-side compact identity/menu item contained */
  .site-header-v1990-rc2 .header-flag-bearer,
  .site-header-v1990-rc2 .header-flag-bearer-compact{
    flex:0 0 auto!important;
    max-width:38px!important;
  }

  /* -----------------------------------------------------------------------
     MOBILE BOTTOM NAV
     ----------------------------------------------------------------------- */

  .mobile-bottom-nav{
    position:fixed!important;

    left:
      max(10px,env(safe-area-inset-left))!important;

    right:
      max(10px,env(safe-area-inset-right))!important;

    bottom:
      max(10px,env(safe-area-inset-bottom))!important;

    width:auto!important;
    max-width:none!important;

    margin:0!important;

    transform:none!important;

    box-sizing:border-box!important;

    display:grid!important;
    grid-template-columns:
      repeat(3,minmax(0,1fr))!important;

    align-items:center!important;
    gap:4px!important;

    padding:7px 8px!important;

    overflow:visible!important;

    border-radius:20px!important;

    background:rgba(255,255,255,.98)!important;

    box-shadow:
      0 14px 38px rgba(4,46,31,.20)!important;

    z-index:1000!important;
  }

  /*
   * Remove B2B from mobile bottom navigation.
   * It remains available elsewhere in the application.
   */
  .mobile-bottom-nav
  > .mobile-nav-item[href="/b2b"]{
    display:none!important;
  }

  /*
   * Proximity stays as one of the 3 main bottom actions.
   */
  .mobile-bottom-nav
  > [data-mobile-proximity]{
    grid-column:1!important;
  }

  /*
   * Messages.
   */
  .mobile-bottom-nav
  > [data-mobile-messenger]{
    grid-column:2!important;
  }

  /*
   * Account.
   */
  .mobile-bottom-nav
  > [data-mobile-account]{
    grid-column:3!important;
  }

  .mobile-bottom-nav
  > .mobile-nav-item{
    position:relative!important;

    min-width:0!important;
    width:100%!important;

    min-height:52px!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;

    gap:3px!important;

    padding:5px 3px!important;

    border-radius:13px!important;

    box-sizing:border-box!important;
  }

  .mobile-bottom-nav
  > .mobile-nav-item small{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:.66rem!important;
  }

  /*
   * Publish becomes a safe floating CTA.
   */
  .mobile-bottom-nav
  > .mobile-nav-publish{
    position:fixed!important;

    left:50%!important;
    right:auto!important;

    bottom:
      calc(
        76px +
        max(10px,env(safe-area-inset-bottom))
      )!important;

    width:auto!important;
    min-width:108px!important;
    max-width:calc(100vw - 32px)!important;

    min-height:46px!important;

    transform:translateX(-50%)!important;

    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;

    gap:6px!important;

    padding:8px 14px!important;

    border-radius:16px!important;

    background:#0b8a5d!important;
    color:#fff!important;

    box-shadow:
      0 10px 24px rgba(11,122,83,.30)!important;

    z-index:1001!important;

    white-space:nowrap!important;
  }

  .mobile-bottom-nav
  > .mobile-nav-publish small{
    color:inherit!important;
    font-size:.72rem!important;
    font-weight:900!important;
    overflow:visible!important;
  }
}


/* Extra-small mobile hardening */
@media (max-width:380px){

  .site-header-v1990-rc2 .header-main-row{
    width:calc(100% - 14px)!important;
    gap:5px!important;
  }

  .site-header-v1990-rc2
  .top-actions > .install-button:not([hidden]){
    min-width:82px!important;
    padding-inline:9px!important;
    font-size:.71rem!important;
  }

  .site-header-v1990-rc2
  .top-actions > .takalo-live-header-button:not([hidden]){
    min-width:56px!important;
    padding-inline:7px!important;
    font-size:.68rem!important;
  }

  .mobile-bottom-nav{
    left:7px!important;
    right:7px!important;
    gap:2px!important;
    padding-inline:5px!important;
  }

  .mobile-bottom-nav
  > .mobile-nav-item small{
    font-size:.61rem!important;
  }
}

/* END S9 R1 FASTFIX MOBILE HEADER BOTTOM NAV */

/* ==========================================================================
   TAKALO S9 R3 VALIDATED UI REDESIGN
   Desktop + Mobile visual system
   Presentation layer only.
   ========================================================================== */

:root{
  --r3-green-950:#033d2d;
  --r3-green-900:#04533a;
  --r3-green-800:#086d4b;
  --r3-green-700:#07945f;
  --r3-green-600:#10aa6e;
  --r3-mint:#58ebae;
  --r3-blue:#153e7d;
  --r3-red:#ef2029;
  --r3-bg:#f5faf7;
  --r3-surface:#ffffff;
  --r3-line:#dce8e3;
  --r3-text:#10241d;
  --r3-muted:#64756e;
  --r3-shadow:0 16px 44px rgba(4,56,39,.10);
  --r3-shadow-soft:0 7px 24px rgba(4,56,39,.07);
}


/* --------------------------------------------------------------------------
   GLOBAL POLISH
   -------------------------------------------------------------------------- */

body{
  background:
    linear-gradient(180deg,#f8fcfa 0%,#f4faf7 100%)!important;
}

.container{
  width:min(1480px,calc(100% - 40px));
}

.button{
  font-weight:800;
}

.site-header-v1990-rc2{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid rgba(215,231,223,.9)!important;
  box-shadow:0 5px 22px rgba(5,66,46,.055);
  backdrop-filter:blur(18px);
}

.site-header-v1990-rc2 .header-main-row{
  min-height:74px;
  gap:10px;
}

.site-header-v1990-rc2 .brand{
  flex:0 0 auto;
}

.site-header-v1990-rc2 .brand-mark{
  background:
    linear-gradient(145deg,#07945f,#04583e)!important;
  box-shadow:0 7px 18px rgba(7,127,84,.20)!important;
}

.site-header-v1990-rc2 .brand strong{
  color:#0c241b;
  font-weight:950;
}

.site-header-v1990-rc2 .top-actions{
  flex-wrap:nowrap!important;
  gap:7px!important;
}

.site-header-v1990-rc2 .top-actions>.button,
.site-header-v1990-rc2 .top-actions>a.button{
  min-height:42px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  border:1px solid #d8e6df!important;
  background:#fff!important;
  color:#164d39!important;
  box-shadow:0 3px 10px rgba(5,72,49,.035)!important;
}

.site-header-v1990-rc2
.top-actions>.install-button:not([hidden]){
  background:
    linear-gradient(145deg,#079c63,#08744f)!important;
  border-color:#087a53!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(7,129,84,.20)!important;
}

.site-header-v1990-rc2
.top-actions>.takalo-live-header-button:not([hidden]){
  background:#ef2029!important;
  border-color:#ef2029!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(239,32,41,.18)!important;
}

.header-search-form{
  min-width:180px;
}

.header-search-form input{
  border-radius:13px!important;
  background:#f8fbf9!important;
}

.header-publish-button{
  background:
    linear-gradient(145deg,#078657,#056b47)!important;
  border-color:#078657!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(7,121,79,.16)!important;
}


/* --------------------------------------------------------------------------
   HERO — DESKTOP
   -------------------------------------------------------------------------- */

.hero{
  padding:72px 0 0!important;
  background:#044632!important;
}

.hero::before{
  background:
    linear-gradient(
      90deg,
      rgba(2,39,27,.88) 0%,
      rgba(3,69,47,.72) 43%,
      rgba(4,72,49,.30) 71%,
      rgba(4,72,49,.08) 100%
    )!important;
}

.hero-grid{
  min-height:520px;
  grid-template-columns:
    minmax(0,1.04fr)
    minmax(500px,.96fr)!important;
  gap:54px!important;
  align-items:center!important;
}

.hero-content{
  position:relative;
  z-index:5;
}

.hero-slogan-corporate{
  width:auto!important;
  max-width:760px!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(3.8rem,5vw,5.8rem)!important;
  line-height:.94!important;
  letter-spacing:-.058em!important;
  text-shadow:0 5px 25px rgba(0,0,0,.23);
}

.hero-slogan-first{
  color:#fff!important;
}

.hero-highlight{
  display:block!important;
  margin-top:.08em!important;
  color:var(--r3-mint)!important;
}

.hero-mode-kicker{
  margin-top:20px!important;
  color:#fff!important;
  font-size:1.05rem!important;
  font-weight:850!important;
}

.hero-lead{
  max-width:710px!important;
  margin-top:21px!important;
  color:rgba(255,255,255,.93)!important;
  line-height:1.65!important;
  font-size:1.03rem!important;
}

.hero-actions{
  margin-top:27px!important;
  display:grid!important;
  grid-template-columns:
    repeat(4,max-content)!important;
  gap:10px!important;
  justify-content:start!important;
}

.hero-actions .button{
  min-height:50px!important;
  padding:12px 20px!important;
  border-radius:14px!important;
}

.hero-actions .button-danger{
  background:var(--r3-red)!important;
  box-shadow:0 9px 22px rgba(239,32,41,.20)!important;
}

.hero-actions .button-primary{
  background:
    linear-gradient(145deg,#0b995f,#087249)!important;
}

.hero-actions .button-secondary{
  color:#073e2c!important;
  background:#fff!important;
}

.trust-row{
  margin-top:22px!important;
  display:grid!important;
  grid-template-columns:
    repeat(2,minmax(0,250px))!important;
  gap:8px!important;
}

.trust-row span{
  justify-content:flex-start!important;
  min-height:42px;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.11)!important;
  border-color:rgba(255,255,255,.15)!important;
}

.hero-visual{
  min-height:500px!important;
  overflow:visible!important;
}

.hero-card{
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:#fff!important;
  box-shadow:
    0 28px 55px rgba(1,28,19,.25)!important;
}

.hero-card-phone{
  left:4%!important;
  top:42px!important;
  transform:rotate(-3deg)!important;
}

.hero-card-shelf{
  right:2%!important;
  top:0!important;
  transform:rotate(2deg)!important;
  z-index:4!important;
}

.hero-card-bike{
  left:37%!important;
  bottom:6px!important;
  transform:rotate(-1deg)!important;
  z-index:5!important;
}

.hero-card-media{
  aspect-ratio:4/3!important;
  background:#f4f7f6!important;
}

.hero-card-copy{
  padding:14px 16px 17px!important;
}

.hero-card-copy strong{
  font-size:1.08rem!important;
}

.hero-corporate-strip{
  margin-top:36px!important;
  background:rgba(244,251,247,.95)!important;
  border:0!important;
  box-shadow:none!important;
}

.hero-corporate-strip-inner{
  min-height:104px;
  display:grid!important;
  grid-template-columns:
    repeat(3,minmax(0,1fr))!important;
  align-items:center!important;
}

.hero-corporate-item{
  min-height:76px;
  justify-content:center!important;
  padding:15px 34px!important;
}


/* --------------------------------------------------------------------------
   MAIN SECTIONS
   -------------------------------------------------------------------------- */

.catalogue-section,
.services-section,
.ticketing-section{
  background:transparent!important;
}

.catalogue-section{
  padding:64px 0 68px!important;
}

.catalogue-heading h2,
.services-heading h2,
.ticketing-heading h2{
  color:var(--r3-text)!important;
  letter-spacing:-.045em!important;
}

.filter-bar,
.services-filter-bar,
.ticketing-discovery-toolbar{
  border-radius:18px!important;
}

.listing-grid{
  grid-template-columns:
    repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
}

.listing-card{
  border:1px solid var(--r3-line)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:var(--r3-shadow-soft)!important;
}

.listing-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:var(--r3-shadow)!important;
}

.listing-image-wrap{
  background:#f1f5f3!important;
}

.listing-body{
  padding:17px!important;
}

.services-section{
  padding:60px 0!important;
}

.services-grid{
  gap:18px!important;
}

.service-card{
  border:1px solid var(--r3-line)!important;
  border-radius:22px!important;
  box-shadow:var(--r3-shadow-soft)!important;
}

.ticketing-section{
  padding:58px 0 76px!important;
}

.ticket-public-grid{
  gap:18px!important;
}

.ticket-public-card{
  border:1px solid var(--r3-line)!important;
  border-radius:20px!important;
  box-shadow:var(--r3-shadow-soft)!important;
}


/* --------------------------------------------------------------------------
   MOBILE NAV — validated IA layout
   Accueil | Explorer | Publier | Messages | Compte
   -------------------------------------------------------------------------- */

.mobile-bottom-nav{
  grid-template-columns:
    repeat(5,minmax(0,1fr))!important;
}

.mobile-home-entry,
.mobile-explore-entry{
  display:grid!important;
}


/* --------------------------------------------------------------------------
   MOBILE <= 820
   -------------------------------------------------------------------------- */

@media(max-width:820px){

  :root{
    --container:
      min(100% - 24px,1180px);
  }

  body{
    padding-bottom:
      calc(88px + env(safe-area-inset-bottom))!important;
  }

  .container{
    width:calc(100% - 24px)!important;
  }


  /* Header */

  .site-header-v1990-rc2{
    padding-top:
      env(safe-area-inset-top);
  }

  .site-header-v1990-rc2 .header-main-row{
    width:calc(100% - 18px)!important;
    min-height:64px!important;
    margin-inline:auto!important;
    padding:5px 0!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
  }

  .site-header-v1990-rc2 .brand{
    flex:1 1 auto!important;
    min-width:0!important;
    gap:6px!important;
  }

  .site-header-v1990-rc2 .brand-mark{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    border-radius:11px!important;
  }

  .site-header-v1990-rc2 .brand strong{
    font-size:.88rem!important;
    white-space:nowrap!important;
  }

  .site-header-v1990-rc2 .brand small{
    display:none!important;
  }

  .site-header-v1990-rc2 .header-right{
    flex:0 0 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    margin-left:auto!important;
  }

  .site-header-v1990-rc2 .top-actions{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:5px!important;
    margin:0!important;
  }

  .site-header-v1990-rc2
  .top-actions>.button,
  .site-header-v1990-rc2
  .top-actions>a.button{
    display:none!important;
  }

  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]){
    display:inline-flex!important;
    min-width:86px!important;
    min-height:40px!important;
    padding:7px 10px!important;
    border-radius:12px!important;
    font-size:.72rem!important;
  }

  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:not([hidden]){
    display:inline-flex!important;
    min-width:58px!important;
    min-height:40px!important;
    padding:7px 8px!important;
    border-radius:12px!important;
    font-size:.70rem!important;
  }

  .header-search-form,
  .header-publish-button{
    display:none!important;
  }

  .header-account-button{
    width:38px!important;
    min-width:38px!important;
    height:40px!important;
    padding:0!important;
    overflow:hidden!important;
  }


  /* Hero */

  .hero{
    padding:26px 0 0!important;
  }

  .hero-grid{
    min-height:auto!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

  .hero-content{
    text-align:left!important;
  }

  .hero-slogan-corporate{
    width:100%!important;
    max-width:100%!important;
    font-size:
      clamp(2.45rem,11.3vw,3.75rem)!important;
    line-height:.96!important;
    letter-spacing:-.055em!important;
  }

  .hero-highlight{
    display:block!important;
  }

  .hero-mode-kicker{
    margin-top:13px!important;
    font-size:.78rem!important;
  }

  .hero-lead{
    margin-top:12px!important;
    font-size:.85rem!important;
    line-height:1.52!important;
  }

  .hero-actions{
    margin-top:18px!important;
    display:grid!important;
    grid-template-columns:
      repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .hero-actions .button{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:8px 5px!important;
    border-radius:12px!important;
    font-size:.72rem!important;
  }

  .hero-actions .button:nth-child(4){
    grid-column:1 / -1!important;
    background:#fff!important;
    color:#07573d!important;
  }

  .trust-row{
    margin-top:11px!important;
    grid-template-columns:
      repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
  }

  .trust-row span{
    min-width:0!important;
    min-height:38px!important;
    padding:6px 8px!important;
    font-size:.60rem!important;
    line-height:1.15!important;
  }


  /* Horizontal product preview */

  .hero-visual{
    width:calc(100% + 24px)!important;
    min-height:0!important;
    margin-inline:-12px!important;
    padding:4px 12px 14px!important;
    display:flex!important;
    gap:9px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }

  .hero-visual::-webkit-scrollbar{
    display:none!important;
  }

  .hero-card{
    position:relative!important;
    inset:auto!important;
    flex:0 0 min(72vw,275px)!important;
    width:auto!important;
    max-width:275px!important;
    transform:none!important;
    scroll-snap-align:center!important;
    border-radius:18px!important;
    box-shadow:
      0 12px 28px rgba(0,0,0,.18)!important;
  }

  .hero-card-media{
    aspect-ratio:4/3!important;
  }

  .hero-card-copy{
    padding:10px 12px 12px!important;
  }

  .hero-card-copy strong{
    font-size:.90rem!important;
  }

  .hero-card-copy span{
    font-size:.70rem!important;
  }

  .hero-card-copy small{
    font-size:.62rem!important;
  }

  .hero-note{
    display:none!important;
  }


  /* Feature strip */

  .hero-corporate-strip{
    margin-top:0!important;
  }

  .hero-corporate-strip-inner{
    width:100%!important;
    min-height:0!important;
    display:flex!important;
    gap:7px!important;
    padding:9px 12px!important;
    overflow-x:auto!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
  }

  .hero-corporate-strip-inner::-webkit-scrollbar{
    display:none!important;
  }

  .hero-corporate-item{
    flex:0 0 auto!important;
    min-width:175px!important;
    min-height:52px!important;
    padding:8px 10px!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.67)!important;
  }

  .hero-corporate-item>span:first-child{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
  }

  .hero-corporate-item strong{
    font-size:.69rem!important;
  }

  .hero-corporate-item small{
    display:none!important;
  }


  /* Catalogue */

  .catalogue-section{
    padding:42px 0 48px!important;
  }

  .catalogue-heading{
    margin-bottom:14px!important;
  }

  .catalogue-heading h2{
    font-size:1.85rem!important;
  }

  .filter-bar{
    position:relative!important;
    top:auto!important;
    padding:8px!important;
    border-radius:15px!important;
  }

  .listing-grid{
    width:calc(100% + 24px)!important;
    margin-inline:-12px!important;
    padding:4px 12px 16px!important;
    display:flex!important;
    gap:11px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }

  .listing-grid::-webkit-scrollbar{
    display:none!important;
  }

  .listing-card{
    flex:0 0 min(78vw,300px)!important;
    width:auto!important;
    scroll-snap-align:start!important;
    border-radius:18px!important;
  }


  /* Services */

  .services-section{
    padding:42px 0!important;
  }

  .services-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .service-card{
    border-radius:17px!important;
  }

  .service-card-main{
    display:block!important;
  }

  .service-card-media{
    min-height:115px!important;
    aspect-ratio:4/3!important;
  }

  .service-card-body{
    padding:11px!important;
  }


  /* Ticketing */

  .ticketing-section{
    padding:42px 0 56px!important;
  }

  .ticket-public-grid{
    grid-template-columns:1fr!important;
  }


  /* Bottom navigation */

  .mobile-bottom-nav{
    left:8px!important;
    right:8px!important;
    bottom:
      max(8px,env(safe-area-inset-bottom))!important;
    width:auto!important;
    min-height:66px!important;
    padding:6px 7px!important;
    display:grid!important;
    grid-template-columns:
      repeat(5,minmax(0,1fr))!important;
    align-items:end!important;
    border:1px solid rgba(208,225,217,.96)!important;
    border-radius:21px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:
      0 15px 38px rgba(4,46,31,.18)!important;
    backdrop-filter:blur(18px)!important;
  }

  .mobile-nav-item{
    min-width:0!important;
    min-height:48px!important;
    padding:4px 1px!important;
    display:grid!important;
    place-items:center!important;
    align-content:center!important;
    gap:2px!important;
    border-radius:13px!important;
    color:#65746e!important;
  }

  .mobile-nav-item span{
    font-size:1.16rem!important;
  }

  .mobile-nav-item small{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:.55rem!important;
  }

  .mobile-home-entry{
    color:#087a53!important;
  }

  .mobile-nav-publish{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;

    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;

    margin-top:-20px!important;
    justify-self:center!important;

    border-radius:50%!important;
    color:#fff!important;
    background:
      linear-gradient(145deg,#08a166,#04794e)!important;
    box-shadow:
      0 10px 25px rgba(7,134,87,.30)!important;
  }

  .mobile-nav-publish span{
    font-size:1.65rem!important;
    color:#fff!important;
  }

  .mobile-nav-publish small{
    color:#fff!important;
    font-size:.52rem!important;
  }
}


/* --------------------------------------------------------------------------
   SMALL MOBILE <= 380
   -------------------------------------------------------------------------- */

@media(max-width:380px){

  .site-header-v1990-rc2
  .header-main-row{
    width:calc(100% - 12px)!important;
    gap:4px!important;
  }

  .site-header-v1990-rc2
  .brand-mark{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }

  .site-header-v1990-rc2
  .brand strong{
    font-size:.78rem!important;
  }

  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]){
    min-width:78px!important;
    padding-inline:7px!important;
    font-size:.67rem!important;
  }

  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:not([hidden]){
    min-width:52px!important;
    font-size:.65rem!important;
  }

  .header-account-button{
    width:34px!important;
    min-width:34px!important;
  }

  .hero-slogan-corporate{
    font-size:
      clamp(2.15rem,10.8vw,2.8rem)!important;
  }

  .hero-actions{
    gap:5px!important;
  }

  .hero-actions .button{
    min-height:43px!important;
    font-size:.66rem!important;
  }

  .trust-row span{
    font-size:.56rem!important;
  }

  .hero-card{
    flex-basis:min(78vw,250px)!important;
  }

  .services-grid{
    grid-template-columns:1fr!important;
  }

  .mobile-nav-item small{
    font-size:.50rem!important;
  }
}


/* --------------------------------------------------------------------------
   DESKTOP XXL
   -------------------------------------------------------------------------- */

@media(min-width:1500px){

  .hero-grid{
    min-height:560px!important;
  }

  .hero-slogan-corporate{
    font-size:5.7rem!important;
  }

  .hero-card{
    width:min(100%,345px)!important;
  }
}

/* END TAKALO S9 R3 VALIDATED UI REDESIGN */

/* ==========================================================================
   TAKALO S9 R4 A1 UI CORRECTION
   - Desktop: Installer hidden, header anti-overlap
   - Mobile: install sheet/FAB collision fix
   - Mobile: cleaner header density
   ========================================================================== */

/* --------------------------------------------------------------------------
   DESKTOP >= 1101
   -------------------------------------------------------------------------- */

@media(min-width:1101px){

  /* Installer is intentionally mobile/tablet-first */
  .site-header-v1990-rc2
  .top-actions>.install-button{
    display:none!important;
  }

  .site-header-v1990-rc2 .header-main-row{
    width:min(100% - 28px,1520px)!important;
    min-height:72px!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    overflow:visible!important;
  }

  .site-header-v1990-rc2 .brand{
    flex:0 0 auto!important;
    min-width:max-content!important;
  }

  .site-header-v1990-rc2 .header-right{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    margin-left:auto!important;
  }

  .site-header-v1990-rc2 .top-actions{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    overflow:visible!important;
  }

  .site-header-v1990-rc2
  .top-actions>.button,
  .site-header-v1990-rc2
  .top-actions>a.button{
    flex:0 0 auto!important;
    min-height:40px!important;
    padding:7px 10px!important;
    font-size:.76rem!important;
    white-space:nowrap!important;
  }

  .site-header-v1990-rc2
  .header-search-form{
    flex:0 1 180px!important;
    min-width:145px!important;
    max-width:210px!important;
  }

  .site-header-v1990-rc2
  .header-search-form input{
    min-width:0!important;
    width:100%!important;
  }

  .site-header-v1990-rc2
  .header-account-button{
    flex:0 0 auto!important;
    max-width:132px!important;
    min-width:96px!important;
    overflow:hidden!important;
  }

  .site-header-v1990-rc2
  .header-publish-button{
    flex:0 0 auto!important;
    min-width:108px!important;
  }
}


/* --------------------------------------------------------------------------
   COMPACT DESKTOP 1101..1280
   -------------------------------------------------------------------------- */

@media(min-width:1101px) and (max-width:1280px){

  .site-header-v1990-rc2
  .header-main-row{
    gap:7px!important;
  }

  .site-header-v1990-rc2
  .top-actions{
    gap:4px!important;
  }

  .site-header-v1990-rc2
  .top-actions>.button,
  .site-header-v1990-rc2
  .top-actions>a.button{
    padding:7px 8px!important;
    font-size:.70rem!important;
  }

  .site-header-v1990-rc2
  .header-search-form{
    flex-basis:150px!important;
    min-width:125px!important;
  }

  .site-header-v1990-rc2
  .header-account-button{
    max-width:110px!important;
    min-width:82px!important;
  }

  .site-header-v1990-rc2
  .header-publish-button{
    min-width:96px!important;
    padding-inline:10px!important;
  }
}


/* --------------------------------------------------------------------------
   TABLET 821..1100
   -------------------------------------------------------------------------- */

@media(min-width:821px) and (max-width:1100px){

  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]){
    display:inline-flex!important;
  }

  .site-header-v1990-rc2
  .top-actions>.header-market-entry,
  .site-header-v1990-rc2
  .top-actions>.services-header-button,
  .site-header-v1990-rc2
  .top-actions>.ticketing-header-button,
  .site-header-v1990-rc2
  .top-actions>.b2b-header-button{
    display:none!important;
  }

  .site-header-v1990-rc2
  .header-search-form{
    display:none!important;
  }
}


/* --------------------------------------------------------------------------
   MOBILE <= 820
   -------------------------------------------------------------------------- */

@media(max-width:820px){

  .site-header-v1990-rc2
  .header-main-row{
    min-height:62px!important;
    gap:5px!important;
  }

  .site-header-v1990-rc2
  .brand{
    flex:1 1 auto!important;
    min-width:0!important;
  }

  .site-header-v1990-rc2
  .brand strong{
    max-width:100px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .site-header-v1990-rc2
  .top-actions{
    gap:4px!important;
  }

  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]){
    min-width:80px!important;
    min-height:38px!important;
    padding:6px 8px!important;
    font-size:.68rem!important;
  }

  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:not([hidden]){
    min-width:54px!important;
    min-height:38px!important;
    padding:6px 7px!important;
  }

  .header-account-button{
    width:34px!important;
    min-width:34px!important;
    height:38px!important;
  }

  /*
   * When install sheet is open:
   * hide Publish FAB to eliminate the collision.
   */
  html.r4-install-sheet-open
  .mobile-nav-publish{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:
      translateY(10px) scale(.92)!important;
  }

  /*
   * Keep bottom navigation below the sheet, but readable.
   */
  html.r4-install-sheet-open
  .mobile-bottom-nav{
    z-index:40!important;
  }

  html.r4-install-sheet-open
  .s9-install-sheet{
    z-index:1100!important;
  }

  html.r4-install-sheet-open
  body{
    overflow-x:hidden!important;
  }

  .s9-install-sheet{
    padding:
      12px
      12px
      calc(82px + env(safe-area-inset-bottom))
      !important;
  }

  .s9-install-sheet-card{
    width:min(100%,430px)!important;
    margin-inline:auto!important;
    border-radius:24px!important;
    padding:18px!important;
    box-shadow:
      0 24px 60px rgba(0,0,0,.28)!important;
  }

  .s9-install-sheet-copy{
    min-width:0!important;
  }

  .s9-install-sheet-copy strong{
    font-size:1.05rem!important;
    line-height:1.2!important;
  }

  .s9-install-sheet-copy span{
    font-size:.84rem!important;
    line-height:1.42!important;
  }

  .s9-install-sheet-action{
    width:100%!important;
    min-height:46px!important;
    margin-top:8px!important;
  }

  .mobile-bottom-nav{
    z-index:48!important;
  }
}


/* --------------------------------------------------------------------------
   SMALL MOBILE <= 380
   -------------------------------------------------------------------------- */

@media(max-width:380px){

  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]){
    min-width:72px!important;
    padding-inline:6px!important;
    font-size:.63rem!important;
  }

  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:not([hidden]){
    min-width:48px!important;
    font-size:.62rem!important;
  }

  .site-header-v1990-rc2
  .brand strong{
    max-width:82px!important;
    font-size:.74rem!important;
  }
}

/* END TAKALO S9 R4 A1 UI CORRECTION */

/* ==========================================================================
   TAKALO S9 R4 A2 — INSTALLER MOBILE ONLY
   Installer visible <=820px only.
   ========================================================================== */

@media(min-width:821px){
  .site-header-v1990-rc2
  .top-actions>.install-button{
    display:none!important;
  }
}

/* END TAKALO S9 R4 A2 */

/* ==========================================================================
   TAKALO S9 R4 A3 — VERTICAL COMPACT + MOBILE FINISH
   Scope: visual layout only.
   - Removes excessive empty vertical zones
   - Compacts Services / Ticketing
   - Improves mobile rhythm
   - Enlarges mobile navigation touch targets
   - Keeps R4 A2 Installer rule unchanged
   ========================================================================== */


/* --------------------------------------------------------------------------
   GLOBAL SECTION RHYTHM
   -------------------------------------------------------------------------- */

.catalogue-section,
.services-section,
.ticketing-section,
.takalo-live-section,
.marketplace-modes-section,
.safety-section,
.pinned-messages-section{
  min-height:0!important;
  height:auto!important;
}

.catalogue-section > .container,
.services-section > .container,
.ticketing-section > .container,
.takalo-live-section > .container,
.marketplace-modes-section > .container{
  min-height:0!important;
}


/* --------------------------------------------------------------------------
   REMOVE EMPTY RESERVED HEIGHT
   -------------------------------------------------------------------------- */

.services-grid,
.ticket-public-grid,
.takalo-live-grid,
.listing-grid{
  min-height:0!important;
}

.services-empty,
.my-services-empty,
.my-services-loading,
.takalo-live-empty{
  min-height:0!important;
  height:auto!important;
}

.services-empty,
.my-services-empty,
.my-services-loading{
  margin-top:14px!important;
  padding:24px 18px!important;
}

.takalo-live-empty{
  padding:26px 18px!important;
}


/* --------------------------------------------------------------------------
   DESKTOP / TABLET SECTION COMPACTION
   -------------------------------------------------------------------------- */

@media(min-width:821px){

  .catalogue-section{
    padding-top:48px!important;
    padding-bottom:52px!important;
  }

  .services-section{
    padding-top:46px!important;
    padding-bottom:48px!important;
  }

  .ticketing-section{
    padding-top:46px!important;
    padding-bottom:56px!important;
  }

  .takalo-live-section{
    padding-top:42px!important;
    padding-bottom:46px!important;
  }

  .services-heading,
  .ticketing-heading,
  .takalo-live-heading{
    margin-bottom:16px!important;
  }

  .services-grid,
  .ticket-public-grid{
    margin-top:16px!important;
  }

  .ticketing-discovery-toolbar{
    margin-top:14px!important;
    margin-bottom:10px!important;
  }

  .ticketing-flow-strip{
    margin-top:14px!important;
    margin-bottom:14px!important;
  }

  .hero-corporate-strip{
    margin-bottom:0!important;
  }
}


/* --------------------------------------------------------------------------
   MOBILE <= 820
   -------------------------------------------------------------------------- */

@media(max-width:820px){

  /* Page rhythm */
  .catalogue-section{
    padding:30px 0 34px!important;
  }

  .services-section{
    padding:30px 0 34px!important;
  }

  .ticketing-section{
    padding:30px 0 40px!important;
  }

  .takalo-live-section{
    padding:28px 0 32px!important;
  }

  .marketplace-modes-section{
    padding:28px 0 16px!important;
  }


  /* Hero density */
  .hero{
    padding-top:20px!important;
  }

  .hero-grid{
    gap:13px!important;
  }

  .hero-slogan-corporate{
    margin-bottom:0!important;
  }

  .hero-mode-kicker{
    margin-top:10px!important;
  }

  .hero-lead{
    margin-top:9px!important;
    margin-bottom:0!important;
    line-height:1.42!important;
  }

  .hero-actions{
    margin-top:14px!important;
    gap:6px!important;
  }

  .hero-actions .button{
    min-height:43px!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }

  .trust-row{
    margin-top:8px!important;
    gap:4px!important;
  }

  .trust-row span{
    min-height:34px!important;
    padding:5px 7px!important;
  }


  /* Hero product cards */
  .hero-visual{
    margin-top:2px!important;
    padding-top:2px!important;
    padding-bottom:8px!important;
  }

  .hero-card{
    flex-basis:min(72vw,260px)!important;
    max-width:260px!important;
  }

  .hero-card-copy{
    padding:9px 11px 10px!important;
  }


  /* Corporate strip */
  .hero-corporate-strip{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  .hero-corporate-strip-inner{
    padding-top:7px!important;
    padding-bottom:7px!important;
  }


  /* Headings */
  .catalogue-heading,
  .services-heading,
  .ticketing-heading,
  .takalo-live-heading{
    margin-bottom:11px!important;
  }

  .catalogue-heading h2,
  .services-heading h2,
  .ticketing-heading h2,
  .takalo-live-heading h2{
    margin-top:4px!important;
    margin-bottom:5px!important;
    line-height:1.08!important;
  }

  .catalogue-heading p,
  .services-heading p,
  .ticketing-heading p,
  .takalo-live-heading p{
    margin-top:4px!important;
    margin-bottom:0!important;
  }


  /* Market listings */
  .filter-bar{
    margin-bottom:10px!important;
  }

  .listing-grid{
    margin-top:8px!important;
    padding-bottom:10px!important;
  }


  /* Services */
  .services-filter-bar{
    margin-top:10px!important;
    margin-bottom:10px!important;
  }

  .services-flow-strip{
    margin-top:10px!important;
    margin-bottom:10px!important;
  }

  .services-grid{
    margin-top:10px!important;
  }

  .services-empty,
  .my-services-empty,
  .my-services-loading{
    margin-top:10px!important;
    padding:20px 14px!important;
  }


  /* Ticketing */
  .ticketing-flow-strip{
    margin-top:10px!important;
    margin-bottom:10px!important;
  }

  .ticketing-discovery-toolbar{
    margin-top:10px!important;
    margin-bottom:8px!important;
  }

  .ticket-public-grid{
    margin-top:10px!important;
  }


  /* Live */
  .takalo-live-grid{
    margin-top:10px!important;
  }

  .takalo-live-empty{
    padding:20px 14px!important;
  }


  /* Bottom navigation: larger touch targets */
  .mobile-bottom-nav{
    min-height:70px!important;
    padding:7px 7px 6px!important;
  }

  .mobile-nav-item{
    min-height:52px!important;
    padding:5px 2px!important;
  }

  .mobile-nav-item span{
    font-size:1.25rem!important;
  }

  .mobile-nav-item small{
    font-size:.58rem!important;
    line-height:1.1!important;
  }

  .mobile-nav-publish{
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
    min-height:60px!important;
  }


  /* Footer spacing */
  .site-footer{
    margin-top:22px!important;
  }
}


/* --------------------------------------------------------------------------
   SMALL MOBILE <= 380
   -------------------------------------------------------------------------- */

@media(max-width:380px){

  .hero{
    padding-top:16px!important;
  }

  .hero-slogan-corporate{
    font-size:clamp(2rem,10.3vw,2.55rem)!important;
  }

  .hero-lead{
    font-size:.80rem!important;
  }

  .hero-actions .button{
    min-height:41px!important;
    font-size:.65rem!important;
  }

  .trust-row span{
    min-height:32px!important;
    font-size:.54rem!important;
  }

  .hero-card{
    flex-basis:min(76vw,240px)!important;
    max-width:240px!important;
  }

  .catalogue-section,
  .services-section,
  .ticketing-section{
    padding-top:26px!important;
  }

  .mobile-nav-item{
    min-height:50px!important;
  }

  .mobile-nav-item small{
    font-size:.54rem!important;
  }
}


/* --------------------------------------------------------------------------
   EMPTY STATE SAFETY
   -------------------------------------------------------------------------- */

.services-grid:empty,
.ticket-public-grid:empty,
.takalo-live-grid:empty{
  margin-top:0!important;
  margin-bottom:0!important;
  min-height:0!important;
}


/* END TAKALO S9 R4 A3 — VERTICAL COMPACT + MOBILE FINISH */

/* ==========================================================================
   TAKALO S9 R4 A4 — CONTENT VISIBILITY FIX

   how-section and safety-section must be genuinely rendered.
   Do not reserve the former 700px intrinsic placeholder for them.
   ========================================================================== */

.how-section,
.safety-section{
  content-visibility:visible!important;
  contain-intrinsic-size:none!important;

  min-height:0!important;
  height:auto!important;
}

.how-section > .container,
.safety-section > .container{
  min-height:0!important;
  height:auto!important;
}


/* Compact but fully visible HOW section */

.how-section{
  padding:32px 0!important;
}

.how-section .compact-heading,
.how-section .section-heading{
  margin-bottom:14px!important;
}

.how-section .steps-grid{
  margin-top:10px!important;
}


/* Compact safety block */

.safety-section{
  padding:0 0 38px!important;
}

.safety-section .safety-card{
  min-height:0!important;
  height:auto!important;
}


/* Mobile */

@media(max-width:820px){

  .how-section{
    padding:24px 0!important;
  }

  .how-section .steps-grid{
    margin-top:8px!important;
    padding-bottom:8px!important;
  }

  .how-section .step-card{
    padding:16px!important;
  }

  .safety-section{
    padding:0 0 26px!important;
  }

  .safety-section .safety-card{
    padding:18px 16px!important;
    gap:14px!important;
  }

  .safety-section .safety-icon{
    width:48px!important;
    height:48px!important;
    border-radius:15px!important;
  }
}


/* Small mobile */

@media(max-width:380px){

  .how-section{
    padding:20px 0!important;
  }

  .safety-section{
    padding-bottom:22px!important;
  }

  .safety-section .safety-card{
    padding:16px 14px!important;
  }
}

/* END TAKALO S9 R4 A4 — CONTENT VISIBILITY FIX */

/* ==========================================================================
   TAKALO S9 R5 PREMIUM INTERNATIONAL UI
   Premium desktop header + modal system
   ========================================================================== */

:root{
  --r5-green-950:#053b2b;
  --r5-green-900:#06513a;
  --r5-green-800:#076847;
  --r5-green-700:#078c5a;
  --r5-green-100:#eaf7f1;
  --r5-green-50:#f5fbf8;
  --r5-text:#10231c;
  --r5-muted:#6b7d75;
  --r5-line:#dbe7e1;
  --r5-surface:#ffffff;
  --r5-red:#ef2430;
  --r5-shadow:
    0 22px 70px rgba(7,45,32,.14);
  --r5-shadow-soft:
    0 8px 26px rgba(7,45,32,.07);
}


/* ======================================================================
   DESKTOP HEADER — PREMIUM / INTERNATIONAL
   ====================================================================== */

@media(min-width:821px){

  .site-header-v1990-rc2{
    background:rgba(255,255,255,.985)!important;
    border-bottom:1px solid #e3ece7!important;
    box-shadow:
      0 5px 22px rgba(7,45,32,.045)!important;
    backdrop-filter:blur(18px)!important;
  }

  .site-header-v1990-rc2
  .header-main-row{
    width:min(100% - 36px,1540px)!important;
    min-height:74px!important;
    margin-inline:auto!important;
    gap:10px!important;
    overflow:visible!important;
  }

  .site-header-v1990-rc2
  .brand{
    gap:10px!important;
    padding-right:8px!important;
  }

  .site-header-v1990-rc2
  .brand-mark{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    border-radius:13px!important;
    background:
      linear-gradient(
        145deg,
        #099463,
        #056847
      )!important;
    box-shadow:
      0 7px 18px rgba(6,122,79,.18)!important;
  }

  .site-header-v1990-rc2
  .brand strong{
    font-size:1.02rem!important;
    letter-spacing:.04em!important;
    font-weight:950!important;
    color:#0b241b!important;
  }

  .site-header-v1990-rc2
  .brand small{
    font-size:.68rem!important;
    color:#718078!important;
  }

  .site-header-v1990-rc2
  .header-right{
    min-width:0!important;
    gap:8px!important;
  }

  .site-header-v1990-rc2
  .top-actions{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    min-width:0!important;
  }

  /*
   * All navigation actions are neutral/premium.
   * Live is the ONLY red action.
   */
  .site-header-v1990-rc2
  .top-actions>.button,
  .site-header-v1990-rc2
  .top-actions>a.button{
    min-height:42px!important;
    padding:8px 12px!important;
    border:1px solid #dce8e2!important;
    border-radius:13px!important;
    background:#fff!important;
    color:#194b39!important;
    font-size:.76rem!important;
    font-weight:850!important;
    box-shadow:
      0 2px 8px rgba(7,45,32,.025)!important;
    white-space:nowrap!important;
    transition:
      border-color .16s ease,
      background .16s ease,
      box-shadow .16s ease,
      transform .16s ease!important;
  }

  .site-header-v1990-rc2
  .top-actions>.button:hover,
  .site-header-v1990-rc2
  .top-actions>a.button:hover{
    border-color:#b9d9cb!important;
    background:#f7fbf9!important;
    box-shadow:
      0 6px 16px rgba(7,70,46,.07)!important;
    transform:translateY(-1px)!important;
  }

  /*
   * Installer is NEVER displayed on PC.
   */
  .site-header-v1990-rc2
  .top-actions>.install-button{
    display:none!important;
  }

  /*
   * UNIQUE RED BUTTON
   */
  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button,
  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:hover{
    background:
      linear-gradient(
        145deg,
        #f22d37,
        #e51f2b
      )!important;
    border-color:#ef2430!important;
    color:#fff!important;
    box-shadow:
      0 8px 19px rgba(239,36,48,.20)!important;
    transform:none!important;
  }

  /*
   * Neutralize any other accidental red header action.
   */
  .site-header-v1990-rc2
  .top-actions>.button-danger:not(.takalo-live-header-button),
  .site-header-v1990-rc2
  .top-actions>.danger:not(.takalo-live-header-button){
    background:#fff!important;
    border-color:#dce8e2!important;
    color:#194b39!important;
    box-shadow:none!important;
  }

  .site-header-v1990-rc2
  .header-search-form{
    flex:0 1 190px!important;
    min-width:155px!important;
    max-width:220px!important;
  }

  .site-header-v1990-rc2
  .header-search-form input{
    width:100%!important;
    min-height:42px!important;
    padding:9px 13px 9px 36px!important;
    border:1px solid #dbe7e1!important;
    border-radius:13px!important;
    background:#f8fbf9!important;
    color:#233b32!important;
    box-shadow:none!important;
  }

  .site-header-v1990-rc2
  .header-account-button{
    min-height:42px!important;
    min-width:120px!important;
    max-width:145px!important;
    padding:6px 10px!important;
    border:1px solid #dbe7e1!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  .site-header-v1990-rc2
  .header-account-copy strong{
    color:#0e3d2e!important;
    font-weight:900!important;
  }

  .site-header-v1990-rc2
  .header-account-copy small{
    color:#6d7e76!important;
  }

  .site-header-v1990-rc2
  .header-publish-button{
    min-width:110px!important;
    min-height:42px!important;
    padding-inline:16px!important;
    border-radius:13px!important;
    background:
      linear-gradient(
        145deg,
        #078b59,
        #056e48
      )!important;
    border-color:#067c51!important;
    color:#fff!important;
    box-shadow:
      0 8px 20px rgba(7,128,83,.17)!important;
  }
}


/* ======================================================================
   COMPACT LAPTOP
   ====================================================================== */

@media(min-width:821px) and (max-width:1280px){

  .site-header-v1990-rc2
  .header-main-row{
    width:calc(100% - 20px)!important;
    gap:6px!important;
  }

  .site-header-v1990-rc2
  .top-actions{
    gap:4px!important;
  }

  .site-header-v1990-rc2
  .top-actions>.button,
  .site-header-v1990-rc2
  .top-actions>a.button{
    padding-inline:8px!important;
    font-size:.69rem!important;
  }

  .site-header-v1990-rc2
  .header-search-form{
    flex-basis:145px!important;
    min-width:120px!important;
  }

  .site-header-v1990-rc2
  .header-account-button{
    min-width:94px!important;
    max-width:112px!important;
  }

  .site-header-v1990-rc2
  .header-publish-button{
    min-width:95px!important;
  }
}


/* ======================================================================
   PREMIUM MODAL FOUNDATION
   ====================================================================== */

dialog.modal{
  width:min(980px,calc(100vw - 48px))!important;
  max-width:none!important;
  max-height:calc(100vh - 48px)!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:
    0 28px 90px rgba(5,35,25,.26)!important;
}

dialog.modal::backdrop{
  background:
    rgba(11,35,27,.62)!important;
  backdrop-filter:
    blur(8px) saturate(.85)!important;
}

.modal-shell{
  width:100%!important;
  max-width:100%!important;
  max-height:calc(100vh - 48px)!important;
  padding:26px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  scrollbar-gutter:stable!important;
}

.modal-header{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:22px!important;
  margin-bottom:22px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #e6eee9!important;
}

.modal-header>div{
  min-width:0!important;
  flex:1 1 auto!important;
}

.modal-header .eyebrow{
  margin:0 0 7px!important;
  color:#08724d!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}

.modal-header h2{
  margin:0!important;
  color:#10231c!important;
  font-size:
    clamp(1.65rem,2.3vw,2.15rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}

.modal-header .icon-button{
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  border-radius:13px!important;
  border:1px solid #dce8e2!important;
  background:#fff!important;
  color:#17372b!important;
  box-shadow:none!important;
}

.modal-header .icon-button:hover{
  background:#f3f8f5!important;
}


/* ======================================================================
   TICKETING MODALS
   ====================================================================== */

.ticket-modal{
  width:min(1040px,calc(100vw - 52px))!important;
}

.ticket-modal .modal-shell{
  padding:28px!important;
}

.ticket-event-summary,
.ticket-buyer-types,
.ticket-created-types,
.ticket-public-grid{
  max-width:100%!important;
  overflow-x:hidden!important;
}

.ticket-modal .button,
.ticket-modal button{
  border-radius:12px!important;
}

.ticket-modal .button-primary{
  background:
    linear-gradient(
      145deg,
      #078d5b,
      #056f49
    )!important;
  border-color:#067a50!important;
  color:#fff!important;
  box-shadow:
    0 8px 18px rgba(7,127,83,.14)!important;
}

.ticket-modal .button-secondary{
  background:#edf8f3!important;
  border-color:#d0e8dd!important;
  color:#075f42!important;
}


/* ======================================================================
   TICKET / EVENT CARDS
   ====================================================================== */

.ticket-public-card,
.ticket-event-summary,
.ticket-created-types>*{
  border:1px solid #dfeae5!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:
    0 6px 20px rgba(7,45,32,.055)!important;
}

.ticket-public-card{
  transition:
    transform .16s ease,
    box-shadow .16s ease!important;
}

.ticket-public-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:
    0 12px 28px rgba(7,45,32,.09)!important;
}


/* ======================================================================
   FORMS / SERVICE PUBLICATION MODALS
   ====================================================================== */

dialog.modal form{
  max-width:100%!important;
}

dialog.modal input,
dialog.modal select,
dialog.modal textarea{
  max-width:100%!important;
  box-sizing:border-box!important;
}

dialog.modal .field input,
dialog.modal .field select,
dialog.modal .field textarea{
  min-height:46px!important;
  border:1px solid #d8e5df!important;
  border-radius:12px!important;
  background:#fff!important;
  transition:
    border-color .16s ease,
    box-shadow .16s ease!important;
}

dialog.modal .field input:focus,
dialog.modal .field select:focus,
dialog.modal .field textarea:focus{
  border-color:#4eb48a!important;
  box-shadow:
    0 0 0 3px rgba(8,145,92,.10)!important;
  outline:0!important;
}

dialog.modal .form-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:3!important;
  margin:
    22px -26px -26px!important;
  padding:
    16px 26px!important;
  background:
    rgba(255,255,255,.97)!important;
  border-top:
    1px solid #e2ebe6!important;
  backdrop-filter:
    blur(14px)!important;
}


/* ======================================================================
   ELIMINATE HORIZONTAL MODAL OVERFLOW
   ====================================================================== */

dialog.modal,
dialog.modal *,
.modal-shell,
.modal-shell *{
  box-sizing:border-box!important;
}

dialog.modal .grid,
dialog.modal .form-grid,
dialog.modal .ticket-inline-form,
dialog.modal .ticket-event-summary{
  max-width:100%!important;
}

dialog.modal table{
  max-width:100%!important;
}

dialog.modal img{
  max-width:100%!important;
}

dialog.modal::-webkit-scrollbar,
.modal-shell::-webkit-scrollbar{
  width:9px!important;
  height:0!important;
}

.modal-shell::-webkit-scrollbar-thumb{
  background:#c6d8d0!important;
  border-radius:999px!important;
  border:2px solid #fff!important;
}


/* ======================================================================
   MOBILE MODALS
   ====================================================================== */

@media(max-width:820px){

  dialog.modal{
    width:calc(100vw - 18px)!important;
    max-height:
      calc(100dvh - 18px)!important;
    border-radius:22px!important;
  }

  .modal-shell{
    max-height:
      calc(100dvh - 18px)!important;
    padding:18px!important;
  }

  .modal-header{
    gap:12px!important;
    margin-bottom:16px!important;
    padding-bottom:14px!important;
  }

  .modal-header h2{
    font-size:1.55rem!important;
  }

  dialog.modal .form-actions{
    margin:
      18px -18px -18px!important;
    padding:
      14px 18px
      calc(
        14px +
        env(safe-area-inset-bottom)
      )!important;
  }
}


/* ======================================================================
   FINAL COLOR DISCIPLINE
   Only Live may be red in the desktop header.
   ====================================================================== */

@media(min-width:821px){

  .site-header-v1990-rc2
  .top-actions
  .button:not(.takalo-live-header-button){
    color:#174b38!important;
  }

  .site-header-v1990-rc2
  .takalo-live-header-button{
    color:#fff!important;
  }
}

/* END TAKALO S9 R5 PREMIUM INTERNATIONAL UI */

/* ==========================================================================
   TAKALO S9 R6 PREMIUM HOME
   International premium marketplace visual layer
   ========================================================================== */

:root{
  --r6-emerald-950:#043b2b;
  --r6-emerald-900:#04553b;
  --r6-emerald-800:#056f4a;
  --r6-emerald-700:#078c59;
  --r6-emerald-600:#0aa66a;
  --r6-mint:#5ce5ac;
  --r6-mint-soft:#e9f8f1;

  --r6-text:#10261d;
  --r6-muted:#718079;
  --r6-line:#dce9e3;
  --r6-surface:#ffffff;
  --r6-bg:#f5faf7;

  --r6-red:#ef2532;

  --r6-shadow-xs:
    0 2px 9px rgba(5,58,41,.04);

  --r6-shadow-sm:
    0 8px 25px rgba(5,58,41,.07);

  --r6-shadow-md:
    0 18px 48px rgba(5,58,41,.11);

  --r6-shadow-lg:
    0 28px 80px rgba(3,43,30,.18);
}


/* ======================================================================
   GLOBAL
   ====================================================================== */

html{
  background:#f5faf7!important;
}

body{
  background:
    linear-gradient(
      180deg,
      #f9fcfa 0%,
      #f4faf7 55%,
      #ffffff 100%
    )!important;
  color:var(--r6-text)!important;
}

.container{
  width:min(
    1460px,
    calc(100% - 40px)
  )!important;
}


/* ======================================================================
   HEADER — DESKTOP
   ====================================================================== */

@media(min-width:821px){

  .site-header-v1990-rc2{
    background:
      rgba(255,255,255,.985)!important;

    border-bottom:
      1px solid rgba(219,232,225,.92)!important;

    box-shadow:
      0 7px 26px rgba(5,55,39,.055)!important;
  }

  .site-header-v1990-rc2
  .header-main-row{
    width:
      min(
        calc(100% - 34px),
        1540px
      )!important;

    min-height:78px!important;
    gap:9px!important;
  }

  .site-header-v1990-rc2
  .brand{
    margin-right:10px!important;
  }

  .site-header-v1990-rc2
  .brand-mark{
    width:44px!important;
    height:44px!important;
    flex-basis:44px!important;

    border-radius:14px!important;

    background:
      linear-gradient(
        145deg,
        #099b67,
        #056846
      )!important;

    box-shadow:
      0 9px 22px rgba(5,129,83,.20)!important;
  }

  .site-header-v1990-rc2
  .brand strong{
    font-size:1.08rem!important;
    font-weight:950!important;
    letter-spacing:.045em!important;
  }

  .site-header-v1990-rc2
  .brand small{
    margin-top:2px!important;
    font-size:.67rem!important;
    color:#77857f!important;
  }

  .site-header-v1990-rc2
  .top-actions{
    gap:6px!important;
  }

  .site-header-v1990-rc2
  .top-actions>.button,
  .site-header-v1990-rc2
  .top-actions>a.button{
    min-height:43px!important;

    padding:
      8px 13px!important;

    border:
      1px solid #dae7e1!important;

    border-radius:
      13px!important;

    background:
      linear-gradient(
        180deg,
        #fff,
        #fbfdfc
      )!important;

    color:
      #174d39!important;

    font-size:
      .75rem!important;

    font-weight:
      850!important;

    box-shadow:
      0 2px 8px rgba(5,55,39,.025)!important;
  }

  .site-header-v1990-rc2
  .top-actions>.button:hover,
  .site-header-v1990-rc2
  .top-actions>a.button:hover{
    background:#f4faf7!important;

    border-color:
      #bcdccd!important;

    box-shadow:
      0 7px 18px rgba(5,80,54,.07)!important;
  }

  /*
   * Desktop Installer remains forbidden.
   */
  .site-header-v1990-rc2
  .top-actions>.install-button{
    display:none!important;
  }

  /*
   * LIVE = only red navigation action.
   */
  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button,
  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:hover{

    background:
      linear-gradient(
        145deg,
        #f5333f,
        #e91f2c
      )!important;

    border-color:
      var(--r6-red)!important;

    color:#fff!important;

    box-shadow:
      0 9px 24px
      rgba(239,37,50,.22)!important;

    transform:none!important;
  }

  .site-header-v1990-rc2
  .header-search-form{
    flex:
      0 1 210px!important;

    min-width:
      170px!important;

    max-width:
      240px!important;
  }

  .site-header-v1990-rc2
  .header-search-form input{
    min-height:43px!important;

    border:
      1px solid #dbe8e2!important;

    border-radius:
      14px!important;

    background:
      linear-gradient(
        180deg,
        #fafcfb,
        #f6faf8
      )!important;

    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.8)!important;
  }

  .site-header-v1990-rc2
  .header-account-button{
    min-height:44px!important;

    min-width:
      130px!important;

    max-width:
      155px!important;

    border-radius:
      14px!important;

    border:
      1px solid #dce8e2!important;

    background:
      linear-gradient(
        180deg,
        #fff,
        #fbfdfc
      )!important;

    box-shadow:
      var(--r6-shadow-xs)!important;
  }

  .site-header-v1990-rc2
  .header-publish-button{

    min-width:
      112px!important;

    min-height:
      44px!important;

    border-radius:
      13px!important;

    background:
      linear-gradient(
        145deg,
        #07935e,
        #056c48
      )!important;

    border-color:
      #077c52!important;

    box-shadow:
      0 9px 22px
      rgba(5,126,82,.18)!important;
  }
}


/* ======================================================================
   HERO — PREMIUM DEPTH
   ====================================================================== */

.hero{
  position:relative!important;

  padding:
    62px 0 0!important;

  background:
    radial-gradient(
      circle at 78% 18%,
      rgba(42,186,112,.26),
      transparent 29%
    ),
    linear-gradient(
      135deg,
      #023d2d 0%,
      #045b3d 52%,
      #067448 100%
    )!important;

  overflow:hidden!important;
}

.hero::before{
  background:
    linear-gradient(
      90deg,
      rgba(1,38,27,.94) 0%,
      rgba(2,53,37,.80) 43%,
      rgba(3,74,48,.34) 72%,
      rgba(3,74,48,.08) 100%
    )!important;
}

.hero::after{
  content:""!important;

  position:absolute!important;

  inset:
    auto -8% -22% 45%!important;

  height:
    72%!important;

  border-radius:
    50%!important;

  border:
    1px solid
    rgba(108,232,168,.16)!important;

  box-shadow:
    inset 0 0 0 52px
    rgba(73,209,140,.025)!important;

  pointer-events:none!important;
}

.hero-grid{
  min-height:
    540px!important;

  grid-template-columns:
    minmax(0,1fr)
    minmax(480px,.92fr)!important;

  gap:
    52px!important;

  align-items:
    center!important;
}

.hero-content{
  z-index:4!important;
}

.hero-slogan-corporate{
  max-width:
    760px!important;

  font-size:
    clamp(
      4rem,
      5vw,
      5.9rem
    )!important;

  line-height:
    .93!important;

  letter-spacing:
    -.06em!important;

  text-shadow:
    0 8px 30px
    rgba(0,0,0,.23)!important;
}

.hero-highlight{
  color:
    #5ce7ae!important;

  text-shadow:
    0 7px 28px
    rgba(21,206,123,.15)!important;
}

.hero-mode-kicker{
  margin-top:
    18px!important;

  font-size:
    1.04rem!important;

  color:
    rgba(255,255,255,.97)!important;
}

.hero-lead{
  max-width:
    690px!important;

  margin-top:
    19px!important;

  color:
    rgba(255,255,255,.90)!important;

  font-size:
    1.01rem!important;

  line-height:
    1.67!important;
}


/* ======================================================================
   HERO ACTIONS
   ====================================================================== */

.hero-actions{
  margin-top:
    26px!important;

  display:grid!important;

  grid-template-columns:
    repeat(
      3,
      minmax(0,1fr)
    )!important;

  max-width:
    650px!important;

  gap:
    10px!important;
}

.hero-actions .button{
  min-height:
    53px!important;

  padding:
    12px 18px!important;

  border-radius:
    15px!important;

  font-weight:
    900!important;

  box-shadow:
    var(--r6-shadow-sm)!important;
}

.hero-actions
.button-danger{
  background:
    linear-gradient(
      145deg,
      #0ca36b,
      #08794f
    )!important;

  border-color:
    #13ae73!important;

  color:
    #fff!important;
}

.hero-actions
.button-primary{
  background:
    #fff!important;

  color:
    #07583d!important;

  border:
    1px solid
    rgba(255,255,255,.75)!important;
}

.hero-actions
.button-secondary{
  background:
    #fff!important;

  color:
    #07583d!important;

  border:
    1px solid
    rgba(255,255,255,.75)!important;
}

.hero-actions
.button:nth-child(4){
  grid-column:
    1 / -1!important;

  background:
    rgba(255,255,255,.97)!important;

  color:
    #07583d!important;

  border:
    1px solid
    rgba(255,255,255,.88)!important;

  box-shadow:
    0 10px 26px
    rgba(0,0,0,.12)!important;
}


/* ======================================================================
   TRUST CHIPS
   ====================================================================== */

.trust-row{
  margin-top:
    18px!important;

  display:grid!important;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    )!important;

  gap:
    8px!important;

  max-width:
    650px!important;
}

.trust-row span{
  min-height:
    45px!important;

  justify-content:
    flex-start!important;

  padding:
    9px 13px!important;

  border-radius:
    14px!important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.14),
      rgba(255,255,255,.09)
    )!important;

  border:
    1px solid
    rgba(255,255,255,.15)!important;

  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.08)!important;

  backdrop-filter:
    blur(8px)!important;
}


/* ======================================================================
   HERO PRODUCT CARDS
   ====================================================================== */

.hero-visual{
  min-height:
    500px!important;

  filter:
    drop-shadow(
      0 30px 48px
      rgba(1,30,21,.24)
    )!important;
}

.hero-card{
  border-radius:
    25px!important;

  border:
    1px solid
    rgba(255,255,255,.60)!important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.99),
      rgba(248,252,250,.98)
    )!important;

  box-shadow:
    0 25px 60px
    rgba(2,34,24,.24)!important;

  backdrop-filter:
    blur(16px)!important;
}

.hero-card-media{
  background:
    linear-gradient(
      145deg,
      #f7faf8,
      #edf5f1
    )!important;
}

.hero-card-copy{
  padding:
    15px 17px
    18px!important;
}

.hero-card-copy strong{
  color:
    #11281f!important;

  font-weight:
    900!important;
}


/* ======================================================================
   HERO CORPORATE STRIP
   ====================================================================== */

.hero-corporate-strip{
  margin-top:
    34px!important;

  background:
    linear-gradient(
      180deg,
      rgba(243,250,246,.97),
      rgba(238,247,242,.97)
    )!important;

  border-top:
    1px solid
    rgba(255,255,255,.55)!important;
}

.hero-corporate-strip-inner{
  gap:
    0!important;
}

.hero-corporate-item{
  min-height:
    106px!important;

  padding:
    17px 30px!important;

  border-right:
    1px solid
    rgba(170,200,186,.35)!important;
}

.hero-corporate-item:last-child{
  border-right:
    0!important;
}


/* ======================================================================
   CONTENT SECTIONS
   ====================================================================== */

.catalogue-section,
.services-section,
.ticketing-section{
  position:
    relative!important;
}

.catalogue-section{
  padding:
    58px 0
    66px!important;
}

.catalogue-heading h2,
.services-heading h2,
.ticketing-heading h2{
  color:
    #10251d!important;

  letter-spacing:
    -.045em!important;
}

.listing-grid{
  gap:
    18px!important;
}

.listing-card{
  border:
    1px solid
    #e0ebe6!important;

  border-radius:
    21px!important;

  background:
    linear-gradient(
      180deg,
      #fff,
      #fdfefd
    )!important;

  box-shadow:
    var(--r6-shadow-sm)!important;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease!important;
}

.listing-card:hover{
  transform:
    translateY(-4px)!important;

  border-color:
    #c8ded4!important;

  box-shadow:
    var(--r6-shadow-md)!important;
}

.listing-image-wrap{
  background:
    linear-gradient(
      145deg,
      #f6faf8,
      #edf4f0
    )!important;
}

.listing-body{
  padding:
    17px!important;
}

.listing-body h3{
  color:
    #13281f!important;

  font-weight:
    900!important;
}


/* ======================================================================
   SERVICES / TICKETS
   ====================================================================== */

.service-card,
.ticket-public-card{
  border:
    1px solid
    #dfeae5!important;

  border-radius:
    21px!important;

  background:
    #fff!important;

  box-shadow:
    var(--r6-shadow-sm)!important;
}

.service-card:hover,
.ticket-public-card:hover{
  transform:
    translateY(-3px)!important;

  box-shadow:
    var(--r6-shadow-md)!important;
}


/* ======================================================================
   MOBILE PREMIUM
   ====================================================================== */

@media(max-width:820px){

  body{
    background:
      #f5faf7!important;
  }

  .container{
    width:
      calc(100% - 20px)!important;
  }


  /* Header */

  .site-header-v1990-rc2{
    margin:
      8px 8px 0!important;

    width:
      calc(100% - 16px)!important;

    border:
      1px solid
      rgba(213,229,221,.95)!important;

    border-radius:
      18px!important;

    background:
      rgba(255,255,255,.98)!important;

    box-shadow:
      0 12px 32px
      rgba(5,55,39,.12)!important;

    overflow:
      visible!important;
  }

  .site-header-v1990-rc2
  .header-main-row{
    width:
      calc(100% - 14px)!important;

    min-height:
      64px!important;

    gap:
      5px!important;
  }

  .site-header-v1990-rc2
  .brand-mark{
    width:
      38px!important;

    height:
      38px!important;

    flex-basis:
      38px!important;

    border-radius:
      12px!important;
  }

  .site-header-v1990-rc2
  .brand strong{
    font-size:
      .86rem!important;
  }

  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]){
    display:
      inline-flex!important;

    min-width:
      78px!important;

    min-height:
      39px!important;

    border-radius:
      12px!important;

    background:
      linear-gradient(
        180deg,
        #ffffff,
        #f6faf8
      )!important;

    border:
      1px solid
      #d8e6df!important;

    color:
      #075f42!important;

    box-shadow:
      none!important;
  }

  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:not([hidden]){
    display:
      inline-flex!important;

    min-width:
      53px!important;

    min-height:
      39px!important;

    border-radius:
      12px!important;

    background:
      linear-gradient(
        145deg,
        #f4313e,
        #e71f2c
      )!important;

    color:
      #fff!important;

    box-shadow:
      0 7px 18px
      rgba(239,37,50,.20)!important;
  }


  /* Hero */

  .hero{
    margin-top:
      8px!important;

    padding:
      25px 0 0!important;

    border-radius:
      0 0 26px 26px!important;

    background:
      radial-gradient(
        circle at 72% 20%,
        rgba(65,212,140,.21),
        transparent 34%
      ),
      linear-gradient(
        145deg,
        #023e2d,
        #056541
      )!important;
  }

  .hero-grid{
    gap:
      15px!important;
  }

  .hero-slogan-corporate{
    font-size:
      clamp(
        2.35rem,
        10.9vw,
        3.5rem
      )!important;

    line-height:
      .95!important;

    letter-spacing:
      -.055em!important;
  }

  .hero-mode-kicker{
    margin-top:
      11px!important;

    font-size:
      .78rem!important;
  }

  .hero-lead{
    margin-top:
      10px!important;

    font-size:
      .82rem!important;

    line-height:
      1.48!important;
  }


  /* Actions */

  .hero-actions{
    margin-top:
      15px!important;

    grid-template-columns:
      repeat(
        3,
        minmax(0,1fr)
      )!important;

    max-width:
      none!important;

    gap:
      6px!important;
  }

  .hero-actions .button{
    min-height:
      44px!important;

    padding:
      7px 5px!important;

    border-radius:
      12px!important;

    font-size:
      .66rem!important;

    box-shadow:
      0 7px 18px
      rgba(0,0,0,.11)!important;
  }

  .hero-actions
  .button:nth-child(4){
    min-height:
      46px!important;

    margin-top:
      1px!important;
  }


  /* Trust */

  .trust-row{
    max-width:
      none!important;

    margin-top:
      8px!important;

    gap:
      5px!important;
  }

  .trust-row span{
    min-height:
      36px!important;

    border-radius:
      11px!important;

    padding:
      6px 7px!important;

    font-size:
      .55rem!important;
  }


  /* Product preview */

  .hero-visual{
    margin-top:
      3px!important;

    padding-bottom:
      10px!important;
  }

  .hero-card{
    flex-basis:
      min(
        74vw,
        260px
      )!important;

    max-width:
      260px!important;

    border-radius:
      19px!important;

    box-shadow:
      0 17px 38px
      rgba(0,0,0,.18)!important;
  }


  /* Corporate strip */

  .hero-corporate-strip-inner{
    padding:
      8px 10px!important;

    gap:
      7px!important;
  }

  .hero-corporate-item{
    min-width:
      172px!important;

    min-height:
      58px!important;

    border:
      1px solid
      #e0ebe5!important;

    border-radius:
      14px!important;

    background:
      #fff!important;

    box-shadow:
      var(--r6-shadow-xs)!important;
  }


  /* Product cards */

  .listing-card{
    border-radius:
      18px!important;
  }

  .listing-body{
    padding:
      13px!important;
  }


  /* Bottom nav */

  .mobile-bottom-nav{
    left:
      8px!important;

    right:
      8px!important;

    bottom:
      max(
        8px,
        env(safe-area-inset-bottom)
      )!important;

    min-height:
      72px!important;

    border:
      1px solid
      rgba(211,227,219,.98)!important;

    border-radius:
      22px!important;

    background:
      rgba(255,255,255,.985)!important;

    box-shadow:
      0 18px 44px
      rgba(4,48,33,.18)!important;

    backdrop-filter:
      blur(20px)!important;
  }

  .mobile-nav-item{
    color:
      #66756f!important;
  }

  .mobile-home-entry{
    color:
      #07865a!important;
  }

  .mobile-nav-publish{
    width:
      62px!important;

    height:
      62px!important;

    min-width:
      62px!important;

    min-height:
      62px!important;

    border-radius:
      50%!important;

    background:
      linear-gradient(
        145deg,
        #08a168,
        #04794f
      )!important;

    box-shadow:
      0 12px 28px
      rgba(5,134,85,.30)!important;
  }
}


/* ======================================================================
   SMALL MOBILE
   ====================================================================== */

@media(max-width:380px){

  .site-header-v1990-rc2{
    margin-inline:
      5px!important;

    width:
      calc(100% - 10px)!important;
  }

  .hero-slogan-corporate{
    font-size:
      clamp(
        2.08rem,
        10.5vw,
        2.65rem
      )!important;
  }

  .hero-lead{
    font-size:
      .78rem!important;
  }

  .hero-actions .button{
    font-size:
      .61rem!important;
  }
}


/* ======================================================================
   COLOR DISCIPLINE
   ====================================================================== */

@media(min-width:821px){

  .site-header-v1990-rc2
  .top-actions
  .button:not(.takalo-live-header-button),
  .site-header-v1990-rc2
  .top-actions
  a.button:not(.takalo-live-header-button){

    background:
      linear-gradient(
        180deg,
        #fff,
        #fbfdfc
      )!important;

    color:
      #174d39!important;
  }

  .site-header-v1990-rc2
  .takalo-live-header-button{
    background:
      linear-gradient(
        145deg,
        #f5333f,
        #e91f2c
      )!important;

    color:#fff!important;
  }
}

/* END TAKALO S9 R6 PREMIUM HOME */

/* ==========================================================================
   TAKALO S9 R6 A2 MOBILE LAYOUT AUTHORITY

   PURPOSE
   -------
   Final mobile visual authority after R3/R4/R5/R6.

   Fixes:
   - compact premium mobile header
   - functional mobile search row
   - full-width Hero content
   - no word-by-word Hero wrapping
   - Hero cards rendered AFTER copy/actions
   - 5-column bottom navigation
   - Accueil | Messages | Publier | Explorer | Compte
   - no content collision with bottom navigation

   DESKTOP >= 821px IS NOT MODIFIED.
   ========================================================================== */


@media(max-width:820px){

  /* ======================================================================
     PAGE / SAFE AREA
     ====================================================================== */

  html{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;

    scroll-padding-bottom:
      calc(
        100px +
        env(safe-area-inset-bottom)
      )!important;
  }

  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;

    padding-bottom:
      calc(
        100px +
        env(safe-area-inset-bottom)
      )!important;

    background:#f5faf7!important;
  }

  .container{
    width:
      calc(100% - 20px)!important;

    max-width:
      calc(100% - 20px)!important;
  }


  /* ======================================================================
     MOBILE HEADER
     ====================================================================== */

  .site-header-v1990-rc2{
    position:relative!important;

    width:
      calc(100% - 12px)!important;

    margin:
      6px 6px 0!important;

    padding:0!important;

    border:
      1px solid #dce9e3!important;

    border-radius:
      19px!important;

    background:
      rgba(255,255,255,.99)!important;

    box-shadow:
      0 10px 30px
      rgba(5,55,39,.10)!important;

    overflow:visible!important;
  }


  /*
   * display:contents is intentional here:
   * header-right children can participate in the
   * mobile header wrapping without altering the DOM.
   */

  .site-header-v1990-rc2
  .header-main-row{

    width:
      calc(100% - 16px)!important;

    max-width:
      none!important;

    min-height:
      58px!important;

    margin:
      0 auto!important;

    padding:
      7px 0 8px!important;

    display:flex!important;

    flex-wrap:wrap!important;

    align-items:center!important;

    gap:
      5px!important;

    overflow:visible!important;
  }


  .site-header-v1990-rc2
  .header-right{
    display:contents!important;
  }


  /* ----------------------------------------------------------------------
     Brand
     ---------------------------------------------------------------------- */

  .site-header-v1990-rc2
  .brand{

    order:1!important;

    flex:
      1 1 auto!important;

    min-width:0!important;
    max-width:112px!important;

    gap:6px!important;
  }


  .site-header-v1990-rc2
  .brand-mark{

    width:36px!important;
    height:36px!important;

    flex:
      0 0 36px!important;

    border-radius:
      11px!important;

    box-shadow:
      0 6px 16px
      rgba(5,128,82,.16)!important;
  }


  .site-header-v1990-rc2
  .brand-mark svg{
    width:22px!important;
  }


  .site-header-v1990-rc2
  .brand strong{

    display:block!important;

    max-width:70px!important;

    overflow:hidden!important;

    text-overflow:ellipsis!important;

    white-space:nowrap!important;

    font-size:.82rem!important;

    line-height:1!important;

    letter-spacing:.035em!important;
  }


  .site-header-v1990-rc2
  .brand small{
    display:none!important;
  }


  /* ----------------------------------------------------------------------
     Top actions
     ---------------------------------------------------------------------- */

  .site-header-v1990-rc2
  .top-actions{

    order:2!important;

    flex:
      0 0 auto!important;

    width:auto!important;
    min-width:0!important;

    margin-left:auto!important;

    display:flex!important;

    align-items:center!important;

    flex-wrap:nowrap!important;

    gap:4px!important;
  }


  /*
   * Hide desktop actions.
   */

  .site-header-v1990-rc2
  .top-actions>.button,
  .site-header-v1990-rc2
  .top-actions>a.button{

    display:none!important;
  }


  /*
   * INSTALLER — compact mobile-only priority action.
   */

  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]){

    display:inline-flex!important;

    align-items:center!important;
    justify-content:center!important;

    min-width:70px!important;

    width:auto!important;

    min-height:38px!important;
    height:38px!important;

    padding:
      0 9px!important;

    border:
      1px solid #d7e6df!important;

    border-radius:
      11px!important;

    background:
      linear-gradient(
        180deg,
        #fff,
        #f5faf7
      )!important;

    color:
      #086044!important;

    box-shadow:none!important;

    font-size:
      .68rem!important;

    font-weight:
      900!important;
  }


  /*
   * LIVE — unique red action.
   */

  .site-header-v1990-rc2
  .top-actions>
  .takalo-live-header-button:not([hidden]){

    display:inline-flex!important;

    align-items:center!important;
    justify-content:center!important;

    min-width:52px!important;

    width:auto!important;

    min-height:38px!important;
    height:38px!important;

    padding:
      0 8px!important;

    border-radius:
      11px!important;

    border:
      1px solid #ef2532!important;

    background:
      linear-gradient(
        145deg,
        #f4313e,
        #e91f2c
      )!important;

    color:#fff!important;

    box-shadow:
      0 7px 18px
      rgba(239,37,50,.19)!important;

    font-size:
      .67rem!important;

    font-weight:
      900!important;
  }


  /* ----------------------------------------------------------------------
     Compact account
     ---------------------------------------------------------------------- */

  .site-header-v1990-rc2
  .header-account-button{

    order:3!important;

    display:inline-flex!important;

    flex:
      0 0 34px!important;

    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;

    height:38px!important;
    min-height:38px!important;

    padding:0!important;

    align-items:center!important;
    justify-content:center!important;

    border:
      1px solid #dce8e2!important;

    border-radius:
      12px!important;

    background:#fff!important;

    overflow:hidden!important;
  }


  .site-header-v1990-rc2
  .header-account-copy{
    display:none!important;
  }


  .site-header-v1990-rc2
  .nav-account-avatar.header{

    width:28px!important;
    height:28px!important;

    flex:
      0 0 28px!important;
  }


  /* ----------------------------------------------------------------------
     Flag
     ---------------------------------------------------------------------- */

  .site-header-v1990-rc2
  .header-flag-bearer-compact,
  .site-header-v1990-rc2
  .header-flag-bearer{

    order:4!important;

    width:24px!important;
    height:34px!important;

    flex:
      0 0 24px!important;

    border-radius:
      7px!important;
  }


  /*
   * Desktop publish remains absent in mobile header.
   */

  .site-header-v1990-rc2
  .header-publish-button{
    display:none!important;
  }


  /* ----------------------------------------------------------------------
     Mobile search — second line
     ---------------------------------------------------------------------- */

  .site-header-v1990-rc2
  .header-search-form{

    order:10!important;

    display:block!important;

    flex:
      1 0 100%!important;

    width:100%!important;
    max-width:none!important;
    min-width:100%!important;

    margin:
      2px 0 0!important;
  }


  .site-header-v1990-rc2
  .header-search-field{

    width:100%!important;

    height:42px!important;

    padding:
      0 12px!important;

    border:
      1px solid #dce8e2!important;

    border-radius:
      13px!important;

    background:
      #f8fbf9!important;

    box-shadow:
      inset 0 1px 0
      rgba(255,255,255,.9)!important;
  }


  .site-header-v1990-rc2
  .header-search-field input{

    min-width:0!important;

    font-size:
      .78rem!important;
  }


  /* ======================================================================
     TICKER
     ====================================================================== */

  .site-header
  .header-ticker{

    min-height:
      28px!important;

    border-radius:
      0 0 14px 14px!important;
  }


  .header-ticker-inner{

    min-height:
      28px!important;

    padding:
      0 8px!important;
  }


  .header-ticker
  .pinned-messages-viewport{

    height:
      28px!important;

    min-height:
      28px!important;
  }


  /* ======================================================================
     HERO — RESET TWO-COLUMN REGRESSION
     ====================================================================== */

  .hero{

    margin-top:
      8px!important;

    padding:
      24px 0 0!important;

    border-radius:
      0 0 25px 25px!important;

    overflow:hidden!important;
  }


  .hero-grid{

    width:
      calc(100% - 20px)!important;

    max-width:
      calc(100% - 20px)!important;

    min-height:
      0!important;

    margin:
      0 auto!important;

    display:grid!important;

    grid-template-columns:
      minmax(0,1fr)!important;

    grid-template-rows:
      auto auto!important;

    gap:
      15px!important;

    align-items:start!important;
  }


  .hero-content{

    grid-column:1!important;
    grid-row:1!important;

    width:100%!important;
    max-width:100%!important;
    min-width:0!important;

    margin:0!important;
    padding:0!important;

    position:relative!important;

    z-index:5!important;
  }


  /*
   * Critical regression correction:
   * no inherited desktop width constraint.
   */

  .hero-slogan-corporate{

    width:100%!important;
    max-width:100%!important;
    min-width:0!important;

    margin:
      0!important;

    font-size:
      clamp(
        2.25rem,
        10vw,
        3.15rem
      )!important;

    line-height:
      .94!important;

    letter-spacing:
      -.052em!important;

    overflow-wrap:normal!important;

    word-break:normal!important;

    hyphens:none!important;

    text-wrap:balance!important;
  }


  .hero-slogan-corporate
  .hero-slogan-first,
  .hero-slogan-corporate
  .hero-highlight{

    display:block!important;

    width:auto!important;
    max-width:100%!important;

    white-space:normal!important;

    word-break:normal!important;

    overflow-wrap:normal!important;

    hyphens:none!important;
  }


  .hero-slogan-corporate
  .hero-highlight{

    margin-top:
      .06em!important;
  }


  .hero-mode-kicker{

    display:block!important;

    width:100%!important;
    max-width:100%!important;

    margin:
      12px 0 0!important;

    font-size:
      .78rem!important;

    line-height:
      1.32!important;

    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }


  .hero-lead{

    width:100%!important;
    max-width:100%!important;
    min-width:0!important;

    margin:
      11px 0 0!important;

    font-size:
      .84rem!important;

    line-height:
      1.48!important;

    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }


  /* ======================================================================
     HERO ACTIONS
     ====================================================================== */

  .hero-actions{

    width:100%!important;
    max-width:100%!important;

    margin:
      16px 0 0!important;

    display:grid!important;

    grid-template-columns:
      repeat(
        3,
        minmax(0,1fr)
      )!important;

    gap:
      6px!important;
  }


  .hero-actions
  .button{

    width:100%!important;
    min-width:0!important;

    min-height:
      44px!important;

    padding:
      7px 5px!important;

    border-radius:
      12px!important;

    font-size:
      .67rem!important;

    font-weight:
      850!important;
  }


  /*
   * Vente follows the validated premium mockup:
   * green primary, not red.
   */

  .hero-actions
  [data-listing-type="sale"]{

    background:
      linear-gradient(
        145deg,
        #0ba36a,
        #07794e
      )!important;

    border-color:
      #0a9b64!important;

    color:#fff!important;
  }


  .hero-actions
  .button:nth-child(4){

    grid-column:
      1 / -1!important;

    min-height:
      46px!important;

    background:#fff!important;

    color:
      #075a3e!important;
  }


  /* ======================================================================
     TRUST ROW
     ====================================================================== */

  .trust-row{

    width:100%!important;
    max-width:100%!important;

    margin:
      9px 0 0!important;

    display:grid!important;

    grid-template-columns:
      repeat(
        2,
        minmax(0,1fr)
      )!important;

    gap:
      5px!important;
  }


  .trust-row
  span{

    width:auto!important;
    min-width:0!important;

    min-height:
      35px!important;

    padding:
      6px 7px!important;

    border-radius:
      11px!important;

    font-size:
      .56rem!important;

    line-height:
      1.18!important;

    word-break:normal!important;
  }


  /* ======================================================================
     HERO PRODUCT PREVIEW
     ====================================================================== */

  .hero-visual{

    grid-column:1!important;
    grid-row:2!important;

    position:relative!important;

    inset:auto!important;

    width:
      calc(100% + 20px)!important;

    max-width:none!important;

    min-height:0!important;

    margin:
      0 -10px!important;

    padding:
      2px 10px 12px!important;

    display:flex!important;

    align-items:stretch!important;

    gap:
      10px!important;

    overflow-x:auto!important;
    overflow-y:hidden!important;

    scroll-snap-type:
      x mandatory!important;

    scrollbar-width:none!important;

    filter:none!important;
  }


  .hero-visual::-webkit-scrollbar{
    display:none!important;
  }


  .hero-card,
  .hero-card-phone,
  .hero-card-shelf,
  .hero-card-bike{

    position:relative!important;

    inset:auto!important;

    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;

    transform:none!important;

    flex:
      0 0 min(74vw,258px)!important;

    width:auto!important;
    max-width:258px!important;

    min-width:0!important;

    margin:0!important;

    scroll-snap-align:start!important;

    border-radius:
      18px!important;
  }


  .hero-card-media{
    aspect-ratio:
      4 / 3!important;
  }


  .hero-card-copy{

    padding:
      10px 11px 12px!important;
  }


  /* ======================================================================
     HERO CORPORATE STRIP
     ====================================================================== */

  .hero-corporate-strip{

    margin-top:
      0!important;

    background:
      #f3f9f6!important;
  }


  .hero-corporate-strip-inner{

    width:100%!important;
    max-width:100%!important;

    display:flex!important;

    gap:
      7px!important;

    padding:
      8px 10px!important;

    overflow-x:auto!important;

    scrollbar-width:none!important;
  }


  .hero-corporate-strip-inner::-webkit-scrollbar{
    display:none!important;
  }


  .hero-corporate-item{

    flex:
      0 0 168px!important;

    min-width:168px!important;

    min-height:
      58px!important;

    padding:
      8px 10px!important;

    border:
      1px solid #deebe5!important;

    border-radius:
      14px!important;

    background:#fff!important;

    box-shadow:
      0 3px 12px
      rgba(5,58,41,.045)!important;
  }


  /* ======================================================================
     MOBILE BOTTOM NAV — AUTHORITATIVE FIVE COLUMNS
     ====================================================================== */

  .mobile-bottom-nav{

    position:fixed!important;

    left:
      8px!important;

    right:
      8px!important;

    bottom:
      max(
        8px,
        env(safe-area-inset-bottom)
      )!important;

    width:auto!important;

    height:
      72px!important;

    min-height:
      72px!important;

    padding:
      6px 7px!important;

    display:grid!important;

    grid-template-columns:
      repeat(
        5,
        minmax(0,1fr)
      )!important;

    grid-template-rows:
      1fr!important;

    align-items:end!important;

    gap:0!important;

    overflow:visible!important;

    border:
      1px solid
      rgba(210,227,219,.98)!important;

    border-radius:
      22px!important;

    background:
      rgba(255,255,255,.985)!important;

    box-shadow:
      0 16px 40px
      rgba(4,48,33,.17)!important;

    backdrop-filter:
      blur(18px)!important;

    transform:none!important;

    z-index:
      1000!important;
  }


  .mobile-bottom-nav
  > .mobile-nav-item{

    position:relative!important;

    inset:auto!important;

    width:auto!important;

    min-width:0!important;

    height:
      56px!important;

    min-height:
      56px!important;

    margin:0!important;

    padding:
      5px 1px!important;

    display:flex!important;

    flex-direction:column!important;

    align-items:center!important;

    justify-content:center!important;

    gap:
      3px!important;

    transform:none!important;

    border:0!important;

    border-radius:
      12px!important;

    background:
      transparent!important;

    color:
      #61716a!important;

    box-shadow:none!important;
  }


  .mobile-bottom-nav
  > .mobile-nav-item
  > span{

    font-size:
      1.08rem!important;
  }


  .mobile-bottom-nav
  > .mobile-nav-item
  > small{

    display:block!important;

    max-width:100%!important;

    overflow:hidden!important;

    text-overflow:ellipsis!important;

    white-space:nowrap!important;

    font-size:
      .51rem!important;

    font-weight:
      800!important;

    line-height:
      1.05!important;
  }


  /*
   * Explicit visual order regardless of DOM order.
   */

  .mobile-bottom-nav
  > .mobile-home-entry{

    grid-column:
      1!important;

    grid-row:
      1!important;

    color:
      #07875a!important;
  }


  .mobile-bottom-nav
  > .mobile-messenger-entry{

    grid-column:
      2!important;

    grid-row:
      1!important;
  }


  .mobile-bottom-nav
  > .mobile-nav-publish{

    grid-column:
      3!important;

    grid-row:
      1!important;

    position:relative!important;

    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;

    justify-self:center!important;

    width:
      62px!important;

    min-width:
      62px!important;

    height:
      62px!important;

    min-height:
      62px!important;

    margin:
      -18px auto 0!important;

    padding:
      4px!important;

    transform:none!important;

    border:
      5px solid #f8fcfa!important;

    border-radius:
      50%!important;

    background:
      linear-gradient(
        145deg,
        #09a36a,
        #04794f
      )!important;

    color:#fff!important;

    box-shadow:
      0 10px 26px
      rgba(5,134,85,.27)!important;

    z-index:
      1002!important;
  }


  .mobile-bottom-nav
  > .mobile-nav-publish
  > span{

    color:#fff!important;

    font-size:
      1.45rem!important;

    line-height:1!important;
  }


  .mobile-bottom-nav
  > .mobile-nav-publish
  > small{

    color:#fff!important;

    font-size:
      .47rem!important;
  }


  .mobile-bottom-nav
  > .mobile-explore-entry{

    grid-column:
      4!important;

    grid-row:
      1!important;
  }


  .mobile-bottom-nav
  > .mobile-account-entry{

    grid-column:
      5!important;

    grid-row:
      1!important;
  }


  /* ======================================================================
     CONTENT CLEARANCE
     ====================================================================== */

  main,
  .catalogue-section,
  .services-section,
  .ticketing-section{

    scroll-margin-bottom:
      100px!important;
  }

}


/* ==========================================================================
   VERY SMALL MOBILE
   ========================================================================== */

@media(max-width:360px){

  .site-header-v1990-rc2
  .brand{
    max-width:
      102px!important;
  }


  .site-header-v1990-rc2
  .brand-mark{

    width:34px!important;
    height:34px!important;

    flex-basis:
      34px!important;
  }


  .site-header-v1990-rc2
  .brand strong{

    max-width:
      62px!important;

    font-size:
      .76rem!important;
  }


  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]){

    min-width:
      64px!important;

    padding:
      0 7px!important;

    font-size:
      .63rem!important;
  }


  .site-header-v1990-rc2
  .top-actions>
  .takalo-live-header-button:not([hidden]){

    min-width:
      48px!important;

    padding:
      0 6px!important;

    font-size:
      .62rem!important;
  }


  .site-header-v1990-rc2
  .header-account-button{

    width:31px!important;
    min-width:31px!important;
    max-width:31px!important;

    flex-basis:
      31px!important;
  }


  .site-header-v1990-rc2
  .header-flag-bearer-compact,
  .site-header-v1990-rc2
  .header-flag-bearer{

    width:21px!important;
    flex-basis:21px!important;
  }


  .hero-slogan-corporate{

    font-size:
      clamp(
        2.08rem,
        10vw,
        2.6rem
      )!important;
  }


  .hero-lead{
    font-size:
      .80rem!important;
  }


  .hero-actions
  .button{
    font-size:
      .61rem!important;
  }


  .mobile-bottom-nav{

    left:6px!important;
    right:6px!important;
  }


  .mobile-bottom-nav
  > .mobile-nav-publish{

    width:58px!important;
    min-width:58px!important;

    height:58px!important;
    min-height:58px!important;
  }

}


/* END TAKALO S9 R6 A2 MOBILE LAYOUT AUTHORITY */

/* ==========================================================================
   TAKALO S9 R6 A4 MODERN INFINITE TICKER
   Seamless horizontal loop / premium visual authority
   ========================================================================== */

.site-header .header-ticker{
  position:relative!important;

  min-height:34px!important;

  overflow:hidden!important;

  isolation:isolate!important;

  background:
    radial-gradient(
      circle at 50% -80%,
      rgba(105,240,188,.22),
      transparent 52%
    ),
    linear-gradient(
      90deg,
      #043c2d 0%,
      #076c4a 24%,
      #09875b 50%,
      #076c4a 76%,
      #043c2d 100%
    )!important;

  border-top:
    1px solid rgba(159,242,207,.10)!important;

  border-bottom:
    1px solid rgba(255,255,255,.10)!important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04)!important;
}


/* Subtle premium light sweep */

.site-header .header-ticker::before{
  content:""!important;

  position:absolute!important;

  inset:
    0 auto 0 -28%!important;

  width:
    28%!important;

  z-index:
    0!important;

  pointer-events:none!important;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.075),
      transparent
    )!important;

  transform:
    skewX(-20deg)!important;

  animation:
    takaloTickerA4Sheen
    11s
    ease-in-out
    infinite!important;
}


@keyframes takaloTickerA4Sheen{
  0%,
  72%{
    left:-30%;
    opacity:0;
  }

  78%{
    opacity:1;
  }

  100%{
    left:112%;
    opacity:0;
  }
}


.header-ticker-inner{
  position:relative!important;

  z-index:1!important;

  width:100%!important;
  max-width:none!important;

  min-height:34px!important;

  padding:
    0!important;

  display:flex!important;

  align-items:center!important;

  justify-content:flex-start!important;

  gap:0!important;

  overflow:hidden!important;
}


.header-ticker-label{
  display:none!important;
}


/* Edge fades */

.header-ticker
.pinned-messages-viewport{
  position:relative!important;

  width:100%!important;
  max-width:none!important;

  min-width:0!important;

  height:34px!important;
  min-height:34px!important;

  display:flex!important;

  align-items:center!important;

  justify-content:flex-start!important;

  overflow:hidden!important;

  scrollbar-width:none!important;

  mask-image:
    linear-gradient(
      90deg,
      transparent 0,
      #000 3%,
      #000 97%,
      transparent 100%
    )!important;

  -webkit-mask-image:
    linear-gradient(
      90deg,
      transparent 0,
      #000 3%,
      #000 97%,
      transparent 100%
    )!important;
}


.header-ticker
.pinned-messages-viewport::-webkit-scrollbar{
  display:none!important;
}


/* Animated track */

.header-ticker
.pinned-messages-list{
  position:relative!important;

  flex:
    0 0 auto!important;

  width:max-content!important;
  max-width:none!important;

  min-width:0!important;

  height:34px!important;

  display:flex!important;

  align-items:center!important;

  justify-content:flex-start!important;

  overflow:visible!important;

  transform:
    translate3d(0,0,0)!important;

  animation:none!important;

  will-change:auto!important;
}


.header-ticker
.pinned-messages-list.ticker-loop-ready{
  animation:
    takaloTickerA4Loop
    var(--ticker-loop-duration,30s)
    linear
    infinite!important;

  will-change:
    transform!important;
}


@keyframes takaloTickerA4Loop{
  from{
    transform:
      translate3d(0,0,0);
  }

  to{
    transform:
      translate3d(-50%,0,0);
  }
}


/*
 * Keep TAKALO's current live source in the DOM so existing application
 * logic remains authoritative. It simply stops participating visually.
 */

.header-ticker
.pinned-message-ticker.ticker-loop-source{
  position:absolute!important;

  left:0!important;
  top:0!important;

  width:1px!important;
  min-width:1px!important;
  max-width:1px!important;

  height:1px!important;
  min-height:1px!important;

  margin:0!important;
  padding:0!important;

  overflow:hidden!important;

  opacity:0!important;

  pointer-events:none!important;

  transform:none!important;

  animation:none!important;
}


/* Neutralize legacy vertical transition classes */

.header-ticker
.pinned-message-ticker.is-out,
.header-ticker
.pinned-message-ticker.is-in{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  animation:none!important;
}


/* Two identical groups = mathematically seamless 50% loop */

.header-ticker
.ticker-loop-group{
  flex:
    0 0 auto!important;

  height:34px!important;

  display:flex!important;

  align-items:center!important;

  justify-content:flex-start!important;

  gap:0!important;
}


/* Modern message item */

.header-ticker
.ticker-loop-copy{
  position:relative!important;

  flex:
    0 0 auto!important;

  min-height:34px!important;

  padding:
    0 26px!important;

  display:inline-flex!important;

  align-items:center!important;

  gap:9px!important;

  white-space:nowrap!important;

  color:
    #f7fffb!important;

  font-family:
    var(--font-ui,Inter,system-ui,sans-serif)!important;

  font-size:
    .76rem!important;

  font-weight:
    800!important;

  line-height:1!important;

  letter-spacing:
    .012em!important;

  text-align:left!important;

  text-shadow:
    0 1px 1px rgba(0,0,0,.12)!important;
}


/* Elegant separator */

.header-ticker
.ticker-loop-copy::after{
  content:""!important;

  width:5px!important;
  height:5px!important;

  flex:
    0 0 5px!important;

  margin-left:
    22px!important;

  border-radius:
    50%!important;

  background:
    #75e9b7!important;

  box-shadow:
    0 0 0 4px
    rgba(117,233,183,.10)!important;
}


/* Remove old decorative lines from generated copies */

.header-ticker
.ticker-loop-copy::before{
  display:none!important;
  content:none!important;
}


/* Child text must remain one line */

.header-ticker
.ticker-loop-copy
.pinned-message-text{
  display:inline!important;

  width:auto!important;
  max-width:none!important;

  margin:0!important;
  padding:0!important;

  overflow:visible!important;

  white-space:nowrap!important;

  text-align:left!important;

  text-wrap:nowrap!important;

  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
}


.header-ticker
.ticker-loop-copy
.pinned-message-icon{
  display:none!important;
}


/* Pause while desktop user inspects it */

@media(hover:hover) and (pointer:fine){

  .site-header
  .header-ticker:hover
  .pinned-messages-list.ticker-loop-ready,

  .site-header
  .header-ticker:focus-within
  .pinned-messages-list.ticker-loop-ready{

    animation-play-state:
      paused!important;
  }

}


/* Mobile refinement */

@media(max-width:820px){

  .site-header .header-ticker{
    min-height:
      29px!important;
  }


  .header-ticker-inner{
    min-height:
      29px!important;
  }


  .header-ticker
  .pinned-messages-viewport{

    height:
      29px!important;

    min-height:
      29px!important;

    mask-image:
      linear-gradient(
        90deg,
        transparent,
        #000 5%,
        #000 95%,
        transparent
      )!important;

    -webkit-mask-image:
      linear-gradient(
        90deg,
        transparent,
        #000 5%,
        #000 95%,
        transparent
      )!important;
  }


  .header-ticker
  .pinned-messages-list,

  .header-ticker
  .ticker-loop-group{

    height:
      29px!important;
  }


  .header-ticker
  .ticker-loop-copy{

    min-height:
      29px!important;

    padding:
      0 19px!important;

    font-size:
      .66rem!important;

    font-weight:
      800!important;
  }


  .header-ticker
  .ticker-loop-copy::after{

    margin-left:
      16px!important;

    width:
      4px!important;

    height:
      4px!important;

    flex-basis:
      4px!important;
  }

}


/* Data Saver still gets motion, but only this lightweight text animation */

html.data-saver
.header-ticker
.pinned-messages-list.ticker-loop-ready{

  animation-name:
    takaloTickerA4Loop!important;

  animation-duration:
    var(--ticker-loop-duration,38s)!important;

  animation-timing-function:
    linear!important;

  animation-iteration-count:
    infinite!important;
}


/* Accessibility */

@media(prefers-reduced-motion:reduce){

  .site-header
  .header-ticker::before{
    animation:none!important;
    display:none!important;
  }


  .header-ticker
  .pinned-messages-list.ticker-loop-ready{

    width:100%!important;

    animation:none!important;

    transform:none!important;

    justify-content:center!important;
  }


  .header-ticker
  .ticker-loop-group-a{

    width:100%!important;

    justify-content:center!important;
  }


  .header-ticker
  .ticker-loop-group-b{
    display:none!important;
  }


  .header-ticker
  .ticker-loop-group-a
  .ticker-loop-copy:not(:first-child){

    display:none!important;
  }


  .header-ticker
  .ticker-loop-copy{

    max-width:
      calc(100vw - 30px)!important;

    overflow:hidden!important;

    text-overflow:ellipsis!important;
  }

}


/* END TAKALO S9 R6 A4 MODERN INFINITE TICKER */

/* ==========================================================================
   TAKALO S9 R6 A6 — PREMIUM LED TICKER
   ========================================================================== */

.site-header .header-ticker{
  min-height:38px!important;
  height:38px!important;

  background:
    linear-gradient(
      180deg,
      #07140f 0%,
      #030d09 100%
    )!important;

  border-top:
    1px solid rgba(81,255,172,.19)!important;

  border-bottom:
    1px solid rgba(81,255,172,.25)!important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    inset 0 -8px 22px rgba(0,0,0,.32),
    0 3px 10px rgba(0,0,0,.08)!important;
}


/*
 * LED scan lines.
 */

.site-header .header-ticker::before{
  content:""!important;

  position:absolute!important;
  inset:0!important;

  width:auto!important;

  pointer-events:none!important;

  opacity:.22!important;

  transform:none!important;

  animation:none!important;

  background:
    repeating-linear-gradient(
      0deg,
      transparent 0,
      transparent 2px,
      rgba(116,255,187,.09) 3px,
      transparent 4px
    )!important;
}


.site-header .header-ticker::after{
  content:""!important;

  position:absolute!important;

  inset:0!important;

  pointer-events:none!important;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.82),
      transparent 4%,
      transparent 96%,
      rgba(0,0,0,.82)
    )!important;

  z-index:3!important;
}


.header-ticker-inner,
.header-ticker .pinned-messages-viewport,
.header-ticker .pinned-messages-list,
.header-ticker .ticker-loop-group{
  height:38px!important;
  min-height:38px!important;
}


.header-ticker
.pinned-messages-viewport{
  overflow:hidden!important;

  mask-image:none!important;
  -webkit-mask-image:none!important;
}


.header-ticker
.pinned-messages-list,
.header-ticker
.pinned-messages-list.ticker-loop-ready{
  width:max-content!important;
  max-width:none!important;

  display:flex!important;

  align-items:center!important;

  animation:none!important;

  transition:none!important;

  will-change:transform!important;
}


.header-ticker
.ticker-loop-group{
  flex:0 0 auto!important;

  display:flex!important;

  align-items:center!important;

  gap:0!important;
}


.header-ticker
.ticker-loop-copy{
  min-height:38px!important;

  padding:
    0 30px!important;

  display:inline-flex!important;

  align-items:center!important;

  gap:12px!important;

  white-space:nowrap!important;

  text-transform:uppercase!important;

  color:#86ffb8!important;

  font-family:
    "Cascadia Mono",
    "SFMono-Regular",
    Consolas,
    "Liberation Mono",
    monospace!important;

  font-size:.79rem!important;

  font-weight:800!important;

  letter-spacing:.095em!important;

  text-shadow:
    0 0 4px rgba(67,255,151,.82),
    0 0 10px rgba(30,255,127,.40),
    0 0 18px rgba(0,255,110,.16)!important;
}


.header-ticker
.ticker-loop-copy::before,
.header-ticker
.ticker-loop-copy::after{
  display:none!important;
  content:none!important;
}


.header-ticker
.ticker-led-dot{
  width:7px!important;
  height:7px!important;

  flex:
    0 0 7px!important;

  border-radius:50%!important;

  background:#7dffb2!important;

  box-shadow:
    0 0 5px #59ff9f,
    0 0 12px rgba(68,255,156,.72)!important;

  animation:
    takaloLedPulse
    1.75s
    ease-in-out
    infinite!important;
}


@keyframes takaloLedPulse{
  0%,
  100%{
    opacity:.52;
  }

  50%{
    opacity:1;
  }
}


.header-ticker
.ticker-led-text{
  display:inline-block!important;

  white-space:nowrap!important;

  text-transform:uppercase!important;
}


/*
 * Legacy source remains invisible.
 */

.header-ticker
.pinned-message-ticker.ticker-loop-source{
  position:absolute!important;

  width:1px!important;
  height:1px!important;

  opacity:0!important;
  overflow:hidden!important;

  pointer-events:none!important;
}


/*
 * Mobile LED panel.
 */

@media(max-width:820px){

  .site-header .header-ticker{
    min-height:32px!important;
    height:32px!important;
  }

  .header-ticker-inner,
  .header-ticker
  .pinned-messages-viewport,
  .header-ticker
  .pinned-messages-list,
  .header-ticker
  .ticker-loop-group{
    min-height:32px!important;
    height:32px!important;
  }

  .header-ticker
  .ticker-loop-copy{
    min-height:32px!important;

    padding:
      0 20px!important;

    gap:9px!important;

    font-size:.67rem!important;

    letter-spacing:.075em!important;
  }

  .header-ticker
  .ticker-led-dot{
    width:5px!important;
    height:5px!important;

    flex-basis:5px!important;
  }
}


/*
 * Reduced-motion users still receive a slow readable crawl,
 * while decorative LED pulsing is disabled.
 */

@media(prefers-reduced-motion:reduce){

  .header-ticker
  .ticker-led-dot{
    animation:none!important;
  }

}


/* END TAKALO S9 R6 A6 PREMIUM LED TICKER */

/* ==========================================================================
   TAKALO S9 R6 A8 — MINIMAL PREMIUM HEADER
   Apple-inspired visual hierarchy:
   quiet chrome, clear focus, one strong CTA.
   ========================================================================== */

.site-header-v1990-rc2{
  background:rgba(255,255,255,.92)!important;
  -webkit-backdrop-filter:saturate(180%) blur(20px)!important;
  backdrop-filter:saturate(180%) blur(20px)!important;

  border-bottom:
    1px solid rgba(15,23,42,.075)!important;

  box-shadow:
    0 1px 0 rgba(255,255,255,.72),
    0 8px 28px rgba(15,23,42,.045)!important;
}


.site-header-v1990-rc2
.header-main-row{
  min-height:66px!important;
  gap:14px!important;
}


.site-header-v1990-rc2
.brand{
  gap:10px!important;
}


.site-header-v1990-rc2
.brand-mark{
  width:40px!important;
  height:40px!important;

  border-radius:12px!important;

  box-shadow:
    0 4px 12px
    rgba(7,122,83,.12)!important;
}


.site-header-v1990-rc2
.brand strong{
  color:#151716!important;

  font-size:1rem!important;
  font-weight:760!important;

  letter-spacing:-.025em!important;
}


.site-header-v1990-rc2
.brand small{
  color:#72777a!important;

  font-size:.62rem!important;
  font-weight:560!important;

  letter-spacing:-.005em!important;
}


.site-header-v1990-rc2
.header-right{
  gap:6px!important;
}


.site-header-v1990-rc2
.top-actions{
  gap:2px!important;

  background:transparent!important;

  border:0!important;

  box-shadow:none!important;
}


/* --------------------------------------------------------------------------
   DESKTOP NAVIGATION — QUIET BUTTONS
   -------------------------------------------------------------------------- */

.site-header-v1990-rc2
.top-actions>.button,

.site-header-v1990-rc2
.top-actions>a.button{
  min-height:36px!important;

  padding:
    0 9px!important;

  border:
    0!important;

  border-radius:
    10px!important;

  background:
    transparent!important;

  box-shadow:
    none!important;

  color:
    #252827!important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Text",
    "Segoe UI",
    Inter,
    system-ui,
    sans-serif!important;

  font-size:
    .74rem!important;

  font-weight:
    650!important;

  letter-spacing:
    -.012em!important;

  transition:
    background-color .16s ease,
    color .16s ease,
    transform .16s ease!important;
}


.site-header-v1990-rc2
.top-actions>.button:hover,

.site-header-v1990-rc2
.top-actions>a.button:hover,

.site-header-v1990-rc2
.top-actions>.button:focus-visible,

.site-header-v1990-rc2
.top-actions>a.button:focus-visible{
  background:
    #f3f5f4!important;

  color:
    #0b513b!important;

  border:
    0!important;

  box-shadow:
    none!important;

  transform:
    none!important;
}


/* Active market/page = subtle state only */

.site-header-v1990-rc2
.top-actions>.header-market-entry.active,

.site-header-v1990-rc2
.top-actions>[aria-current="page"]{
  background:
    #edf6f2!important;

  color:
    #075f43!important;

  box-shadow:
    inset 0 0 0 1px
    rgba(7,95,67,.055)!important;
}


/* Installer = discreet secondary action */

.site-header-v1990-rc2
.top-actions>.install-button:not([hidden]){
  background:
    #f1f7f4!important;

  color:
    #075f43!important;

  border:
    0!important;

  border-radius:
    999px!important;
}


/* Live = only restrained red signal */

.site-header-v1990-rc2
.top-actions>.takalo-live-header-button:not([hidden]){
  min-width:
    auto!important;

  padding:
    0 10px!important;

  border:
    0!important;

  border-radius:
    999px!important;

  background:
    #fff1f0!important;

  color:
    #b42318!important;

  box-shadow:
    none!important;
}


.site-header-v1990-rc2
.top-actions>.takalo-live-header-button:not([hidden])::before{
  width:
    6px!important;

  height:
    6px!important;

  flex:
    0 0 6px!important;

  background:
    #ef4444!important;

  box-shadow:
    0 0 0 3px
    rgba(239,68,68,.10)!important;
}


.site-header-v1990-rc2
.top-actions>.takalo-live-header-button:not([hidden]):hover,

.site-header-v1990-rc2
.top-actions>.takalo-live-header-button:not([hidden]):focus-visible{
  background:
    #ffe7e5!important;

  color:
    #9f1c15!important;
}


.site-header-v1990-rc2
.top-actions>.b2b-header-button{
  color:
    #404442!important;
}


.site-header-v1990-rc2
.messenger-entry-button,

.site-header-v1990-rc2
.notification-entry-button{
  position:
    relative!important;
}


.site-header-v1990-rc2
.messenger-unread-badge,

.site-header-v1990-rc2
.notification-unread-badge{
  box-shadow:
    0 0 0 2px #fff!important;
}


/* --------------------------------------------------------------------------
   SEARCH — SPOTLIGHT STYLE
   -------------------------------------------------------------------------- */

.site-header-v1990-rc2
.header-search-form{
  flex:
    0 0 190px!important;

  width:
    190px!important;

  min-width:
    150px!important;

  margin:
    0!important;
}


.site-header-v1990-rc2
.header-search-field{
  min-height:
    38px!important;

  border:
    1px solid transparent!important;

  border-radius:
    12px!important;

  background:
    #f4f5f6!important;

  box-shadow:
    none!important;

  transition:
    background-color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease!important;
}


.site-header-v1990-rc2
.header-search-field:focus-within{
  background:
    #fff!important;

  border-color:
    rgba(8,122,83,.22)!important;

  box-shadow:
    0 0 0 3px
    rgba(8,122,83,.085)!important;
}


.site-header-v1990-rc2
.header-search-field input{
  color:
    #1d1f1e!important;

  background:
    transparent!important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "SF Pro Text",
    "Segoe UI",
    Inter,
    system-ui,
    sans-serif!important;

  font-size:
    .76rem!important;

  font-weight:
    520!important;
}


.site-header-v1990-rc2
.header-search-field input::placeholder{
  color:
    #8a8f8c!important;

  opacity:
    1!important;
}


/* --------------------------------------------------------------------------
   ACCOUNT
   -------------------------------------------------------------------------- */

.site-header-v1990-rc2
.header-account-button{
  min-height:
    40px!important;

  padding:
    4px 8px!important;

  border:
    0!important;

  border-radius:
    12px!important;

  background:
    transparent!important;

  box-shadow:
    none!important;

  color:
    #202321!important;
}


.site-header-v1990-rc2
.header-account-button:hover,

.site-header-v1990-rc2
.header-account-button:focus-visible{
  background:
    #f3f5f4!important;

  border:
    0!important;

  box-shadow:
    none!important;
}


.site-header-v1990-rc2
.header-account-button strong{
  font-weight:
    720!important;

  letter-spacing:
    -.015em!important;
}


.site-header-v1990-rc2
.header-account-button small{
  color:
    #6d7370!important;

  font-size:
    .6rem!important;

  font-weight:
    560!important;
}


/* --------------------------------------------------------------------------
   PUBLISH = SOLE STRONG CTA
   -------------------------------------------------------------------------- */

.site-header-v1990-rc2
.header-publish-button{
  min-height:
    40px!important;

  padding:
    0 15px!important;

  border:
    0!important;

  border-radius:
    999px!important;

  background:
    #087a53!important;

  color:
    #fff!important;

  box-shadow:
    0 4px 12px
    rgba(8,122,83,.18)!important;

  font-weight:
    720!important;

  letter-spacing:
    -.012em!important;
}


.site-header-v1990-rc2
.header-publish-button:hover,

.site-header-v1990-rc2
.header-publish-button:focus-visible{
  background:
    #066b49!important;

  color:
    #fff!important;

  box-shadow:
    0 5px 14px
    rgba(8,122,83,.22)!important;

  transform:
    none!important;
}


.site-header-v1990-rc2
.header-flag-bearer,

.site-header-v1990-rc2
.header-flag-bearer-compact{
  border:
    0!important;

  background:
    transparent!important;

  box-shadow:
    none!important;

  opacity:
    .9!important;
}


/* --------------------------------------------------------------------------
   COMPACT DESKTOP
   -------------------------------------------------------------------------- */

@media (min-width:1101px) and (max-width:1320px){

  .site-header-v1990-rc2
  .header-main-row{
    gap:
      8px!important;
  }


  .site-header-v1990-rc2
  .top-actions{
    gap:
      1px!important;
  }


  .site-header-v1990-rc2
  .top-actions>.button,

  .site-header-v1990-rc2
  .top-actions>a.button{
    padding-inline:
      7px!important;

    font-size:
      .7rem!important;
  }


  .site-header-v1990-rc2
  .header-search-form{
    flex-basis:
      150px!important;

    width:
      150px!important;

    min-width:
      130px!important;
  }


  .site-header-v1990-rc2
  .header-publish-button{
    padding-inline:
      12px!important;
  }

}


/* --------------------------------------------------------------------------
   TABLET — KEEP CURRENT RESPONSIVE VISIBILITY CONTRACT
   -------------------------------------------------------------------------- */

@media (min-width:821px) and (max-width:1100px){

  .site-header-v1990-rc2
  .header-main-row{
    min-height:
      62px!important;
  }


  .site-header-v1990-rc2
  .top-actions>.button,

  .site-header-v1990-rc2
  .top-actions>a.button{
    min-height:
      35px!important;

    padding-inline:
      8px!important;

    border:
      0!important;

    background:
      transparent!important;

    box-shadow:
      none!important;
  }


  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]){
    background:
      #f1f7f4!important;
  }


  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:not([hidden]){
    background:
      #fff1f0!important;
  }


  .site-header-v1990-rc2
  .header-account-button{
    border:
      0!important;

    background:
      transparent!important;

    box-shadow:
      none!important;
  }


  .site-header-v1990-rc2
  .header-publish-button{
    border-radius:
      999px!important;
  }

}


/* --------------------------------------------------------------------------
   MOBILE — PRESERVE EXISTING LAYOUT, REFINE ONLY ITS VISUAL LANGUAGE
   -------------------------------------------------------------------------- */

@media (max-width:820px){

  .site-header-v1990-rc2{
    background:
      rgba(255,255,255,.95)!important;

    -webkit-backdrop-filter:
      saturate(170%) blur(18px)!important;

    backdrop-filter:
      saturate(170%) blur(18px)!important;

    border-bottom:
      1px solid rgba(15,23,42,.06)!important;

    box-shadow:
      0 4px 18px
      rgba(15,23,42,.035)!important;
  }


  .site-header-v1990-rc2
  .header-main-row{
    min-height:
      58px!important;

    gap:
      6px!important;
  }


  .site-header-v1990-rc2
  .brand{
    gap:
      7px!important;
  }


  .site-header-v1990-rc2
  .brand-mark{
    width:
      36px!important;

    height:
      36px!important;

    border-radius:
      11px!important;

    box-shadow:
      0 3px 10px
      rgba(7,122,83,.10)!important;
  }


  .site-header-v1990-rc2
  .brand strong{
    font-size:
      .88rem!important;
  }


  .site-header-v1990-rc2
  .top-actions{
    gap:
      4px!important;
  }


  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]),

  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:not([hidden]){
    min-width:
      auto!important;

    min-height:
      34px!important;

    padding:
      0 9px!important;

    border:
      0!important;

    border-radius:
      999px!important;

    box-shadow:
      none!important;

    font-size:
      .66rem!important;

    font-weight:
      700!important;
  }


  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]){
    background:
      #eef7f3!important;

    color:
      #075f43!important;
  }


  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:not([hidden]){
    background:
      #fff0ef!important;

    color:
      #b42318!important;
  }


  .site-header-v1990-rc2
  .header-account-button{
    min-height:
      36px!important;

    padding:
      3px 5px!important;

    border:
      0!important;

    border-radius:
      999px!important;

    background:
      transparent!important;

    box-shadow:
      none!important;
  }


  .site-header-v1990-rc2
  .header-flag-bearer,

  .site-header-v1990-rc2
  .header-flag-bearer-compact{
    width:
      26px!important;

    height:
      36px!important;

    flex-basis:
      26px!important;
  }


  .site-header-v1990-rc2
  .header-search-field{
    min-height:
      38px!important;

    border:
      0!important;

    border-radius:
      12px!important;

    background:
      #f3f5f4!important;

    box-shadow:
      none!important;
  }


  .site-header-v1990-rc2
  .header-search-field:focus-within{
    background:
      #fff!important;

    box-shadow:
      0 0 0 3px
      rgba(8,122,83,.08)!important;
  }


  .site-header-v1990-rc2
  .header-search-field input{
    font-size:
      .75rem!important;
  }

}


@media (max-width:380px){

  .site-header-v1990-rc2
  .brand strong{
    font-size:
      .82rem!important;
  }


  .site-header-v1990-rc2
  .top-actions>.install-button:not([hidden]),

  .site-header-v1990-rc2
  .top-actions>.takalo-live-header-button:not([hidden]){
    padding-inline:
      7px!important;

    font-size:
      .63rem!important;
  }

}


/* END TAKALO S9 R6 A8 MINIMAL PREMIUM HEADER */

/* ==========================================================================
   TAKALO S9 R6 A8.1 — ULTRA MINIMAL HEADER
   Apple-inspired refinement over A8.
   ========================================================================== */


/* Core desktop rhythm */

@media (min-width:1101px){

  .site-header-v1990-rc2
  .header-main-row{
    min-height:64px!important;
    gap:9px!important;
  }

  .site-header-v1990-rc2
  .header-right{
    gap:5px!important;
  }

  .site-header-v1990-rc2
  .top-actions{
    gap:0!important;
  }

  .site-header-v1990-rc2
  .top-actions>.button,

  .site-header-v1990-rc2
  .top-actions>a.button{
    min-height:34px!important;
    padding:0 8px!important;
    gap:5px!important;

    border-radius:9px!important;

    font-size:.71rem!important;
    font-weight:610!important;
    letter-spacing:-.01em!important;

    box-shadow:none!important;
  }

}


/* Monochrome icon system */

.site-header-v1990-rc2
.top-actions>.data-saver-button::before,

.site-header-v1990-rc2
.top-actions>.header-market-entry::before,

.site-header-v1990-rc2
.top-actions>.services-header-button::before,

.site-header-v1990-rc2
.top-actions>.ticketing-header-button::before,

.site-header-v1990-rc2
.top-actions>.b2b-header-button::before,

.site-header-v1990-rc2
.top-actions>.messenger-entry-button::before,

.site-header-v1990-rc2
.top-actions>.notification-entry-button::before{
  content:""!important;

  display:inline-block!important;

  width:14px!important;
  height:14px!important;
  flex:0 0 14px!important;

  background:currentColor!important;

  opacity:.74!important;

  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;

  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;

  -webkit-mask-position:center!important;
  mask-position:center!important;

  -webkit-mask-size:14px 14px!important;
  mask-size:14px 14px!important;
}


/* Data */

.site-header-v1990-rc2
.top-actions>.data-saver-button::before{
  -webkit-mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4C11 5 5.2 9.1 5.2 15.2c0 2.9 2.1 4.8 5 4.8C17.5 20 20 12.4 20 4Zm-3.1 4.1C13 10.3 9.8 13.4 7.2 17.4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;

  mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4C11 5 5.2 9.1 5.2 15.2c0 2.9 2.1 4.8 5 4.8C17.5 20 20 12.4 20 4Zm-3.1 4.1C13 10.3 9.8 13.4 7.2 17.4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}


/* Marché */

.site-header-v1990-rc2
.top-actions>.header-market-entry::before{
  -webkit-mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h16l-1-4H5L4 9Zm1 0v10h14V9M9 19v-5h6v5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;

  mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9h16l-1-4H5L4 9Zm1 0v10h14V9M9 19v-5h6v5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}


/* Services */

.site-header-v1990-rc2
.top-actions>.services-header-button::before{
  -webkit-mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 7h9M18 7h1M5 12h2M11 12h8M5 17h7M16 17h3' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='16' cy='7' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='9' cy='12' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='14' cy='17' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E")!important;

  mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 7h9M18 7h1M5 12h2M11 12h8M5 17h7M16 17h3' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3Ccircle cx='16' cy='7' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='9' cy='12' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='14' cy='17' r='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3C/svg%3E")!important;
}


/* Billetterie */

.site-header-v1990-rc2
.top-actions>.ticketing-header-button::before{
  -webkit-mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h16v3a2 2 0 0 0 0 4v3H4v-3a2 2 0 0 0 0-4V7Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M12 9v2M12 14v1' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")!important;

  mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h16v3a2 2 0 0 0 0 4v3H4v-3a2 2 0 0 0 0-4V7Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M12 9v2M12 14v1' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")!important;
}


/* B2B */

.site-header-v1990-rc2
.top-actions>.b2b-header-button::before{
  -webkit-mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='7' width='18' height='13' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M9 7V5h6v2M3 12h18M10 12v2h4v-2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;

  mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='7' width='18' height='13' rx='2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M9 7V5h6v2M3 12h18M10 12v2h4v-2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}


/* Messenger */

.site-header-v1990-rc2
.top-actions>.messenger-entry-button::before{
  -webkit-mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11.5A7.5 7.5 0 0 1 12 19a9 9 0 0 1-3.2-.6L4 20l1.4-4.1A7.5 7.5 0 1 1 20 11.5Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M8 12h.01M12 12h.01M16 12h.01' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")!important;

  mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 11.5A7.5 7.5 0 0 1 12 19a9 9 0 0 1-3.2-.6L4 20l1.4-4.1A7.5 7.5 0 1 1 20 11.5Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M8 12h.01M12 12h.01M16 12h.01' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E")!important;
}


/* Notifications */

.site-header-v1990-rc2
.top-actions>.notification-entry-button::before{
  -webkit-mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 20h4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")!important;

  mask-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9Z' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 20h4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")!important;
}


/* Quiet Live */

.site-header-v1990-rc2
.top-actions>.takalo-live-header-button:not([hidden]){
  min-height:34px!important;
  padding-inline:9px!important;

  font-size:.70rem!important;
  font-weight:620!important;

  background:
    rgba(239,68,68,.07)!important;
}


/* Spotlight-like search */

@media (min-width:1321px){

  .site-header-v1990-rc2
  .header-search-form{
    flex:0 1 224px!important;
    width:224px!important;
    min-width:190px!important;
    max-width:224px!important;
  }

}


@media (min-width:1101px) and (max-width:1320px){

  .site-header-v1990-rc2
  .header-search-form{
    flex:0 1 176px!important;
    width:176px!important;
    min-width:150px!important;
    max-width:176px!important;
  }

}


@media (min-width:1101px){

  .site-header-v1990-rc2
  .header-search-field{
    min-height:36px!important;
    border-radius:10px!important;

    background:
      rgba(118,118,128,.075)!important;
  }

  .site-header-v1990-rc2
  .header-search-field input{
    font-size:.73rem!important;
    font-weight:470!important;
    letter-spacing:-.006em!important;
  }

}


/* Compact account */

@media (min-width:1101px){

  .site-header-v1990-rc2
  .header-account-button{
    min-height:36px!important;
    padding:3px 7px!important;
    gap:6px!important;

    border-radius:999px!important;
  }

  .site-header-v1990-rc2
  .header-account-button strong{
    font-size:.71rem!important;
    font-weight:640!important;
  }

  .site-header-v1990-rc2
  .header-account-button small{
    display:none!important;
  }

}


/* Publish remains the single strong CTA */

@media (min-width:821px){

  .site-header-v1990-rc2
  .header-publish-button{
    min-height:38px!important;
    padding-inline:14px!important;

    border-radius:999px!important;

    font-size:.73rem!important;
    font-weight:680!important;

    box-shadow:
      0 3px 10px
      rgba(8,122,83,.15)!important;
  }

}


/* Compact badges */

.site-header-v1990-rc2
.messenger-unread-badge,

.site-header-v1990-rc2
.notification-unread-badge{
  min-width:16px!important;
  height:16px!important;

  padding:0 4px!important;

  border-radius:999px!important;

  font-size:.56rem!important;
  line-height:16px!important;
}


/* Tablet icon scale */

@media (min-width:821px) and (max-width:1100px){

  .site-header-v1990-rc2
  .top-actions>.data-saver-button::before,

  .site-header-v1990-rc2
  .top-actions>.header-market-entry::before,

  .site-header-v1990-rc2
  .top-actions>.services-header-button::before,

  .site-header-v1990-rc2
  .top-actions>.ticketing-header-button::before,

  .site-header-v1990-rc2
  .top-actions>.b2b-header-button::before,

  .site-header-v1990-rc2
  .top-actions>.messenger-entry-button::before,

  .site-header-v1990-rc2
  .top-actions>.notification-entry-button::before{
    width:13px!important;
    height:13px!important;
    flex-basis:13px!important;

    -webkit-mask-size:
      13px 13px!important;

    mask-size:
      13px 13px!important;
  }

}


/* Mobile structure remains A8 */

@media (max-width:820px){

  .site-header-v1990-rc2
  .top-actions>.data-saver-button::before,

  .site-header-v1990-rc2
  .top-actions>.header-market-entry::before,

  .site-header-v1990-rc2
  .top-actions>.services-header-button::before,

  .site-header-v1990-rc2
  .top-actions>.ticketing-header-button::before,

  .site-header-v1990-rc2
  .top-actions>.b2b-header-button::before,

  .site-header-v1990-rc2
  .top-actions>.messenger-entry-button::before,

  .site-header-v1990-rc2
  .top-actions>.notification-entry-button::before{
    width:12px!important;
    height:12px!important;
    flex-basis:12px!important;

    -webkit-mask-size:
      12px 12px!important;

    mask-size:
      12px 12px!important;
  }

}


/* END TAKALO S9 R6 A8.1 ULTRA MINIMAL HEADER */
