/* =============================================================
   ARTOS Camp&Go — layout: header, mega menu, drawer cart, footer
   ============================================================= */

/* ================= Header ================= */
.site-header { background: var(--c-dark); color: #fff; position: relative; z-index: 50; }

.a-announce {
  background: var(--c-brand); color: var(--c-dark); text-align: center;
  padding: 9px 16px; font-size: 13.5px; font-weight: 700;
}

/* Row: logo · info · actions */
.a-head-main {
  max-width: var(--w-site); margin: 0 auto; padding: 16px var(--gutter);
  display: flex; align-items: center; gap: 22px;
}
.a-head-main__logo { display: flex; align-items: center; flex: 0 1 auto; min-width: 0; }
.a-head-main__logo a { display: flex; min-width: 0; }
.a-head-main__logo img {
  height: 38px; width: auto; max-width: 100%;
  object-fit: contain; object-position: center;
}
.a-logo-text { display: flex; flex-direction: column; line-height: 1; text-decoration: none; }
.a-logo-text b { font-family: var(--f-head); font-weight: 900; font-size: 24px; letter-spacing: .04em; color: #fff; }
.a-logo-text span { font-size: 10.5px; letter-spacing: .28em; color: var(--c-lime); font-weight: 700; }
.a-head-note { display: flex; align-items: center; gap: 9px; flex: none; color: #c8c8c8; font-size: 13px; }
.a-head-note svg { color: var(--c-brand); flex: none; }
.a-head-spacer { flex: 1; min-width: 10px; }
.a-head-phone { display: flex; align-items: center; gap: 11px; flex: none; text-decoration: none; }
.a-head-phone:hover { opacity: .85; }
.a-head-phone svg { color: var(--c-brand); flex: none; }
.a-head-phone__txt { text-align: right; line-height: 1.35; }
.a-head-phone__title { display: block; font-size: 15px; font-weight: 800; color: #fff; }
.a-head-phone__sub { display: block; font-size: 12px; color: #9a9a9a; }
.a-head-actions { display: flex; align-items: center; gap: 22px; flex: none; }
.a-head-action {
  position: relative; background: none; border: none; padding: 0;
  color: #fff; display: flex; flex-direction: column; align-items: center; gap: 4px;
  text-decoration: none; font-size: 10.5px; cursor: pointer;
}
.a-head-action:hover { color: var(--c-lime); }
.a-head-action__count {
  position: absolute; top: -6px; inset-inline-end: -9px;
  background: var(--c-brand); color: var(--c-dark);
  font-size: 10.5px; font-weight: 900; min-width: 19px; height: 19px;
  border-radius: 10px; display: flex; align-items: center; justify-content: center; padding: 0 5px;
}

/* Row: categories button · nav · search */
.a-head-nav { background: #1c1c1c; }
.a-head-nav__in {
  max-width: var(--w-site); margin: 0 auto; padding: 12px var(--gutter);
  display: flex; align-items: center; gap: 18px; position: relative;
}
.a-catbtn {
  display: flex; align-items: center; gap: 10px; flex: none;
  background: var(--c-brand); color: var(--c-dark); border: none; border-radius: 9px;
  padding: 11px 20px; font-weight: 800; font-size: 14px;
}
.a-catbtn:hover { background: var(--c-brand-soft); }
.a-topnav {
  flex: 1 1 120px; display: flex; align-items: center; gap: 20px;
  overflow-x: auto; min-width: 0; scrollbar-width: none;
}
.a-topnav::-webkit-scrollbar { display: none; }
.a-topnav ul { display: flex; gap: 20px; list-style: none; margin: 0; padding: 0; }
.a-topnav a { color: #e6e6ea; font-size: 14px; font-weight: 600; white-space: nowrap; }
.a-topnav a:hover { color: var(--c-lime); }

/* Live search */
.a-search { flex: 0 1 400px; min-width: 200px; position: relative; }
.a-search__box { display: flex; align-items: center; background: #fff; border-radius: 8px; overflow: hidden; }
.a-search__box input {
  flex: 1; border: none; padding: 11px 15px; font-size: 14px; color: var(--t-body);
  background: transparent; min-width: 0;
}
.a-search__box input:focus { outline: none; }
.a-search__btn {
  background: var(--c-brand); border: none; width: 46px; height: 42px;
  display: flex; align-items: center; justify-content: center; flex: none; color: var(--c-dark);
}
.a-search__btn:hover { background: var(--c-brand-hover); }
.a-suggest {
  position: absolute; top: calc(100% + 8px); inset-inline-start: 0; width: 100%;
  background: #fff; border-radius: 12px; box-shadow: var(--pop-shadow);
  overflow: hidden auto; max-height: 440px; z-index: 60; color: var(--t-body);
  padding-bottom: 6px; display: none;
}
.a-suggest.is-open { display: block; }
.a-suggest__group { padding: 11px 15px 4px; font-size: 11px; font-weight: 800; color: var(--t-meta2); letter-spacing: .08em; }
.a-suggest__row {
  display: flex; align-items: center; gap: 11px; padding: 9px 15px;
  font-size: 14px; font-weight: 600; color: var(--t-2); text-decoration: none;
}
.a-suggest__row:hover { background: var(--c-paper); color: var(--t-2); }
.a-suggest__row svg { color: var(--c-brand); flex: none; }
.a-suggest__brands { display: flex; gap: 8px; flex-wrap: wrap; padding: 0 15px 6px; }
.a-suggest__brand {
  border: 1px solid #dfe5da; border-radius: 20px; padding: 6px 14px;
  font-family: var(--f-head); font-weight: 700; font-size: 12px; color: var(--c-dark);
  text-transform: uppercase; letter-spacing: .05em;
}
.a-suggest__brand:hover { background: var(--c-paper); border-color: var(--c-brand); color: var(--c-dark); }
.a-suggest__product { display: flex; align-items: center; gap: 12px; padding: 8px 15px; text-decoration: none; }
.a-suggest__product:hover { background: #f6f7f4; }
.a-suggest__thumb {
  width: 44px; height: 44px; border-radius: 8px; flex: none; object-fit: contain; padding: 3px;
  background: var(--surface-media);
}
.a-suggest__pinfo { flex: 1; min-width: 0; }
.a-suggest__model { display: block; font-family: var(--f-head); font-weight: 700; font-size: 12.5px; color: var(--c-dark); text-transform: uppercase; }
.a-suggest__ptitle { display: block; font-size: 12.5px; color: var(--t-mut); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.a-suggest__price { font-family: var(--f-head); font-weight: 800; font-size: 14px; color: var(--c-dark); flex: none; }
.a-suggest__none { padding: 24px 16px; text-align: center; color: var(--t-meta); font-size: 13.5px; }

/* Mega menu */
.a-mega-overlay { position: fixed; inset: 0; background: rgba(16, 16, 16, .45); z-index: 55; animation: aFade .16s ease; }
.a-mega { position: absolute; top: 100%; inset-inline-start: 0; width: 100%; z-index: 56; animation: aFade .18s ease; }
.a-mega__in { max-width: var(--w-site); margin: 0 auto; padding: 0 var(--gutter); }
.a-mega__panel {
  background: #fff; border-radius: 0 0 16px 16px; border-top: 3px solid var(--c-brand);
  box-shadow: 0 24px 54px rgba(16, 16, 16, .3); padding: 26px 28px; color: var(--t-body);
  display: flex; gap: 26px; flex-wrap: wrap;
}
.a-mega__groups { flex: 1; min-width: min(300px, 100%); display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 22px; }
.a-mega__grouphead {
  display: flex; align-items: center; gap: 9px; margin-bottom: 11px;
  padding-bottom: 9px; border-bottom: 1px solid var(--b-row);
}
.a-mega__icon {
  width: 26px; height: 26px; border-radius: 8px; background: var(--c-paper);
  display: flex; align-items: center; justify-content: center; font-size: 13px; flex: none;
}
.a-mega__grouphead a { font-weight: 800; font-size: 14.5px; color: var(--c-dark); }
.a-mega__links { display: flex; flex-direction: column; gap: 7px; }
.a-mega__links a { font-size: 13.5px; color: var(--t-mut); font-weight: 500; }
.a-mega__links a:hover { color: var(--c-brand); }
.a-mega__side { flex: none; width: 250px; min-width: 220px; display: flex; flex-direction: column; gap: 12px; }
.a-mega__brand { display: flex; align-items: center; gap: 12px; border-radius: 12px; padding: 14px 16px; text-decoration: none; }
.a-mega__brand:hover { opacity: .9; }
.a-mega__brandchip {
  width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
  font-family: var(--f-head); font-size: 12px; font-weight: 900; flex: none;
}
.a-mega__brandname { display: block; font-family: var(--f-head); font-weight: 900; font-size: 14px; text-transform: uppercase; letter-spacing: .03em; }
.a-mega__brandcount { display: block; font-size: 11.5px; }
.a-mega__guides { border: 1.5px solid var(--b-input); border-radius: 12px; padding: 14px 16px; display: block; }
.a-mega__guides:hover { border-color: var(--c-brand); }
.a-mega__guides b { display: block; font-weight: 800; font-size: 14px; color: var(--c-dark); margin-bottom: 3px; }
.a-mega__guides span { display: block; font-size: 12px; color: var(--t-meta); }

/* Info links row */
.a-head-info { border-top: 1px solid rgba(255, 255, 255, .07); }
.a-head-info__in { max-width: var(--w-site); margin: 0 auto; padding: 9px var(--gutter); }
.a-head-info nav, .a-head-info ul { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }
.a-head-info a { color: #8c8c8c; font-size: 12.5px; font-weight: 500; white-space: nowrap; }
.a-head-info a:hover { color: #fff; }

/* ================= Drawer mini-cart ================= */
.a-drawer-overlay { position: fixed; inset: 0; background: rgba(16, 16, 16, .5); z-index: 95; animation: aFade .2s ease; }
.a-drawer {
  position: fixed; top: 0; left: 0; height: 100%; width: 410px; max-width: 92vw;
  background: #fff; z-index: 96; display: flex; flex-direction: column;
  box-shadow: 0 0 46px rgba(0, 0, 0, .32); animation: aDrawer .3s cubic-bezier(.2, .85, .25, 1);
  color: var(--t-body);
}
.a-drawer__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 22px; border-bottom: 1px solid var(--b-card); flex: none;
}
.a-drawer__head h2 { margin: 0; font-size: 19px; font-weight: 800; }
.a-drawer__close {
  background: none; border: none; width: 36px; height: 36px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center; color: var(--t-meta);
}
.a-drawer__close:hover { background: #f2f2f4; color: var(--t-body); }
.a-drawer__body { flex: 1; overflow-y: auto; display: flex; flex-direction: column; }
[hidden] { display: none !important; }

/* Drawer: WooCommerce mini-cart widget restyle */
.a-drawer .widget_shopping_cart_content { display: flex; flex-direction: column; height: 100%; }
.a-drawer__ship { padding: 16px 20px 8px; flex: none; }
.a-drawer__ship-ok {
  background: var(--c-paper); border-radius: 10px; padding: 11px 14px;
  font-size: 13px; font-weight: 700; color: #2e7d32; text-align: center;
}
.a-drawer__ship-bar { background: #f6f7f4; border-radius: 10px; padding: 11px 14px; }
.a-drawer__ship-bar p { font-size: 12.5px; color: var(--t-mut); margin: 0 0 8px; }
.a-drawer__ship-bar b { color: var(--c-dark); }
.a-meter { height: 7px; border-radius: 5px; background: #e4e7e0; overflow: hidden; }
.a-meter > span { display: block; height: 100%; background: var(--c-brand); border-radius: 5px; }

.a-drawer ul.cart_list { list-style: none; margin: 0; padding: 6px 20px 12px; flex: 1; overflow-y: auto; }
.a-drawer ul.cart_list li { display: flex; gap: 13px; padding: 14px 0; border-bottom: 1px solid var(--b-row); position: relative; }
.a-drawer ul.cart_list li a { display: flex; gap: 13px; color: var(--t-2); font-size: 13px; font-weight: 600; line-height: 1.4; flex: 1; min-width: 0; }
.a-drawer ul.cart_list li img { width: 70px; height: 70px; border-radius: 10px; object-fit: cover; order: -1; }
.a-drawer ul.cart_list li .quantity { display: block; font-family: var(--f-head); font-weight: 800; font-size: 14px; color: var(--c-dark); margin-top: 6px; }
.a-drawer ul.cart_list li a.remove {
  position: absolute; inset-inline-end: 0; top: 14px; flex: none;
  width: 24px; height: 24px; display: flex; align-items: center; justify-content: center;
  color: #c0c0c6; font-size: 18px; font-weight: 400; border-radius: 6px;
}
.a-drawer ul.cart_list li a.remove:hover { color: var(--c-danger); background: #faf1f1; }
.a-drawer .woocommerce-mini-cart__empty-message { flex: 1; display: flex; align-items: center; justify-content: center; margin: 0; }

.a-drawer__foot { border-top: 1px solid var(--b-card); padding: 18px 22px 22px; flex: none; }
.a-drawer .woocommerce-mini-cart__total {
  display: flex; align-items: center; justify-content: space-between; margin: 0 0 14px;
  font-size: 14px; color: var(--t-mut); font-weight: 600;
}
.a-drawer .woocommerce-mini-cart__total .amount { font-family: var(--f-head); font-weight: 900; font-size: 24px; color: var(--c-dark); }
.a-drawer .woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 12px; margin: 0; }
.a-drawer .woocommerce-mini-cart__buttons a.checkout {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  background: var(--c-dark); color: #fff; border-radius: 11px; padding: 15px;
  font-weight: 800; font-size: 16px;
}
.a-drawer .woocommerce-mini-cart__buttons a.checkout:hover { background: var(--c-dark-hover); }
.a-drawer .woocommerce-mini-cart__buttons a:not(.checkout) {
  color: var(--t-mut); font-size: 13.5px; font-weight: 700; text-decoration: underline; text-align: center;
}
.a-drawer .woocommerce-mini-cart__buttons a:not(.checkout):hover { color: var(--c-brand); }

/* Drawer empty state */
.a-drawer__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px 30px; gap: 16px; }
.a-drawer__empty-icon { width: 84px; height: 84px; border-radius: 50%; background: var(--c-paper); display: flex; align-items: center; justify-content: center; color: var(--c-brand); }
.a-drawer__empty h3 { font-size: 17px; font-weight: 800; margin: 0; }
.a-drawer__empty p { font-size: 13.5px; color: var(--t-meta); line-height: 1.6; margin: 0; }

/* ================= Footer ================= */
.a-club { background: var(--c-paper); padding: 44px var(--gutter); }
.a-club__in { max-width: 760px; margin: 0 auto; text-align: center; }
.a-club h2 { margin: 0 0 10px; font-size: 26px; font-weight: 900; color: var(--c-dark); }
.a-club p { margin: 0 0 22px; font-size: 14.5px; color: var(--t-paper-body); line-height: 1.75; }
.a-club__form { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; max-width: 440px; margin: 0 auto; }
.a-club__form input {
  flex: 1; min-width: 200px; border: 1.5px solid #dbe3d6; border-radius: var(--r-btn);
  padding: 13px 16px; font-size: 14px; background: #fff;
}
.a-club__form input:focus { border-color: var(--c-brand); outline: none; }

.site-footer { background: var(--c-dark); color: #fff; padding: 44px var(--gutter) 0; }
.a-foot__grid {
  max-width: var(--w-site); margin: 0 auto;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 32px; padding-bottom: 34px;
}
.a-foot__about p { margin: 0 0 16px; font-size: 13.5px; color: var(--t-meta2); line-height: 1.8; }
.a-foot h4 { margin: 0 0 14px; font-size: 14.5px; font-weight: 800; color: #fff; }
.a-foot ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; font-size: 13.5px; }
.a-foot ul a { color: var(--t-meta2); }
.a-foot ul a:hover { color: var(--c-lime); }
.a-foot__depot { margin: 0 0 8px; font-size: 13.5px; color: var(--t-meta2); line-height: 1.8; }
.a-foot__link-lime { font-size: 13px; color: var(--c-lime); font-weight: 700; display: block; }
.a-foot__link-lime:hover { color: #fff; }
.a-foot__link-dim { font-size: 13px; color: var(--t-meta2); font-weight: 600; display: block; margin-top: 6px; }
.a-foot__link-dim:hover { color: var(--c-lime); }
.a-foot__bottom { border-top: 1px solid rgba(255, 255, 255, .09); padding: 18px 0 22px; }
.a-foot__bottom-in {
  max-width: var(--w-site); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: 12.5px; color: #7a7a82;
}
.a-foot__credit { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.a-foot__credit img { height: 22px; width: auto; border-radius: 3px; opacity: .82; transition: opacity .18s ease; }
.a-foot__credit a:hover img { opacity: 1; }
.a-foot__legal { display: flex; gap: 16px; }
.a-foot__legal a { color: #7a7a82; }
.a-foot__legal a:hover { color: var(--c-lime); }

/* WhatsApp float */
.a-wa-float {
  position: fixed; bottom: 18px; inset-inline-start: 18px; z-index: 84;
  width: 56px; height: 56px; border-radius: 50%; background: var(--c-wa); color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 26px rgba(37, 163, 74, .42); transition: transform .18s ease;
}
.a-wa-float:hover { transform: scale(1.07); color: #fff; }

/* ================= Hamburger + mobile menu drawer ================= */
.a-burger {
  display: none; flex: none; width: 42px; height: 42px;
  background: none; border: 1px solid rgba(255, 255, 255, .18); border-radius: 10px;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
}
.a-burger span {
  display: block; width: 19px; height: 2px; border-radius: 2px;
  background: #fff; transition: background .15s ease;
}
.a-burger:hover { border-color: var(--c-lime); }
.a-burger:hover span { background: var(--c-lime); }

.a-mnav-overlay { position: fixed; inset: 0; background: rgba(16, 16, 16, .5); z-index: 95; animation: aFade .2s ease; }
.a-mnav {
  position: fixed; top: 0; right: 0; height: 100dvh; width: 340px; max-width: 88vw;
  background: var(--c-dark); color: #fff; z-index: 96;
  display: flex; flex-direction: column;
  box-shadow: 0 0 46px rgba(0, 0, 0, .4);
  animation: aMnav .3s cubic-bezier(.2, .85, .25, 1);
}
@keyframes aMnav { from { transform: translateX(100%); } to { transform: none; } }
.a-mnav__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 20px; border-bottom: 1px solid rgba(255, 255, 255, .09); flex: none;
}
.a-mnav__head .a-logo-text b { font-size: 20px; }
.a-mnav__close {
  background: none; border: none; width: 36px; height: 36px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center; color: #9a9a9a;
}
.a-mnav__close:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.a-mnav__body { flex: 1; overflow-y: auto; padding: 10px 20px 20px; }
.a-mnav__primary ul { list-style: none; margin: 0; padding: 0; }
.a-mnav__primary a {
  display: block; padding: 12px 2px; color: #e6e6ea; font-size: 15px; font-weight: 700;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.a-mnav__primary a:hover { color: var(--c-lime); }
.a-mnav__label {
  font-size: 11.5px; font-weight: 800; color: var(--c-lime);
  letter-spacing: .14em; margin: 18px 0 6px;
}
.a-mnav__group { border-bottom: 1px solid rgba(255, 255, 255, .06); }
.a-mnav__group summary {
  display: flex; align-items: center; gap: 10px; padding: 12px 2px;
  font-size: 14.5px; font-weight: 700; color: #e6e6ea; cursor: pointer; list-style: none;
}
.a-mnav__group summary::-webkit-details-marker { display: none; }
.a-mnav__icon {
  width: 26px; height: 26px; border-radius: 8px; background: rgba(255, 255, 255, .08);
  display: flex; align-items: center; justify-content: center; font-size: 13px; flex: none;
}
.a-mnav__chev { margin-inline-start: auto; color: #9a9a9a; transition: transform .18s ease; display: flex; }
.a-mnav__group[open] .a-mnav__chev { transform: rotate(180deg); }
.a-mnav__group[open] summary { color: var(--c-lime); }
.a-mnav__sub { display: flex; flex-direction: column; gap: 2px; padding: 0 38px 12px 0; }
.a-mnav__sub a { padding: 7px 0; color: #bdbdbd; font-size: 13.5px; font-weight: 500; }
.a-mnav__sub a:hover { color: var(--c-lime); }
.a-mnav__sub .a-mnav__all { color: var(--c-lime); font-weight: 700; }
.a-mnav__info { margin-top: 16px; }
.a-mnav__info ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.a-mnav__info a { display: block; padding: 8px 2px; color: #8c8c8c; font-size: 13px; font-weight: 500; }
.a-mnav__info a:hover { color: #fff; }
.a-mnav__foot {
  flex: none; padding: 16px 20px calc(16px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(255, 255, 255, .09);
  display: flex; flex-direction: column; gap: 10px;
}
.a-mnav__account {
  display: flex; align-items: center; gap: 10px; color: #fff;
  font-size: 14px; font-weight: 700; padding: 4px 2px;
}
.a-mnav__account:hover { color: var(--c-lime); }

/* ================= Responsive header ================= */
@media (max-width: 1150px) { .a-head-note { display: none; } }
@media (max-width: 960px) { .a-head-phone { display: none; } }
@media (max-width: 860px) {
  .a-burger { display: flex; }
  .a-head-nav__in { flex-wrap: wrap; }
  .a-topnav, .a-catbtn { display: none; }
  .a-search { flex: 1 1 100%; order: 2; }
  .a-head-info { display: none; }
}
@media (max-width: 560px) {
  .a-head-main { padding: 12px 16px; gap: 14px; }
  .a-head-main__logo img { height: 30px; }
  .a-head-actions { gap: 14px; }
  .a-head-action span:not(.a-head-action__count) { display: none; }
  .a-head-nav__in { padding-inline: 16px; }
  .a-wrap { padding-inline: 16px; }
  .a-drawer { width: 100vw; max-width: 100vw; }
}
