/* Ready-made routines (package-offer.mjs, 2026-09-25): a strip across the foot of the prices, which opens the package in
   full as a sand sheet. Nothing under 18 px. */
.dm-page .pk-parcel { flex: none; width: 48px; height: 48px; }
.dm-page .pk-parcel-fill { fill: #f7b267; }
.dm-page .pk-parcel-line { fill: none; stroke: var(--rd-ink); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }

/* the strip, with the size question; slim, so the route still fits his laptop */
.dm-page .pk-strip { display: flex; align-items: center; gap: 14px; width: calc(100% - 14px); box-sizing: border-box; margin: 14px 0 0 14px; padding: 6px 24px 6px 12px;
  border: 2.5px solid var(--rd-ink); border-radius: 20px; background: #fbecd2; color: var(--rd-ink); font: inherit; text-align: left; cursor: pointer; transition: translate .2s ease, box-shadow .2s ease; }
.dm-page .pk-strip:hover { translate: 0 -2px; box-shadow: 0 8px 18px #1526212e; }      /* the page's own soft lift, no hard block shadow */
.dm-page .pk-strip:focus-visible { outline: 3px solid var(--rd-red); outline-offset: 3px; }
.dm-page .pk-strip .pk-parcel { width: 40px; height: 40px; }
.dm-page .pk-strip-text { flex: 1; font-size: clamp(19px, 1.6vw, 22px); line-height: 1.3; }
.dm-page .pk-strip-text strong { font-family: var(--rd-display); font-weight: 700; letter-spacing: -.02em; }
.dm-page .pk-open { flex: none; padding-bottom: 6px; font: 600 19px/1.1 var(--rd-display); letter-spacing: -.02em; background: left bottom / 100% 7px no-repeat
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 9' preserveAspectRatio='none'%3E%3Cpath d='M2 6 C22 2 38 8 60 4 S98 3 118 5' fill='none' stroke='%23d8382f' stroke-width='2.8' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); }
.dm-page .pk-arrow { width: 16px; height: 12px; margin-left: 8px; vertical-align: .05em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 900px) { .dm-page .pk-strip { flex-wrap: wrap; width: 100%; margin-left: 0; } }

/* the package in full, in the sheet */
.dm-page .pk-head h2, .dm-page .pk-what h3, .dm-page .pk-what p, .dm-page .pk-what ul, .dm-page .pk-head p { margin: 0; }
.dm-page .pk-price { margin-top: 14px !important; font: 700 clamp(28px, 2.8vw, 40px)/1.1 var(--rd-display); letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.dm-page .pk-facts { margin-top: 12px !important; font-size: clamp(19px, 1.6vw, 22px); font-weight: 600; line-height: 1.35; }
.dm-page .pk-title { font: 600 clamp(20px, 1.7vw, 24px)/1.2 var(--rd-display); letter-spacing: -.02em; }
.dm-page .pk-list { list-style: none; padding: 0; margin-top: 10px !important; display: grid; gap: 6px; }
.dm-page .pk-list li { position: relative; padding-left: 26px; font-size: clamp(19px, 1.5vw, 21px); line-height: 1.38; }
.dm-page .pk-list li::before { content: ""; position: absolute; left: 1px; top: .62em; width: 14px; height: 3px; border-radius: 2px; background: var(--rd-red); rotate: -8deg; }
.dm-page .pk-leave { margin-top: 20px !important; }
.dm-page .pk-note { margin: 14px 0 20px !important; font-size: 19px; line-height: 1.4; }
.dm-page .pk-what .primary-cta { font-size: 18px; padding: 16px 30px; min-height: 56px; cursor: pointer; }
