/* Page for shops */
main:has(.shp-hero) { max-width: 1000px; margin: 0 auto; padding: 104px 16px 24px; box-sizing: border-box; }
.shp-hero, .shp-grid article, .shp-prices, .shp-pilot-facts, .shp-form { background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 14px 34px rgba(16,50,90,.1); }
.shp-hero .eyebrow { display: inline-block; margin: 0; }
.shp-grid ul, .shp-pilot-facts ul { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
.shp-prices li span { color: var(--muted); font-size: 14px; }
.shp-form .btn { justify-self: start; }
.tlink { color: var(--blue); font-weight: 600; }
.shp-hero, .shp-prices, .shp-pilot-facts, .shp-form { padding: 28px; border-radius: 24px; margin-bottom: 20px; }
.shp-hero h1 { margin: 8px 0 12px; font-size: clamp(28px, 3.6vw, 44px); line-height: 1.08; }
.shp-hero .lead { max-width: 640px; }
.shp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 20px; }
.shp-grid article { padding: 24px; border-radius: 24px; min-width: 0; }
.shp-grid h2, .shp-prices h2, .shp-pilot-facts h2, .shp-form h2 { margin: 0 0 12px; font-size: 22px; }
.shp-grid .code { overflow-x: auto; background: #10243a; color: #e8f2fb; border-radius: 12px; padding: 12px; font-size: 12.5px; }
.shp-prices ul { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0 0 12px; }
.shp-prices li { display: grid; gap: 2px; padding: 16px; border-radius: 16px; background: rgba(255,255,255,.65); }
.shp-prices b { font-size: 22px; }
.shp-form form { display: grid; gap: 12px; max-width: 460px; }
.shp-form label { display: grid; gap: 4px; font-weight: 600; font-size: 14px; }
.shp-form input { min-height: 46px; padding: 0 16px; border-radius: 12px; border: 1px solid var(--line); background: rgba(255,255,255,.85); font: inherit; }
@media (max-width: 760px) { .shp-grid, .shp-prices ul { grid-template-columns: minmax(0, 1fr); } }

/* Page polish */
.btn.ghost { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: 14px; border: 1px solid rgba(20,60,110,.16); background: #fff; color: var(--ink, #101418); font-weight: 700; text-decoration: none; }
.btn.ghost:hover { background: #f2f8fe; }
.btn.ghost:focus-visible { outline: 2px solid #0f6fbf; outline-offset: 2px; }
pre.code { white-space: pre-wrap; overflow-wrap: anywhere; }

