:root {
  --h0-font-size:calc(var(--title-scale) * 90px);
  --h0-line-height:calc(var(--title-scale) * 106%);

  --h1-font-size:calc(var(--title-scale) * 50px);
  --h1-line-height:calc(var(--title-scale) * 54px);

  --h2-font-size:calc(var(--title-scale) * 46px);
  --h2-line-height:calc(var(--title-scale) * 50px);

  --h3-font-size:calc(var(--title-scale) * 34px);
  --h3-line-height:calc(var(--title-scale) * 38px);

  --h4-font-size:calc(var(--title-scale) * 26px);
  --h4-line-height:calc(var(--title-scale) * 32px);

  --h5-font-size:calc(var(--title-scale) * 22px);
  --h5-line-height:calc(var(--title-scale) * 26px);

  --h6-font-size:calc(var(--title-scale) * 18px);
  --h6-line-height:calc(var(--title-scale) * 22px);

  --text-1-font-size:calc(var(--body-scale) * 18px);
  --text-1-line-height:calc(var(--body-scale) * 22px);

  --text-2-font-size:calc(var(--body-scale) * 14px);
  --text-2-line-height:calc(var(--body-scale) * 18px);

  --text-3-font-size:calc(var(--body-scale) * 16px);
  --text-3-line-height:calc(var(--body-scale) * 18px);

  --text-4-font-size:calc(var(--body-scale) * 12px);
  --text-4-line-height:calc(var(--body-scale) * 16px);

  --text-5-font-size:calc(var(--body-scale) * 10px);
  --text-5-line-height:calc(var(--body-scale) * 14px);

  --text-price-1-font-size:calc(var(--body-scale) * 32px);
  --text-price-1-line-height:calc(var(--body-scale) * 36px);

  --text-price-2-font-size:calc(var(--body-scale) * 18px);
  --text-price-2-line-height:calc(var(--body-scale) * 22px);

  --text-button-1-font-size:calc(var(--body-scale) * 14px);
  --text-button-1-line-height:calc(var(--body-scale) * 18px);

  --text-button-2-font-size:calc(var(--body-scale) * 16px);
  --text-button-2-line-height:calc(var(--body-scale) * 20px);

  --page-padding:40px;
}

html,
body{
  font-family: var(--body-font);
  font-size:var(--text-3-font-size);
  line-height:var(--text-3-line-height);
}

h1,h2,h3,h4,h5,h6,p{
  margin:0;
  font-weight:400;
}

h1,h2,h3,h4,h5,h6,
.font-h0,.font-h1,.font-h2,.font-h3,.font-h4,.font-h5,.font-h6{
  text-transform: var(--title-transform);
}

.font-h0{
  font-size:var(--h0-font-size);
  line-height:var(--h0-line-height);
  font-family: var(--title-font);
}

h1,.font-h1{
  font-size:var(--h1-font-size);
  line-height:var(--h1-line-height);
  font-family: var(--title-font);
  font-weight: 600;
}

h2,.font-h2{
  font-size:var(--h2-font-size);
  line-height:var(--h2-line-height);
  font-family: var(--title-font);
  font-weight: 600;
}

h3,.font-h3{
  font-size:var(--h3-font-size);
  line-height:var(--h3-line-height);
  font-family: var(--title-font);
  font-weight: 600;
}

h4,.font-h4{
  font-size:var(--h4-font-size);
  line-height:var(--h4-line-height);
  font-family: var(--title-font);
  font-weight: 600;
}

h5,.font-h5{
  font-size:var(--h5-font-size);
  line-height:var(--h5-line-height);
  font-family: var(--title-font);
  font-weight: 600;
}

h6,.font-h6{
  font-size:var(--h6-font-size);
  line-height:var(--h6-line-height);
  font-family: var(--title-font);
  font-weight: 600;
}

.font-text-1{
  font-size:var(--text-1-font-size);
  line-height:var(--text-1-line-height);
  font-family: var(--body-font);
  font-weight: 500;
}

.font-text-2{
  font-size:var(--text-2-font-size);
  line-height:var(--text-2-line-height);
  font-family: var(--body-font);
  font-weight: 500;
}

