/*
Theme Name: Astra Child
Description: Child theme for Astra. Add custom styles below.
Template: astra
Version: 1.0.0
Text Domain: astra-child
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* An open, editorial callout consistent with the homepage section headings. */
.shop .bundle-note {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  max-width: 100%;
  margin: 48px auto 36px;
  padding: 38px 24px 34px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  text-align: center;
}
.product:nth-child(1) {background: #e4f5ed;position: relative;}
.product:nth-child(1):before {
    content: "Best Seller";
    position: absolute;
    background: #007a3e;
    color: #fff;
    width: 105px;
    font-size: 16px;
    border-radius: 30px;
    padding: 2px;
    top: 4px;
    left: 50%;
    transform: translateX(-50%);
}
.shop .bundle-note::before,
.shop .bundle-note::after {
  content: none;
}
.shop .bundle-note h3 {
  margin: 0;
  color: var(--black, #080a08);
  font-family: Anton, Impact, 'Arial Narrow', sans-serif;
  font-size: clamp(28px, 3.9vw, 56px);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -.035em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.shop .bundle-note h3::after {
  content: '';
  display: block;
  width: 88px;
  height: 5px;
  margin: 20px auto 0;
  border-radius: 50%;
  background: var(--yellow, #ffca00);
}
.shop .bundle-note p {
  max-width: 540px;
  margin: 18px auto 12px;
  color: #34392f;
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.6;
}
.shop .bundle-note > span {
  display: inline-block;
  max-width: 100%;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--green, #007a3e);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
  overflow-wrap: anywhere;
}
.a-unordered-list.a-vertical.a-spacing-mini {
    display: none;
}
@media (max-width: 700px) {
  .shop .bundle-note {
    margin: 28px auto 24px;
    padding: 28px 16px;
  }
  .shop .bundle-note p { margin: 16px auto 10px; }
  .shop .bundle-note > span { font-size: 12px; }
}

/* Independently uploaded banner background and foreground artwork. */
.sv-layered-hero { background-color: #fffdf5; background-size: cover; background-position: center; }
.hero-foreground { position: absolute; right: 0; bottom: 0; width: 53%; height: 95%; object-fit: contain; object-position: right bottom; z-index: 0; pointer-events: none; }
.sv-layered-hero .header { z-index: 3; }
.sv-layered-hero .hero-copy { z-index: 1; }
.sv-has-foreground .hero-copy h1 { max-width: 52%; }
@media (max-width: 700px) {
  .sv-layered-hero { aspect-ratio: auto; min-height: 0; }
  .sv-layered-hero .hero-copy { padding-bottom: 32px; background: none; }
  .sv-has-foreground .hero-copy { padding-bottom: 345px; }
  .sv-has-foreground .hero-copy h1 { max-width: none; }
  .hero-foreground { width: 100%; height: 320px; object-position: center bottom; }
}
#ast-scroll-top {
    display: none !important;
}

/* Reference banner: live typography over the existing editable artwork. */
.hero {
  aspect-ratio: auto;
  min-height: clamp(420px, 42vw, 760px);
  background-size: 100% 90%;
  background-color: #f7fbfc;
  background-position: center bottom;
}
.hero::before {
  display: block;
  background: linear-gradient(90deg, #fffdf5eb 0%, #fffdf5e6 28%, #fffdf599 39%, transparent 55%);
  mask-image: linear-gradient(to bottom, transparent 10%, #000 25%, #000 73%, transparent 96%);
  pointer-events: none;
}
.single-product-category {
    display: none !important;
}
.woocommerce-breadcrumb a:nth-child(2) {
    display: none;
}
.ast-woo-product-category{
    display: none !important;
}
.product_meta {
    display: none;
}
.hero .header { width: 89%; height: 6.9vw; min-height: 0; z-index: 3; }
.hero .header::before { content: ''; position: absolute; inset: 0 -6.2%; z-index: -1; background: linear-gradient(90deg, #ffffffdf, #ffffffa6 65%, #ffffff1a); pointer-events: none; }
.hero .header .logo-crop { width: 7.65vw; height: 9.05vw; align-self: flex-start; }
.hero .header .brand { align-self: flex-start; align-items: center; gap: .65vw; }
.hero .header .brand strong { font-size: 3.25vw; }
.hero .header .brand small { font-size: 1.3vw; }
.hero .header nav { left: 33%; gap: 4.1vw; font-size: 1.2vw; }
.hero .header-socials { gap: 1.55vw; }
.hero .header-socials a { width: 2.4vw; height: 2.4vw; }
.hero .hero-copy { width: 89%; padding: 3.8vw 0 4.8vw; }
.hero .hero-copy h1 {
  max-width: 48%;
  font-family: Anton, Impact, 'Arial Narrow', sans-serif;
  font-size: clamp(34px, 5vw, 80px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.025em;
  text-transform: uppercase;
  color: #050505;
}
.hero-title-line { display: block; }
.hero-title-line:nth-child(2), .hero-title-line:nth-child(2) .green { color: #ffc400; }
.hero-title-line:nth-child(3) { color: #007b3e; }
.hero .hero-copy p {
  max-width: 35%;
  margin: 20px 0px 0px 0px;
  font-size: clamp(14px, 1.35vw, 20px);
  font-weight: 600;
  line-height: 1.35;
  color: #ffca00;
}
.hero .hero-copy .extra-p {
    margin-top: 4px;
    margin-bottom: 20px;
    color: #080a08;
}
.hero .hero-copy .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 0;
  min-height: 48px;
  padding: 14px 30px;
  vertical-align: middle;
  text-align: center;
  border: 2px solid #c8a900;
  border-radius: 999px;
  background: #030503;
  color: #fff;
  font-family: Anton, Impact, sans-serif;
  font-size: clamp(18px, 1.65vw, 26px);
  font-weight: 400;
  line-height: 1.2;
  gap: .65em;
}
.hero .hero-foreground { width: 57%; height: 91%; object-position: right bottom; }
.hero.sv-layered-hero { background-size: cover; }
.hero .hero-copy::after { display: block; left: 49%; top: 1%; }
@media (max-width: 700px) {
  .hero { min-height: 0; background-size: auto 330px; background-position: right bottom; }
  .hero::before { display: none; }
  .hero .header { width: 92%; min-height: 85px; }
  .hero .header .brand { align-self: center; gap: 6px; }
  .hero .header .logo-crop { width: 59px; height: 70px; }
  .hero .header .brand strong { font-size: 29px; }
  .hero .header .brand small { font-size: 10px; }
  .hero .header nav { left: 0; font-size: 15px; gap: 0px; }
  .hero .hero-copy::after { display: none; }
  .hero .hero-copy { width: 92%; padding: 22px 0 345px; background: none; }
  /* Highlight the lettering without covering the hero image. */
  .hero .hero-copy h1 {
    max-width: 100%;
    font-size: clamp(28px, 7.4vw, 50px);
    line-height: 1.1;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff, 0 2px 4px rgba(0, 0, 0, .45);
  }
  .hero .hero-copy p {
    max-width: 360px;
    margin: 18px 0 22px;
    font-size: 16px;
    color: #fff;
    text-shadow: -1px -1px 1px rgba(0, 0, 0, .8), 1px -1px 1px rgba(0, 0, 0, .8), -1px 1px 1px rgba(0, 0, 0, .8), 1px 1px 1px rgba(0, 0, 0, .8), 0 2px 4px #000;
  }
	.hero .hero-copy .extra-p{color:#fff;}
  .hero .hero-copy .button { width: auto; min-width: 0; min-height: 48px; padding: 12px 24px; font-size: 20px; }
  .hero.sv-layered-hero { background-size: cover; }
  .hero.sv-layered-hero:not(.sv-has-foreground) .hero-copy { padding-bottom: 40px; }
  .hero .hero-foreground { width: 100%; height: 320px; object-position: center bottom; }
}

/* Homepage product carousel: retain card styling as the catalogue grows. */
/* Modest typography reduction, scoped to the custom homepage. */
body.home .section-title h2 { font-size: clamp(34px, 4.9vw, 70px); }
body.home .shopping .section-title h2 { font-size: clamp(34px, 5.4vw, 78px); }
body.home .section-title p { font-size: clamp(15px, 1.6vw, 23px); }
body.home .shop-options h3 { font-size: clamp(21px, 2.4vw, 34px); }
body.home .shop-options p { font-size: clamp(16px, 1.8vw, 21px); line-height: 1.4; }
body.home .shop-options .button { font-size: clamp(18px, 2.1vw, 30px); }
body.home .people-copy h2 { font-size: clamp(28px, 4.1vw, 59px); }
body.home .people-copy > p { font-size: clamp(14px, 1.5vw, 22px); line-height: 1.4; }
body.home .community h2 { font-size: clamp(42px, 6.7vw, 96px); margin-bottom: -0.3em;}
body.home .community-copy > p { font-size: clamp(16px, 1.9vw, 26px); line-height: 1.4; }
@media (max-width: 700px) {
  body.home .section-title h2 { font-size: clamp(27px, 7.2vw, 38px); }
  body.home .shopping .section-title h2 { font-size: clamp(23px, 5.9vw, 39px); }
  body.home .shop-options h3 { font-size: 22px; }
  body.home .shop-options p { font-size: 16px; }
  body.home .shop-options .button { font-size: 19px; }
  body.home .people-copy h2 { font-size: 33px; }
  body.home .people-copy > p { font-size: 16px; }
  body.home .community h2 { font-size: clamp(40px, 10.6vw, 70px); }
  body.home .community-copy > p { font-size: 17px; }
}

#products.product-slider {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 64px) / 5);
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  padding: 8px 0;
}
.sv-registered-word { white-space: nowrap; }
.sv-registered-word > sup.sv-registration {
  position: relative;
  top: -.45em;
  margin-left: .08em;
  font-family: Arial, sans-serif;
  font-size: .48em;
  font-weight: 400;
  line-height: 0;
  vertical-align: baseline;
  letter-spacing: 0;
}
#products.product-slider::-webkit-scrollbar { display: none; }
#products.product-slider > .product {
  min-width: 0;
  width: auto;
  grid-column: auto;
  justify-self: stretch;
  scroll-snap-align: start;
}
#products.product-slider:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.product-slider-controls { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin-top: 20px; }
.product-slider-controls:not([hidden]) + #products.product-slider { margin-top: 12px; }
.product-slider-controls[hidden] { display: none; }
.product-slider-controls button {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid var(--yellow);
  border-radius: 50%;
  background: var(--yellow);
  color: var(--black);
  font-size: 24px;
  line-height: 1;
}
.product-slider-controls button:hover:not(:disabled) { background: var(--green); border-color: var(--green); color: #fff; }
.product-slider-controls button:disabled { opacity: .35; cursor: default; }
.product-slider-status { min-width: 80px; text-align: center; font-size: 14px; font-weight: 600; }
@media (max-width: 1000px) {
  #products.product-slider { grid-auto-columns: calc((100% - 32px) / 3); }
}
@media (max-width: 700px) {
  #products.product-slider { grid-auto-columns: calc((100% - 12px) / 2); gap: 12px; }
	.sv-product-image{
		height: 300px !important;
	}
}
@media (max-width: 420px) {
  #products.product-slider { grid-auto-columns: 100%; }
}
