/* FREEGO v43 - concrete final HTML/CSS polish */

:root{
  --freego-soft-radius:28px;
  --freego-card-radius:30px;
}

/* 1. MAIN PRODUCTS: Premium and Sugar Free cans visually equal and exactly centered. */
.product-showcase-hero .orbit-can-wrap,
.product-orbit-showcase .orbit-can-wrap{
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
}
.product-showcase-hero .animated-can,
.product-orbit-showcase .animated-can{
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  transform-origin:center center !important;
  width:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
}
/* Premium artwork has more transparent/visible height than Sugar Free, so reduce it to match visual can size. */
.product-showcase-hero .animated-can[data-product-img="premium"],
.product-orbit-showcase .animated-can[data-product-img="premium"]{
  height:clamp(368px,47.9vh,522px) !important;
}
.product-showcase-hero .animated-can[data-product-img="sugarfree"],
.product-orbit-showcase .animated-can[data-product-img="sugarfree"]{
  height:clamp(430px,56vh,610px) !important;
}
@media(max-width:900px){
  .product-showcase-hero .animated-can[data-product-img="premium"],
  .product-orbit-showcase .animated-can[data-product-img="premium"]{
    height:clamp(282px,45vw,394px) !important;
  }
  .product-showcase-hero .animated-can[data-product-img="sugarfree"],
  .product-orbit-showcase .animated-can[data-product-img="sugarfree"]{
    height:clamp(330px,52vw,460px) !important;
  }
}
@media(max-width:640px){
  .product-showcase-hero .animated-can[data-product-img="premium"],
  .product-orbit-showcase .animated-can[data-product-img="premium"]{
    height:clamp(232px,54vw,299px) !important;
  }
  .product-showcase-hero .animated-can[data-product-img="sugarfree"],
  .product-orbit-showcase .animated-can[data-product-img="sugarfree"]{
    height:clamp(272px,63vw,350px) !important;
  }
}

/* 2. MAIN GO Moments: lighter video shadow and desktop text aligned to gallery left edge. */
body.home-top .go-moments-full{
  overflow:hidden !important;
}
body.home-top .go-moments-full .freego-go-main-video-overlay{
  background:linear-gradient(180deg,rgba(3,5,39,.42),rgba(3,5,39,.32) 44%,rgba(3,5,39,.56)) !important;
  opacity:.86 !important;
}
@media(min-width:1200px){
  body.home-top .go-moments-full .container{
    width:min(1500px,calc(100% - 180px)) !important;
    max-width:1500px !important;
  }
}
@media(min-width:1600px){
  body.home-top .go-moments-full .container{
    width:min(1540px,calc(100% - 260px)) !important;
  }
}
body.home-top .go-moments-full .main-go-heading,
body.home-top .go-moments-full .h2{
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
  justify-content:flex-start !important;
}
body.home-top .go-moments-full .h2{
  max-width:760px !important;
}

/* 3. MAIN GO Moments gallery: labels above images; small captions stay on images. */
body.home-top .go-moments-full .moments.go-gallery-v20{
  background:transparent !important;
  border:0 !important;
  gap:clamp(20px,2.3vw,42px) !important;
  align-items:start !important;
}
body.home-top .go-moments-full .moment-tile{
  display:grid !important;
  gap:14px !important;
  min-width:0 !important;
}
body.home-top .go-moments-full .moment-title-above{
  position:relative !important;
  z-index:3 !important;
  margin:0 !important;
  font-family:var(--font-head) !important;
  font-size:clamp(1.05rem,1.3vw,1.65rem) !important;
  line-height:.92 !important;
  text-transform:uppercase !important;
  letter-spacing:.10em !important;
  color:var(--freego-gold,#d9b65a) !important;
}
body.home-top .go-moments-full .moment-card{
  width:100% !important;
  min-height:clamp(330px,27vw,500px) !important;
  border-radius:var(--freego-card-radius) !important;
  overflow:hidden !important;
  background-size:cover !important;
  background-position:center !important;
  display:flex !important;
  justify-content:flex-end !important;
  padding:clamp(22px,2vw,34px) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.28) !important;
}
body.home-top .go-moments-full .moment-card h3{display:none !important;}
body.home-top .go-moments-full .moment-card::before{
  border-radius:inherit !important;
  background:linear-gradient(180deg,rgba(3,5,39,.02),rgba(3,5,39,.22) 46%,rgba(3,5,39,.82)) !important;
}
body.home-top .go-moments-full .moment-card::after{
  border-radius:inherit !important;
  filter:blur(22px) !important;
  opacity:.52 !important;
}
body.home-top .go-moments-full .moment-card p{
  position:relative !important;
  z-index:3 !important;
  margin:0 !important;
}
@media(max-width:900px){
  body.home-top .go-moments-full .moments.go-gallery-v20{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }
  body.home-top .go-moments-full .moment-card{
    min-height:clamp(230px,44vw,360px) !important;
  }
}
@media(max-width:520px){
  body.home-top .go-moments-full .moment-title-above{
    font-size:.92rem !important;
  }
  body.home-top .go-moments-full .moment-card{
    min-height:210px !important;
    border-radius:24px !important;
  }
}