.font-text-3{
  font-size:var(--text-3-font-size);
  line-height:var(--text-3-line-height);
  font-family: var(--body-font);
  font-weight: 500;
}

.font-text-3-2{
  font-size:var(--text-3-font-size);
  line-height:var(--text-3-line-height);
  font-family: var(--body-font);
  font-weight: 600;
}

.font-text-4{
  font-size:var(--text-4-font-size);
  line-height:var(--text-4-line-height);
  font-family: var(--body-font);
  font-weight: 500;
}

.font-text-5{
  font-size:var(--text-5-font-size);
  line-height:var(--text-5-line-height);
  font-family: var(--body-font);
  font-weight: 500;
}

.font-price-1{
  font-size:var(--text-price-1-font-size);
  line-height:var(--text-price-1-line-height);
  font-family: var(--body-font);
  font-weight: 600;
}

.font-price-2{
  font-size:var(--text-price-2-font-size);
  line-height:var(--text-price-2-line-height);
  font-family: var(--body-font);
  font-weight: 600;
}

button,
.button{
  font-family: var(--button-font);
  font-size:var(--text-button-1-font-size);
  line-height:var(--text-button-1-line-height);
  text-transform: var(--button-transform);
  font-weight: 500;
  cursor: pointer;
}

.v-button{
  font-family: var(--button-font);
  font-size:var(--text-button-1-font-size);
  line-height:var(--text-button-1-line-height);
  text-transform: var(--button-transform);
  font-weight: 500;
  padding:15px 24px;
  color: rgb(var(--color-button-text));
  box-shadow: inset 0 0 0 var(--button-border-width, 1px) rgb(var(--color-button-border),0.3);
  background-color: rgb(var(--color-button-background));
  text-decoration: none;
  border: 0;
  overflow: hidden;
  display: flex;
  gap: 10px;
}

.v-button:hover,
.v-button.v-button--secondary{
  box-shadow: inset 0 0 0 var(--button-border-width, 1px) rgb(var(--color-button-secondary-border),0.3);
  color: rgb(var(--color-button-secondary-text));
  background-color: rgb(var(--color-button-secondary-background));
}

.v-button.rounded{
  border-radius:var(--button-border-radius);
}

.v-button .button-icon{
  position: relative;
  width: 9px;
  height: 9px;
  display: inline-block;
}

.v-button .button-icon .icon-1,
.v-button .button-icon .icon-2{
  transition: all 0.3s;
}
.v-button .button-icon .icon-1{
  position: absolute;
  opacity: 0;
  transform: translateX(-32px) translateY(32px);
}
.v-button .button-icon .icon-2{
  position: absolute;
  opacity: 1;
  transform: translateX(0px) translateY(0px);
}

.v-button:hover .icon-1{
  opacity: 1;
  transform: none;
}

.v-button:hover .icon-2{
  opacity: 0;
  transform: translateX(32px) translateY(-32px);
}

.font-button-1{
  font-family: var(--button-font);
  font-size:var(--text-button-1-font-size);
  line-height:var(--text-button-1-line-height);
  text-transform: var(--button-transform);
  font-weight: 500;
}

.font-button-2{
  font-family: var(--button-font);
  font-size:var(--text-button-2-font-size);
  line-height:var(--text-button-2-line-height);
  text-transform: var(--button-transform);
  font-weight: 500;
}
.empty-image-class{
  background-color: rgba(var(--color-text), 0.05);
  width:100%;
  height:100%;
}

section{
  background-color: rgba(var(--color-background));
}

img{
  max-width: 100%;
  height: 100%;
  object-fit:cover;
}

.w100{
  width: 100%;
}

.h100{
  height: 100%;
}

v-image{
  width: 100%;
  height: 100%;
  display: flex;
  aspect-ratio: var(--aspect-ratio);
}

v-image .placeholder{
  background-color: rgba(43,43,43,0.2);
}
.fit-contain{
  object-fit:contain;
}
.fit-fill{
  object-fit: fill;
}
.fit-cover{
  object-fit: cover;
}
.min-w-full {
  min-width: 100%;
}

.max-w-full {
  max-width: 100%;
}

.max-w-2xs {
  max-width: 365px;
}

.max-w-xs {
  max-width: 530px;
}

.max-w-sm {
  max-width: 672px;
}

