/* =========================================================
   CUSTOM CSS — OTAGO UNIVERSITY PRESS (CLEANED)
   =========================================================
   CONTENTS
   01. Buttons
   02. Book Headings
   03. Body / Links
   04. Menu Links
   05. Header (desktop, fixed)
   06. Logo (desktop)
   07. Mobile Header
   08. Footer
   09. Widgets & Components
   10. Header Offsets
   11. Book & Author Pages
   12. Extras
   13. Font Reset
   14. News & Events Grid
   15. Header + Slider Overrides
   =========================================================
*/

/* -------------------------
   01. Buttons
   ------------------------- */
.SubsButton {
  background-color:#004f71;
  color:#fff;
  font-size:16px;
  border:none;
  padding:10px 20px;
  cursor:pointer;
  transition:background-color .3s ease;
}
.SubsButton:hover {
  background-color:#004f71;
  color:#40c0cb;
}

/* -------------------------
   02. Book Headings
   ------------------------- */
.wbg-details-description .wbg-details-description-title b,
.wbg-details-wrapper .wbg-editorial-review h3.wbg-er-title,
.wbg-details-wrapper h3.wbg-slide-title {
  color:#242424 !important;
  font-size:20px !important;
}

/* -------------------------
   03. Body / Links
   ------------------------- */
body {
  color:#000 !important;
  background-color:#fff !important;
}

/* -------------------------
   04. Menu Links
   ------------------------- */
.main-navigation ul li a,
.main-navigation a,
.main-navigation a:visited,
.main-navigation ul ul a {
  color:#000 !important;
  padding:10px 20px;
  font-size:16px;
  text-transform:capitalize;
}
.main-navigation ul li:hover>a,
.main-navigation a:hover {
  color:#555 !important;
}

/* -------------------------
   05. Header (desktop, fixed)
   ------------------------- */
header#masthead.site-header {
  position:fixed !important;
  top:0; left:0; right:0; width:100%;
  z-index:9999;
  background-color:#fff !important;
  box-shadow:0 1px 2px rgba(0,0,0,.05);
  padding:0 !important;
  text-align:center;
}

/* -------------------------
   06. Logo (desktop)
   ------------------------- */
#masthead .logo img,
#masthead .logo-wrapper img {
  content: initial;
  max-height:70px !important;
  height:auto !important;
  width:auto !important;
  margin:0 auto !important;
  padding:0 !important;
  object-fit:contain !important;
}

/* -------------------------
   07. Mobile Header
   ------------------------- */
@media (max-width:768px) {
  header#masthead.site-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:6px 16px !important;
    background:#fff !important;
    border-bottom:1px solid #eee;
  }
  #masthead .hgroup.full-container {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100%;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
  }
  #masthead .logo-wrapper {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 1 auto !important;
    text-align:left !important;
  }
  #masthead .logo-wrapper img {
    content:url("https://oup.nz/wp-content/uploads/2025/08/OUP-site-icon-1.png") !important;
    max-height:44px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
  }
  .menu-toggle {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 44px;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    right:auto !important;
  }
  .menu-toggle .menu-text { display:none !important; }
}

/* -------------------------
   08. Footer
   ------------------------- */
