/* Mikson Core theme: inner-page layout and block-markup fixes (every page except the front page).
   v8's rules in site.css do the design; this file covers what block markup changes (docs/theme-architecture.md,
   "Markup strategy"): core/image puts its class on <figure>, definition lists become paragraphs, links sit inside
   paragraphs, and the legal pages without a table of contents need one column. Selectors mirror the v8 rule they
   complete. */

/* ---------------------------------------------------------------- flow layout */

/* WordPress's flow layout zeroes the last child's bottom margin (":root :where(.is-layout-flow) > :last-child",
   specificity 0,2,0, which beats v8's single-class rules). v8 keeps these margins, so they are set again here. */
.services--page .svc-detail:last-child { margin-bottom: 20px; }
@media (min-width: 900px) { .services--page .svc-detail:last-child { margin-bottom: 24px; } }
.group .product:last-child { margin-bottom: 20px; }
.policy__body > p:last-child,
.policy__body > ul:last-child { margin-bottom: 14px; }

/* ---------------------------------------------------------------- images (core/image: class on the <figure>) */

/* app icons on the work page: the figure is the 72 px tile, the picture fills it */
.wp-block-image.app-icon { overflow: hidden; }
.wp-block-image.app-icon img { width: 100%; height: 100%; border-radius: inherit; }

/* App Store badge: the link is the focus target, rounded like v8's a.badge */
.wp-block-image.badge a { display: block; border-radius: 9px; }

/* screenshot fans: hold the posters' shape while they load (600 x 1304; FridgeApp's are 600 x 1298) */
.shots img { aspect-ratio: auto 600 / 1304; }
/* a synced App Store screenshot (figure.is-store-poster, inc/appstore.php) is a poster too: always whole */
.shots .is-store-poster img { height: auto; object-fit: contain; }

/* small pictures beside text (support list, the name note) keep their size in the flex row */
.support .who .wp-block-image,
.name-note .wp-block-image { flex: none; }

/* ---------------------------------------------------------------- definition lists as paragraphs */

/* v8's <dl class="specs"><div><dt><dd> → a group per row with a label and a value paragraph */
.specs .specs__label { color: var(--ink-3); font-size: 0.875rem; }
.specs .specs__value { color: var(--ink); font-size: 1rem; }

/* v8's <dl class="factlist"> on the about page */
.factlist .factlist__label { color: var(--ink-3); }
.factlist .factlist__value { color: var(--ink); }

/* ---------------------------------------------------------------- contact */

/* v8's standalone links (a.start__mail, a.big) sit in paragraphs here: the paragraph takes the link's type so the
   line is as tall as v8's link */
.start__copy .start__mail-line { font-family: var(--f-display); font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem); line-height: 1.1; }
.contact-grid .big-line { font-size: 1.1875rem; }

/* v8's <address> in the contact grid is a paragraph here (same colour as the other grid text) */
.contact-grid .contact-address { color: var(--ink-2); }

/* "Follow along": v8's heading block had no bottom margin (inline style in v8) */
.group-head.group-head--flush { margin-bottom: 0; }

/* the social buttons: v8's 10 px gap (the buttons block brings 12 px) */
.wp-block-buttons.social { gap: 10px; }

/* ---------------------------------------------------------------- legal pages */

/* cookie policy and terms of use: no table of contents, so the text takes the whole row */
@media (min-width: 1000px) {
  .policy.policy--single { grid-template-columns: minmax(0, 1fr); }
}

/* the theme's own cookie statement where Complianz is not active (inc/blocks.php) reads as normal policy text */
.policy__body .policy__statement { color: var(--ink); }

/* Complianz's cookie document: its "#cmplz-document ul { list-style: disc }" would add a second bullet to the dots */
.policy__body #cmplz-document ul { list-style: none; margin-left: 0; }

/* privacy policy: the live text has one nested list (section 3) and ends with a "Have questions" box */
.policy__body li > ul { margin: 8px 0 0; }
.policy__body li li::before { background: transparent; border: 1.5px solid var(--electric); }
.policy__ask { margin-top: 48px; padding: 24px; border-radius: 18px; background: var(--ice); }
.policy__body .policy__ask h2 { margin-top: 0; }
.policy__body .policy__ask > p:last-child { margin-bottom: 0; }