.max-w-md {
  max-width: 864px;
}

.max-w-lg {
  max-width: 1024px;
}

.max-w-xl {
  max-width: 1216px;
}

.max-w-2xl {
  max-width: 1376px;
}

.font-weight-700{
  font-weight: 700;
}
.font-weight-600{
  font-weight: 600;
}
.font-weight-500{
  font-weight: 500;
}
.font-weight-400{
  font-weight: 400;
}
.font-weight-300{
  font-weight: 300;
}

.opacity-10{
  opacity: 1;
}
.opacity-9{
  opacity: 0.9;
}
.opacity-8{
  opacity: 0.8;
}
.opacity-7{
  opacity: 0.7;
}
.opacity-6{
  opacity: 0.6;
}
.opacity-5{
  opacity: 0.5;
}
.opacity-4{
  opacity: 0.5;
}
.opacity-3{
  opacity: 0.3;
}
.opacity-2{
  opacity: 0.2;
}
.opacity-1{
  opacity: 0.1;
}

.page-padding{
    padding-inline: var(--page-padding);
}

.page-width{
    width: 100%;
    max-width: var(--page-width);
    margin: auto;
}

.block-richtext{
  color: var(--color-light-text);
}

/* @media(min-width:1440px){
  :root {
    --h0-font-size:calc(var(--title-scale) * 90px);
    --h1-font-size:calc(var(--title-scale) * 60px);
    --h2-font-size:calc(var(--title-scale) * 48px);
    --h3-font-size:calc(var(--title-scale) * 36px);
    --h4-font-size:calc(var(--title-scale) * 24px);
    --h5-font-size:calc(var(--title-scale) * 18px);

    --text-1-font-size:calc(var(--body-scale) * 20px);
    --text-2-font-size:calc(var(--body-scale) * 18px);
    --text-3-font-size:calc(var(--body-scale) * 16px);
    --text-4-font-size:calc(var(--body-scale) * 14px);
    --text-5-font-size:calc(var(--body-scale) * 12px);

    --text-price-font-size:calc(var(--body-scale) * 18px);
    --text-button-font-size:calc(var(--body-scale) * 16px);
  }
} */

/* @media (max-width: 1024px) {
  :root {
    --h0-font-size:calc(var(--title-scale) * 80px);
    --h1-font-size:calc(var(--title-scale) * 58px);
    --h2-font-size:calc(var(--title-scale) * 48px);
    --h3-font-size:calc(var(--title-scale) * 38px);
    --h4-font-size:calc(var(--title-scale) * 26px);
    --h5-font-size:calc(var(--title-scale) * 20px);

    --text-1-font-size:calc(var(--body-scale) * 22px);
    --text-2-font-size:calc(var(--body-scale) * 20px);
    --text-3-font-size:calc(var(--body-scale) * 18px);
    --text-4-font-size:calc(var(--body-scale) * 16px);
    --text-5-font-size:calc(var(--body-scale) * 14px);
    --text-price-font-size:calc(var(--body-scale) * 20px);
    --text-button-font-size:calc(var(--body-scale) * 18px);

    --page-padding:35px;
  }
} */

