/* WordPress adaptations: maps the wrappers core blocks add onto the prototype's markup.
   site.css and fun.css are the prototype's stylesheets, unchanged. */

/* Images: core wraps them in <figure>. */
figure.wp-block-image { margin: 0; }
.extra-media > figure.wp-block-image,
.stiga-pair > figure.wp-block-image { display: contents; }
figure.wp-block-image img { height: auto; }
.hero-photo img, .about-photo img { height: 100%; }

/* Buttons: core wraps each link in two divs; the links themselves get .btn classes (inc/blocks.php). */
.wp-block-button { display: contents; }
.price-card .wp-block-buttons { display: contents; }
.mix-cta .wp-block-buttons, .rider-cta { display: block; }

/* Alignment classes from the editor's toolbar (core's block CSS is not loaded). */
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }
.has-text-align-left { text-align: left; }

/* The section map reads <main>; the content wrapper itself carries no styles. */
.wp-block-post-content { display: contents; }

/* "Co ode mě čekat" grid sits on the dark bass colour (was an inline style). */
.rider-grid { background: var(--bass); color: var(--bass-text); }
.rider-grid h3 { color: var(--bass-text); }

/* Gallery crops: portraits keep the faces in frame. */
.gallery img { object-position: 50% 30%; }

/* Quote mark was a <div>. */
.quote-card p.quote-mark { margin-bottom: .3rem; }

/* Contact cards: tag + link paragraphs. */
.contact-item p { margin: 0; }

/* Footer paragraphs were <span>s. */
.footer-grid p { margin: 0; }

/* Enquiry form */
.form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form { position: relative; }
.form-msg { margin: 0; padding: .9rem 1.1rem; border-radius: 10px; background: rgba(255,174,31,.12); border: 1px solid rgba(255,174,31,.45); color: var(--bass-text); font-weight: 500; }
.form-msg.is-error { background: rgba(255,95,95,.1); border-color: rgba(255,120,120,.5); }
.form-msg:focus { outline: none; }
.form.sent { min-height: 12rem; align-content: center; }
.form .field[hidden], .form .form-foot[hidden] { display: none; }

/* Visually hidden text, also inside flap rows. */
.flap-row > .sr-only, .board > .sr-only { position: absolute; }

/* Sticky header below the admin toolbar for logged-in editors. */
body.admin-bar header.site { top: 32px; }
@media (max-width: 782px) { body.admin-bar header.site { top: 46px; } }

/* Skip link added by WordPress. */
.skip-link.screen-reader-text { position: absolute; left: -9999px; }
.skip-link.screen-reader-text:focus { left: 1rem; top: 1rem; z-index: 100000; background: var(--ink); color: var(--paper); padding: .75rem 1rem; border-radius: 8px; text-decoration: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ============ Text pages (Zásady ochrany osobních údajů) ============ */
.legal { padding-block: clamp(3rem, 7vw, 5rem); }
.legal h1 { font-size: clamp(2rem, 4.5vw, 3rem); margin-bottom: .75rem; }
.legal h2 { font-size: 1.35rem; margin: 2.5rem 0 .6rem; }
.legal h3 { font-size: 1.1rem; margin: 1.75rem 0 .5rem; }
.legal p, .legal li { color: var(--ink-soft); }
.legal ul, .legal ol { padding-left: 1.2rem; display: grid; gap: .35rem; margin: 0 0 1em; }
.legal .updated { font-family: var(--font-mono); font-size: .8rem; color: var(--ink-faint); margin-bottom: 2rem; }
.legal mark { background: #FFF1CC; color: var(--ink); padding: 0 .25em; border-radius: 3px; }
.legal .back a { display: inline-block; margin-bottom: 1rem; font-family: var(--font-mono); font-size: .85rem; text-decoration: none; }
.legal .back a:hover { text-decoration: underline; }
.legal .facts { list-style: none; padding: 0; }
.legal .facts strong { display: inline-block; min-width: 9.5rem; font-family: var(--font-mono); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--amber-text); font-weight: 500; }
.legal .facts li { color: var(--ink); }

/* ============ 404 ============ */
.not-found section { min-height: 60vh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.not-found h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); max-width: 18ch; margin-top: 1rem; }
.not-found .lede { font-size: 1.2rem; color: var(--ink-soft); max-width: 40ch; margin-block: 1.4rem 2rem; }
