/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/* ===== V-Vision: multi-level header menu ===== */
.main-navigation .main-nav > ul > li > a{font-weight:600;letter-spacing:.02em;text-transform:uppercase;font-size:14px}
.main-navigation ul ul{min-width:250px;background:#fff;border-top:3px solid #233C3A;box-shadow:0 14px 32px rgba(20,35,34,.16);border-radius:0 0 10px 10px;padding:6px 0}
.main-navigation ul ul li a{font-size:14px;line-height:1.35;padding:10px 20px;text-transform:none;color:#233C3A}
.main-navigation ul ul li:hover>a,.main-navigation ul ul li:focus-within>a{background:#f2f6f5;color:#1B302E}
.main-navigation ul ul ul{top:-9px;border-radius:10px}
.main-navigation .menu-item-has-children>a:focus-visible,.main-navigation a:focus-visible{outline:2px solid #233C3A;outline-offset:2px}
@media (min-width:769px){
  .main-navigation .main-nav>ul>li.menu-item-has-children:hover>ul,.main-navigation .main-nav>ul>li.menu-item-has-children:focus-within>ul{opacity:1;visibility:visible}
}
@media (max-width:768px){
  .main-navigation ul ul{box-shadow:none;border-top:0;border-radius:0;padding:0}
  .main-navigation ul ul li a{padding-left:32px}
  .main-navigation ul ul ul li a{padding-left:48px}
}

/* ===== V-Vision: blog & category pages ===== */
.blog .site-main,.archive .site-main,.search .site-main{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px;align-items:stretch}
.blog .site-main>.page-header,.archive .site-main>.page-header,.search .site-main>.page-header,
.blog .site-main>.paging-navigation,.archive .site-main>.paging-navigation,.search .site-main>.paging-navigation,
.blog .site-main>.generate-columns-container,.archive .site-main>.no-results{grid-column:1/-1}
.blog .site-main>article,.archive .site-main>article,.search .site-main>article{margin:0;width:100%;float:none}
.blog .inside-article,.archive .inside-article,.search .inside-article{height:100%;display:flex;flex-direction:column;border:1px solid #e3ebea;border-radius:14px;padding:22px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.blog .inside-article:hover,.archive .inside-article:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(35,60,58,.12)}
.blog .entry-title,.archive .entry-title{font-size:19px;line-height:1.35;margin-bottom:10px}
.blog .entry-title a,.archive .entry-title a{color:#233C3A;text-decoration:none}
.blog .entry-summary,.archive .entry-summary{font-size:15px;color:#4a5b59;flex:1}
.blog .entry-meta,.archive .entry-meta{font-size:13px;color:#7a8b89;margin-bottom:8px}
.blog .read-more,.archive .read-more,.blog .read-more-container a{display:inline-block;margin-top:12px;font-weight:600;color:#233C3A}
.archive .page-header{background:linear-gradient(135deg,#f2f6f5,#e6efed);border-radius:16px;padding:32px;margin-bottom:6px}
.archive .page-header .page-title{font-size:clamp(26px,4vw,38px);margin:0 0 10px;color:#1B302E}
.archive .taxonomy-description{max-width:760px;color:#4a5b59}
.vv-cat-hub{margin-top:18px}
.vv-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.vv-chips-label{font-weight:600;color:#233C3A;margin-right:4px}
.vv-chip{display:inline-flex;gap:6px;align-items:center;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid #cfdddb;color:#233C3A;font-size:14px;text-decoration:none;transition:background .15s,color .15s}
.vv-chip small{opacity:.6}
.vv-chip:hover,.vv-chip:focus-visible{background:#233C3A;color:#fff}
.vv-chip-up{background:#233C3A;color:#fff}
@media (max-width:600px){.archive .page-header{padding:22px}.blog .site-main,.archive .site-main{grid-template-columns:1fr}}
.archive .site-main>.page-header,.archive .page-header{display:block !important}
.archive .page-header .page-title{display:block !important}
.blog .inside-article .entry-header,.archive .inside-article .entry-header,.search .inside-article .entry-header{display:block !important;order:2}
.blog .post-image,.archive .post-image{order:1;margin:-22px -22px 16px;overflow:hidden;border-radius:14px 14px 0 0}
.blog .post-image img,.archive .post-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.blog .entry-summary,.archive .entry-summary{order:3}
.blog footer.entry-meta,.archive footer.entry-meta{order:4}
