.ads-module-ready{--ads-module-ready:1}

/* Owner ad register: a compact spreadsheet surface for boosted posts. */
.ads-sheet-page{min-height:calc(100vh - var(--nav-h));padding:44px 18px 100px;background:radial-gradient(circle at 15% 5%,rgba(226,19,27,.18),transparent 28%),linear-gradient(135deg,#0d0203,#190507 58%,#080102);color:#f9eeee}
.ads-sheet-wrap{width:min(1440px,100%);margin:0 auto}
.ads-sheet-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.ads-sheet-kicker{margin:0 0 7px;color:#ff5260;font:700 .58rem/1.2 "DM Mono",monospace;letter-spacing:.14em;text-transform:uppercase}
.ads-sheet-head h1{margin:0;color:#fff;font:900 clamp(2.2rem,5vw,4.8rem)/.9 "Space Grotesk",sans-serif;letter-spacing:-.07em}
.ads-sheet-head h1 span{color:#f02932}
.ads-sheet-head p:not(.ads-sheet-kicker){max-width:620px;margin:14px 0 0;color:#bfa7aa;font-size:.74rem;line-height:1.6}
.ads-sheet-head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}
.ads-sheet-link{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#f3dfe0;background:rgba(255,255,255,.05);font-size:.62rem;font-weight:800;text-decoration:none}
.ads-sheet-link:hover{border-color:#ff3944;color:#fff;background:rgba(255,30,40,.12)}
.ads-sheet-link.primary{border-color:rgba(255,80,90,.55);color:#fff;background:linear-gradient(135deg,#f02932,#b70712);box-shadow:0 8px 20px rgba(227,19,27,.23)}
.ads-sheet-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}
.ads-sheet-summary>div{padding:15px 17px;border:1px solid rgba(255,45,55,.28);border-radius:12px;background:rgba(30,5,7,.78);box-shadow:0 10px 28px rgba(0,0,0,.2)}
.ads-sheet-summary span{display:block;color:#ad9295;font:700 .52rem/1.2 "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
.ads-sheet-summary strong{display:block;margin-top:8px;color:#fff;font:800 1.35rem/1 "Space Grotesk",sans-serif}
.ads-sheet-summary small{color:#ff9ba1;font-size:.55rem}
.ads-sheet-card{overflow:hidden;border:1px solid rgba(255,45,55,.35);border-radius:17px;background:rgba(19,3,5,.9);box-shadow:0 22px 55px rgba(0,0,0,.32)}
.ads-sheet-card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 20px;border-bottom:1px solid rgba(255,255,255,.09);background:linear-gradient(90deg,rgba(255,30,40,.1),transparent)}
.ads-sheet-card-head h2{margin:0;color:#fff;font:800 1.2rem/1.1 "Space Grotesk",sans-serif}
.ads-sheet-grid-label{display:inline-flex;align-items:center;gap:6px;color:#bda5a8;font:700 .54rem/1 "DM Mono",monospace;text-transform:uppercase}
.ads-table-scroll{overflow-x:auto}
.ads-table{width:100%;min-width:1040px;border-collapse:collapse;font-size:.96rem}
.ads-table th{padding:14px 14px;border-bottom:1px solid rgba(255,45,55,.42);color:#ff8f96;background:rgba(255,30,40,.08);font:800 .78rem/1.2 "DM Mono",monospace;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}
.ads-table td{padding:16px 14px;border-bottom:1px solid rgba(255,255,255,.07);color:#eedfe0;vertical-align:middle}
.ads-table tbody tr:hover{background:rgba(255,30,40,.055)}
.ads-table tbody tr:last-child td{border-bottom:0}
.ads-table td>strong,.ads-table td>span,.ads-table td>a{display:block}
.ads-table td strong{color:#fff;font-size:1rem}
.ads-table td small{display:block;margin-top:5px;color:#a88f92;font-size:.78rem;line-height:1.4}
.ads-post-cell{display:flex!important;align-items:center;gap:9px;min-width:170px;color:#fff;text-decoration:none}
.ads-post-cell:hover strong{color:#ff7880}
.ads-post-thumb{display:grid!important;width:39px;height:39px;flex:0 0 39px;place-items:center;overflow:hidden;border:1px solid rgba(255,60,70,.38);border-radius:8px;color:#ff5862;background:#38090d}
.ads-post-thumb img{width:100%;height:100%;object-fit:cover}
.ads-post-cell>span:last-child{min-width:0}
.ads-post-cell strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ads-muted-cell{color:#a88f92!important}
.ads-status{display:inline-flex!important;align-items:center;gap:6px;white-space:nowrap;font-weight:800}
.ads-status i{font-size:.48rem;color:#ff6d75}
.ads-status.running{color:#5dff9b}.ads-status.running i{color:#32f27d}.ads-status.paused{color:#ffcf70}.ads-status.paused i{color:#ffb72b}.ads-status.ended{color:#bd9fa2}.ads-status.ended i{color:#866a6e}
.ads-target-cell{max-width:140px;color:#e9d6d8!important;line-height:1.35}
.ads-schedule-cell{white-space:nowrap}.ads-schedule-cell small{margin-top:3px}
.ads-number-cell{white-space:nowrap}.ads-number-cell small{display:inline;color:#b7999c;font-size:.5rem}
.ads-toggle-button{min-width:65px;min-height:30px;padding:0 9px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;background:rgba(255,255,255,.06);font-size:.58rem;font-weight:800;cursor:pointer}
.ads-toggle-button:hover{border-color:#ff4d57;background:rgba(255,30,40,.14)}.ads-toggle-button:disabled{cursor:wait;opacity:.58}
.ads-table-empty{padding:60px 20px!important;text-align:center}.ads-table-empty>i,.ads-table-empty>strong,.ads-table-empty>span,.ads-table-empty>a{display:block!important}.ads-table-empty>i{color:#ff4c56;font-size:1.6rem}.ads-table-empty>strong{margin-top:11px;font-size:.9rem}.ads-table-empty>span{margin:8px auto 16px;color:#aa9295;font-size:.64rem}
@media(max-width:760px){.ads-sheet-page{padding:28px 10px 80px}.ads-sheet-head{align-items:start;flex-direction:column}.ads-sheet-head-actions{justify-content:flex-start}.ads-sheet-summary{grid-template-columns:1fr}.ads-sheet-card-head{align-items:start;flex-direction:column}}
.ads-progress-note{display:block;color:#9b8585;font-size:.72rem;margin-top:4px}.ads-actions{display:flex;justify-content:flex-end;min-width:58px}.ads-action-menu-wrap{position:relative}.ads-more-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;background:rgba(255,255,255,.06);font-size:.75rem;cursor:pointer}.ads-more-button:hover,.ads-more-button[aria-expanded="true"]{border-color:#ff4d57;color:#fff;background:rgba(255,30,40,.16)}.ads-action-menu{position:absolute;z-index:120;right:0;bottom:calc(100% + 6px);display:grid;min-width:158px;padding:6px;border:1px solid rgba(255,60,70,.55);border-radius:10px;background:rgba(25,3,6,.98);box-shadow:0 14px 34px rgba(0,0,0,.55),0 0 20px rgba(227,19,27,.2)}.ads-action-menu[hidden]{display:none}.ads-action-menu.is-floating{position:fixed;right:auto;bottom:auto}.ads-menu-item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:7px;color:#fff;background:transparent;font-size:.62rem;font-weight:700;text-align:left;cursor:pointer}.ads-menu-item:hover{background:rgba(255,35,45,.16)}.ads-menu-item i{width:14px;color:#ff6870;text-align:center}.ads-menu-item.danger{color:#ff9298}.ads-menu-item.danger i{color:#ff6c75}.ads-menu-item:disabled{cursor:not-allowed;opacity:.45}.ads-edit-dialog{background:#1b080a;color:#fff;border:1px solid #e5222b;border-radius:12px;padding:24px;min-width:320px;max-width:min(680px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto}.ads-edit-dialog::backdrop{background:rgba(0,0,0,.7)}.ads-edit-dialog label{display:block;margin:12px 0;color:#d9caca}.ads-edit-dialog input,.ads-edit-dialog textarea,.ads-edit-dialog select{display:block;width:100%;margin-top:5px;background:#0d0506;color:#fff;border:1px solid #542027;border-radius:7px;padding:9px;box-sizing:border-box}.ads-edit-dialog select[multiple]{min-height:118px;padding:7px}.ads-edit-duration-grid,.ads-edit-location-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ads-edit-section-title{margin:20px 0 2px;color:#fff;font-size:.85rem}.ads-edit-help{display:block;margin:4px 0 14px;color:#b99fa2;font-size:.62rem;line-height:1.45}.ads-edit-reach input{color:#65ff9d;border-color:#1e8d54}.ads-edit-reach small{display:block;margin-top:4px;color:#b99fa2;font-size:.58rem}.ads-edit-dialog button{margin-right:7px;border:1px solid #e5222b;background:#e5222b;color:#fff;border-radius:7px;padding:8px 13px}@media(max-width:560px){.ads-edit-duration-grid,.ads-edit-location-grid{grid-template-columns:1fr}.ads-edit-dialog{padding:18px;min-width:0}}

/* On phones the campaign register becomes labelled cards, so every field is
   readable without making users pan a wide spreadsheet sideways. */
@media(max-width:760px){
  .ads-table-scroll{overflow:visible}
  .ads-table,.ads-table tbody,.ads-table tr,.ads-table td{display:block;width:100%;min-width:0;box-sizing:border-box}
  .ads-table{border-collapse:separate}
  .ads-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ads-table tbody tr[data-ads-row]{margin-bottom:12px;border:1px solid rgba(255,45,55,.24);border-radius:13px;background:rgba(255,255,255,.025)}
  .ads-table tbody tr[data-ads-row] td{display:grid;grid-template-columns:minmax(6.8rem,32%) minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.07);text-align:right;overflow-wrap:anywhere}
  .ads-table tbody tr[data-ads-row] td:last-child{border-bottom:0}
  .ads-table tbody tr[data-ads-row] td::before{content:attr(data-label);color:#ff9ba1;font:800 .62rem/1.3 "DM Mono",monospace;letter-spacing:.04em;text-align:left;text-transform:uppercase}
  .ads-table td>strong,.ads-table td>span,.ads-table td>a{max-width:100%;text-align:right}
  .ads-table .ads-post-cell{min-width:0;justify-content:flex-end;text-align:left!important}
  .ads-table .ads-post-cell>span:last-child{text-align:left}
  .ads-table .ads-target-cell,.ads-table .ads-schedule-cell,.ads-table .ads-number-cell{max-width:100%;white-space:normal}
  .ads-table .ads-number-cell small{white-space:normal}
  .ads-table .ads-progress-note{white-space:normal}
  .ads-table .ads-actions{min-width:0;justify-content:flex-end}
  .ads-table .ads-table-empty{display:grid!important;grid-template-columns:1fr!important;gap:5px;padding:38px 16px!important;text-align:center!important}
  .ads-table .ads-table-empty::before{display:none}
}

/* Full-screen personal-location setup.  This page is opened from Feed before
   a learner can enter the stream, so it should feel like an app surface rather
   than a small desktop card floating inside a page. */
.location-setup-shell {
  --location-red: #ff3d4b;
  --location-red-soft: rgba(255, 61, 75, .18);
  --location-panel: rgba(24, 2, 5, .78);
  background: #070001;
}

.location-setup-shell .page-footer { display: none; }
.location-setup-shell #main-content { min-height: calc(100dvh - var(--nav-h)); }
.location-setup-shell .ads-start-page {
  display: flex;
  min-height: calc(100dvh - var(--nav-h));
  min-height: calc(100svh - var(--nav-h));
  padding: clamp(28px, 4vw, 64px) clamp(18px, 5vw, 82px) calc(96px + env(safe-area-inset-bottom));
  color: #fff5f5;
  background:
    radial-gradient(circle at 7% 0%, rgba(255, 31, 45, .2), transparent 30%),
    radial-gradient(circle at 100% 100%, rgba(112, 0, 16, .22), transparent 34%),
    linear-gradient(135deg, #0b0103 0%, #210307 48%, #050001 100%);
}

.location-setup-frame {
  display: flex;
  width: min(1500px, 100%);
  min-height: 100%;
  margin: auto;
  flex-direction: column;
  gap: clamp(24px, 4vw, 48px);
}

.location-setup-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  padding-bottom: clamp(22px, 3vw, 36px);
  border-bottom: 1px solid rgba(255, 92, 101, .24);
}

.location-setup-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 13px;
  color: #ff858c;
  font: 800 .68rem/1 "DM Mono", monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.location-setup-kicker i { color: var(--location-red); }
.location-setup-header h1 {
  margin: 0;
  color: #fff;
  font: 900 clamp(2.7rem, 6vw, 6.4rem)/.9 "Space Grotesk", sans-serif;
  letter-spacing: -.075em;
}
.location-setup-header h1 span { color: var(--location-red); }
.location-setup-intro { max-width: 680px; margin: 20px 0 0; color: #c9adb0; font-size: clamp(.82rem, 1.4vw, 1rem); line-height: 1.65; }
.location-setup-status { display: inline-flex; align-items: center; gap: 9px; flex: 0 0 auto; padding: 11px 14px; border: 1px solid rgba(0, 244, 119, .35); border-radius: 999px; color: #a8ffca; background: rgba(0, 70, 30, .18); font: 700 .68rem/1 "DM Mono", monospace; text-transform: uppercase; }
.location-setup-status i { color: #00f477; }

.location-form-alert { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border: 1px solid rgba(255, 110, 119, .55); border-radius: 12px; color: #ffd4d7; background: rgba(115, 6, 14, .5); font-size: .84rem; }
.location-form-alert i { color: #ff7b83; }

.location-setup-form { display: grid; gap: clamp(26px, 4vw, 50px); }
.location-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 32px); }
.location-section-card { min-width: 0; padding: clamp(22px, 3vw, 42px); border: 1px solid rgba(255, 71, 81, .38); border-radius: 22px; background: linear-gradient(145deg, var(--location-panel), rgba(8, 0, 2, .82)); box-shadow: 0 22px 65px rgba(0, 0, 0, .3), inset 0 1px rgba(255, 255, 255, .035); }
.location-section-current { border-color: rgba(0, 244, 119, .3); background: linear-gradient(145deg, rgba(0, 42, 21, .25), rgba(8, 0, 2, .84)); }
.location-section-head { display: flex; align-items: center; gap: 15px; margin-bottom: clamp(24px, 3vw, 38px); }
.location-section-number { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border: 1px solid var(--location-red); border-radius: 14px; color: #fff; background: var(--location-red-soft); font: 900 1.15rem/1 "Space Grotesk", sans-serif; box-shadow: 0 0 25px rgba(255, 61, 75, .16); }
.location-section-current .location-section-number { border-color: #00f477; color: #b5ffd0; background: rgba(0, 244, 119, .1); box-shadow: 0 0 25px rgba(0, 244, 119, .12); }
.location-section-head p { margin: 0 0 7px; color: #ae8e93; font: 700 .62rem/1 "DM Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
.location-section-head h2 { margin: 0; color: #fff; font: 800 clamp(1.55rem, 3vw, 2.45rem)/1 "Space Grotesk", sans-serif; letter-spacing: -.05em; }
.location-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.location-field { display: grid; min-width: 0; gap: 9px; color: #f6e7e8; font-size: .78rem; font-weight: 800; }
.location-field select { width: 100%; min-height: 52px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .17); border-radius: 11px; outline: 0; color: #fff; background: rgba(0, 0, 0, .34); font: 600 .86rem/1 "Manrope", sans-serif; }
.location-field select:focus { border-color: var(--location-red); box-shadow: 0 0 0 3px rgba(255, 61, 75, .14); }
.location-field select:disabled { cursor: not-allowed; opacity: .48; }
.location-field select option { color: #1c090c; background: #fff; }

.location-setup-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .11); }
.location-setup-footer p { max-width: 720px; margin: 0; color: #a98e92; font-size: .76rem; line-height: 1.55; }
.location-setup-footer p i { margin-right: 6px; color: #ff858c; }
.location-save-button { min-height: 52px; padding-inline: 22px; white-space: nowrap; background: linear-gradient(135deg, #ef2935, #ff5964) !important; box-shadow: 0 10px 28px rgba(255, 40, 55, .24); }

@media (max-width: 900px) {
  .location-setup-shell .ads-start-page { padding-inline: clamp(14px, 4vw, 34px); }
  .location-sections { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .location-setup-shell .ads-start-page { min-height: calc(100dvh - var(--nav-h) - 74px); padding: 22px 12px calc(94px + env(safe-area-inset-bottom)); }
  .location-setup-frame { gap: 24px; }
  .location-setup-header { align-items: start; flex-direction: column; gap: 18px; padding-bottom: 22px; }
  .location-setup-header h1 { font-size: clamp(2.55rem, 13vw, 4rem); }
  .location-setup-intro { margin-top: 14px; font-size: .78rem; }
  .location-setup-status { font-size: .58rem; }
  .location-section-card { padding: 20px 16px; border-radius: 17px; }
  .location-section-head { margin-bottom: 24px; }
  .location-section-number { width: 42px; height: 42px; flex-basis: 42px; border-radius: 12px; font-size: 1rem; }
  .location-section-head h2 { font-size: 1.55rem; }
  .location-form-grid { grid-template-columns: 1fr; gap: 14px; }
  .location-field { font-size: .72rem; }
  .location-field select { min-height: 50px; font-size: .82rem; }
  .location-setup-footer { align-items: stretch; flex-direction: column; gap: 16px; padding-top: 19px; }
  .location-setup-footer p { font-size: .7rem; }
  .location-save-button { width: 100%; min-height: 52px; justify-content: center; }
}

/* Final full-bleed guard for the personal information route.  The shared
   public shell has bounded containers for ordinary pages; this route is an
   app surface and must occupy the complete viewport at every breakpoint. */
html:has(body.location-setup-body),
body.location-setup-body {
  width: 100%;
  max-width: none;
  min-width: 320px;
  margin: 0;
  background: #070001 !important;
}

body.location-setup-body {
  padding-bottom: 0 !important;
  overflow-x: hidden;
}

body.location-setup-body .site-shell,
body.location-setup-body #main-content,
body.location-setup-body .location-setup-page {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  border-radius: 0 !important;
}

body.location-setup-body .site-shell {
  overflow: visible !important;
  background: #070001 !important;
}

body.location-setup-body #main-content { padding: 0 !important; }
body.location-setup-body .location-setup-page {
  min-height: calc(100dvh - var(--nav-h)) !important;
  padding: clamp(34px, 5vw, 82px) clamp(18px, 5vw, 86px) calc(96px + env(safe-area-inset-bottom)) !important;
}

body.location-setup-body .location-setup-frame {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Personal information layout: keep the two location steps in one centered
   vertical flow. Birthplace is always first and Current location sits below it. */
body.location-setup-body .location-sections {
  display: grid !important;
  grid-template-columns: minmax(0, 900px) !important;
  justify-content: center !important;
  gap: clamp(38px, 5vw, 68px) !important;
  width: 100%;
  margin-inline: auto;
}

body.location-setup-body .location-section,
body.location-setup-body .location-section-card {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
}

body.location-setup-body .location-section-head {
  justify-content: center;
}

body.location-setup-body .location-form-grid {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
}

body.location-setup-body .location-section-card,
body.location-setup-body .location-section {
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.location-setup-body .location-section-current {
  border: 0 !important;
  background: transparent !important;
}

body.location-setup-body .location-section + .location-section,
body.location-setup-body .location-section-card + .location-section-card {
  padding-top: clamp(34px, 4vw, 54px) !important;
  border-top: 1px solid rgba(255, 87, 96, .22) !important;
}

body.location-setup-body .location-section-current .location-section-number {
  border-color: var(--location-red) !important;
  color: #fff !important;
  background: var(--location-red-soft) !important;
  box-shadow: 0 0 25px rgba(255, 61, 75, .16) !important;
}

/* Compatibility for an old cached template: make its outer card full-width
   and hide the legacy address fields until the new template is picked up. */
.ads-start-page:has([name="birth_local_level"]) > .ads-start-card {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(28px, 5vw, 80px) clamp(18px, 5vw, 86px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ads-start-page:has([name="birth_local_level"]) [name="birth_local_level"],
.ads-start-page:has([name="birth_local_level"]) [name="birth_ward"],
.ads-start-page:has([name="birth_local_level"]) [name="birthplace"],
.ads-start-page:has([name="birth_local_level"]) [name="local_level"],
.ads-start-page:has([name="birth_local_level"]) [name="ward"],
.ads-start-page:has([name="birth_local_level"]) [name="place"],
.ads-start-page:has([name="birth_local_level"]) [name="current_location"] {
  display: none !important;
}

.ads-start-page:has([name="birth_local_level"]) label:has([name="birth_local_level"]),
.ads-start-page:has([name="birth_local_level"]) label:has([name="birth_ward"]),
.ads-start-page:has([name="birth_local_level"]) label:has([name="birthplace"]),
.ads-start-page:has([name="birth_local_level"]) label:has([name="local_level"]),
.ads-start-page:has([name="birth_local_level"]) label:has([name="ward"]),
.ads-start-page:has([name="birth_local_level"]) label:has([name="place"]) {
  display: none !important;
}

@media (max-width: 1199px) {
  body.location-setup-body { padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important; }
}

@media (max-width: 767px) {
  body.location-setup-body { padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
  body.location-setup-body .location-setup-page {
    min-height: calc(100dvh - var(--nav-h)) !important;
    padding: 24px 14px calc(96px + env(safe-area-inset-bottom)) !important;
  }
  body.location-setup-body .location-setup-header {
    gap: 16px;
    padding-bottom: 22px;
  }
  body.location-setup-body .location-sections { gap: 0; }
  body.location-setup-body .location-section + .location-section,
  body.location-setup-body .location-section-card + .location-section-card {
    padding-top: 30px !important;
  }
  body.location-setup-body .location-form-grid { grid-template-columns: 1fr; gap: 14px; }
  body.location-setup-body .location-setup-footer { padding-top: 24px; }
}

/* Geo-targeted Ads wizard and consent settings. Additive only: existing Ads,
   Feed, Store and site theme selectors are not overridden. */
.ads-wizard-page,.ads-personal-page{min-height:calc(100vh - var(--nav-h));padding:44px 18px 100px;background:radial-gradient(circle at 12% 4%,rgba(226,19,27,.16),transparent 30%),linear-gradient(135deg,#090102,#170405 58%,#050001);color:#f9eeee}
.ads-wizard-shell,.ads-personal-shell{width:min(1450px,100%);margin:0 auto}.ads-wizard-head,.ads-personal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px}.ads-kicker{margin:0 0 9px;color:#ff5964;font:800 .62rem/1 "DM Mono",monospace;letter-spacing:.15em}.ads-wizard-head h1,.ads-personal-head h1{margin:0;color:#fff;font:900 clamp(2.5rem,5vw,5.4rem)/.9 "Space Grotesk",sans-serif;letter-spacing:-.07em}.ads-wizard-head h1 span,.ads-personal-head h1 span{color:#f02932}.ads-wizard-head p:not(.ads-kicker),.ads-personal-head p:not(.ads-kicker){max-width:760px;margin:15px 0 0;color:#baa1a4;line-height:1.65}.ads-secondary-link{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.15);border-radius:10px;color:#f4e7e8;background:rgba(255,255,255,.04);font-weight:800;text-decoration:none;white-space:nowrap}.ads-secondary-link:hover{border-color:#f02932;background:rgba(240,41,50,.1)}
.ads-wizard-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px}.ads-wizard-steps{display:grid;align-content:start;gap:8px;position:sticky;top:calc(var(--nav-h) + 18px);height:max-content}.ads-wizard-steps button{display:flex;gap:12px;align-items:center;width:100%;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:12px;color:#a98e92;background:rgba(18,3,5,.72);text-align:left;cursor:pointer}.ads-wizard-steps button.active{border-color:rgba(255,61,75,.65);color:#fff;background:linear-gradient(135deg,rgba(240,41,50,.18),rgba(18,3,5,.92));box-shadow:0 0 22px rgba(240,41,50,.08)}.ads-wizard-steps b{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,85,95,.4);border-radius:9px;color:#ff6c75;font:800 .65rem "DM Mono",monospace}.ads-wizard-steps span{display:grid;font-weight:800}.ads-wizard-steps small{margin-top:3px;color:#8f777a;font-size:.64rem;font-weight:600}.ads-wizard-form{min-width:0;border:1px solid rgba(255,55,65,.28);border-radius:18px;background:rgba(17,2,4,.87);box-shadow:0 24px 60px rgba(0,0,0,.32)}.ads-wizard-panel{display:none;padding:clamp(20px,3vw,36px)}.ads-wizard-panel.active{display:block}.ads-panel-title{display:flex;gap:13px;align-items:center;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.08)}.ads-panel-title>span{display:grid;width:45px;height:45px;place-items:center;border-radius:12px;color:#fff;background:#e61e29;font:900 .75rem "DM Mono",monospace}.ads-panel-title h2{margin:0;color:#fff;font:800 1.65rem "Space Grotesk",sans-serif}.ads-panel-title p{margin:5px 0 0;color:#997f83;font-size:.75rem}.ads-boost-source{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.025);margin-bottom:20px}.ads-boost-source-media{display:grid;place-items:center;overflow:hidden;height:90px;border-radius:9px;background:#250609;color:#ff525d;font-size:1.5rem}.ads-boost-source-media img,.ads-boost-source-media video{width:100%;height:100%;object-fit:cover}.ads-boost-source span{color:#ff6872;font:800 .62rem "DM Mono",monospace;text-transform:uppercase}.ads-boost-source p{margin:9px 0 0;color:#e8d9db;line-height:1.5}.ads-form-grid,.ads-personal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ads-form-grid label,.ads-personal-grid label,.ads-inline-field{display:grid;gap:7px;color:#e8d8da;font-size:.72rem;font-weight:800}.ads-form-grid .full{grid-column:1/-1}.ads-form-grid input,.ads-form-grid select,.ads-form-grid textarea,.ads-personal-grid input,.ads-personal-grid select,.ads-inline-field select{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:9px;outline:none;color:#fff;background:#0b0304;font:600 .78rem Manrope,sans-serif}.ads-form-grid textarea{resize:vertical}.ads-form-grid input:focus,.ads-form-grid select:focus,.ads-form-grid textarea:focus,.ads-personal-grid input:focus,.ads-personal-grid select:focus{border-color:#ff3d4b;box-shadow:0 0 0 3px rgba(255,61,75,.1)}.ads-form-grid option,.ads-personal-grid option,.ads-inline-field option{color:#170406;background:#fff}.ads-form-grid small{color:#876f73;font-weight:500}.ads-audience-section{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.07)}.ads-audience-section:last-child{border-bottom:0}.ads-audience-section h3{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:#fff}.ads-audience-section h3 i{color:#ff4a55}.ads-check-grid{display:flex;flex-wrap:wrap;gap:8px}.ads-check-grid label input,.ads-interest-pill input{position:absolute;opacity:0;pointer-events:none}.ads-check-grid label span,.ads-interest-pill span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#baa3a6;background:rgba(255,255,255,.03);font-size:.68rem;font-weight:800;cursor:pointer}.ads-check-grid label input:checked+span,.ads-interest-pill input:checked+span{border-color:#ff3d4b;color:#fff;background:rgba(240,41,50,.16);box-shadow:0 0 16px rgba(240,41,50,.08)}.ads-field-note{margin:10px 0 0;color:#806a6e;font-size:.66rem}.ads-switch-card,.ads-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.025)}.ads-switch-card>input,.ads-toggle-row>input{position:absolute;opacity:0}.ads-switch-card>span,.ads-toggle-row>span{display:grid}.ads-switch-card strong,.ads-toggle-row strong{color:#fff}.ads-switch-card small,.ads-toggle-row small{margin-top:4px;color:#8f777a}.ads-switch-card>i,.ads-toggle-row>i{position:relative;width:42px;height:23px;border-radius:999px;background:#3b2528;transition:.2s}.ads-switch-card>i:before,.ads-toggle-row>i:before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#a99195;transition:.2s}.ads-switch-card>input:checked~i,.ads-toggle-row>input:checked~i{background:#c90c17}.ads-switch-card>input:checked~i:before,.ads-toggle-row>input:checked~i:before{transform:translateX(19px);background:#fff}.ads-free-mode-note{display:flex;gap:13px;margin-top:20px;padding:15px;border:1px solid rgba(0,238,130,.2);border-radius:12px;background:rgba(0,85,45,.09)}.ads-free-mode-note i{color:#42f39a}.ads-free-mode-note strong{color:#c6ffdf}.ads-free-mode-note p{margin:5px 0 0;color:#8eb5a0;font-size:.7rem}.ads-review-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px}.ads-preview-card,.ads-estimate-card{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#0b0203}.ads-preview-label{display:inline-flex;gap:7px;color:#ff5b65;font-size:.65rem;font-weight:800}.ads-preview-card>strong{display:block;margin-top:13px;color:#fff;font-size:1.05rem}.ads-preview-card>p{color:#bda5a8;line-height:1.5}.ads-preview-card>img{width:100%;max-height:320px;object-fit:cover;border-radius:10px}.ads-preview-card>button{margin-top:12px;padding:9px 12px;border:1px solid #f02932;border-radius:8px;color:#fff;background:#c30c16}.ads-estimate-card>span{color:#ff656f;font:800 .58rem "DM Mono",monospace;letter-spacing:.12em}.ads-estimate-card>strong{display:block;margin-top:10px;color:#fff;font:900 2.2rem "Space Grotesk",sans-serif}.ads-estimate-card>small{color:#8d7579}.ads-estimate-card #reviewTargetSummary{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:18px 0;padding-top:15px;border-top:1px solid rgba(255,255,255,.08);font-size:.7rem}.ads-estimate-card #reviewTargetSummary b{color:#9b8286}.ads-estimate-card #reviewTargetSummary span{color:#eee1e2;text-align:right}.ads-estimate-card>p{color:#7f696d;font-size:.66rem;line-height:1.5}.ads-wizard-footer{display:flex;align-items:center;gap:10px;padding:16px 22px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.17)}.ads-wizard-back{min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#fff;background:transparent;font-weight:800;cursor:pointer}.ads-wizard-back:disabled{opacity:.35}.ads-wizard-footer p{flex:1;margin:0;color:#ff9ca2;font-size:.72rem}.ads-personal-form{display:grid;gap:14px}.ads-setting-card{padding:22px;border:1px solid rgba(255,55,65,.25);border-radius:16px;background:rgba(17,2,4,.82)}.ads-setting-title{display:flex;align-items:center;gap:13px;margin-bottom:16px}.ads-setting-title>i{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,61,75,.4);border-radius:11px;color:#ff5a64;background:rgba(240,41,50,.1)}.ads-setting-title h2{margin:0;color:#fff}.ads-setting-title p{margin:4px 0 0;color:#8f777a;font-size:.72rem}.ads-interest-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.ads-location-actions{display:flex;align-items:center;gap:13px;margin-top:14px}.ads-location-actions span{color:#b79fa3;font-size:.72rem}.ads-manual-location{margin-top:14px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:10px}.ads-manual-location summary{color:#ff7880;font-weight:800;cursor:pointer}.ads-manual-location .ads-personal-grid{margin-top:14px}.ads-personal-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0}.ads-personal-footer p{max-width:760px;margin:0;color:#8c7579;font-size:.72rem;line-height:1.5}.ads-personal-footer i{color:#ff5b65;margin-right:6px}
@media(max-width:900px){.ads-wizard-layout{grid-template-columns:1fr}.ads-wizard-steps{position:static;grid-template-columns:repeat(5,minmax(0,1fr));overflow:auto}.ads-wizard-steps button{justify-content:center;padding:9px}.ads-wizard-steps button span{display:none}.ads-review-grid{grid-template-columns:1fr}}
@media(max-width:650px){.ads-wizard-page,.ads-personal-page{padding:25px 10px 90px}.ads-wizard-head,.ads-personal-head{align-items:flex-start;flex-direction:column}.ads-wizard-head h1,.ads-personal-head h1{font-size:3.1rem}.ads-form-grid,.ads-personal-grid{grid-template-columns:1fr}.ads-form-grid .full{grid-column:auto}.ads-wizard-panel{padding:18px 13px}.ads-boost-source{grid-template-columns:75px 1fr}.ads-boost-source-media{height:70px}.ads-wizard-footer{position:sticky;bottom:72px;z-index:20;padding:11px 12px;background:rgba(12,1,3,.96)}.ads-wizard-footer p{display:none}.ads-personal-footer{align-items:stretch;flex-direction:column}.ads-personal-footer .btn{width:100%;justify-content:center}.ads-location-actions{align-items:flex-start;flex-direction:column}}
/* Native Siskul in-stream advertising layer. It overlays the existing player;
   it never replaces the current Feed/Course player design. */
.siskul-instream-ad{position:absolute;inset:0;z-index:40;background:#050505;display:grid;place-items:center;border-radius:inherit;overflow:hidden}.siskul-instream-ad-media{position:absolute;inset:0;background:#050505}.siskul-instream-ad video{width:100%;height:100%;object-fit:contain;background:#000}.siskul-instream-ad-top,.siskul-instream-ad-bottom{position:absolute;left:14px;right:14px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;text-shadow:0 2px 8px #000}.siskul-instream-ad-top{top:12px}.siskul-instream-ad-top span,.siskul-instream-ad-top b{background:rgba(10,10,10,.76);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 10px;font-size:.78rem}.siskul-instream-ad-bottom{bottom:12px;padding:10px 12px;border-radius:12px;background:linear-gradient(90deg,rgba(5,5,5,.82),rgba(5,5,5,.55))}.siskul-instream-ad-bottom div{min-width:0;display:grid}.siskul-instream-ad-bottom strong{font-size:.9rem}.siskul-instream-ad-bottom small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ddd}.siskul-instream-ad-bottom a{flex:0 0 auto;text-decoration:none;color:#fff;background:#e32127;border-radius:9px;padding:9px 12px;font-weight:800;font-size:.78rem}@media(max-width:640px){.siskul-instream-ad-top,.siskul-instream-ad-bottom{left:8px;right:8px}.siskul-instream-ad-bottom{bottom:8px}.siskul-instream-ad-bottom a{padding:8px 10px}}