@media (max-width: 959px) {
    :root {
        --h0-font-size:calc(var(--title-scale) * 10.6667vw);

        --h1-font-size:calc(var(--title-scale) * 6.6667vw);
        --h1-line-height:calc(var(--title-scale) * 7.2vw);

        --h2-font-size:calc(var(--title-scale) * 5.6vw);
        --h2-line-height:calc(var(--title-scale) * 6.1333vw);

        --h3-font-size:calc(var(--title-scale) * 4.8vw);
        --h3-line-height:calc(var(--title-scale) * 5.3333vw);

        --h4-font-size:calc(var(--title-scale) * 4.2667vw);
        --h4-line-height:calc(var(--title-scale) * 4.8vw);

        --h5-font-size:calc(var(--title-scale) * 4vw);
        --h5-line-height:calc(var(--title-scale) * 4.5333vw);

        --h6-font-size:calc(var(--title-scale) * 3.7333vw);
        --h6-line-height:calc(var(--title-scale) * 4.2667vw);

        --text-1-font-size:calc(var(--body-scale) * 3.7333vw);
        --text-1-line-height:calc(var(--body-scale) * 4.2667vw);

        --text-2-font-size:calc(var(--body-scale) * 3.4667vw);
        --text-2-line-height:calc(var(--body-scale) * 4vw);

        --text-3-font-size:calc(var(--body-scale) * 3.2vw);
        --text-3-line-height:calc(var(--body-scale) * 3.7333vw);

        --text-4-font-size:calc(var(--body-scale) * 2.9333vw);
        --text-4-line-height:calc(var(--body-scale) * 3.4667vw);

        --text-5-font-size:calc(var(--body-scale) * 2.6667vw);
        --text-5-line-height:calc(var(--body-scale) * 3.2vw);

        --text-price-1-font-size:calc(var(--body-scale) * 4.5333vw);
        --text-price-1-line-height:calc(var(--body-scale) * 5.0667vw);

        --text-price-2-font-size:calc(var(--body-scale) * 3.2vw);
        --text-price-2-line-height:calc(var(--body-scale) * 3.7333vw);

        --text-button-1-font-size:calc(var(--body-scale) * 3.2vw);
        --text-button-1-line-height:calc(var(--body-scale) * 3.4667vw);

        --text-button-2-font-size:calc(var(--body-scale) * 4vw);
        --text-button-2-line-height:calc(var(--body-scale) * 4.5333vw);

        --page-padding:20px;
    }

    .v-button{
        padding:2.1333vw 4vw;
    }
    .mobile-text-left{
        text-align: left;
    }
    .mobile-text-center{
        text-align: center;
    }
    .mobile-text-right{
        text-align: right;
    }
    v-image{
      aspect-ratio: var(--mobile-aspect-ratio);
    }
}

@media(min-width:960px){
    .pc-hidden{
        display: none !important;
    }
}

