/* WordPress parts in the prototype's style: skip link, the old post bodies (blocks, captions, galleries, embeds),
   comments, search box, and the WooCommerce cart, checkout and account pages. app.css carries everything else. */
.skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--sun); color: var(--ink); padding: 10px 16px; }
.skip:focus { left: 16px; }
html.js [data-more][hidden] { display: none; }
html:not(.js) [data-more][hidden] { display: flex; }
html:not(.js) .more { display: none; }
a.chip { text-decoration: none; }

/* Old post bodies */
.entry { overflow-wrap: anywhere; }
.entry p, .entry li { max-width: 66ch; }
.entry img, .entry video, .entry iframe { max-width: 100%; height: auto; }
.entry iframe[src*="youtube"], .entry iframe[src*="vimeo"] { aspect-ratio: 16 / 9; width: 100%; height: auto; }
.entry figure, .entry .wp-block-image { margin: 32px 0; }
.entry figcaption, .entry .wp-caption-text, .entry .wp-element-caption { font-size: 14px; color: var(--stone); padding-top: 8px; text-align: left; }
.entry .wp-caption { max-width: 100%; width: auto !important; }
.entry .aligncenter { margin-inline: auto; display: block; }
.entry .alignleft { float: left; margin: 6px 24px 16px 0; max-width: 50%; }
.entry .alignright { float: right; margin: 6px 0 16px 24px; max-width: 50%; }
.entry .alignwide, .entry .alignfull { max-width: none; }
.entry .wp-block-gallery, .entry .gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 12px; }
.entry .wp-block-gallery figure, .entry .gallery figure { margin: 0; }
.entry .wp-block-columns { display: flex; gap: 24px; flex-wrap: wrap; }
.entry .wp-block-column { flex: 1 1 260px; }
.entry blockquote { border-left: 3px solid var(--sun); margin: 32px 0; padding: 4px 0 4px 20px; font-size: 1.1em; }
.entry h2, .entry h3, .entry h4 { margin-top: 1.6em; }
.entry a { color: inherit; text-decoration-color: var(--sun); text-underline-offset: 3px; }
.entry hr { border: 0; border-top: 1px solid var(--line, rgba(243, 239, 231, 0.2)); margin: 40px 0; }
.entry table { border-collapse: collapse; width: 100%; }
.entry td, .entry th { border-bottom: 1px solid var(--line, rgba(243, 239, 231, 0.2)); padding: 8px; text-align: left; }
.entry::after { content: ""; display: block; clear: both; }

/* Comments */
.comments-area { margin-top: 56px; border-top: 2px solid var(--sun); padding-top: 18px; }
.comments-area ol { list-style: none; padding: 0; }
.comments-area .comment-body { padding: 16px 0; border-bottom: 1px solid var(--line, rgba(243, 239, 231, 0.15)); }
.comments-area input:not([type="submit"]), .comments-area textarea { width: 100%; background: transparent; color: inherit; border: 1px solid var(--line, rgba(243, 239, 231, 0.3)); padding: 10px; font: inherit; }

/* WooCommerce: cart, checkout, account in the site's style */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button { background: var(--sun); color: var(--ink); border-radius: 0; font-weight: 600; }
.woocommerce table.shop_table { border-color: var(--line, rgba(243, 239, 231, 0.2)); color: inherit; }
.woocommerce form .input-text, .woocommerce-page form .input-text, .woocommerce select { background: transparent; color: inherit; border: 1px solid var(--line, rgba(243, 239, 231, 0.3)); padding: 10px; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { background: rgba(243, 239, 231, 0.06); color: inherit; border-top-color: var(--sun); }

/* The opening line of an essay (post_import.php) */
.entry .standfirst { font-size: 1.3em; line-height: 1.45; margin-bottom: 8px; }

/* Galleries: the column count the editor set; WordPress's own 50 % figure width squeezed nested pictures into a third */
.entry .wp-block-gallery.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.entry .wp-block-gallery.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.entry .wp-block-gallery.has-nested-images figure.wp-block-image { width: auto !important; max-width: none; }
@media (max-width: 600px) { .entry .wp-block-gallery.columns-2, .entry .wp-block-gallery.columns-3 { grid-template-columns: 1fr; } }
/* A single upright picture does not fill the column (post_import.php marks it) */
.entry figure.wp-block-image.is-portrait { max-width: 620px; }
/* Gallery captions sit under the picture, like single pictures (WordPress lays them over the picture) */
.entry .wp-block-gallery.has-nested-images figure.wp-block-image { flex-direction: column; }
.entry .wp-block-gallery.has-nested-images figure.wp-block-image::before { display: none; }
.entry .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: static; background: none; color: var(--stone); text-shadow: none; text-align: left; font-size: 14px; padding: 8px 0 0; margin: 0; max-height: none; overflow: visible; backdrop-filter: none; -webkit-mask-image: none; mask-image: none; }
/* City maps above the old building lists (inc/maps.php) */
.entry .ag-citymap { margin: 0 0 40px; }
.entry .ag-citymap .ag-map1 { display: block; cursor: zoom-in; }
.entry .ag-citymap .ag-map1 img { width: 100%; height: auto; background: #fff; }
.entry .ag-citymap .ag-map1 .why { display: none; }
.entry .ag-citymap .fcard.dwg { flex-basis: min(640px, 86vw); }
.entry .ag-credits { margin-top: 40px; color: var(--stone, #8a857c); }
