/* Editor and no-CSS safety */
.gg-ha-popover[hidden],
.gg-ha-cart-overlay[hidden] { display:none!important; }
.gg-ha-wrap.gg-ha-editor-mode .gg-ha-popover,
.gg-ha-wrap.gg-ha-editor-mode .gg-ha-cart-overlay,
.gg-ha-wrap.gg-ha-editor-mode .gg-ha-cart-panel { display:none!important; }
.gg-ha-wrap.gg-ha-editor-mode .gg-ha-actions {
  display:flex!important; align-items:center!important; flex-wrap:nowrap!important;
}

.gg-ha-wrap {
  --gg-ha-accent: #27b2ec;
  --gg-ha-ink: #111820;
  --gg-ha-muted: #66727b;
  --gg-ha-border: #dce7ec;
  --gg-ha-soft: #f4fbfe;
  position: relative;
  z-index: 50;
}
.gg-ha-actions { display:flex; align-items:center; gap:16px; }
.gg-ha-item { position:relative; }
.gg-ha-action {
  width:44px; height:44px; padding:0; display:inline-grid; place-items:center;
  position:relative; border:0; background:transparent; color:var(--gg-ha-ink);
  text-decoration:none; cursor:pointer; transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
.gg-ha-action:hover,.gg-ha-action:focus-visible { transform:translateY(-1px); outline:none; }
.gg-ha-action svg { fill:currentColor; }
.gg-ha-badge {
  min-width:18px; height:18px; padding:0 5px; position:absolute; top:-3px; right:-4px;
  display:flex; align-items:center; justify-content:center; border:2px solid #fff; border-radius:999px;
  background:var(--gg-ha-accent); color:#fff; font-size:10px; font-weight:700; line-height:1;
}
.gg-ha-popover {
  width:360px; max-width:calc(100vw - 24px); padding:14px; position:absolute; top:calc(100% + 10px); right:0;
  z-index:1000; border:1px solid var(--gg-ha-border); border-radius:12px; background:#fff;
  box-shadow:0 18px 45px rgba(17,24,32,.16); opacity:0; transform:translateY(8px) scale(.98);
  transform-origin:top right; transition:opacity .18s ease,transform .18s ease;
}
.gg-ha-popover.is-open { opacity:1; transform:translateY(0) scale(1); }
.gg-ha-search-form { display:grid; grid-template-columns:1fr 44px; gap:8px; }
.gg-ha-search-input {
  width:100%; min-width:0; height:44px; padding:0 13px; border:1px solid var(--gg-ha-border);
  border-radius:8px; background:#fff; color:var(--gg-ha-ink); font:inherit; outline:none;
}
.gg-ha-search-input:focus { border-color:var(--gg-ha-accent); box-shadow:0 0 0 3px rgba(39,178,236,.14); }
.gg-ha-search-submit { width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:8px; background:var(--gg-ha-accent); color:#fff; cursor:pointer; }
.gg-ha-search-submit svg { width:17px; height:17px; fill:currentColor; }
.gg-ha-search-results { margin-top:10px; max-height:380px; overflow:auto; }
.gg-ha-search-list { display:grid; gap:4px; }
.gg-ha-search-result { padding:8px; display:grid; grid-template-columns:52px 1fr; gap:10px; align-items:center; border-radius:8px; color:inherit; text-decoration:none; }
.gg-ha-search-result:hover { background:var(--gg-ha-soft); }
.gg-ha-search-thumb { width:52px; height:52px; display:block; overflow:hidden; border-radius:7px; background:#f5f8f9; }
.gg-ha-search-thumb img { width:100%; height:100%; object-fit:cover; }
.gg-ha-search-copy { min-width:0; display:grid; gap:2px; }
.gg-ha-search-title { overflow:hidden; color:var(--gg-ha-ink); font-size:13px; font-weight:650; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.gg-ha-search-price { color:#087cab; font-size:12px; font-weight:700; }
.gg-ha-view-all { margin-top:8px; padding:10px 12px; display:block; border-radius:8px; background:var(--gg-ha-soft); color:#087cab; font-size:12px; font-weight:700; text-align:center; text-decoration:none; }
.gg-ha-empty,.gg-ha-searching { padding:16px 8px; color:var(--gg-ha-muted); font-size:13px; text-align:center; }
.gg-ha-account-panel { width:190px; padding:7px; }
.gg-ha-account-panel a { padding:10px 11px; display:block; border-radius:7px; color:var(--gg-ha-ink); font-size:13px; font-weight:600; text-decoration:none; }
.gg-ha-account-panel a:hover { background:var(--gg-ha-soft); color:#087cab; }
.gg-ha-cart-overlay {
  position:fixed; inset:0; z-index:999998; background:rgba(9,17,24,.46); opacity:0;
  backdrop-filter:blur(2px); transition:opacity .25s ease;
}
.gg-ha-cart-overlay.is-open { opacity:1; }
.gg-ha-cart-panel {
  width:420px; max-width:94vw; height:100dvh; padding:0; position:fixed; top:0; right:0; z-index:999999;
  display:flex; flex-direction:column; border-left:1px solid var(--gg-ha-border); background:#fff;
  box-shadow:-20px 0 55px rgba(17,24,32,.18); transform:translateX(105%); transition:transform .32s cubic-bezier(.22,.8,.25,1);
}
.gg-ha-cart-panel.is-open { transform:translateX(0); }
.gg-ha-cart-header { min-height:76px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--gg-ha-border); }
.gg-ha-cart-heading { margin:0; position:relative; color:var(--gg-ha-ink); font-size:22px; font-weight:700; }
.gg-ha-cart-heading::after { width:34px; height:3px; position:absolute; left:0; bottom:-11px; border-radius:4px; content:""; background:var(--gg-ha-accent); }
.gg-ha-cart-close { width:42px; height:42px; display:grid; place-items:center; border:0; border-radius:50%; background:var(--gg-ha-soft); color:var(--gg-ha-ink); font-size:28px; line-height:1; cursor:pointer; }
.gg-ha-mini-cart-content { flex:1; min-height:0; padding:22px; overflow:auto; }
.gg-ha-mini-cart-content .woocommerce-mini-cart { margin:0; padding:0; list-style:none; }
.gg-ha-mini-cart-content .woocommerce-mini-cart-item { min-height:76px; margin:0; padding:0 28px 16px 88px; position:relative; border-bottom:1px solid var(--gg-ha-border); }
.gg-ha-mini-cart-content .woocommerce-mini-cart-item + .woocommerce-mini-cart-item { padding-top:16px; }
.gg-ha-mini-cart-content .woocommerce-mini-cart-item img { width:70px; height:70px; position:absolute; top:0; left:0; object-fit:cover; border-radius:9px; background:#f5f8f9; }
.gg-ha-mini-cart-content .woocommerce-mini-cart-item + .woocommerce-mini-cart-item img { top:16px; }
.gg-ha-mini-cart-content .remove_from_cart_button { position:absolute; top:0; right:0; color:#c42d2d!important; font-size:22px; text-decoration:none; }
.gg-ha-mini-cart-content .woocommerce-mini-cart-item + .woocommerce-mini-cart-item .remove_from_cart_button { top:16px; }
.gg-ha-mini-cart-content .woocommerce-mini-cart-item > a:not(.remove) { color:var(--gg-ha-ink); font-size:14px; font-weight:650; line-height:1.4; text-decoration:none; }
.gg-ha-mini-cart-content .quantity { margin-top:7px; display:block; color:var(--gg-ha-muted); font-size:12px; }
.gg-ha-mini-cart-content .woocommerce-mini-cart__total { margin:22px 0 14px; padding:16px 0; display:flex; justify-content:space-between; border-top:1px solid var(--gg-ha-border); border-bottom:1px solid var(--gg-ha-border); color:var(--gg-ha-ink); font-size:15px; }
.gg-ha-mini-cart-content .woocommerce-mini-cart__buttons { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gg-ha-mini-cart-content .button { min-height:46px; padding:12px!important; display:flex!important; align-items:center; justify-content:center; border:1px solid var(--gg-ha-border)!important; border-radius:8px!important; background:#fff!important; color:var(--gg-ha-ink)!important; font-size:13px!important; font-weight:700!important; text-align:center; text-decoration:none; }
.gg-ha-mini-cart-content .button.checkout { border-color:transparent!important; background:var(--gg-ha-accent)!important; color:#fff!important; }
.gg-ha-mini-cart-content .woocommerce-mini-cart__empty-message { margin:50px 0; color:var(--gg-ha-muted); text-align:center; }
body.gg-ha-cart-open { overflow:hidden; }
@media (max-width:767px) {
  .gg-ha-actions { gap:8px; }
  .gg-ha-action { width:40px; height:40px; }
  .gg-ha-popover { position:fixed; top:72px; right:12px; left:12px; width:auto!important; max-width:none; }
  .gg-ha-cart-panel { width:92vw!important; }
  .gg-ha-mini-cart-content { padding:18px; }
}
@media (prefers-reduced-motion:reduce) {
  .gg-ha-action,.gg-ha-popover,.gg-ha-cart-overlay,.gg-ha-cart-panel { transition:none!important; }
}