/* 4. GLOBAL stats: rounded frames like lower action cards. */
.global-bg-section .stats{
  gap:clamp(12px,1.2vw,20px) !important;
  background:transparent !important;
  border:0 !important;
}
.global-bg-section .stat{
  border:1px solid rgba(217,182,90,.18) !important;
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.026)) !important;
  border-radius:var(--freego-card-radius) !important;
  box-shadow:0 24px 70px rgba(0,0,0,.18) !important;
  overflow:hidden !important;
}

/* 5. GO Moments page hero buttons and all CTA buttons rounded. */
.page-go-moments .gm-btn,
.page-go-moments .gm-btn-primary,
.page-go-moments .gm-btn-ghost,
.page-go-moments .gm-final-cta .gm-btn,
.page-contact .btn,
.page-contact button,
.product-stable-next,
.global-action-card,
.mobile-panel a{
  border-radius:var(--freego-soft-radius) !important;
}

/* 6. GO Moments page: About FREEGO spans wider on desktop. */
@media(min-width:1000px){
  .page-go-moments .gm-about .gm-container{
    width:min(1640px,calc(100% - 92px)) !important;
    max-width:1640px !important;
  }
  .page-go-moments .gm-about .gm-copy{
    max-width:none !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
    column-gap:clamp(64px,8vw,150px) !important;
    row-gap:18px !important;
    align-items:start !important;
  }
  .page-go-moments .gm-about .gm-copy .gm-eyebrow,
  .page-go-moments .gm-about .gm-copy .gm-heading,
  .page-go-moments .gm-about .gm-copy .gm-accent-line{
    grid-column:1 !important;
  }
  .page-go-moments .gm-about .gm-copy p{
    grid-column:2 !important;
    max-width:720px !important;
    margin:0 !important;
  }
}

/* 7. The meaning behind FREEGO: logo larger, centered in its own field; mobile also larger. */
.page-go-moments .gm-logo-meaning .gm-meaning-logo{
  display:grid !important;
  place-items:center !important;
  min-height:clamp(260px,32vw,500px) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.page-go-moments .gm-logo-meaning .gm-meaning-logo img{
  width:clamp(300px,32vw,560px) !important;
  max-width:min(92%,560px) !important;
  margin:auto !important;
  display:block !important;
}
@media(max-width:900px){
  .page-go-moments .gm-logo-meaning .gm-meaning-logo{
    min-height:220px !important;
  }
  .page-go-moments .gm-logo-meaning .gm-meaning-logo img{
    width:min(84vw,340px) !important;
    max-width:340px !important;
  }
}

/* 8. Contact: rounded frames; mobile form uses full page width. */
.page-contact .contact-form-card,
.page-contact .contact-info-panel,
.page-contact .field input,
.page-contact .field textarea,
.page-contact .recaptcha2-placeholder,
.page-contact .map,
.page-contact .address,
.page-contact .contact-side-map,
.page-contact .contact-info-row{
  border-radius:var(--freego-soft-radius) !important;
  overflow:hidden !important;
}
@media(max-width:760px){
  .page-contact .contact-page-section .container{
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .page-contact .contact-heading{
    width:calc(100% - 30px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .page-contact .contact-main-grid{
    width:100% !important;
    gap:24px !important;
  }
  .page-contact .contact-form-card{
    width:100% !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
    padding-left:15px !important;
    padding-right:15px !important;
  }
  .page-contact .contact-info-panel{
    width:calc(100% - 30px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* 9. Global action cards and social icons remain rounded/circular. */
.footer-socials a,
.socials a{
  border-radius:50% !important;
}
.global-action-card{
  border-radius:var(--freego-card-radius) !important;
}
