/*
Theme Name: Explore Nevada
Theme URI: https://nevadaohv.com
Author: Arborglyph LTD
Author URI: https://arborglyphltd.com
Description: Block theme for Explore Nevada — Nevada OHV video trail guides. Cerulean Sky palette, Bungee Shade / Rubik Dirt / Rubik type. Pair with the Explore Nevada Core plugin.
Requires at least: 6.9
Tested up to: 7.0
Requires PHP: 8.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: explore-nevada
*/

/* ---------- Base ---------- */
:root { --en-radius: 8px; --en-wide: 1360px; }
body { -webkit-font-smoothing: antialiased; }
img { height: auto; }
.en-kicker { font-family: var(--wp--preset--font-family--rubik); font-size: 14px !important; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--cerulean); margin: 0; }
.en-label { font-family: var(--wp--preset--font-family--rubik); font-size: 13px !important; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin: 0; }
.en-dek { font-size: 21px !important; color: #4C514D; max-width: 780px; }
.en-muted { color: #4C514D; }
.en-sources { font-size: 14px !important; color: var(--wp--preset--color--muted); }
h2.en-small, .en-small h2 { font-size: 32px !important; }
.en-section { padding-top: 72px; padding-bottom: 72px; }
.en-center { text-align: center; }
.en-center > * { margin-left: auto !important; margin-right: auto !important; }

/* ---------- Header + nav pill ---------- */
.en-header { background: var(--wp--preset--color--background); border-bottom: 1px solid #DEDCD5; }
.en-header-inner { padding-top: 20px; padding-bottom: 20px; }
.en-header .wp-block-site-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.en-header .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px !important; border-radius: 999px; color: var(--wp--preset--color--ink); text-decoration: none; }
.en-header .current-menu-item > .wp-block-navigation-item__content { background: var(--wp--preset--color--cerulean-tint); color: var(--wp--preset--color--cerulean-dark); font-weight: 700; }
.en-header .wp-block-navigation__container { gap: 8px; }

/* ---------- Footer ---------- */
.en-footer { background: var(--wp--preset--color--brown); color: #C4C8C3; padding-top: 80px; }
.en-footer h2, .en-footer h3 { color: #FFFFFF; }
.en-footer .en-label { color: #B9AEA4; }
.en-footer a { color: #E9E2DB; text-decoration: none; }
.en-footer a:hover { color: #FFFFFF; }
.en-footer .wp-block-list { list-style: none; padding: 0; font-family: var(--wp--preset--font-family--rubik); }
.en-footer .wp-block-list li { margin: 0 0 12px; }
.en-footer p { color: #D9CFC5; }
.en-footer-bottom { border-top: 1px solid #6E5A4A; padding-top: 24px; padding-bottom: 24px; margin-top: 48px; font-size: 14px; }
.en-footer-bottom p { font-size: 14px !important; color: #B9AEA4; margin: 0; }
.en-signup input[type=email] { height: 52px; padding: 0 16px; border-radius: 4px; border: 1px solid #7A6656; background: #4A3A2D; color: #FFFFFF; font: 400 16px "Helvetica Neue", Helvetica, Arial, sans-serif; min-width: 0; flex: 1 1 220px; }
.en-signup button { height: 52px; padding: 0 24px; border-radius: 4px; border: 0; background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); font: 700 16px var(--wp--preset--font-family--rubik); cursor: pointer; }
.en-signup form { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- Panels, bands, dark band ---------- */
.en-panel { background: #FFFFFF; border: 1px solid var(--wp--preset--color--border); border-radius: var(--en-radius); padding: 28px !important; }
.en-band { background: var(--wp--preset--color--band); border-top: 1px solid #D0DAE1; }
.en-dark { background: var(--wp--preset--color--ink); color: #FFFFFF; padding-top: 40px; padding-bottom: 56px; }
.en-dark h1, .en-dark .wp-block-post-title { color: #FFFFFF; }
.en-dark .en-kicker { color: #A9C9DE; }
.en-dark p { color: #DCE4EA; }
.en-cerulean { background: var(--wp--preset--color--cerulean); color: #FFFFFF; border-radius: var(--en-radius); padding: 28px 32px !important; }
.en-cerulean h2, .en-cerulean h3, .en-cerulean p { color: #FFFFFF; }
.en-cerulean a:not(.wp-element-button) { color: #FFFFFF; }
.en-sage { background: var(--wp--preset--color--sage-tint); border-radius: var(--en-radius); padding: 32px !important; }

/* ---------- Hero slider (Query Loop row) ---------- */
.en-hero .wp-block-post-template { position: relative; display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0 !important; scrollbar-width: none; margin: 0; padding: 0; }
.en-hero .wp-block-post-template::-webkit-scrollbar { display: none; }
.en-hero .wp-block-post-template > li { flex: 0 0 100%; scroll-snap-align: start; list-style: none; }
.en-hero .wp-block-post-featured-image { margin: 0; border-radius: var(--en-radius); overflow: hidden; }
.en-hero .wp-block-post-featured-image img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.en-hero h2.wp-block-post-title { font-family: var(--wp--preset--font-family--display); font-size: 80px; line-height: 1; margin: 0; }
.en-hero h2.wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.en-hero-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.en-hero-controls button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid #C3CED6; background: #FFFFFF; color: var(--wp--preset--color--ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; }
.en-hero-controls .en-dot { width: 44px; border: 0; background: transparent; border-radius: 0; }
.en-hero-controls .en-dot span { display: block; width: 18px; height: 6px; border-radius: 3px; background: #C3CED6; }
.en-hero-controls .en-dot[aria-current="true"] span { width: 36px; background: var(--wp--preset--color--cerulean); }
.en-hero-count { margin: 0 8px; font-size: 14px; font-weight: 600; letter-spacing: 0.08em; color: var(--wp--preset--color--muted); }

/* ---------- Adventure cards ---------- */
.en-grid .wp-block-post-featured-image { margin: 0 0 12px; border-radius: 6px; overflow: hidden; }
.en-grid .wp-block-post-featured-image img { aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.en-grid .wp-block-post-title { font-family: var(--wp--preset--font-family--rubik) !important; font-size: 28px !important; font-weight: 600; margin: 0; }
.en-grid .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.en-num { font-family: var(--wp--preset--font-family--rubik) !important; font-size: 13px !important; font-weight: 600; letter-spacing: 0.06em; color: var(--wp--preset--color--muted); margin: 0; white-space: nowrap; }
.en-num::before { content: "ADVENTURE "; }
.en-region, .en-region a { font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--sage) !important; text-decoration: none; }
.en-riders, .en-riders a { font-size: 14px; color: #4C514D; text-decoration: none; }

/* ---------- Sidebar: map, rider tiles, reels ---------- */
.en-map svg { width: 72%; height: auto; display: block; margin: 0 auto; }
.en-map svg a rect { transition: fill .2s; }
.en-map svg a:hover rect, .en-map svg a:focus rect { fill: var(--wp--preset--color--cerulean); }
.en-btn-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-top: 20px; }
.en-btn-grid a { display: flex; align-items: center; justify-content: center; height: 44px; border-radius: 4px; border: 1px solid #C3CED6; background: #FFFFFF; color: var(--wp--preset--color--ink); font-weight: 600; text-decoration: none; }
.en-btn-grid a:hover, .en-btn-grid a[aria-current="page"] { background: var(--wp--preset--color--cerulean); border-color: var(--wp--preset--color--cerulean); color: #FFFFFF; }
.en-tiles { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.en-tiles a { height: 120px; display: flex; flex-direction: column; justify-content: space-between; padding: 14px 16px; border: 1px solid var(--wp--preset--color--ink); border-radius: 4px; color: var(--wp--preset--color--ink); font-weight: 700; font-size: 20px; text-decoration: none; }
.en-tiles a img { width: 80px; height: 50px; }
.en-tiles a .en-w { display: none; }
.en-tiles a:hover, .en-tiles a[aria-current="page"] { background: var(--wp--preset--color--ink); color: #FFFFFF; }
.en-tiles a:hover .en-k, .en-tiles a[aria-current="page"] .en-k { display: none; }
.en-tiles a:hover .en-w, .en-tiles a[aria-current="page"] .en-w { display: block; }
.en-reels .wp-block-embed iframe, .en-reel iframe { aspect-ratio: 9/16; width: 100%; height: auto; border-radius: 6px; }
.en-social a { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 14px; border-radius: 4px; border: 1px solid #C3CED6; color: var(--wp--preset--color--ink); font-size: 14px; font-weight: 600; text-decoration: none; }

/* ---------- Resource cards ---------- */
.en-resources { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.en-resource { background: #FFFFFF; border: 1px solid #D0DAE1; border-radius: var(--en-radius); padding: 28px !important; display: flex; flex-direction: column; gap: 10px; }
.en-resource .wp-block-image { height: 88px; display: flex; align-items: center; margin: 0 0 8px; }
.en-resource .wp-block-image img { max-height: 88px; width: auto; }
.en-resource h3 { font-size: 21px !important; font-weight: 700; margin: 0; }
.en-resource p { font-size: 15px !important; color: #4C514D; margin: 0; flex: 1; }
.en-resource .en-label { color: var(--wp--preset--color--sage); }
.en-resource .en-go { flex: 0; border-top: 1px solid var(--wp--preset--color--band); padding-top: 14px; font-family: var(--wp--preset--font-family--rubik); font-weight: 600; font-size: 14px !important; }
.en-resource .en-go a { text-decoration: none; }
.en-resource.is-primary { background: var(--wp--preset--color--cerulean); border-color: var(--wp--preset--color--cerulean); }
.en-resource.is-primary h3, .en-resource.is-primary p, .en-resource.is-primary a { color: #FFFFFF; }
.en-resource.is-primary .en-label { color: var(--wp--preset--color--cerulean-tint); }
.en-compact .en-resource { flex-direction: row; align-items: center; padding: 16px !important; gap: 14px; }
.en-compact .en-resource .wp-block-image { height: 48px; width: 72px; flex: none; margin: 0; justify-content: center; }
.en-compact .en-resource .wp-block-image img { max-height: 48px; max-width: 72px; }
.en-compact .en-resource p:not(.en-go), .en-compact .en-resource .en-label { display: none; }
.en-compact .en-resource h3 { font-size: 16px !important; }
.en-compact .en-resource .en-go { border: 0; padding: 0; }
.en-compact .en-resources { grid-template-columns: 1fr; gap: 10px; }

/* ---------- Adventure page ---------- */
.en-stats { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); border: 1px solid #2E3D48; border-radius: var(--en-radius); overflow: hidden; gap: 0 !important; }
.en-stats > .wp-block-group { padding: 22px 24px !important; border-left: 1px solid #2E3D48; margin: 0 !important; }
.en-stats .en-label { color: #A9B6C0; }
.en-stats p:not(.en-label) { font-family: var(--wp--preset--font-family--rubik); font-size: 28px !important; font-weight: 700; color: #FFFFFF; margin: 6px 0 0; }
.en-jump { border-bottom: 1px solid var(--wp--preset--color--border); background: #FFFFFF; }
.en-jump p { margin: 0; font-family: var(--wp--preset--font-family--rubik); font-size: 17px !important; }
.en-jump a { display: inline-flex; align-items: center; height: 56px; margin-right: 28px; color: #5F645F; text-decoration: none; border-bottom: 3px solid transparent; }
.en-jump a:hover { color: var(--wp--preset--color--ink); border-bottom-color: var(--wp--preset--color--orange); }
.en-video .wp-block-embed__wrapper iframe, .en-video iframe { width: 100%; aspect-ratio: 16/9; height: auto; border-radius: 6px; }
.en-glance table td:first-child { font-weight: 700; }
.en-glance table td:last-child { text-align: right; color: #33424D; }
.en-glance table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--band); padding: 14px 0; font-family: var(--wp--preset--font-family--rubik); }
.en-glance h2 { font-family: var(--wp--preset--font-family--rubik) !important; font-weight: 700 !important; font-size: 34px !important; }
.en-chips { font-family: var(--wp--preset--font-family--rubik); }
.en-chips a { display: inline-flex; align-items: center; height: 44px; padding: 0 16px; border: 1px solid var(--wp--preset--color--ink); border-radius: 4px; color: var(--wp--preset--color--ink); font-weight: 700; text-decoration: none; margin: 0 6px 6px 0; text-transform: uppercase; }
.en-chips .wp-block-post-terms__separator { display: none; }
.en-waypoints { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.en-waypoints > .wp-block-group { counter-increment: wp; }
.en-waypoints { counter-reset: wp; }
.en-waypoints h3::before { content: counter(wp); display: flex; width: 36px; height: 36px; border-radius: 50%; background: var(--wp--preset--color--cerulean-tint); color: var(--wp--preset--color--cerulean-dark); align-items: center; justify-content: center; font-size: 16px; margin-bottom: 10px; }
.en-waypoints h3 { font-size: 20px !important; }
.en-essentials { border-left: 4px solid var(--wp--preset--color--orange) !important; }
.en-essentials li { font-weight: 700; }
.en-checklist { list-style: none; padding-left: 0 !important; }
.en-checklist li { position: relative; padding: 12px 0 12px 34px; border-bottom: 1px solid var(--wp--preset--color--band); }
.en-checklist li::before { content: ""; position: absolute; left: 0; top: 14px; width: 18px; height: 18px; border: 2px solid var(--wp--preset--color--cerulean); border-radius: 4px; }
.en-essentials .en-checklist li::before { border-color: var(--wp--preset--color--orange); background: #FBEBDD; }
.en-map-embed { position: relative; min-height: 420px; border-radius: var(--en-radius); background: #E9E4DA; border: 1px solid var(--wp--preset--color--border); display: flex; align-items: center; justify-content: center; }
.en-map-embed iframe { width: 100%; min-height: 520px; border: 0; border-radius: var(--en-radius); }
.wp-block-pullquote { text-align: left; }
.wp-block-pullquote cite { font-size: 16px; font-weight: 500; color: var(--wp--preset--color--muted); font-style: normal; }
.wp-block-details summary { cursor: pointer; font-family: var(--wp--preset--font-family--rubik); font-size: 19px; font-weight: 700; }
.en-still img { aspect-ratio: 16/9; object-fit: cover; border-radius: 6px; }

/* ---------- Registration ---------- */
.en-steps { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; counter-reset: st; }
.en-steps li { counter-increment: st; background: #FFFFFF; border: 1px solid var(--wp--preset--color--border); border-radius: var(--en-radius); padding: 24px; font-size: 15px; color: #4C514D; }
.en-steps li::before { content: counter(st); display: flex; width: 40px; height: 40px; border-radius: 50%; background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--rubik); font-weight: 700; font-size: 18px; margin-bottom: 12px; }
.en-steps li strong { display: block; font-family: var(--wp--preset--font-family--rubik); font-size: 20px; color: var(--wp--preset--color--ink); margin-bottom: 6px; }
.en-steps.is-blue li::before { background: var(--wp--preset--color--cerulean); color: #FFFFFF; }
.en-quick { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.en-quick > .wp-block-group { border-radius: var(--en-radius); padding: 32px !important; background: #FFFFFF; border: 1px solid var(--wp--preset--color--border); margin: 0 !important; }
.en-quick > .wp-block-group:nth-child(1) { background: var(--wp--preset--color--cerulean); border-color: var(--wp--preset--color--cerulean); }
.en-quick > .wp-block-group:nth-child(1) * { color: #FFFFFF !important; }
.en-quick > .wp-block-group:nth-child(4) { background: var(--wp--preset--color--orange); border-color: var(--wp--preset--color--orange); }
.en-quick .en-big { font-family: var(--wp--preset--font-family--rubik); font-size: 44px !important; font-weight: 700; line-height: 1.05; margin: 8px 0; }
.en-path details { background: #FFFFFF; border: 1px solid #C3CED6 !important; border-radius: var(--en-radius); padding: 20px 24px !important; margin-bottom: 12px; }
.en-path details[open] { border: 2px solid var(--wp--preset--color--cerulean) !important; }
.en-path summary { font-size: 22px !important; }
.en-decals { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.en-decals .wp-block-image { background: #FFFFFF; border: 1px solid var(--wp--preset--color--border); border-radius: var(--en-radius); padding: 24px; margin: 0; }
.en-decals figcaption { font-family: var(--wp--preset--font-family--rubik); font-size: 15px; color: #4C514D; text-align: left; }
.wp-block-table thead { border-bottom: 2px solid var(--wp--preset--color--border); }
.wp-block-table th { text-align: left; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wp--preset--color--muted); background: var(--wp--preset--color--background); }
.wp-block-table td, .wp-block-table th { border: 0; border-bottom: 1px solid var(--wp--preset--color--band); padding: 14px 16px; }
.wp-block-table { background: #FFFFFF; border: 1px solid var(--wp--preset--color--border); border-radius: var(--en-radius); overflow-x: auto; }

/* ---------- About ---------- */
.en-profile { background: #FFFFFF; border: 1px solid var(--wp--preset--color--border); border-radius: var(--en-radius); padding: 32px !important; }
.en-role { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--wp--preset--color--cerulean-tint); color: var(--wp--preset--color--cerulean-dark) !important; font-family: var(--wp--preset--font-family--rubik); font-size: 12px !important; font-weight: 700; letter-spacing: 0.1em; }
.en-photo-placeholder { aspect-ratio: 3/2; border-radius: 6px; background: #8F9AA6; display: flex; align-items: center; justify-content: center; color: #FFFFFF; font-family: var(--wp--preset--font-family--rubik); font-weight: 700; font-size: 13px; letter-spacing: 0.08em; }

/* ---------- Mobile ---------- */
h1, .wp-block-post-title, .en-hero h2.wp-block-post-title { overflow-wrap: normal; word-break: normal; hyphens: none; }
.wp-block-table table:has(th:nth-child(3)) { min-width: 560px; }
@media (max-width: 781px) {
  .en-hero h2.wp-block-post-title, h1, h1.wp-block-post-title, .wp-block-post-title.has-text-align-center { font-size: clamp(28px, 8.4vw, 64px) !important; }
  h2 { font-size: clamp(28px, 8vw, 40px) !important; }
  .en-grid .wp-block-post-title { font-size: 24px !important; }
  .en-quick { grid-template-columns: 1fr; }
  .en-quick .en-big { font-size: 34px !important; }
}

/* ---------- Print: “Save this ride” fallback ---------- */
@media print {
  .en-header, .en-footer, .en-jump, .en-hero-controls, .en-sidebar, .en-save, .en-more, .en-video, .wp-block-embed, .wp-block-buttons { display: none !important; }
  .en-dark { background: #FFFFFF !important; color: #000 !important; padding: 0 !important; }
  .en-dark *, .en-stats p { color: #000 !important; }
  body { background: #FFFFFF; font-size: 12pt; }
  a { color: #000; text-decoration: underline; }
  details { display: block; } details > * { display: block !important; }
  h2 { break-after: avoid; }
}

/* ---------- Small additions ---------- */
.en-cta a, a.en-cta, .wp-block-read-more.en-cta { display: inline-flex; align-items: center; padding: 16px 28px; border-radius: 4px; background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink) !important; font-family: var(--wp--preset--font-family--rubik); font-size: 17px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.wp-block-read-more.en-cta:hover { background: var(--wp--preset--color--orange-dark); }
.en-footer-mark { font-family: var(--wp--preset--font-family--dirt) !important; font-size: 22px !important; letter-spacing: 0.12em; color: #FFFFFF !important; }
.en-print { font-size: 15px !important; margin-top: 8px; }
.en-print a { color: #FFFFFF; }
.en-cerulean .wp-block-image img { filter: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.en-sidebar { gap: 24px; }
.en-more { border-top: 1px solid var(--wp--preset--color--border); }