#footer-widgets {
  display:grid;
  grid-template-columns:0.8fr 1.2fr;
  gap:1rem;
}
#footer-widgets .widget:nth-child(1) { grid-column:1; }
#footer-widgets .widget:nth-child(2) { grid-column:2; }
@media (max-width:768px) {
  #footer-widgets { grid-template-columns:1fr; gap:24px; }
  #footer-widgets .widget { grid-column:1; }
}
.site-footer p,
.site-footer li,
#colophon p,
#colophon li {
  color:#fff !important;
  text-align:left !important;
  font-size:11pt !important;
  line-height:1.6 !important;
  font-weight:normal !important;
}
@media (max-width:768px) {
  .site-footer p,
  .site-footer li,
  #colophon p,
  #colophon li {
    font-size:9pt !important;
    line-height:1.4 !important;
  }
  .footer-credit { font-size:8pt !important; line-height:1.3 !important; }
}
.site-footer a,
#colophon a {
  color:#fff !important;
  text-decoration:none !important;
  transition:color .2s ease;
}
.site-footer a:hover,
#colophon a:hover {
  color:#ccc !important;
  text-decoration:underline !important;
}
.site-footer .widget_nav_menu ul { list-style:none; margin:0; padding:0; }
.site-footer .widget_nav_menu li { margin:0 0 6px 0; }
.social-icons {
  list-style:none; padding:0; margin:0 0 18px 0;
  display:flex; gap:20px;
}
.social-icons li { display:inline-block; }
.social-icons a { color:#fff; text-decoration:none; transition:color .3s ease; }
.social-icons a:hover { color:#40c0cb; }
.social-icons i { font-size:28px !important; }
.footer-credit { margin-top:18px !important; font-size:10pt !important; line-height:1.4 !important; }

/* -------------------------
   09. Widgets & Components
   ------------------------- */
.page-id-2199 .address-blocks {
  display:flex; gap:40px; margin:10px 0 12px;
}
.page-id-2199 .address-blocks>div { flex:1; min-width:220px; line-height:1.4; }
@media (max-width:700px) {
  .page-id-2199 .address-blocks { flex-direction:column; gap:12px; }
}
.page-id-2199 img.alignleft { margin-bottom:0 !important; }
.sow-accordion .sow-accordion-panel .sow-accordion-panel-header {
  background-color:#004f71 !important; color:#fff !important;
}
.sow-accordion { font-size:16px !important; line-height:1.5 !important; }
.envira-title { font-size:16px !important; }
.envira-gallery-item-inner {
  border:none !important; background:none !important; box-shadow:none !important;
}
.home .sow-blog-content-wrapper .sow-blog-title { margin-bottom:14px; }
.home .sow-blog-content-wrapper,
.home .sow-blog-content-wrapper .sow-entry-title,
.home .sow-blog-content-wrapper .sow-entry-meta { text-align:left !important; }

body.home h1, body.home h2, body.home h3,
body.home h4, body.home h5, body.home h6 {
  text-align:left; font-weight:bold;
}
body.home h1 { font-size:3rem; }
body.home h2 { font-size:2.5rem; }
body.home h3 { font-size:3rem; }
body:not(.home) .entry-title {
  font-size:3rem !important; text-align:left !important; font-weight:bold;
}
p, .entry-content ol li, .entry-content ul li {
  font-size:16px !important; line-height:1.5 !important;
}

/* -------------------------
   10. Header Offsets
   ------------------------- */
body.tax-book_author #content,
body.tax-book_author .site-content,
body.single-books #content,
body.single-books .site-content {
  margin-top:0 !important;
  padding-top:0 !important;
}
#main-slider,
#main.site-main {
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}

/* -------------------------
   11. Book & Author Pages
   ------------------------- */
body.single-books .wbg-details-summary span.wbg-single-book-info {
  display: grid !important;
  grid-template-columns: 100px 1fr;
  column-gap: 12px;
  align-items: start;
  text-align: left;
  font-size: 14px !important;
  line-height: 1.3 !important;
  margin: 2px 0 !important;
}
body.single-books .wbg-details-summary span.wbg-single-book-info b {
  font-weight: 500 !important;
  font-size: 14px !important;
  color: #666 !important;
  margin: 0;
  white-space: normal !important;
}
body.single-books .wbg-details-summary span.wbg-single-book-info a,
body.single-books .wbg-details-summary span.wbg-single-book-info {
  color: #000 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}
@media (max-width: 768px) {
  body.single-books .wbg-details-summary span.wbg-single-book-info {
    grid-template-columns: 120px 1fr;
  }
}
body.single-books .wbg-details-summary span.wbg-single-book-info i.fa {
  display: none !important;
}
body.single-books .wbg-single-button-container a,
body.single-books .wbg-single-button-container a:hover {
  background-color:#004f71 !important; color:#fff !important; border:none !important; text-decoration:none !important;
}
body.tax-book_author .wbg-single-button-container a,
body.tax-book_author .wbg-single-button-container a:hover {
  text-decoration:none !important; color:#fff !important;
}
.wbg-details-wrapper .wbg-details-summary .regular-price { margin-bottom:20px; }
a.button.wbg-btn-back {
  background-color:#004f71 !important; color:#fff !important; border:none !important; text-decoration:none !important;
  padding:10px 20px; border-radius:4px; display:inline-block;
}
a.button.wbg-btn-back:hover,
a.button.wbg-btn-back:focus { background-color:#006a99 !important; color:#fff !important; }
@media (max-width: 768px){
  body.single-books a.button.wbg-btn-back {
    margin-bottom: 24px !important;
  }
}
@media (max-width: 768px){
  body.single-books .hmcabw-main-wrapper,
  body.single-books .hmcabw-main-wrapper * {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.single-books .hmcabw-image-container {
    margin-left: 10px !important;
  }
}

/* -------------------------
   12. Extras
   ------------------------- */
body:not(.home) #search-icon,
body:not(.home) #search-icon-icon,
body:not(.home) #search-icon form { display:none !important; }
body.home .siteorigin-widget-tinymce .sow-entry,
body.home .siteorigin-widget-tinymce .sow-entry-wrapper,
body.home .news-tile,
body.home .news-tile * {
  background:transparent !important; box-shadow:none !important; border:none !important;
}
.wbg-single-button-container a,
.wbg-single-button-container a *,
.SubsButton, .SubsButton *,
.wp-block-button__link, .wp-block-button__link *,
.sow-button > a, .sow-button > a *,
.ow-button-base a, .ow-button-base a *,
.button, .button *, .btn, .btn * {
  color:#fff !important; text-decoration:none !important;
}
.wbg-single-button-container a:hover,
.wbg-single-button-container a:visited,
.SubsButton:hover,
.wp-block-button__link:hover,
.sow-button > a:hover,
.ow-button-base a:hover,
.button:hover, .btn:hover {
  color:#fff !important; text-decoration:none !important;
}
#content .wbg-single-button-container a,
#main    .wbg-single-button-container a,
#content .wp-block-button__link,
#main    .wp-block-button__link,
#content .sow-button > a,
#main    .sow-button > a,
#content .ow-button-base a,
#main    .ow-button-base a,
#content .button, #main .button,
#content .btn,    #main .btn,
#content .button a, #main .button a {
  color:#fff !important; text-decoration:none !important;
}
#content .wbg-single-button-container a:hover,
#main    .wbg-single-button-container a:hover,
#content .wp-block-button__link:hover,
#main    .wp-block-button__link:hover,
#content .sow-button > a:hover,
#main    .sow-button > a:hover,
#content .ow-button-base a:hover,
#main    .ow-button-base a:hover,
#content .button:hover, #main .button:hover,
#content .btn:hover,    #main .btn:hover {
  color:#fff !important; text-decoration:none !important;
}
.sow-blog-content-wrapper .sow-entry-content p > a.more-link,
.sow-blog-content-wrapper .sow-entry-content p > a.read-more,
.sow-blog-content-wrapper .sow-entry-content p > a:last-child {
  font-size:16px !important; line-height:1.4 !important;
}
.post-navigation .nav-links a,
.posts-navigation .nav-links a,
#nav-below .nav-previous a,
#nav-below .nav-next a {
  font-size:16px !important; line-height:1.5 !important;
}
.site-footer .widget_nav_menu .menu li::after,
.site-footer .widget_nav_menu .menu li a::after,
#colophon .widget_nav_menu .menu li::after,
#colophon .widget_nav_menu .menu li a::after {
  content: none !important;
}
.tax-book_author .hmcabw-main-wrapper,
.tax-book_author .hmcabw-parent-container {
  border: none !important; box-shadow: none !important; background: transparent !important; padding: 0 !important;
}
aside.widget-area, #secondary, .wbg-sidebar { display:flex; flex-direction:column; gap:14px; }
aside.widget-area .widget, #wbg-sidebar .widget, #secondary .widget { margin:0; }
aside.widget-area :is(.wp-block-button, .so-widget-sow-button, a.button, .button),
#secondary :is(.wp-block-button, .so-widget-sow-button, a.button, .button) {
  margin:0 !important; display:block;
}
aside.widget-area :is(.wp-block-button__link, .ow-button-base a, a.button, .button),
#secondary :is(.wp-block-button__link, .ow-button-base a, a.button, .button) { width:100%; }
.panel-row-style.wide-grey,
.panel-row-style.wide-grey:before,
.panel-row-style.wide-grey:after { background:#fff !important; }

/* -------------------------
   13. Font Reset
   ------------------------- */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body, p, li, td, th {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight:400 !important; line-height:1.5; color:#000;
}
h1, h2, h3, h4, h5, h6 { font-weight:400 !important; margin-top:1em; margin-bottom:0.5em; color:inherit !important; }
.main-navigation a,
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a { font-weight:400 !important; text-decoration:none !important; }
.entry-content a, .site-content a, #content a, #main a, .widget a {
  color:#000 !important; font-weight:400 !important; text-decoration:none !important;
}
.entry-content a:hover, .site-content a:hover, #content a:hover, #main a:hover, #widget a:hover, .widget a:hover {
  text-decoration:underline !important;
}
.button, .btn, .wp-block-button__link { font-weight:600 !important; }
h3 { font-size:20px; margin-bottom:20px; }

