.app-promotion {
  --app-deep: #163e35;
  position: relative;
  width: 100%;
  max-width: 660px;
  margin: 0 auto 40px;
  padding: 12px;
  border: 1px solid #dce3d5;
  border-radius: 16px;
  background: #f7f8f1;
  color: var(--app-deep);
  isolation: isolate;
}
.app-promotion *, .app-promotion *::before, .app-promotion *::after { box-sizing: border-box; }
.app-promotion__header { display: flex; align-items: center; gap: 8px; margin-bottom: 5px; }
.app-promotion__header h2 { flex: 1; min-width: 0; margin: 0; font-size: 12px; font-weight: 650; line-height: 1.45; }
.app-promotion__identity { display: flex; align-items: center; gap: 9px; min-height: 44px; text-decoration: none; }
.app-promotion__identity img { flex: none; border-radius: 8px; }
.app-promotion__identity span { overflow-wrap: anywhere; }
.app-promotion__identity > svg { flex: none; margin-left: auto; }
.app-promotion__stores { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.app-store-button { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-height: 52px; min-width: 0; border-radius: 8px; border: 1px solid var(--app-deep); padding: 7px 28px 7px 12px; background: var(--app-deep); color: #fff; text-decoration: none; transition: background .18s; }
.app-store-button > span { font-size: 9px; line-height: 1.45; overflow-wrap: anywhere; }
.app-store-button strong { font-size: 15px; line-height: 1.5; font-weight: 650; white-space: nowrap; }
.app-store-button > svg { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); }
.app-store-button--light { background: #fffdf7; color: var(--app-deep); }
.app-store-button--pending { cursor: default; }
a.app-store-button:hover { background: #285548; color: #fff; }
.app-promotion__qr { position: relative; flex: none; }
.app-promotion__qr summary { display: grid; place-items: center; width: 44px; height: 44px; cursor: pointer; list-style: none; border-radius: 8px; }
.app-promotion__qr summary::-webkit-details-marker { display: none; }
.app-promotion__qr summary:hover { background: #e9eee2; }
.app-promotion__qr > div { position: absolute; z-index: 5; right: 0; top: 46px; width: 176px; padding: 14px; border: 1px solid #dce3d5; border-radius: 12px; background: #fffdf7; box-shadow: 0 12px 30px #163e3520; }
.app-promotion__qr img { display: block; max-width: 100%; }
.app-promotion__qr p { font-size: 10px; line-height: 1.6; margin: 8px 0 0; }
.app-promotion a:focus-visible, .app-promotion summary:focus-visible { outline: 3px solid #537b2c; outline-offset: 3px; }
.app-promotion--article { margin-top: 24px; margin-bottom: 0; }
.app-promotion__qr summary { display:flex; gap:6px; width:auto; max-width:170px; height:auto; min-height:44px; padding:5px 7px; }
.app-promotion__qr summary > svg { flex:none; }
.app-promotion__qr summary > span { font-size:11px; line-height:1.45; overflow-wrap:anywhere; }
.app-promotion[data-store-preference="android"] [data-app-target="google_play"] { background:var(--app-deep); color:#fff; }
.app-promotion[data-store-preference="android"] [data-app-target="app_store"] { background:#fffdf7; color:var(--app-deep); }
.app-promotion[data-store-preference="android"] a.app-store-button:hover { background:#285548; color:#fff; }
@media (max-width: 700px) {
  .app-promotion { padding: 10px; border-radius: 12px; margin-bottom: 30px; }
  .app-promotion__qr { display: none; }
  .app-promotion--article { margin-top: 20px; margin-bottom: 0; }
}
@media (max-width: 360px) {
  .app-store-button { padding: 7px 9px; }
  .app-store-button > svg { display: none; }
  .app-store-button strong { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .app-promotion *, .app-promotion *::before, .app-promotion *::after { transition: none !important; }
}
