:root{
  --gv3-ivory:#FAF7F0;
  --gv3-green:#355F4A;
  --gv3-blue:#35536F;
  --gv3-line:rgba(53,95,74,.14);
}

.gv3-mobile-header{display:none}

/* ================= DESKTOP ================= */
@media (min-width:782px){
  /* Compact the native Hostinger/WordPress header without rebuilding it. */
  header.wp-block-template-part,
  .wp-site-blocks > header{
    min-height:94px !important;
    height:auto !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  header.wp-block-template-part > .wp-block-group,
  .wp-site-blocks > header > .wp-block-group,
  header.wp-block-template-part .wc-blocks-pattern-header-essential,
  .wp-site-blocks > header .wc-blocks-pattern-header-essential{
    min-height:94px !important;
    height:94px !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
    align-items:center !important;
  }

  header.wp-block-template-part .wp-block-site-logo,
  .wp-site-blocks > header .wp-block-site-logo{
    margin-top:0 !important;
    margin-bottom:0 !important;
    line-height:0 !important;
  }

  header.wp-block-template-part .wp-block-site-logo img,
  .wp-site-blocks > header .wp-block-site-logo img,
  header.wp-block-template-part .custom-logo,
  .wp-site-blocks > header .custom-logo{
    width:178px !important;
    max-width:178px !important;
    height:72px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
    image-rendering:auto !important;
    filter:contrast(1.02) saturate(1.02);
  }

  header.wp-block-template-part .wp-block-navigation,
  .wp-site-blocks > header .wp-block-navigation,
  header.wp-block-template-part .wp-block-woocommerce-customer-account,
  .wp-site-blocks > header .wp-block-woocommerce-customer-account,
  header.wp-block-template-part .wc-block-mini-cart,
  .wp-site-blocks > header .wc-block-mini-cart{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
}

/* ================= MOBILE ================= */
@media (max-width:781px){
  /* Hide only the visual native header. Its controls remain in DOM for native actions. */
  body.gv3-ready .wp-site-blocks > header,
  body.gv3-ready header.wp-block-template-part{
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    border:0 !important;
  }
  body.gv3-ready .wp-site-blocks > header > :not(.gv3-native-keep),
  body.gv3-ready header.wp-block-template-part > :not(.gv3-native-keep){
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .gv3-mobile-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    height:78px;
    min-height:78px;
    padding:9px 12px;
    box-sizing:border-box;
    position:relative;
    z-index:9998;
    background:rgba(250,247,240,.99);
    border-bottom:1px solid var(--gv3-line);
    box-shadow:0 6px 18px rgba(53,95,74,.045);
    direction:ltr;
  }

  .gv3-side{
    display:flex;
    align-items:center;
    flex:0 0 auto;
    position:relative;
    z-index:3;
  }
  .gv3-left{gap:15px}
  .gv3-right{gap:9px}

  .gv3-total{
    height:42px;
    min-width:91px;
    padding:0 12px 0 10px;
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:1px solid rgba(53,95,74,.16);
    border-radius:999px;
    background:#fffdf8;
    color:var(--gv3-green);
    box-shadow:0 3px 11px rgba(53,95,74,.05);
    font:700 12px/1 Manrope,system-ui,sans-serif;
    white-space:nowrap;
  }
  .gv3-total img{width:15px;height:15px;display:block;object-fit:contain}

  .gv3-action{
    width:43px;
    height:43px;
    min-width:43px;
    padding:0;
    margin:0;
    display:grid;
    place-items:center;
    border:1px solid rgba(53,95,74,.17);
    border-radius:50%;
    background:#fffdf8;
    color:var(--gv3-green);
    box-shadow:0 4px 13px rgba(53,95,74,.055);
    cursor:pointer;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
  }
  .gv3-action:active{transform:scale(.95)}
  .gv3-action svg{width:21px;height:21px;display:block;stroke:currentColor}

  /* Intentionally a touch right of mathematical center, away from account button. */
  .gv3-logo{
    position:absolute;
    left:52.8%;
    top:50%;
    transform:translate(-50%,-50%);
    width:142px;
    height:70px;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:2;
    overflow:visible;
    line-height:0;
  }
  .gv3-logo img{
    width:188px;
    max-width:none !important;
    height:70px;
    object-fit:contain;
    display:block;
    image-rendering:auto;
    transform:scale(1.22);
    transform-origin:center;
    filter:contrast(1.025) saturate(1.025);
  }

  .gv3-cart{position:relative}
  .gv3-badge{
    position:absolute;
    top:-10px;
    right:-9px;
    min-width:27px;
    height:27px;
    padding:0 7px;
    box-sizing:border-box;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:var(--gv3-blue);
    color:#fff;
    border:2px solid var(--gv3-ivory);
    box-shadow:0 3px 10px rgba(53,83,111,.22);
    font:800 14px/1 Manrope,system-ui,sans-serif;
    z-index:4;
  }
  .gv3-badge[data-count="0"]{display:none}

  .gv3-burger{background:#f3f6ee}
  .gv3-lines{width:21px;height:15px;display:flex;flex-direction:column;justify-content:space-between}
  .gv3-lines i{display:block;width:21px;height:1.7px;border-radius:4px;background:var(--gv3-green);transition:.2s ease}
  .gv3-lines i:nth-child(2){width:15px;margin-left:auto}
  .gv3-burger.is-open .gv3-lines i:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
  .gv3-burger.is-open .gv3-lines i:nth-child(2){opacity:0;width:0}
  .gv3-burger.is-open .gv3-lines i:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

  /* Native WordPress mobile menu, visually restyled only. */
  .wp-block-navigation__responsive-container.is-menu-open{
    visibility:visible !important;
    pointer-events:auto !important;
    z-index:9997 !important;
    top:78px !important;
    height:calc(100dvh - 78px) !important;
    min-height:calc(100dvh - 78px) !important;
    padding:0 !important;
    overflow-y:auto !important;
    background:rgba(250,247,240,.998) !important;
    color:var(--gv3-green) !important;
    border-top:1px solid rgba(53,95,74,.10) !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{display:none !important}
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    padding:20px 22px 36px !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width:100% !important;
    margin:0 !important;
    border-bottom:1px solid rgba(53,95,74,.10) !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    width:100% !important;
    display:block !important;
    padding:15px 2px !important;
    color:var(--gv3-green) !important;
    text-decoration:none !important;
    font:600 16px/1.25 Manrope,system-ui,sans-serif !important;
    letter-spacing:-.015em !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > a{
    font-weight:800 !important;
  }

  @media (max-width:390px){
    .gv3-mobile-header{padding-left:9px;padding-right:9px}
    .gv3-left{gap:11px}
    .gv3-right{gap:7px}
    .gv3-total{min-width:84px;padding-left:8px;padding-right:10px;font-size:11px}
    .gv3-action{width:41px;height:41px;min-width:41px}
    .gv3-logo{left:53.2%;width:132px}
    .gv3-logo img{width:178px;transform:scale(1.19)}
  }
}
