/* Same app palette and type; purchase status is an ordinary service, not an ad. */
html:root main:not(.map-screen) .kd-full-access-offer .kd-full-access-includes,
.kd-full-access-dialog .kd-full-access-includes {margin:0;padding:0;list-style:none;font-size:14px;line-height:1.55;}
html:root main:not(.map-screen) .kd-full-access-offer .kd-full-access-includes li,
.kd-full-access-dialog .kd-full-access-includes li {position:relative;padding:7px 0 7px 20px;color:var(--ink,#172b46);}
html:root main:not(.map-screen) .kd-full-access-offer .kd-full-access-includes li::before,
.kd-full-access-dialog .kd-full-access-includes li::before {content:'✓';position:absolute;left:0;top:7px;color:var(--blue,#1c6ef2);font-weight:650;}
html:root main:not(.map-screen) .kd-full-access-offer .kd-full-access-payment-note {color:var(--ink,#172b46);font-weight:650;font-size:13px;}
html:root main:not(.map-screen) .kd-full-access-offer .service-full-access-heading h2 {font-size:21px;}
html:root main:not(.map-screen) .kd-full-access-offer .service-full-access-price {font-size:23px;line-height:1.3;}
html:root main:not(.map-screen) .kd-full-access-profile {margin:16px 0;padding:16px;border:1px solid var(--line,#dce5ee);border-radius:16px;background:var(--panel,#fff);}
html:root main:not(.map-screen) .kd-full-access-profile>div {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;}
html:root main:not(.map-screen) .kd-full-access-profile strong {font-size:15px;line-height:1.4;}
html:root main:not(.map-screen) .kd-full-access-profile small {font-size:12px;line-height:1.4;font-variant-numeric:tabular-nums;color:var(--muted,#576980);}
html:root main:not(.map-screen) .kd-full-access-profile p {margin:10px 0 8px;font-size:13px;line-height:1.55;color:var(--muted,#576980);}
html:root main:not(.map-screen) .kd-full-access-profile button {min-height:44px;padding:8px 0;font-size:13px;}
.kd-full-access-dialog {box-sizing:border-box;position:fixed;inset:auto 12px max(12px,env(safe-area-inset-bottom)) 12px;margin:0 auto;width:calc(100% - 24px);max-width:440px;max-height:calc(100dvh - 32px - env(safe-area-inset-top));overflow:auto;overscroll-behavior:contain;border:1px solid var(--line,#dce5ee);border-radius:22px;padding:26px 20px 20px;background:var(--panel,#fff);color:var(--ink,#172b46);font:inherit;box-shadow:0 14px 52px #14243d30;}
.kd-full-access-dialog::backdrop {background:#14243d40;backdrop-filter:blur(3px);}
.kd-full-access-dialog h2 {margin:0 28px 14px 0;font-size:22px;line-height:1.3;letter-spacing:-.3px;}
.kd-full-access-dialog p {margin:0 0 14px;font-size:14px;line-height:1.55;}
.kd-full-access-dialog a {color:var(--blue,#1c6ef2);}
.kd-full-access-dialog .kd-full-access-primary,
.kd-full-access-dialog .kd-full-access-secondary {box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:14px 0 0;padding:10px 14px;border:1px solid var(--line,#dce5ee);border-radius:12px;background:transparent;color:var(--ink,#172b46);font:inherit;font-size:14px;font-weight:600;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;}
.kd-full-access-dialog .kd-full-access-primary {background:#1c6ef2;color:#fff;border-color:transparent;}
.kd-full-access-dialog .kd-full-access-secondary {border:0;color:var(--blue,#1c6ef2);font-weight:500;}
.kd-full-access-dialog button:disabled {opacity:.55;cursor:wait;}
.kd-full-access-dialog .kd-full-access-note {margin:12px 0 0;font-size:12px;line-height:1.55;color:var(--muted,#576980);}
.kd-full-access-dialog .kd-full-access-error {margin:14px 0 0;font-size:13px;color:var(--red,#b83c32);}
.kd-full-access-dialog .kd-full-access-reference {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin:16px 0;padding:10px 12px;border:1px solid var(--line,#dce5ee);border-radius:12px;background:var(--page,#f4f7fc);}
.kd-full-access-reference strong {font-size:15px;letter-spacing:.2px;font-variant-numeric:tabular-nums;user-select:all;overflow-wrap:anywhere;}
.kd-full-access-reference button {min-height:44px;padding:8px 0;border:0;background:none;color:var(--blue,#1c6ef2);font:inherit;font-size:12px;cursor:pointer;}
.kd-full-access-close {position:absolute;top:5px;right:6px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--ink,#172b46);font:inherit;font-size:26px;cursor:pointer;}
.kd-full-access-dialog :is(button,a):focus-visible {outline:3px solid var(--blue,#1c6ef2);outline-offset:3px;}
@media(min-width:700px) {.kd-full-access-dialog {inset:0;height:fit-content;margin:auto;max-height:calc(100dvh - 48px);}}
@media(max-height:550px) {.kd-full-access-dialog {inset:8px 12px auto;max-height:calc(100dvh - 16px);padding-top:22px;}}
@media(max-width:359px) {.kd-full-access-dialog {padding-inline:16px;}.kd-full-access-dialog h2 {font-size:20px;}.kd-full-access-reference strong {font-size:14px;}}
@media(prefers-reduced-motion:reduce), (prefers-reduced-transparency:reduce) {.kd-full-access-dialog::backdrop {backdrop-filter:none;}}

/* Package contents: scoped, wrapping two-column table; existing theme palette. */
.kd-full-access-package-table {width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;margin:0;text-align:left;}
.kd-full-access-package-table caption.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.kd-full-access-package-table :is(th,td) {box-sizing:border-box;min-width:0;vertical-align:top;text-align:left;white-space:normal;overflow-wrap:anywhere;border:0;line-height:1.5;}
.kd-full-access-package-table th {width:42%;padding:12px 12px 12px 0;color:var(--ink,#172b46);font-size:15px;font-weight:650;}
.kd-full-access-package-table td {width:58%;padding:12px 0;color:var(--muted,#576980);font-size:14px;font-weight:400;}
.kd-full-access-package-table tr+tr :is(th,td) {border-top:1px solid var(--line,#dce5ee);}
html:root main:not(.map-screen) .kd-services .service-full-access .kd-package-extra,
.kd-full-access-dialog .kd-package-extra {margin:0;font-size:13px;line-height:1.5;color:var(--muted,#576980);}
/* One guest package surface; established app palette, content and states. */
html:root main:not(.map-screen) .kd-services .kd-services-unified {display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:clamp(16px,3vw,24px);}
html:root main:not(.map-screen) .kd-services-unified>.service-full-access-heading {margin:0 0 12px;}
html:root main:not(.map-screen) .kd-services-unified>.service-full-access-heading h2 {margin:0;font-size:21px;line-height:1.3;}
html:root main:not(.map-screen) .kd-services-unified>p {margin:0 0 14px;line-height:1.55;}
.kd-services-unified-table {width:100%;max-width:100%;table-layout:fixed;}
.kd-services-unified-table th {width:42%;padding:12px 12px 12px 0;}
.kd-services-unified-table td {width:58%;padding:12px 0;}
.kd-services-unified-table .kd-services-topic-entry {position:relative;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;width:100%;min-height:44px;margin:0;padding:4px 18px 4px 0;border:0;border-radius:6px;background:none;color:var(--ink,#172b46);font:inherit;font-size:15px;font-weight:650;line-height:1.45;text-align:left;overflow-wrap:anywhere;cursor:pointer;}
.kd-services-unified-table .kd-services-topic-entry small {font-size:12px;font-weight:400;line-height:1.4;color:var(--muted,#576980);}
.kd-services-unified-table .kd-services-topic-entry:focus-visible {outline:3px solid var(--blue,#1c6ef2);outline-offset:3px;}
.kd-services-row-lock {position:absolute;right:0;top:calc(50% - 8px);width:12px;height:16px;color:var(--muted,#576980);}
.kd-services-row-lock svg {display:block;width:12px;height:16px;}
.kd-services-row-name {display:block;font-size:15px;font-weight:650;line-height:1.45;}
.kd-services-included {display:flex;flex-direction:column;gap:3px;margin-top:10px;font-size:13px;line-height:1.45;}
.kd-services-included strong {color:var(--ink,#172b46);font-weight:650;}
html:root main:not(.map-screen) .kd-services .kd-services-unified>.kd-package-extra {margin:12px 0 0;}
.kd-services-unified-footer {margin-top:20px;padding-top:18px;border-top:1px solid var(--line,#dce5ee);}
html:root main:not(.map-screen) .kd-services-unified-footer>p {margin:0 0 12px;line-height:1.55;}
html:root main:not(.map-screen) .kd-services-unified-footer>small {display:block;margin:0;color:var(--muted,#576980);line-height:1.5;}
html:root main:not(.map-screen) .kd-services-unified-footer .service-full-access-actions {display:flex;flex-direction:column;gap:10px;margin:16px 0 0;}
html:root main:not(.map-screen) .kd-services-unified-footer .service-full-access-actions :is(button,a) {box-sizing:border-box;width:100%;min-height:44px;margin:0;white-space:normal;}
html:root main:not(.map-screen) .kd-services-unified-footer>.service-full-access,
html:root main:not(.map-screen) .kd-services-unified-footer>.kd-full-access-profile {display:block;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;}
@media(min-width:700px) {.kd-services-unified-table th{width:34%;}.kd-services-unified-table td{width:66%;}}
@media(prefers-reduced-motion:reduce) {.kd-services-unified *{scroll-behavior:auto;}}

/* Price and the next step stay explicit within the single package surface. */
html:root main:not(.map-screen) .kd-services-unified .kd-services-price {display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:12px 0 20px;color:var(--muted,#576980);font-size:13px;line-height:1.5;}
html:root main:not(.map-screen) .kd-services-unified .kd-services-price strong {font-size:clamp(27px,5vw,34px);font-weight:700;line-height:1.15;letter-spacing:-.7px;color:var(--ink,#172b46);white-space:nowrap;}
.kd-services-price del {color:var(--muted,#576980);font-size:15px;font-weight:400;text-decoration-thickness:1px;white-space:nowrap;}
.kd-telegram-offer-condition {color:var(--muted,#576980);font-size:13px;line-height:1.5;}
html:root main:not(.map-screen) .kd-services-unified .kd-services-price {margin-bottom:6px;}
html:root main:not(.map-screen) .kd-services-unified .kd-telegram-offer-condition {margin:0 0 20px;}
.kd-full-access-dialog .kd-services-price,.kd-telegram-price .kd-services-price {display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;}
.kd-full-access-dialog .kd-services-price strong,.kd-telegram-price .kd-services-price strong {font-size:28px;line-height:1.2;letter-spacing:-.5px;}
.kd-full-access-dialog .kd-services-price span,.kd-telegram-price .kd-services-price span {flex-basis:100%;color:var(--muted,#576980);font-size:13px;}
html:root main:not(.map-screen) .kd-services-unified-footer .kd-services-promise {font-size:14px;color:var(--ink,#172b46);}
html:root main:not(.map-screen) .kd-services-unified-footer .service-full-access-actions {margin-top:12px;margin-bottom:12px;}
.kd-full-access-steps {margin:18px 0 0;border-top:1px solid var(--line,#dce5ee);padding-top:8px;color:var(--ink,#172b46);font-size:13px;line-height:1.55;}
.kd-full-access-steps summary {display:list-item;min-height:44px;box-sizing:border-box;padding:12px 0;cursor:pointer;font-weight:600;}
.kd-full-access-steps summary:focus-visible {outline:3px solid var(--blue,#1c6ef2);outline-offset:3px;border-radius:4px;}
.kd-full-access-steps ol {margin:0;padding:0 0 0 20px;}
.kd-full-access-steps li {padding:0 0 12px 4px;}
.kd-full-access-steps li:last-child {padding-bottom:4px;}
.kd-full-access-steps :is(strong,span) {display:block;}
.kd-full-access-steps span {margin-top:3px;color:var(--muted,#576980);}
.kd-services-unified-table .kd-services-included {margin-top:0;}
.kd-services-topic-detail {margin:4px 0 0;font-size:13px;line-height:1.5;}
.kd-services-topic-detail summary {display:list-item;min-height:44px;box-sizing:border-box;padding:12px 0;color:var(--blue,#1c6ef2);cursor:pointer;}
.kd-services-topic-detail summary:focus-visible {outline:3px solid var(--blue,#1c6ef2);outline-offset:2px;border-radius:4px;}
.kd-services-topic-detail p {margin:0 0 6px;}

.kd-offer-deadline {font-size:12px;line-height:1.5;font-weight:600;color:var(--blue,#1c6ef2);margin:6px 0;}
html:root main:not(.map-screen) .kd-services-unified .kd-offer-deadline {margin:6px 0;}

/* Approved thin map notification: ordinary, dismissible presentation only. */
[data-club-notification-slot][hidden] {display:none!important;}
html:root main.map-screen.kd-club-notification-visible {display:flex;flex-direction:column;height:calc(100vh - var(--kd-header-height) - var(--kd-nav-height));height:calc(100dvh - var(--kd-header-height) - var(--kd-nav-height));}
html:root main.map-screen.kd-club-notification-visible>.map-dashboard {flex:1 1 0;min-height:0;height:auto;}
html:root main.map-screen>[data-club-notification-slot] {flex:0 0 auto;min-width:0;}
.kd-club-notification {position:relative;box-sizing:border-box;padding:6px 8px 6px 16px;min-height:82px;border-bottom:1px solid var(--line,#dce5ee);background:var(--panel,#fff);color:var(--ink,#172b46);font:inherit;}
.kd-club-notification-open {box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;width:calc(100% - 52px);min-height:70px;margin:0;padding:4px 0;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;}
.kd-club-notification-title {font-size:14px;font-weight:500;line-height:1.4;letter-spacing:-.12px;}
.kd-club-notification-copy {font-size:12px;font-weight:400;line-height:1.4;color:var(--muted,#576980);}
.kd-club-notification-copy del {margin-left:4px;}
.kd-club-notification-copy>span {margin-left:4px;color:var(--blue,#1c6ef2);font-size:16px;}
.kd-club-notification-deadline {font-size:11px;font-weight:400;line-height:1.45;color:var(--muted,#576980);overflow-wrap:anywhere;}
.kd-club-notification-close {position:absolute;right:8px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted,#576980);font:inherit;font-size:24px;font-weight:400;cursor:pointer;touch-action:manipulation;}
.kd-club-notification :is(button):focus-visible {outline:3px solid var(--blue,#1c6ef2);outline-offset:2px;}
@media(min-width:701px) {[data-club-notification-slot] {display:none!important;}html:root main.map-screen.kd-club-notification-visible {display:block;height:auto;}html:root main.map-screen.kd-club-notification-visible>.map-dashboard {height:calc(100vh - var(--kd-header-height) - var(--kd-nav-height));height:calc(100dvh - var(--kd-header-height) - var(--kd-nav-height));}}
html.kd-mobile-shell main.map-screen.kd-club-notification-visible {height:100%;}
/* The existing mobile header floats above the map. Reserve its safe area,
   then keep the ordinary map controls directly below the notification. */
@media(max-width:700px) {
  html.kd-mobile-shell main.map-screen.kd-club-notification-visible>[data-club-notification-slot] {padding-top:calc(var(--kd-safe-top,0px) + 70px);background:var(--panel,#fff);}
  html:root.kd-mobile-shell[data-kd-screen="map"] main#app.map-screen.kd-club-notification-visible .kd-map-workspace .kd-map-top {top:12px;}
  html:root.kd-mobile-shell[data-kd-screen="map"] main#app.map-screen.kd-club-notification-visible .kd-map-workspace :is(.kd-source-status,.kd-map-tools) {top:76px;}
  html:root.kd-mobile-shell[data-kd-screen="map"] main#app.map-screen.kd-club-notification-visible .kd-map-workspace .kd-map-tip {top:140px;}
  html:root.kd-mobile-shell[data-kd-screen="map"] main#app.map-screen.kd-club-notification-visible .kd-map-workspace .kd-basemap-notice {top:116px;}
}
