/*
Theme Name: BuffsDepot
Template: twentytwentyfive
Version: 0.6.1
Description: BuffsDepot child theme — packsdash-inspired, black accents.
*/

:root{
  --bd-bg:#ffffff;
  --bd-ink:#1f1f1f;
  --bd-muted:#3a3a3a;
  --bd-accent:#000000;
  --bd-accent-hover:#262626;
  --bd-border:rgba(0,0,0,.08);
}

body,.wp-site-blocks{
  font-family:"Inter",system-ui,-apple-system,sans-serif;
  color:var(--bd-muted);
  background:var(--bd-bg);
}
h1,h2,h3,h4,h5,h6,
.wp-block-post-title,.wp-block-heading{
  font-family:"Montserrat",system-ui,sans-serif;
  font-weight:700;
  color:var(--bd-ink);
  letter-spacing:-.01em;
}
h1,.wp-block-post-title{font-size:clamp(28px,4vw,44px);line-height:1.1;}

/* Buttons — rounded pills, black */
.wp-block-button__link,
.wp-element-button,
button.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.wc-block-components-button{
  background:var(--bd-accent)!important;
  color:#fff!important;
  border:0!important;
  border-radius:999px!important;
  padding:12px 24px!important;
  font-family:"Inter",sans-serif!important;
  font-weight:600!important;
  letter-spacing:.01em;
  transition:background .2s ease,transform .2s ease;
}
.wp-block-button__link:hover,
.wp-element-button:hover,
button.single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.wc-block-components-button:hover{
  background:var(--bd-accent-hover)!important;
  transform:translateY(-1px);
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent!important;
  color:var(--bd-ink)!important;
  box-shadow:inset 0 0 0 2px var(--bd-ink);
}

/* Product cards — glassy, rounded */
.wc-block-grid__product,
.wp-block-woocommerce-product-template li,
ul.products li.product{
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);
  border:1px solid var(--bd-border);
  border-radius:20px;
  padding:16px;
  box-shadow:0 4px 24px rgba(0,0,0,.06);
  transition:transform .2s ease,box-shadow .2s ease;
}
.wc-block-grid__product:hover,
ul.products li.product:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(0,0,0,.10);
}

/* Inputs */
input[type=text],input[type=email],input[type=search],input[type=number]:not(.qty),
input[type=password],select,textarea,
.wc-block-components-text-input input{
  border-radius:999px!important;
  border:1px solid var(--bd-border)!important;
  padding:10px 18px!important;
  font-family:"Inter",sans-serif!important;
}
input[type=search]{padding-left:18px!important;}

/* Links */
a{color:var(--bd-ink);text-decoration-thickness:1px;text-underline-offset:3px;}
a:hover{color:var(--bd-accent-hover);}

/* Front page: hide the auto-rendered "Home" title and tighten top padding */
body.home .wp-block-post-title,
body.page-id-63 .wp-block-post-title{display:none!important;}
body.home .wp-site-blocks > main > .wp-block-group.has-global-padding,
body.page-id-63 .wp-site-blocks > main > .wp-block-group.has-global-padding{
  padding-top:16px!important;
  padding-bottom:32px!important;
}
body.home .wp-block-post-content,
body.page-id-63 .wp-block-post-content{margin-top:0!important;}
body.home .wp-block-columns,
body.page-id-63 .wp-block-columns{margin-top:0!important;}
body.home main.wp-block-group,
body.page-id-63 main.wp-block-group{
  margin-top:0!important;
  padding-top:0!important;
}

