/* Povo Racing: WordPress-specific styles, layered over base.css (the original site design). */

/* ---------- Menus (WordPress outputs lists) ---------- */
.main-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 34px; }
.main-nav li { margin: 0; }
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a,
.main-nav .current_page_parent > a,
.main-nav .current-menu-parent > a { color: var(--ink); border-color: var(--blue); }
.main-nav li.nav-highlight > a {
  background: #d9822b; color: #1a1206; padding: 6px 14px; border-radius: 999px; border-bottom: none;
}
.main-nav li.nav-highlight > a:hover { background: #c67420; color: #1a1206; }
@media (max-width: 820px) {
  .main-nav ul { flex-direction: column; align-items: flex-start; gap: 22px; }
}

.foot-links ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; flex-wrap: wrap; }

/* Sticky header sits below the admin bar when logged in. */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* ---------- Section helpers ---------- */
.band-surface { background: var(--surface); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.front-content { padding-bottom: 0; }
.page-body { padding-top: clamp(40px, 6vw, 72px); }
.empty-note { color: var(--ink-soft); padding: 30px 0; border-top: 1px solid var(--line); }

/* Home gallery preview: thumbnails fill their squares. */
.gallery-grid figure a, .gallery-grid figure img { display: block; width: 100%; height: 100%; }
.gallery-grid figure img { object-fit: cover; }

/* ---------- Content from the block editor ---------- */
.entry-content > * + * { margin-top: 1.15em; }
.entry-content img { height: auto; }
.entry-content p,
.entry-content li { color: var(--ink-soft); font-size: 17px; line-height: 1.8; }
.entry-content strong { color: var(--ink); }
.entry-content a:not(.wp-block-button__link) { color: var(--blue); }
.entry-content h2 { font-size: clamp(26px, 3vw, 36px); margin-top: 1.6em; }
.entry-content h3 { font-size: clamp(21px, 2.3vw, 26px); margin-top: 1.4em; }
.entry-content h4 { font-size: 18px; margin-top: 1.3em; }
.entry-content > :first-child { margin-top: 0; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }

/* Keep running text readable on wide pages; media blocks use the full width. */
.page-body .entry-content > :where(p, h2, h3, h4, ul, ol, blockquote) { max-width: 72ch; }
.front-content .entry-content > :where(p, h2, h3, h4, ul, ol) { max-width: 72ch; }

/* Wide and full-width blocks */
.entry-content > .alignwide { max-width: var(--max); margin-left: auto; margin-right: auto; }
.entry-content > .alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }

/* Eyebrow paragraph style (block editor: Styles > Eyebrow) */
.entry-content p.is-style-eyebrow,
.editor-styles-wrapper p.is-style-eyebrow {
  font-family: 'Titillium Web', sans-serif; font-weight: 700; font-size: 12.5px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--blue); display: inline-flex; align-items: center; gap: 8px; margin-bottom: 0;
}
.entry-content p.is-style-eyebrow::before,
.editor-styles-wrapper p.is-style-eyebrow::before { content: ""; width: 18px; height: 2px; background: currentColor; display: inline-block; }

/* Quotes */
.entry-content blockquote,
.entry-content .wp-block-quote {
  border-left: 3px solid var(--blue); margin-left: 0; padding: 4px 0 4px 22px;
}
.entry-content .wp-block-quote p {
  font-family: 'Titillium Web', sans-serif; font-weight: 700; font-size: 19px; color: var(--ink); line-height: 1.5;
}
.entry-content .wp-block-quote cite { color: var(--ink-faint); font-size: 14px; font-style: normal; }

/* Images, galleries, media & text */
.entry-content .wp-block-image img { border-radius: 4px; }
.entry-content figcaption,
.entry-content .wp-element-caption { color: var(--ink-faint); font-size: 13.5px; text-align: center; margin-top: 8px; }
.entry-content .wp-block-gallery { gap: 10px; }
.entry-content .wp-block-gallery .wp-block-image img { border-radius: 3px; transition: transform 0.4s ease; }
.entry-content .wp-block-gallery .wp-block-image { overflow: hidden; border-radius: 3px; }
.entry-content .wp-block-gallery .wp-block-image:hover img { transform: scale(1.04); }

