/* REMIC Shop Nav v2.0.0
   Part 1 + 2 are copied from the remic.ca Divi global header (v3 desktop menu + mobile menu).
   Part 3 is shop-only: hides the Storefront/CheckoutWC headers, adds the cart, the account menu,
   and undoes Storefront and CheckoutWC styles that leak into the nav. */

/* ===== Part 1: desktop menu (from remic.ca) ===== */

/* ===== REMIC desktop menu v3 (Oct 2026) =====
   Top bar with phone and chat, five menu labels, a main "Find your course" button,
   small icons on course links, one featured card. This menu runs its own small script
   (bottom of this module) and uses new data-v3 hooks, so the old menu script ignores it. */
.rv3 { --navy: #0f1e38; --ink: #16233b; --muted: #5b6b82; --line: #e8ecf2; --blue: #1d4ed8; --blue-soft: #eaf1ff; --green: #15803d; --green-soft: #e7f6ec; --gold: #c9a84c; position: relative; z-index: 9999; font-family: inherit; }
.rv3 *, .rv3 *::before, .rv3 *::after { box-sizing: border-box; }
.rv3 a { text-decoration: none; }

.rv3-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Top bar */
.rv3-top { background: #f5f7fa; color: var(--muted); font-size: 13.5px; border-bottom: 1px solid var(--line); }
.rv3-top-in { max-width: 1240px; margin: 0 auto; height: 36px; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.rv3-top-l { display: flex; align-items: center; gap: 8px; }
.rv3-top-l svg { width: 15px; height: 15px; color: #a8862f; }
.rv3-top-r { display: flex; align-items: center; gap: 22px; }
.rv3-top a { color: #3f4c61; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; }
.rv3-top a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.rv3-top a svg { width: 15px; height: 15px; color: var(--muted); }
.rv3-lang { color: var(--ink); font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }

/* Main bar */
.rv3-bar { background: #fff; border-bottom: 1px solid var(--line); transition: box-shadow .2s; }
.rv3.is-scrolled .rv3-bar { box-shadow: 0 8px 24px -12px rgba(15,30,56,.25); }
.rv3-in { position: relative; max-width: 1240px; margin: 0 auto; height: 76px; padding: 0 28px; display: flex; align-items: center; gap: 24px; }
.rv3-logo img { max-height: 38px; width: auto; display: block; }
.rv3-items { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.rv3-btn { appearance: none; border: 0; background: none; cursor: pointer; font: inherit; font-size: 16px; font-weight: 600; color: var(--ink); white-space: nowrap; padding: 10px 13px; border-radius: 8px; display: inline-flex; align-items: center; gap: 7px; line-height: 1.2; }
.rv3-btn:hover, .rv3-btn[aria-expanded="true"] { background: var(--blue-soft); color: var(--blue); }
.rv3-btn:focus-visible, .rv3 a:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.rv3-caret { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); opacity: .6; transition: transform .15s; }
.rv3-btn[aria-expanded="true"] .rv3-caret { transform: translateY(1px) rotate(-135deg); }
.rv3-cta { display: flex; align-items: center; gap: 4px; }
.rv3-cta .rv3-login { margin-left: 6px; }
.rv3 .remic-blog-search-wrap { position: relative; }
.rv3 .remic-blog-search-toggle { width: 40px; height: 40px; border: 0; background: none; border-radius: 8px; color: var(--ink); cursor: pointer; display: grid; place-items: center; }
.rv3 .remic-blog-search-toggle:hover, .rv3 .remic-blog-search-wrap.is-open .remic-blog-search-toggle { background: var(--blue-soft); color: var(--blue); }
.rv3 .remic-blog-search-toggle svg { width: 20px; height: 20px; }
.rv3 .remic-blog-search-dropdown { display: none; position: absolute; top: calc(100% + 10px); right: 0; width: 420px; z-index: 10000; }
.rv3 .remic-blog-search-wrap.is-open .remic-blog-search-dropdown { display: block; }
.rv3 .remic-blog-search-input { width: 100%; height: 46px; border: 1px solid #d1d5db; border-radius: 10px; padding: 0 16px; font: inherit; font-size: 15px; box-shadow: 0 12px 30px -12px rgba(15,30,56,.3); outline: none; }
.rv3-login { display: inline-flex; align-items: center; height: 42px; padding: 0 18px; border-radius: 8px; border: 1.5px solid var(--ink); color: var(--ink); font-weight: 600; font-size: 15px; white-space: nowrap; }
.rv3-login:hover { background: var(--ink); color: #fff; }
.rv3-main { display: inline-flex; align-items: center; height: 42px; padding: 0 18px; border-radius: 8px; background: var(--navy); color: #fff !important; font-weight: 600; font-size: 15px; white-space: nowrap; border: 0; cursor: pointer; font-family: inherit; }
.rv3-main:hover { background: #1a2d4f; }

/* Panels */
.rv3-panel { display: none; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin-top: 6px; width: min(920px, calc(100vw - 48px)); background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 30px 70px -24px rgba(15,30,56,.4); overflow: hidden; animation: rv3in .14s ease-out; }
.rv3-panel.is-open { display: block; }
@keyframes rv3in { from { opacity: 0; transform: translateX(-50%) translateY(-4px); } to { opacity: 1; transform: translateX(-50%); } }
.rv3-grid { display: grid; grid-template-columns: 1fr 300px; }
.rv3-grid.solo { grid-template-columns: 1fr; }
.rv3-links { padding: 24px 24px 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; align-content: start; }
.rv3-label { font-size: 14px; font-weight: 700; color: var(--ink); margin: 0 10px 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.rv3-label + .rv3-link { margin-top: 0; }
.rv3-col .rv3-label:not(:first-child) { margin-top: 14px; }
.rv3-link { display: flex; gap: 12px; align-items: flex-start; padding: 10px; border-radius: 10px; }
.rv3-link:hover { background: #f5f7fa; }
.rv3-ic { flex: none; width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); }
.rv3-ic.life { background: var(--green-soft); color: var(--green); }
.rv3-ic svg { width: 19px; height: 19px; }
.rv3-t { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 15.5px; font-weight: 600; color: var(--ink); line-height: 1.3; }
.rv3-link:hover .rv3-t { color: var(--blue); }
.rv3-d { display: block; margin-top: 2px; font-size: 14px; line-height: 1.45; color: var(--muted); }
.rv3-simple { padding: 20px 20px 16px; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0 10px; }


.rv3-guide { display: inline-block; white-space: nowrap; margin: 6px 0 0 58px; font-size: 14px; font-weight: 600; color: var(--blue); }
.rv3-guide:hover { text-decoration: underline; text-underline-offset: 3px; }
.rv3-narrow { width: min(680px, calc(100vw - 48px)); }
/* Resources: a short list under the button, not a full-width panel */
.rv3-dd { position: relative; }
.rv3-dd .rv3-panel { left: 0; transform: none; width: 300px; animation: rv3drop .14s ease-out; }
.rv3-dd-r .rv3-panel { left: auto; right: 0; }
@keyframes rv3drop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.rv3-dd .rv3-simple { display: block; padding: 8px; }
.rv3-dd .rv3-link { padding: 10px 12px; }
.rv3-dd .rv3-t { font-size: 15px; }
.rv3-dd .rv3-d { font-size: 13.5px; }

/* Featured card with a small visual */
.rv3-feat { background: #f5f7fa; border-left: 1px solid var(--line); padding: 16px; }
.rv3-card { height: 100%; border-radius: 12px; overflow: hidden; color: #fff; display: flex; flex-direction: column; background: radial-gradient(60% 55% at 75% 100%, rgba(212,175,85,.35) 0%, rgba(212,175,85,0) 70%), linear-gradient(160deg, #11141a 0%, #050506 70%); }
.rv3-card:hover .rv3-cbtn { background: #d8b95c; }
.rv3-vis { display: flex; align-items: baseline; gap: 8px; flex-wrap: nowrap; margin-top: -6px; }
.rv3-big { font-family: "Newsreader", Georgia, "Times New Roman", serif; font-size: 72px; font-weight: 700; line-height: 1.1; display: inline-block; padding: 6px 2px 0 0; letter-spacing: -0.03em; background: linear-gradient(180deg, #f5dc93 0%, #c9a84c 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rv3-days { font-size: 15px; font-weight: 600; color: #d5dae2; text-transform: uppercase; letter-spacing: .12em; }
.rv3-body { position: relative; padding: 18px; display: flex; flex-direction: column; flex: 1; }
.rv3-pill { position: absolute; top: 16px; right: 16px; white-space: nowrap; display: inline-block; align-self: flex-start; font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 99px; color: #f0c75e; background: rgba(240,199,94,.12); border: 1px solid rgba(240,199,94,.3); }
.rv3-ch { display: block; margin-top: 2px; font-size: 19px; font-weight: 700; line-height: 1.25; }
.rv3-cd { display: block; margin-top: 6px; font-size: 14px; line-height: 1.5; color: #d5dae2; }
.rv3-cbtn { margin-top: 16px; display: block; white-space: nowrap; text-align: center; padding: 11px 14px; border-radius: 8px; background: var(--gold); color: #1a1405; font-weight: 600; font-size: 15px; }


/* Language menu in the top bar */
.rv3-top { position: relative; z-index: 3; }
.rv3-langbtn { appearance: none; border: 0; background: none; cursor: pointer; width: 40px; height: 40px; border-radius: 8px; display: grid; place-items: center; color: var(--ink); }
.rv3-langbtn:hover, .rv3-langbtn[aria-expanded="true"] { background: var(--blue-soft); color: var(--blue); }
.rv3-langbtn svg { width: 20px; height: 20px; }
.rv3-langdd .rv3-panel { width: 220px; margin-top: 18px; }
.rv3 .rv3-langlist, .rv3 ul.rv3-langlist { list-style: none !important; margin: 0 !important; padding: 6px !important; }
.rv3 .rv3-langlist li { list-style: none !important; margin: 0 !important; padding: 0 !important; background: none !important; }
.rv3 .rv3-langlist li::before, .rv3 .rv3-langlist li::marker { content: none !important; display: none !important; }
.rv3-langlist a { display: flex !important; align-items: center; gap: 10px; padding: 8px 10px !important; border-radius: 8px; color: #16233b !important; font-size: 14.5px !important; font-weight: 500 !important; text-decoration: none !important; background: none !important; }
.rv3-langlist a:hover { background: #f5f7fa !important; color: #1d4ed8 !important; }
.rv3-langlist img { width: 20px !important; height: auto !important; margin: 0 !important; border-radius: 2px; flex: none; }
@media (max-width: 1180px) {
  .rv3-in, .rv3-top-in { padding: 0 20px; }
  .rv3-in { gap: 14px; }
  .rv3-btn { padding: 10px 9px; font-size: 15.5px; }
  .rv3-login { padding: 0 14px; }
  .rv3-grid { grid-template-columns: 1fr 260px; }
  .rv3-big { font-size: 60px; }
}
@media (max-width: 1060px) { .rv3-top-l span { display: none; } }
@media (max-width: 1099px) { .rv3 { display: none !important; } }
@media (min-width: 1100px) { .remic-mobile-nav { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .rv3-panel { animation: none; } .rv3-bar { transition: none; } }

/* ===== Part 2: mobile menu (from remic.ca) ===== */

@media (min-width: 1100px){
  .remic-mobile-nav{
    display:none !important;
  }
}

.remic-mobile-nav,
.remic-mobile-nav *{
  box-sizing:border-box;
}

.remic-mobile-nav a{
  text-decoration:none;
}

.remic-mobile-nav{
  --remic-gutter:clamp(20px, 5vw, 48px);
  background:#fff;
  position:relative;
  z-index:9999;
  width:100%;
}

.remic-mobile-inner{
  min-height:64px;
  padding:12px var(--remic-gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.remic-mobile-logo{
  flex:0 0 auto;
}

.remic-mobile-logo img{
  display:block;
  max-height:34px;
  width:auto;
}

.remic-mobile-right{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

.remic-mobile-login{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid #cfd6de;
  border-radius:8px;
  background:#fff;
  color:#1f2937;
  font-size:14px;
  font-weight:500;
  text-decoration:none;
  white-space:nowrap;
}

/* 44 x 44 tap target; the negative margin keeps the lines on the gutter edge */
.remic-mobile-burger{
  background:none;
  border:0;
  width:44px;
  height:44px;
  padding:0;
  margin-right:-10px;
  border-radius:8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.remic-mobile-burger span{
  width:24px;
  height:2px;
  background:#334155;
  display:block;
  transition:transform .22s ease, opacity .22s ease;
  transform-origin:center;
}

.remic-mobile-burger.is-open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.remic-mobile-burger.is-open span:nth-child(2){
  opacity:0;
}

.remic-mobile-burger.is-open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.remic-mobile-drawer{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:#fff;
  border-top:1px solid #eef2f6;
  box-shadow:0 12px 28px rgba(0,0,0,.1);
  max-height:calc(100vh - 64px);
  max-height:calc(100dvh - 64px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.remic-mobile-drawer.is-open{
  display:block;
}

/* Page behind the open menu does not scroll (class set by the script below) */
@media (max-width: 1099px){
  html.remic-menu-open,
  html.remic-menu-open body{
    overflow:hidden;
  }
}

.remic-mobile-item{
  border-bottom:1px solid #eef2f6;
}

.remic-mobile-trigger,
.remic-mobile-link-single{
  width:100%;
  min-height:52px;
  padding:16px var(--remic-gutter);
  background:none;
  border:0;
  border-radius:0;
  text-align:left;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#1e293b;
  font-family:inherit;
  font-size:15px;
  font-weight:600;
  line-height:1.3;
  text-decoration:none;
  cursor:pointer;
}

.remic-mobile-chevron{
  font-size:12px;
  transition:transform .2s ease;
  flex:0 0 auto;
}

/* The arrow flips while its section is open */
.remic-mobile-trigger.is-open .remic-mobile-chevron,
.remic-mobile-trigger[aria-expanded="true"] .remic-mobile-chevron{
  transform:rotate(180deg);
}

.remic-mobile-trigger.is-open,
.remic-mobile-trigger[aria-expanded="true"]{
  color:#1b4fba;
}

.remic-mobile-panel{
  display:none;
  padding:0 var(--remic-gutter) 16px;
}

.remic-mobile-panel.is-open{
  display:block;
}

.remic-mobile-group-title{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#94a3b8;
  margin:16px 0 8px;
}

.remic-mobile-panel a{
  display:block;
  padding:10px 0;
  color:#1e293b;
  text-decoration:none;
}

.remic-mobile-link-title{
  display:block;
  color:#111827;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
}

.remic-mobile-link-desc{
  display:block;
  color:#64748b;
  font-size:13px;
  line-height:1.45;
  margin-top:3px;
}

.remic-mobile-guide-card{
  display:block;
  padding:14px;
  margin-top:8px;
  border-radius:10px;
}

.remic-mobile-guide-title{
  display:block;
  color:#1f2937;
  font-size:14px;
  font-weight:700;
  margin-bottom:4px;
}

.remic-mobile-guide-desc{
  display:block;
  color:#64748b;
  font-size:13px;
  line-height:1.45;
}

.remic-mobile-promo{
  background:#1c1a14;
  border-radius:12px;
  padding:16px;
  margin-top:16px;
}

.remic-mobile-promo-pill{
  display:inline-block;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#c9a227;
  background:rgba(201,162,39,.12);
  border:1px solid rgba(201,162,39,.28);
  border-radius:999px;
  padding:4px 10px;
  margin-bottom:10px;
}

.remic-mobile-promo-headline{
  color:#fff;
  font-size:15px;
  font-weight:800;
  line-height:1.3;
  margin-bottom:8px;
}

.remic-mobile-promo-desc{
  color:#b7ab96;
  font-size:13px;
  line-height:1.45;
  margin-bottom:12px;
}

.remic-mobile-panel a.remic-mobile-promo-btn,
.remic-mobile-promo-btn{
  display:block;
  text-align:center;
  background:#fff;
  color:#111;
  font-size:14px;
  font-weight:700;
  padding:10px 14px;
  border-radius:8px;
  text-decoration:none;
}

.remic-mobile-bottom{
  padding:18px var(--remic-gutter) 24px;
}

.remic-mobile-login-btn{
  display:block;
  width:100%;
  text-align:center;
  background:#2f80ed;
  color:#fff;
  font-size:15px;
  font-weight:700;
  padding:14px 16px;
  border-radius:10px;
  text-decoration:none;
}

.remic-mobile-blog-search{
  display:flex;
  align-items:center;
  width:100%;
  height:44px;
  margin-bottom:14px;
  border:1px solid #cfd6de;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}

.remic-mobile-blog-search:focus-within{
  border-color:#1b4fba;
}

.remic-mobile-blog-search-label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.remic-mobile-blog-search-input{
  flex:1;
  min-width:0;
  height:44px;
  border:0;
  padding:0 14px;
  color:#1f2937;
  /* 16px stops iPhone Safari zooming the page when the field is tapped */
  font-size:16px;
  outline:none;
  background:#fff;
}

.remic-mobile-blog-search-input::placeholder{
  color:#94a3b8;
  font-style:italic;
}

.remic-mobile-blog-search-submit{
  width:46px;
  height:44px;
  border:0;
  border-left:1px solid #eef2f6;
  background:#fff;
  color:#1f2937;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}

.remic-mobile-blog-search-submit:hover{
  background:#eff4ff;
  color:#1b4fba;
}

.remic-mobile-search-icon{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}

/* Keyboard focus */
.remic-mobile-burger:focus-visible,
.remic-mobile-logo:focus-visible,
.remic-mobile-trigger:focus-visible,
.remic-mobile-link-single:focus-visible,
.remic-mobile-panel a:focus-visible,
.remic-mobile-login-btn:focus-visible,
.remic-mobile-blog-search-submit:focus-visible{
  outline:2px solid #1b4fba;
  outline-offset:-2px;
}

/* Smaller phones */
@media (max-width: 480px){
  .remic-mobile-inner{
    padding-top:10px;
    padding-bottom:10px;
  }

  .remic-mobile-logo img{
    max-height:28px;
  }

  .remic-mobile-login{
    min-height:36px;
    padding:0 12px;
    font-size:13px;
  }

  .remic-mobile-trigger,
  .remic-mobile-link-single{
    padding-top:15px;
    padding-bottom:15px;
  }

  .remic-mobile-panel{
    padding-bottom:14px;
  }

  .remic-mobile-bottom{
    padding-top:16px;
    padding-bottom:16px;
  }
}

@media (prefers-reduced-motion: reduce){
  .remic-mobile-burger span,
  .remic-mobile-chevron{ transition:none; }
}

/* Oct 2026: calmer group labels and outlined secondary buttons */
.remic-mobile-group-title{ font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#5b6b82; margin:22px 0 4px; padding-bottom:8px; border-bottom:1px solid #e8ecf2; }
.remic-mobile-panel > .remic-mobile-group-title:first-child{ margin-top:6px; }
.remic-mobile-link-title{ font-size:15px; font-weight:600; color:#16233b; }
.remic-mobile-promo{ background:#0f1e38; }
.remic-mobile-promo-pill{ text-transform:none; letter-spacing:0; font-size:12px; color:#f0c75e; }
.remic-mobile-promo-desc{ color:#d5dae2; }
.remic-mobile-panel a.remic-mobile-promo-btn, .remic-mobile-promo-btn{ background:#c9a84c; color:#1a1405; }
.remic-mobile-login-btn.alt{ background:#fff; color:#1d4ed8; border:1.5px solid #1d4ed8; margin-bottom:10px; }

/* ===== Part 3: shop.remic.ca only ===== */

/* Replace Storefront's own header with the REMIC nav */
#masthead.site-header { display: none !important; }

/* The shop uses Source Sans Pro (CheckoutWC pages use Inter, so set it) */
.rv3, .remic-mobile-nav { font-family: "Source Sans Pro", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; }

/* Storefront styles every <button>; undo that inside the nav */
.rv3 button, .remic-mobile-nav button { font-family: inherit; letter-spacing: normal; text-transform: none; text-shadow: none; box-shadow: none; }
.rv3 .rv3-btn { padding: 10px 13px; background: none; color: var(--ink); line-height: 1.2; }
.rv3 .rv3-btn:hover, .rv3 .rv3-btn[aria-expanded="true"] { background: var(--blue-soft); color: var(--blue); }
.rv3 .remic-blog-search-toggle, .remic-mobile-nav .remic-mobile-blog-search-submit { padding: 0; }
.remic-mobile-nav .remic-mobile-burger { padding: 0; background: none; }
.remic-mobile-nav .remic-mobile-trigger { background: none; color: #1e293b; }
.remic-mobile-nav .remic-mobile-trigger.is-open { color: #1b4fba; }

/* Storefront hides every inline SVG (svg:not(:root) { display:none !important }) */
.rv3 svg:not(:root), .remic-mobile-nav svg:not(:root) { display: block !important; }

/* Storefront's input[type="search"] rules outrank the nav's classes */
.rv3 input.remic-blog-search-input[type="search"],
.rv3 input.remic-blog-search-input[type="search"]:focus { width: 100%; height: 46px; margin: 0; border: 1px solid #d1d5db; border-radius: 10px; background: #fff; padding: 0 16px; font-size: 15px; color: #1f2937; outline: none; box-shadow: 0 12px 30px -12px rgba(15,30,56,.3); }
.remic-mobile-nav input.remic-mobile-blog-search-input[type="search"] { height: 44px; margin: 0; border: 0; padding: 0 14px; background: #fff; box-shadow: none; font-size: 16px; }

/* Storefront and CheckoutWC colour every link; restore the nav's own colours */
.rv3 a.rv3-logo, .rv3 a.rv3-link { color: var(--ink); }
.rv3 a.rv3-guide { color: var(--blue); }
.rv3 a.rv3-card { color: #fff; }
.rv3 a.rv3-login { color: var(--ink); }
.rv3 a.rv3-login:hover { color: #fff; }
.remic-mobile-nav .remic-mobile-panel a { color: #1e293b; }
.remic-mobile-nav .remic-mobile-panel a.remic-mobile-promo-btn { color: #1a1405; }
.remic-mobile-nav a.remic-mobile-login-btn { color: #fff; }
.remic-mobile-nav a.remic-mobile-login-btn.alt { color: #1d4ed8; }

/* Click outline off, keyboard outline kept (from the main site's :focus-visible rules) */
.rv3 a:focus, .rv3 button:focus, .rv3 input:focus,
.remic-mobile-nav a:focus, .remic-mobile-nav button:focus, .remic-mobile-nav input:focus { outline: none; }
.rv3 .rv3-btn:focus-visible, .rv3 a:focus-visible, .rv3 button:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }

/* Cart link (desktop + mobile) */
.remic-cart-link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px; color: #16233b; }
.rv3 a.remic-cart-link, .remic-mobile-nav a.remic-cart-link { color: #16233b; }
.rv3 a.remic-cart-link:hover, .remic-mobile-nav a.remic-cart-link:hover { background: #eaf1ff; color: #1d4ed8; }
.remic-cart-icon { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.remic-cart-count { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #1d4ed8; color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.remic-cart-count[hidden] { display: none; }
.remic-mobile-nav .remic-cart-link { width: 44px; height: 44px; }

/* Logged-in account menu ("Hi, Name") */
.rv3-account .rv3-panel { width: 220px; }
.rv3-account-name { display: inline-block; max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.remic-mobile-account-hi { margin: 0 0 10px; color: #5b6b82; font-size: 14px; font-weight: 600; text-align: center; }
.remic-mobile-nav a.remic-mobile-logout { display: block; margin-top: 12px; text-align: center; color: #5b6b82; font-size: 14px; font-weight: 600; }
@media (max-width: 1240px) { .rv3-account-name { max-width: 90px; } }

/* CheckoutWC pages: the nav replaces CheckoutWC's own logo row */
body.remic-nav-injected #cfw-header { display: none; }

/* Backup link under the shop login form */
.remic-find-account { margin: 14px 0 0; font-size: 14px; color: #64748b; }
.remic-find-account a { font-weight: 600; }