/* ===== Top announcement bar ===== */
.bd-topbar{
  background:#000;
  color:#fff;
  font-family:"Inter",sans-serif;
  font-size:13px;
  font-weight:500;
}
.bd-topbar__inner{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:24px;
  align-items:center;
  padding:10px 24px;
}
.bd-topbar__left{justify-self:start;color:#fff;}
.bd-topbar__mid{
  justify-self:center;
  color:#ffffff;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
}
.bd-topbar__right{
  justify-self:end;
  display:flex;
  gap:18px;
  align-items:center;
}
.bd-topbar__right a{
  color:#fff!important;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:600;
}
.bd-topbar__right a:hover{color:#ffffff!important;}
.bd-topbar__right svg{color:#ffffff;}

/* ===== HEADER ===== */
header.wp-block-template-part{
  background:#333333!important;
}
/* Ensure header + topbar are full-width on all pages (not constrained by parent padding) */
header.wp-block-template-part,
header.wp-block-template-part .wp-block-group.alignfull{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
/* Fix product/inner pages: remove parent padding that shifts header */
.wp-site-blocks > header.wp-block-template-part{
  margin:0!important;
  padding:0!important;
}
/* Remove pink/salmon background bleed from WooCommerce single product */
body.single-product .wp-site-blocks{
  background:#fff!important;
}

/* Row 1: spacer | logo | icons */
.bd-header-top.is-layout-flex{
  align-items:center!important;
  flex-wrap:nowrap!important;
}
.bd-header-spacer{
  visibility:hidden!important;
  flex:0 0 80px!important;
  height:1px!important;
}
.bd-header .bd-center-logo{
  flex:0 0 auto!important;
}
.bd-header .bd-center-logo img{
  max-height:86px!important;
  width:auto!important;
  max-width:114px!important;
  border-radius:8px;
  display:block;
}
.bd-header .bd-header-icons{
  flex:0 0 auto!important;
}

/* Row 2: nav centered, subtle top border */
.bd-header-nav-row{
  border-top:1px solid rgba(255,255,255,.12);
}
.bd-header .bd-header-nav .wp-block-navigation__container{
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:8px 24px!important;
  border-top:0!important;
  padding-top:0!important;
}

/* Dropdown submenus: dark bg so text is visible */
header .wp-block-navigation__submenu-container{
  background:#333!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:12px!important;
  padding:8px 0!important;
  min-width:180px!important;
}
header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  color:#fff!important;
  padding:8px 20px!important;
}
header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{
  color:rgba(255,255,255,.7)!important;
  background:rgba(255,255,255,.08)!important;
}

/* All header text/icons white on dark bg */
header .wp-block-navigation-item__content{color:#fff!important;}
header .wp-block-navigation-item__content:hover{color:rgba(255,255,255,.7)!important;}
header .wp-block-woocommerce-customer-account a,
header .wc-block-mini-cart__button{color:#fff!important;}
header .wc-block-mini-cart__button .wc-block-mini-cart__quantity-badge{color:#fff!important;}
header .wc-block-mini-cart__button svg,
header .wc-block-customer-account svg{fill:#fff!important;color:#fff!important;}
header .wp-block-navigation__responsive-container-open{color:#fff!important;}
header .wp-block-navigation__submenu-icon path{stroke:#fff;}

/* Mobile-only hamburger nav: hidden on desktop */
.bd-header .bd-mobile-nav{
  display:none!important;
}

/* ===== Category carousel (Swiper) ===== */
.bd-swiper-wrap .bd-swiper.swiper{width:100%!important;max-width:100%!important;padding:0!important;margin-bottom:40px!important;box-sizing:border-box!important;overflow:hidden;position:relative;}
.bd-cat.swiper-slide{
  position:relative;
  display:block;
  border-radius:20px;
  overflow:hidden;
  background:#f5f5f5;
  aspect-ratio:337/358;
  text-decoration:none;
  color:#fff;
  box-shadow:0 4px 24px rgba(0,0,0,.08);
  transition:transform .25s ease,box-shadow .25s ease;
  height:auto;
}
.bd-cat.swiper-slide:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.15);}
.bd-cat__img{position:absolute;inset:0;}
.bd-cat__img img{width:100%;height:100%;object-fit:cover;display:block;}
.bd-cat__img::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.75) 100%);
}
.bd-cat__body{position:absolute;left:20px;right:20px;bottom:70px;z-index:2;}
.bd-cat__title{margin:0;color:#fff;font-family:"Montserrat",sans-serif;font-weight:800;font-size:24px;letter-spacing:-.01em;}
.bd-cat__desc{margin:4px 0 0;color:#fff;opacity:.9;font-size:13px;font-weight:500;}
.bd-cat__btn{
  position:absolute;left:20px;bottom:20px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;color:#000;
  padding:10px 18px;border-radius:999px;
  font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;
  transition:background .2s ease,color .2s ease;
}
.bd-cat.swiper-slide:hover .bd-cat__btn{background:#000;color:#fff;}
.bd-swiper-prev,.bd-swiper-next{
  position:absolute;top:50%;z-index:10;
  transform:translateY(-50%);
  width:48px;height:48px;border-radius:999px;
  background:#000;color:#fff;border:0;
  font-size:20px;font-weight:700;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(0,0,0,.2);
  transition:background .2s ease,transform .2s ease;
}
.bd-swiper-prev{left:16px;}
.bd-swiper-next{right:16px;}
.bd-swiper-prev:hover,.bd-swiper-next:hover{background:#333;transform:translateY(-50%) scale(1.05);}
.bd-swiper-pagination{position:absolute;bottom:0!important;left:0;right:0;text-align:center;}
.bd-swiper-pagination .swiper-pagination-bullet{background:#000;opacity:.25;width:8px;height:8px;}
.bd-swiper-pagination .swiper-pagination-bullet-active{opacity:1;width:28px;border-radius:4px;}
.bd-swiper-wrap{position:relative;padding:40px 0 60px;width:100%;box-sizing:border-box;overflow:hidden;}

/* Hide footer credits */
footer .wp-block-paragraph:has(a[href*="wordpress.org"]),
footer p:has(a[href*="wordpress.org"]){display:none!important;}
footer p.has-small-font-size{display:none!important;}

/* ===== Testimonials slider ===== */
.bd-testi-wrap{
  background:#000;color:#fff;
  padding:60px 24px 70px;border-radius:24px;
  margin:48px 0;position:relative;text-align:center;overflow:hidden;
  background-size:cover!important;background-position:center!important;
}
.bd-testi-wrap::before{
  content:"";position:absolute;inset:0;
  background:rgba(0,0,0,.72);z-index:0;
}
.bd-testi-wrap > *{position:relative;z-index:1;}
.bd-testi-title{color:#fff!important;font-family:"Montserrat",sans-serif;font-weight:800;font-size:clamp(26px,3vw,40px);margin:0 0 12px;}
.bd-testi-stars{display:inline-flex;gap:4px;color:#fff;margin-bottom:36px;}
.bd-testi.swiper{max-width:760px;margin:0 auto;position:relative;overflow:hidden;padding:0!important;}
.bd-testi-card{background:#fff;color:#1f1f1f;border-radius:16px;padding:28px 40px;box-shadow:0 10px 40px rgba(0,0,0,.3);text-align:center;height:auto;box-sizing:border-box;}
.bd-testi-rating{display:inline-flex;gap:3px;color:#000;margin-bottom:12px;}
.bd-testi-quote{font-family:"Inter",sans-serif;font-size:16px;line-height:1.55;color:#1f1f1f;margin:0 0 10px;font-weight:500;}
.bd-testi-author{font-size:14px;color:#3a3a3a;margin:0;font-weight:600;}
.bd-testi-prev,.bd-testi-next{position:absolute;top:55%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;}
.bd-testi-prev{left:32px;} .bd-testi-next{right:32px;}
.bd-testi-prev:hover,.bd-testi-next:hover{background:rgba(255,255,255,.15);border-color:#fff;}
.bd-testi-pagination{position:relative!important;margin-top:20px;text-align:center;}
.bd-testi-pagination .swiper-pagination-bullet{background:#fff;opacity:.4;width:8px;height:8px;}
.bd-testi-pagination .swiper-pagination-bullet-active{opacity:1;width:24px;border-radius:4px;}

/* ===== Marquee ===== */
.bd-marquee{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;border-radius:0!important;
  background:#000;color:#fff;overflow:hidden;
  margin:32px 0 0;padding:16px 0;
  border:1px solid rgba(255,255,255,.08);
}
.bd-marquee__track{display:flex;width:max-content;animation:bd-marquee-scroll 30s linear infinite;}
.bd-marquee__group{flex-shrink:0;padding-right:32px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:18px;letter-spacing:2px;text-transform:uppercase;white-space:nowrap;}
@keyframes bd-marquee-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.bd-marquee__track{animation:none;}}

/* Prevent horizontal page scroll */
html,body{overflow-x:hidden;max-width:100vw;}

/* ===== Mobile header social row (cloned from topbar) ===== */
.bd-header-social{display:none;}

/* ============ MOBILE ============ */
@media (max-width:900px){
  /* Topbar */
  .bd-topbar{font-size:11px;padding:8px 0;}
  .bd-topbar__inner{grid-template-columns:1fr!important;gap:6px!important;text-align:center;padding:6px 12px;}
  .bd-topbar__left,.bd-topbar__mid{justify-self:center!important;text-align:center;}
  .bd-topbar__mid{display:none!important;}
  .bd-topbar__right{display:none!important;}

  /* Header: tighter padding */
  .bd-header .wp-block-group.has-global-padding{padding-left:16px!important;padding-right:16px!important;}
  /* Hide spacer on mobile */
  .bd-header-spacer{display:none!important;}
  /* Hide nav row 2, show mobile hamburger nav in row 1 */
  .bd-header-nav-row{
    display:none!important;
  }
  .bd-header .bd-mobile-nav{
    display:block!important;
    flex:0 0 auto!important;
    order:0!important;
  }
  /* Row 1 becomes: hamburger | logo | icons via injected nav */
  .bd-header-top.is-layout-flex{
    flex-wrap:nowrap!important;
    align-items:center!important;
  }
  .bd-header .bd-center-logo{
    flex:1 1 0!important;
    text-align:center!important;
  }
  .bd-header .bd-center-logo a{display:inline-block;}
  .bd-header .bd-center-logo img{
    max-height:52px!important;
    margin:0 auto;
  }
  .bd-header .bd-header-icons{
    flex:0 0 auto!important;
  }

  /* Social row in header */
  .bd-header-social{
    display:flex!important;
    justify-content:center!important;
    gap:18px!important;
    padding:4px 0 2px!important;
    width:100%;
    margin-top:-4px!important;
  }
  .bd-header-social a{
    color:#fff!important;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    font-weight:600;
  }
  .bd-header-social svg{color:#fff!important;width:16px;height:16px;}

  /* Alignfull overflow guard */
  .alignfull,.entry-content.alignfull,.wp-block-group.alignfull{
    max-width:100vw!important;width:100%!important;margin-left:0!important;margin-right:0!important;
  }
  /* Swiper overflow guard */
  .bd-swiper-wrap,.bd-swiper-wrap .swiper,.bd-swiper{overflow:hidden!important;}
  .bd-testi.swiper{max-width:100%!important;padding:0 8px!important;}
  .bd-marquee{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;}
}

@media (max-width:768px){
  /* Hero stacking */
  body.home .wp-block-columns{flex-direction:column!important;gap:16px!important;}
  body.home .wp-block-column{flex-basis:100%!important;width:100%!important;}
  body.home .wp-block-cover{min-height:360px!important;border-radius:18px!important;}
  body.home .wp-block-cover h1,
  body.home .wp-block-cover .wp-block-heading{font-size:36px!important;line-height:1.05!important;}
  body.home .wp-block-cover h2{font-size:30px!important;}
  body.home .wp-block-cover p{font-size:15px!important;}
  main .has-global-padding{padding-left:16px!important;padding-right:16px!important;}
  /* Carousel */
  .bd-swiper-wrap{padding:24px 0 40px!important;overflow:hidden!important;}
  .bd-swiper-prev,.bd-swiper-next{display:none!important;}
  .bd-cat__title{font-size:20px!important;}
  .bd-cat__btn{padding:8px 14px!important;font-size:11px!important;}
  /* Marquee */
  .bd-marquee__group{font-size:14px!important;letter-spacing:1.5px!important;}
  .bd-marquee{padding:12px 0!important;}
  /* Testimonials */
  .bd-testi-wrap{padding:40px 18px 50px!important;border-radius:18px!important;margin:32px 0!important;}
  .bd-testi-title{font-size:24px!important;}
  .bd-testi-stars{margin-bottom:24px!important;}
  .bd-testi-card{padding:22px 22px!important;}
  .bd-testi-quote{font-size:14px!important;}
  .bd-testi-prev,.bd-testi-next{display:none!important;}
}

@media (max-width:480px){
  body.home .wp-block-cover h1,
  body.home .wp-block-cover .wp-block-heading{font-size:30px!important;}
  .bd-marquee__group{font-size:13px!important;}
}

/* ============ Mobile nav overlay (UX) ============ */
@media (max-width:900px){
  .wp-block-navigation__responsive-container.is-menu-open{
    padding:80px 24px 40px!important;
    background:#fff!important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
    gap:0!important;
    width:100%!important;
    max-width:520px;
    margin:0 auto;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width:100%;
    border-bottom:1px solid rgba(0,0,0,.08);
    flex:0 0 auto!important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    padding:18px 4px!important;
    font-family:"Montserrat",sans-serif!important;
    font-weight:700!important;
    font-size:18px!important;
    text-transform:uppercase;
    letter-spacing:.5px;
    justify-content:center!important;
    text-align:center;
    width:100%;
    display:flex!important;
    align-items:center;
    color:#000!important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{display:none!important;}
  .wp-block-navigation__responsive-container.is-menu-open li.has-child.bd-open > .wp-block-navigation__submenu-container{
    display:block!important;
    position:static!important;
    background:transparent!important;
    border:0!important;
    padding:0 0 12px 0!important;
    box-shadow:none!important;
    min-width:0!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    text-align:center;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{border-bottom:0!important;}
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
    padding:10px 4px!important;
    font-size:14px!important;
    font-weight:500!important;
    text-transform:none!important;
    letter-spacing:0!important;
    color:#3a3a3a!important;
    font-family:"Inter",sans-serif!important;
    justify-content:center!important;
  }
  .wp-block-navigation__responsive-container.is-menu-open li.has-child > .wp-block-navigation-item__content{position:relative;}
  .wp-block-navigation__responsive-container.is-menu-open li.has-child > .wp-block-navigation-item__content::after{
    content:"+";
    position:absolute;right:8px;top:50%;transform:translateY(-50%);
    font-size:24px;font-weight:300;color:#000;line-height:1;
  }
  .wp-block-navigation__responsive-container.is-menu-open li.has-child.bd-open > .wp-block-navigation-item__content::after{content:"−";}
  .wp-block-navigation__responsive-container-close{top:20px!important;right:20px!important;width:44px!important;height:44px!important;}
  .wp-block-navigation__responsive-container-close svg{width:28px;height:28px;}
}

/* WooCommerce quantity input: normal rectangle, not pill */
.quantity input.qty{
  border-radius:8px!important;
  text-align:center!important;
  width:60px!important;
  padding:8px!important;
}

/* WooCommerce cart: fix quantity stepper + delete overlap */
.wc-block-cart-item__quantity{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector{
  flex:0 0 auto!important;
}
.wc-block-cart-item__quantity .wc-block-cart-item__remove-link{
  flex:0 0 auto!important;
  margin-left:24px!important;
}

/* Checkout: Telegram + Signal fields side by side */
#contact-fields .wc-block-components-address-form{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:0 12px!important;
}
#contact-fields .wc-block-components-address-form > *{
  flex:0 0 100%!important;
}
#contact-fields .wc-block-components-address-form__buffsdepot-telegram,
#contact-fields .wc-block-components-address-form__buffsdepot-signal{
  flex:0 0 calc(50% - 6px)!important;
}

/* Checkout inputs: more padding so floating labels don't overlap text */
.wc-block-checkout input[type=text],
.wc-block-checkout input[type=email],
.wc-block-checkout input[type=tel],
.wc-block-checkout select,
.wc-block-components-text-input input,
.wc-block-components-combobox input{
  padding:20px 20px 8px!important;
  border-radius:12px!important;
}
/* Floating label: push it up more when active */
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input label{
  left:20px!important;
}

/* ===== Mobile: tighten homepage layout ===== */
@media (max-width:900px){
  /* Kill side padding on homepage content blocks */
  body.home .wp-site-blocks > main .has-global-padding{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  /* Hero covers: reduce side margin, tighter corners */
  body.home .wp-block-cover{
    border-radius:14px!important;
  }
  /* Reduce gap between hero columns */
  body.home .wp-block-columns{
    gap:12px!important;
  }
  /* Category carousel: less vertical padding */
  .bd-swiper-wrap{
    padding:20px 0 40px!important;
  }
  /* Marquee: edge to edge, less top margin */
  .bd-marquee{
    margin-top:16px!important;
    border-radius:0!important;
  }
  /* Testimonials: tighter margin */
  .bd-testi-wrap{
    margin:20px 0!important;
  }
  /* Reduce gap between header social row and content */
  body.home .wp-site-blocks > main{
    margin-top:0!important;
    padding-top:0!important;
  }
  /* Tighten space between sections */
  body.home .wp-block-post-content > *{
    margin-top:16px!important;
    margin-bottom:16px!important;
  }
  body.home .wp-block-post-content > *:first-child{
    margin-top:4px!important;
  }
}