.entry-content .wp-block-media-text { gap: 0; margin-top: 2.2em; margin-bottom: 2.2em; }
.entry-content .wp-block-media-text .wp-block-media-text__media img { border-radius: 4px; }
.entry-content .wp-block-media-text .wp-block-media-text__content { padding: 0 0 0 clamp(24px, 5vw, 64px); }
.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { padding: 0 clamp(24px, 5vw, 64px) 0 0; }
@media (max-width: 600px) {
  .entry-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content { padding: 24px 0 0; }
}

/* Cover blocks: feature banners like the Cape York one */
.entry-content .wp-block-cover { border-radius: 4px; }
.entry-content .wp-block-cover h1,
.entry-content .wp-block-cover h2,
.entry-content .wp-block-cover h3 { color: #fff; }
.entry-content .wp-block-cover p { color: #d8d2c8; }

/* Buttons from the block editor match the theme buttons */
.wp-block-button__link {
  font-family: 'Titillium Web', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 0.03em;
  text-transform: uppercase; padding: 14px 26px; border-radius: 3px; background: var(--blue); color: #fff;
}
.wp-block-button__link:hover { background: var(--blue-dark); color: #fff; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; border: 1.5px solid currentColor; color: var(--ink); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { color: var(--blue); }

.entry-content hr,
.entry-content .wp-block-separator { border: none; border-top: 1px solid var(--line); margin: 2.4em 0; }

/* Embeds (YouTube, Facebook video links) */
.entry-content .wp-block-embed iframe { border-radius: 4px; max-width: 100%; }

/* ---------- Pagination ---------- */
.pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--line); }
.pagination .page-numbers {
  font-family: 'Titillium Web', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 8px 14px; border: 1.5px solid var(--line); border-radius: 3px; text-decoration: none; color: var(--ink-soft); background: var(--surface);
}
.pagination .page-numbers.current { background: var(--ink); border-color: var(--ink); color: #fff; }
.pagination a.page-numbers:hover { border-color: var(--blue); color: var(--blue); }

/* Screen-reader text used by WordPress */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Eyebrows inside section heads keep their small blue style. */
.section-head p.eyebrow { color: var(--blue); font-size: 12.5px; margin-top: 0; }
.hero-copy .eyebrow { color: #8fabff; }
/* Eyebrow sits tight above the heading that follows it. */
.entry-content p.is-style-eyebrow + * { margin-top: 14px; }

/* =========================================================
   Home page blocks (feature banner, story)
   ========================================================= */
.front-content { padding-top: 0; }
.front-content .entry-content > .wp-block-cover.alignfull { margin-top: 0; border-radius: 0; }
.wp-block-cover.povo-feature { min-height: 420px; }
.wp-block-cover.povo-feature .wp-block-cover__inner-container { max-width: var(--max); padding: 0 28px; margin: 0 auto; width: 100%; }
.entry-content .wp-block-cover.povo-feature h2 { font-size: clamp(26px, 3.6vw, 42px); max-width: 18ch; margin-top: 10px; }
.entry-content .wp-block-cover.povo-feature p { max-width: 52ch; }
.entry-content .wp-block-cover.povo-feature p.is-style-eyebrow { color: #f0b46e; }
.entry-content .wp-block-cover.povo-feature a { color: #f0b46e; font-family: 'Titillium Web', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
.entry-content .wp-block-cover.povo-feature a:hover { color: #fff; }

/* Cards in a row (About page) */
.entry-content .povo-cards { gap: 26px; }
.entry-content .povo-cards > .wp-block-column {
  background: var(--surface); border: 1px solid var(--line); border-radius: 4px; padding: 30px;
}
.entry-content .povo-cards h3 { font-size: 19px; margin: 0 0 10px; }
.entry-content .povo-cards p { font-size: 15px; line-height: 1.7; }

/* Contact list */
.entry-content .povo-contact { list-style: none; padding: 0; max-width: 60ch; }
.entry-content .povo-contact li { padding: 18px 0; border-top: 1px solid var(--line); }
.entry-content .povo-contact li strong { display: block; font-family: 'Titillium Web', sans-serif; font-size: 16px; }

/* =========================================================
   Cape York (dark) template
   ========================================================= */
body.page-template-page-templates-cape-york { background: #12100e; }
.cy-content { padding-top: clamp(40px, 6vw, 72px); }
.cy-content.entry-content, .cy-content .entry-content { color: #efece6; }
.cy-content .entry-content p,
.cy-content .entry-content li { color: #b9b0a4; }
.cy-content .entry-content h2,
.cy-content .entry-content h3,
.cy-content .entry-content h4,
.cy-content .entry-content strong { color: #fff; }
.cy-content .entry-content em { color: #fff; }
.cy-content .entry-content a:not(.wp-block-button__link) { color: #f0b46e; }
.cy-content .entry-content p.is-style-eyebrow { color: #f0b46e; }
.cy-content .entry-content .wp-block-separator { border-top-color: rgba(255,255,255,0.14); }

/* Stats row */
.cy-content .entry-content ul.cy-stat-list {
  list-style: none; padding: 0; margin: 0 0 clamp(40px, 6vw, 72px); display: flex; flex-wrap: wrap;
  border-top: 1px solid rgba(255,255,255,0.14); border-bottom: 1px solid rgba(255,255,255,0.14);
}
.cy-content .entry-content ul.cy-stat-list li {
  flex: 1 1 25%; padding: 22px 24px; border-left: 1px solid rgba(255,255,255,0.14); margin: 0;
  font-family: 'Titillium Web', sans-serif; font-weight: 700; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: #b9b0a4; line-height: 1.4;
}
.cy-content .entry-content ul.cy-stat-list li:first-child { border-left: none; }
.cy-content .entry-content ul.cy-stat-list li strong {
  display: block; font-weight: 900; font-size: clamp(24px, 2.8vw, 34px); color: #f0b46e; letter-spacing: 0; margin-bottom: 4px; font-variant-numeric: tabular-nums;
}
@media (max-width: 700px) {
  .cy-content .entry-content ul.cy-stat-list li { flex: 1 1 50%; border-left: none; border-top: 1px solid rgba(255,255,255,0.14); }
  .cy-content .entry-content ul.cy-stat-list li:nth-child(-n+2) { border-top: none; }
}

/* Crew roster pills */
.cy-content .entry-content ul.cy-roster { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; max-width: none; }
.cy-content .entry-content ul.cy-roster li {
  font-family: 'Titillium Web', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0.03em; color: #efece6;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); border-radius: 999px; padding: 8px 18px; margin: 0; line-height: 1.4;
}

/* Day-by-day story blocks */
.cy-content .entry-content .wp-block-media-text.cy-day {
  padding: 56px 0; margin: 0; border-top: 1px solid rgba(255,255,255,0.14); align-items: center;
}
.cy-content .entry-content .wp-block-media-text.cy-day h3 { margin-top: 10px; font-size: clamp(22px, 2.6vw, 30px); }
.cy-content .entry-content .wp-block-media-text.cy-day p { font-size: 16px; line-height: 1.75; }
.cy-content .entry-content .wp-block-media-text.cy-day .wp-block-media-text__content > * + * { margin-top: 14px; }
.cy-content .entry-content .wp-block-video video { border-radius: 4px; width: 100%; background: #000; }
.cy-content .entry-content .wp-block-video { margin-top: 22px; }

/* External video links (Facebook) */
.cy-content .entry-content p.cy-ext-link a {
  display: block; margin-top: 8px; padding: 16px 18px 16px 72px; position: relative; text-decoration: none;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.14); border-radius: 4px; color: #fff;
  font-family: 'Titillium Web', sans-serif; font-weight: 700; font-size: 14.5px; line-height: 1.45;
}
.cy-content .entry-content p.cy-ext-link a::before {
  content: "\25B6"; position: absolute; left: 18px; top: 50%; transform: translateY(-50%);
  width: 42px; height: 42px; border-radius: 50%; background: #d9822b; color: #1a1206; display: flex; align-items: center; justify-content: center; font-size: 15px;
}
.cy-content .entry-content p.cy-ext-link a:hover { border-color: #d9822b; background: rgba(217,130,43,0.08); }

/* Gallery on dark */
.cy-content .entry-content .wp-block-gallery .wp-block-image { background: #1c1812; }
.cy-content .entry-content > .cy-gallery-head { margin-top: 64px; }

/* Fixes after content import */
.cy-hero { padding: 0; }
.entry-content .wp-block-media-text__content > * + * { margin-top: 14px; }
.entry-content .wp-block-media-text__content > .is-style-eyebrow + * { margin-top: 12px; }
.entry-content .wp-block-media-text__content .wp-block-buttons { margin-top: 24px; }
.entry-content .wp-block-media-text__content .wp-block-quote { margin: 18px 0; }
.entry-content .wp-block-columns.povo-cards { margin-bottom: 2.2em; }