/* -------------------------
   14. News & Events Grid
   ------------------------- */
body.page-id-187 .sow-blog .sow-entry {
  border-bottom: 1px solid #ddd !important;
  border-right: 1px solid #ddd !important;
  padding: 0 20px 20px 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.page-id-187 .sow-blog .sow-entry:last-child {
  border-bottom: none !important; border-right: none !important; padding-bottom: 0 !important;
}
@media (min-width: 769px) {
  body.page-id-187 .sow-blog .sow-entry:nth-child(4n) {
    border-right: none !important; padding-right: 0 !important;
  }
}
body.page-id-187 .sow-blog .sow-entry a.more-link {
  color: #666 !important; font-size: 0.9em !important;
}
body.page-id-187 .sow-blog .sow-entry a.more-link:hover {
  color: #004f71 !important; text-decoration: underline !important;
}
@media (min-width: 769px) {
  body.page-id-187 .sow-blog .sow-entry {
    border-right: 1px solid #ddd !important; border-bottom: 1px solid #ddd !important;
    padding: 0 20px 20px 0 !important; margin: 0 !important;
  }
  body.page-id-187 .sow-blog .sow-entry:last-child { border-bottom: none !important; }
}
body.page-id-187 .sow-blog a.more-link,
body.page-id-187 .sow-blog a.read-more {
  display:inline-block; font-size:14px !important; font-weight:500;
  color:#004f71 !important; text-decoration:none !important; margin-top:8px;
}
body.page-id-187 .sow-blog a.more-link:hover,
body.page-id-187 .sow-blog a.read-more:hover { text-decoration:underline !important; }
body.page-id-187 .sow-blog .sow-entry-meta { color:#666 !important; font-weight:400 !important; margin-top:6px !important; }

/* -------------------------
   15. Header + Slider Overrides
   ------------------------- */
:root { --header-h: 140px; }
@media (max-width: 768px){
  :root { --header-h: 72px; }
}
header#masthead.site-header{
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 9999;
  min-height: var(--header-h);
  background: #fff;
}
body{ padding-top: var(--header-h) !important; }
body:not(.home){
  padding-top: calc(var(--header-h) + 15px) !important;
}
body.admin-bar header#masthead.site-header{ top: 32px; }
body.admin-bar{ padding-top: calc(var(--header-h) + 32px) !important; }
@media (max-width: 782px){
  body.admin-bar header#masthead.site-header{ top: 46px; }
  body.admin-bar{ padding-top: calc(var(--header-h) + 46px) !important; }
}
@media (min-width: 901px){
  body.home .n2-ss-slider{
    aspect-ratio: 40 / 9; width:100%; height:auto !important; overflow:hidden;
  }
}
body.home .n2-ss-slider{ margin-top:6px !important; }
@media (max-width: 900px){
  body.home .n2-ss-slider{
    aspect-ratio: 16 / 9; width:100%; height:auto !important; overflow:hidden;
  }
}
body.home .n2-ss-slider,
body.home .n2-ss-slide,
body.home .n2-ss-layers-container,
body.home .n2-ss-slide-background{
  height:auto !important; min-height:0 !important;
}
body.home .n2-ss-slide img,
body.home .n2-ss-slide-background{
  width:100% !important; height:100% !important;
  object-fit: contain !important;
  background-size: contain !important;
  background-position:center !important;
  display:block !important;
}
body.home .n2-ss-slider{ margin-top:0.001px; }
@media (max-width: 768px){
  body.home .n2-ss-slider{ display:none !important; }
}
@media (max-width: 900px) {
  .page-id-193 .entry-content figure.lf-cover {
    float: none !important;
    display: block !important;
    clear: both !important;
    margin: 0 auto 1rem !important;
    max-width: 100% !important;
  }
  .page-id-193 .entry-content figure.lf-cover + * {
    clear: both !important;
  }
}
@media (max-width:768px){
  .home .mobile-hero-widget{
    margin:0 !important;
    padding:0 0 50px !important;
  }
  .home .home-latest-title h1:first-child,
  .home .home-latest-title h2:first-child{
    margin-top:8px !important;
  }
  .home .mobile-hero-img{
    width:100%;
    height:300px;
    background-image:url("https://oup.nz/wp-content/uploads/2025/09/Phone-header.png");
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
    display:block !important;
  }
}
@media (max-width:768px){
  .home .so-widget-sow-editor h1,
  .home .so-widget-sow-editor h2,
  .home .so-widget-sow-editor h3,
  .home .so-widget-sow-editor h4,
  .home .so-widget-sow-editor h5,
  .home .so-widget-sow-editor h6 { 
    text-align:center !important; 
  }
  .home .widget .widget-title,
  .home .sow-widget-title,
  .home .panel-grid .widget-title {
    text-align:center !important;
  }
  .home .entry-content > h1,
  .home .entry-content > h2,
  .home .entry-content > h3 { 
    text-align:center !important;
  }
}
@media (max-width:768px){
  .home .catalogue-heading h2,
  .home .catalogue-heading h3,
  .home .catalogue-heading h4 {
    margin-bottom: 4px !important;
  }
}

body.single-books .wbg-single-subtitle {
  font-style: normal !important;
  font-weight: 400 !important;
  color: #444;
  margin-top: 4px;
}
body.single-books .hmcabw-main-wrapper,
body.single-books .hmcabw-parent-container {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}
body.single-books .hmcabw-image-container.circle,
body.single-books .hmcabw-image-container.circle img {
  border-radius: 0 !important;
}
body.tax-book_author .hmcabw-image-container.circle,
body.tax-book_author .hmcabw-image-container.circle img {
  border-radius: 0 !important;
  overflow: hidden !important;
}
body.tax-book_author {
  padding-top: 70px !important;
}
@media (max-width: 768px) {
  body.tax-book_author {
    padding-top: 10px !important;
  }
}
/* Consistent heading spacing on homepage */
@media (min-width: 769px){
  .home h1,
  .home h2,
  .home h3,
  .home h4,
  .home h5,
  .home h6 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
}

@media (max-width: 768px){
  .home h1,
  .home h2,
  .home h3,
  .home h4,
  .home h5,
  .home h6 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
}
/* =========================================
   MOBILE + TABLET ONLY (Desktop untouched)
   ========================================= */

/* ≤1024px: robust mobile nav + hide header search + hide slider */
@media (max-width:1024px){

  /* Keep nav alive; let theme toggle work if present */
  #masthead nav.site-navigation.main-navigation,
  #site-navigation{
    display:block !important;
    visibility:visible !important;
    position:relative !important;
    z-index:1000;
  }

  /* Show hamburger if the theme outputs it */
  #masthead nav.site-navigation .menu-toggle,
  #masthead .menu-toggle,
  #site-navigation .menu-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px; height:44px;
    margin:0 !important; padding:0 !important;
    cursor:pointer;
  }
  #masthead nav.site-navigation li.menu-toggle{ display:block !important; }

  /* Safe fallback: stacked list visible by default */
  #masthead nav.site-navigation > ul,
  #masthead nav.site-navigation > div > ul,
  #site-navigation > ul,
  #site-navigation > div > ul{
    display:block !important;
  }

  /* If a toggle exists, hide list until opened */
  header#masthead.site-header:has(.menu-toggle) nav.site-navigation > ul,
  header#masthead.site-header:has(.menu-toggle) nav.site-navigation > div > ul{
    display:none !important;
  }

  /* Reveal list when opened (cover common patterns) */
  #masthead nav.site-navigation .menu-toggle[aria-expanded="true"] + ul,
  #masthead nav.site-navigation .menu-toggle[aria-expanded="true"] + div > ul,
  #masthead nav.site-navigation.toggled > ul,
  #masthead nav.site-navigation.toggled > div > ul,
  .menu-open #masthead nav.site-navigation > ul,
  .menu-open #masthead nav.site-navigation > div > ul,
  .nav-open  #masthead nav.site-navigation > ul,
  .nav-open  #masthead nav.site-navigation > div > ul{
    display:block !important;
  }

  /* Vertical, tappable items */
  #masthead nav.site-navigation ul{ width:100% !important; }
  #masthead nav.site-navigation ul li{ display:block !important; }
  #masthead nav.site-navigation ul li a{
    display:block !important;
    padding:12px 16px !important;
  }

  /* Hide header search on phones & tablets */
  #masthead #search-icon,
  #masthead #search-icon-icon,
  #masthead .search-icon,
  #masthead .site-search,
  #masthead .searchform,
  #masthead .search-form,
  #masthead #searchform{
    display:none !important;
  }

  /* Hide Smart Slider on phones & tablets */
  body.home .n2-ss-slider{ display:none !important; }
}