@media(max-width:959px){
    .mobile-hidden{
        display: none !important;
    }
}/* Air 2：清晰文字卡、两列参数、手机图文分开 */
#shopline-section-template--index__17786523392786c453f8 .dynamic-icon-and-text-group{width:460px!important;max-width:100%;box-sizing:border-box;padding:24px!important;background:rgba(255,255,255,.94);border-radius:12px;align-items:stretch!important}
#shopline-section-template--index__17786523392786c453f8 .dynamic-icon-and-text-group .title,#shopline-section-template--index__17786523392786c453f8 .dynamic-icon-and-text-group .description{color:#183449!important}
#shopline-section-template--index__17786523392786c453f8 .dynamic-icon-and-text-group>.title{padding-top:0!important}
#shopline-section-template--index__17786523392786c453f8 .dynamic-icon-and-text-group>.description{width:100%!important;max-width:none!important;line-height:1.5}
#shopline-section-template--index__17786523392786c453f8 .block-text-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%!important;align-items:start!important}
#shopline-section-template--index__17786523392786c453f8 .text-group-title-box{min-width:0}
#shopline-section-template--index__17786523392786c453f8 .v-button{background:#12364a!important;color:#fff!important;border-color:#12364a!important;min-height:44px}
@media(max-width:767px){#shopline-section-template--index__17786523392786c453f8 .dynamic-image-and-text{height:auto!important}
#shopline-section-template--index__17786523392786c453f8 .dynamic-image-and-text-bg{position:relative!important;inset:auto!important;width:100%!important;height:240px!important;padding:0!important}
#shopline-section-template--index__17786523392786c453f8 .dynamic-image-and-text-bg .v-image{height:100%!important;aspect-ratio:auto!important}
#shopline-section-template--index__17786523392786c453f8 .dynamic-image-and-text-bg img{height:100%!important;object-fit:cover}
#shopline-section-template--index__17786523392786c453f8 .dynamic-image-and-text-group{min-height:0!important;height:auto!important}
#shopline-section-template--index__17786523392786c453f8 .dynamic-group{padding:0!important;height:auto!important}
#shopline-section-template--index__17786523392786c453f8 .dynamic-icon-and-text-group{width:100%!important;background:#fff;border-radius:0 0 12px 12px}}
/* AINOTE 2: desktop features and CTA over the image. Append to public/base/global.css. */
@media(min-width:1024px){
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-container{position:relative;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-background-image-content{padding:30px 40px!important;justify-content:flex-start!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-background-image-content-text{width:43%!important;max-width:none!important;gap:16px!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-background-image-content-text .block-heading{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;font-size:clamp(26px,2.2vw,36px)!important;line-height:1.2!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-background-image-content-text .block-richtext{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;font-size:clamp(16px,1.25vw,18px)!important;line-height:1.45!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-info-container{position:absolute!important;left:40px;bottom:36px;width:43%!important;padding:0!important;margin:0!important;background:transparent!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:22px!important;z-index:2;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-icon-list{order:0;width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 24px!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-icon-item{min-width:0;justify-content:flex-start!important;align-items:center!important;gap:10px!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-icon-item .block-heading{min-width:0;margin:0!important;padding:0!important;color:#fff!important;font-size:16px!important;line-height:1.4!important;word-break:normal!important;overflow-wrap:normal!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-icon{width:30px!important;flex:0 0 30px;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-icon img{filter:brightness(0) invert(1);}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-price-button{order:1;width:auto!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-price-button .v-button{min-height:44px;white-space:nowrap;background:#fff!important;color:#12364a!important;border-color:#fff!important;}
}
/* Mobile/tablet: retain the separate panel so features do not cover the product. */
@media(max-width:1023px){
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-info-container{flex-direction:column!important;align-items:stretch!important;padding:24px 20px!important;gap:24px!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-icon-list{width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-icon-item{min-width:0;justify-content:flex-start!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-icon-item .block-heading{min-width:0;font-size:14px!important;line-height:1.4!important;word-break:normal!important;overflow-wrap:normal!important;}
#shopline-section-template--index__17653362722131a0e0aa .hot-picks-price-button .v-button{white-space:nowrap;min-height:44px;}
}
/* Mobile refinement: append once at the END of public/base/global.css.
   Scope: homepage hero, AINOTE 2, Air 2, reviews and blog.
   Keep previous Air 2 and AINOTE 2 layout rules.
   Based on inspected live computed styles; not yet applied to the theme. */
@media (max-width: 767px) {
  /* 1. Hero top spacing; tighten gaps so the CTA stays above the product. */
  #shopline-section-template--index__17639735212775ed2190 .slide_container {
    box-sizing: border-box;
    padding-top: 28px !important;
    gap: 16px !important;
    justify-content: flex-start !important;
  }
  #shopline-section-template--index__17639735212775ed2190 .slide_container > * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  #shopline-section-template--index__17639735212775ed2190 .slide_container > .block-richtext {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  #shopline-section-template--index__17639735212775ed2190 .slide_container > .v-button {
    margin-top: 8px !important;
  }

  /* 2. Hero and review pagination. Preserve the existing autoplay animation. */
  :is(#shopline-section-template--index__17639735212775ed2190,#shopline-section-template--index__1764554048084f3b60d1) .swiper-pagination-bullet {
    width: 6px !important;
    height: 6px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 999px !important;
    margin-inline: 4px !important;
    vertical-align: middle;
  }
  :is(#shopline-section-template--index__17639735212775ed2190,#shopline-section-template--index__1764554048084f3b60d1) .swiper-pagination-bullet-active {
    width: 22px !important;
  }
  :is(#shopline-section-template--index__17639735212775ed2190,#shopline-section-template--index__1764554048084f3b60d1) .swiper-pagination-bullet-active::after {
    height: 100% !important;
    border-radius: inherit;
  }

  /* 3. Center CTA labels and arrows within the existing button shapes. */
  :is(#shopline-section-template--index__17639735212775ed2190,#shopline-section-template--index__17653362722131a0e0aa,#shopline-section-template--index__17786523392786c453f8,#shopline-section-template--index__17648381860173cbce72) .v-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 10px 16px !important;
    line-height: 1.2 !important;
    white-space: nowrap;
  }
  :is(#shopline-section-template--index__17639735212775ed2190,#shopline-section-template--index__17653362722131a0e0aa,#shopline-section-template--index__17786523392786c453f8,#shopline-section-template--index__17648381860173cbce72) .v-button .button-icon {
    flex: 0 0 9px;
    align-self: center !important;
    line-height: 0;
  }
}