/* Phones only (≤768px): show phone hero image */
@media (max-width:768px){
  .home .mobile-hero-img{
    display:block !important;
    width:100% !important;
    height:300px !important;
    background-image:url("https://oup.nz/wp-content/uploads/2025/09/Phone-header.png");
    background-size:contain !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
  }
  .home .mobile-hero-widget{ margin:0 !important; padding:0 0 50px !important; }
}

/* Tablets (769–1024px): hide phone hero image */
@media (min-width:769px) and (max-width:1024px){
  .home .mobile-hero-img{ display:none !important; }
  .home .mobile-hero-widget{ margin:0 !important; padding:0 !important; }
}
/* ================================
   Phones & tablets only (≤1024px)
   - header row layout
   - hamburger pinned right
   - dropdown is full-width
   - header search hidden
   - slider hidden
   ================================ */
@media (max-width:1024px){

  /* Header row */
  header#masthead.site-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:6px 16px !important;
    background:#fff !important;
    border-bottom:1px solid #eee !important;
  }
  #masthead .hgroup.full-container{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    gap:12px !important;
    min-width:0 !important;
  }
  #masthead .logo-wrapper{ flex:0 0 auto !important; }

  /* Nav area takes remaining space; align content to the right */
  #masthead nav.site-navigation{
    flex:1 1 auto !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    position:relative !important; /* anchor for dropdown */
    z-index:1000;
  }

  /* Hamburger on the far right */
  #masthead .menu-toggle,
  #masthead nav.site-navigation .menu-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px; height:44px;
    margin-left:12px !important;
    order:99 !important;
    cursor:pointer;
  }
  #masthead .menu-toggle .menu-text{ display:none !important; }
  #masthead nav.site-navigation li.menu-toggle{ display:block !important; }

  /* Base fallback: show stacked list (if no toggle exists) */
  #masthead nav.site-navigation > ul,
  #masthead nav.site-navigation > div > ul{
    display:block !important;
  }

  /* If a toggle exists, hide list until opened */
  header#masthead.site-header:has(.menu-toggle) nav.site-navigation > ul,
  header#masthead.site-header:has(.menu-toggle) nav.site-navigation > div > ul{
    display:none !important;
  }

  /* When opened, show as a full-width dropdown below header */
  #masthead nav.site-navigation.toggled > ul,
  #masthead nav.site-navigation.toggled > div > ul,
  #masthead nav.site-navigation .menu-toggle[aria-expanded="true"] + ul,
  #masthead nav.site-navigation .menu-toggle[aria-expanded="true"] + div > ul{
    display:block !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    background:#fff !important;
    border-top:1px solid #eee !important;
  }

  /* Vertical, tappable links */
  #masthead nav.site-navigation ul li{ display:block !important; }
  #masthead nav.site-navigation ul li a{
    display:block !important;
    padding:12px 16px !important;
  }

  /* Hide header search on phones & tablets */
  #masthead #search-icon,
  #masthead #search-icon-icon,
  #masthead .search-icon,
  #masthead .site-search,
  #masthead .searchform,
  #masthead .search-form,
  #masthead #searchform{ display:none !important; }

  /* Hide Smart Slider on phones & tablets */
  body.home .n2-ss-slider{ display:none !important; }
}

/* Phones only (≤768px): show phone hero image */
@media (max-width:768px){
  .home .mobile-hero-img{
    display:block !important;
    width:100% !important;
    height:300px !important;
    background-image:url("https://oup.nz/wp-content/uploads/2025/09/Phone-header.png");
    background-size:contain !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
  }
  .home .mobile-hero-widget{ margin:0 !important; padding:0 0 50px !important; }
}

/* Tablets (769–1024px): hide phone hero image */
@media (min-width:769px) and (max-width:1024px){
  .home .mobile-hero-img{ display:none !important; }
  .home .mobile-hero-widget{ margin:0 !important; padding:0 !important; }
}