/* APPV1_FRONTEND_MOBILE_UX_R6A_SERVER_COMPAT_20260905 */
/* APPV1_FRONTEND_MOBILE_UX_R6_20260905
   GemTrove public frontend + mobile UX authority.
   Additive only: preserves CMS, auth, cart and catalogue behavior.
*/
:root{
  --gt-r6-navy:#173b63;
  --gt-r6-ink:#142a43;
  --gt-r6-ivory:#fffdf8;
  --gt-r6-champagne:#d8bd8b;
  --gt-r6-line:#e5d8c3;
  --gt-r6-muted:#71695f;
}

/* Global appointment emphasis */
.gt-appointment-link>a{
  border-radius:999px!important;
  padding-inline:17px!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
}
.gt-appointment-link>a:hover{transform:translateY(-1px)}

/* Homepage refinement without changing CMS content/order */
.gt-homepage .gt-home-hero,
body.gt-homepage .gt-home-hero{
  min-height:clamp(520px,68vh,760px)!important;
}
.gt-homepage .gt-hero-content,
body.gt-homepage .gt-hero-content{
  max-width:720px!important;
  padding-top:clamp(70px,9vw,130px)!important;
  padding-bottom:clamp(70px,9vw,130px)!important;
}
.gt-homepage .gt-hero-title,
body.gt-homepage .gt-hero-title{
  letter-spacing:-.025em!important;
  line-height:.98!important;
  text-wrap:balance;
}
.gt-homepage .gt-hero-actions,
body.gt-homepage .gt-hero-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  align-items:center!important;
  margin-top:26px!important;
}
.gt-homepage .gt-home-section,
body.gt-homepage .gt-home-section{
  padding-top:clamp(58px,7vw,96px)!important;
  padding-bottom:clamp(58px,7vw,96px)!important;
}
.gt-homepage .gt-section-heading,
body.gt-homepage .gt-section-heading{
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.gt-homepage .gt-section-heading h2,
body.gt-homepage .gt-section-heading h2{
  color:var(--gt-r6-navy)!important;
  letter-spacing:-.02em!important;
  text-wrap:balance;
}
.gt-homepage .gt-category-card,
.gt-homepage .gt-editorial-card,
.gt-homepage .gt-review-card,
.gt-homepage .gt-journal-card,
body.gt-homepage .gt-category-card,
body.gt-homepage .gt-editorial-card,
body.gt-homepage .gt-review-card,
body.gt-homepage .gt-journal-card{
  border:1px solid var(--gt-r6-line)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 12px 34px rgba(23,59,99,.055)!important;
}
.gt-homepage .gt-category-card,
body.gt-homepage .gt-category-card{
  transition:transform .22s ease,box-shadow .22s ease!important;
}
.gt-homepage .gt-category-card:hover,
body.gt-homepage .gt-category-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 42px rgba(23,59,99,.085)!important;
}
.gt-homepage .gt-shape-card,
body.gt-homepage .gt-shape-card{
  border:1px solid #ebe1d2!important;
  border-radius:16px!important;
  background:var(--gt-r6-ivory)!important;
  transition:transform .18s ease,border-color .18s ease!important;
}
.gt-homepage .gt-shape-card:hover,
body.gt-homepage .gt-shape-card:hover{
  border-color:var(--gt-r6-champagne)!important;
  transform:translateY(-2px)!important;
}
.gt-homepage .gt-story-panel,
body.gt-homepage .gt-story-panel{
  background:linear-gradient(135deg,#fffaf1 0%,#fffdf9 55%,#f4ede2 100%)!important;
  border-block:1px solid #eadfce!important;
}
.gt-homepage .gt-story-grid,
body.gt-homepage .gt-story-grid{
  align-items:center!important;
  gap:clamp(34px,6vw,90px)!important;
}
.gt-homepage .gt-lux-btn,
body.gt-homepage .gt-lux-btn{
  min-height:46px!important;
  border-radius:999px!important;
}



/* Direct homepage selector authority: works even when the layout body has no homepage marker */
.gt-home-hero{min-height:clamp(520px,68vh,760px)!important}
.gt-hero-content{max-width:720px!important;padding-top:clamp(70px,9vw,130px)!important;padding-bottom:clamp(70px,9vw,130px)!important}
.gt-hero-title{letter-spacing:-.025em!important;line-height:.98!important;text-wrap:balance}
.gt-hero-actions{display:flex!important;flex-wrap:wrap!important;gap:14px!important;align-items:center!important;margin-top:26px!important}
.gt-home-section{padding-top:clamp(58px,7vw,96px)!important;padding-bottom:clamp(58px,7vw,96px)!important}
.gt-category-card,.gt-editorial-card,.gt-review-card,.gt-journal-card{border:1px solid var(--gt-r6-line)!important;border-radius:22px!important;overflow:hidden!important;box-shadow:0 12px 34px rgba(23,59,99,.055)!important}
.gt-shape-card{border:1px solid #ebe1d2!important;border-radius:16px!important;background:var(--gt-r6-ivory)!important}
.gt-story-panel{background:linear-gradient(135deg,#fffaf1 0%,#fffdf9 55%,#f4ede2 100%)!important;border-block:1px solid #eadfce!important}

/* Desktop brand footprint: smaller logo and tighter header rhythm */
@media(min-width:761px){
  .gt-brand-row{
    min-height:70px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  .gt-brand-logo{
    max-width:190px!important;
  }
  .gt-brand-logo img{
    width:auto!important;
    max-width:190px!important;
    max-height:42px!important;
    object-fit:contain!important;
  }
}

/* CMS/content pages — additive reading and card treatment */
.gt-content-page,
.gt-cms-page,
.gt-page-content{
  color:var(--gt-r6-ink);
}
.gt-content-page>h1,
.gt-cms-page>h1,
.gt-page-content>h1{
  color:var(--gt-r6-navy)!important;
  letter-spacing:-.025em!important;
  line-height:1.02!important;
  text-wrap:balance;
}
.gt-content-page p,
.gt-cms-page p,
.gt-page-content p{
  line-height:1.72!important;
}
.gt-content-page .gt-card,
.gt-cms-page .gt-card,
.gt-page-content .gt-card{
  border:1px solid var(--gt-r6-line)!important;
  border-radius:20px!important;
  box-shadow:0 10px 30px rgba(23,59,99,.05)!important;
}
.gt-content-page img,
.gt-cms-page img,
.gt-page-content img{
  border-radius:18px;
}
.gt-content-page a:not(.gt-btn),
.gt-cms-page a:not(.gt-btn),
.gt-page-content a:not(.gt-btn){
  text-underline-offset:3px;
}

/* Contact Us */
.gt-contact-page{
  color:var(--gt-r6-ink);
}
.gt-r6-contact-appointment{
  max-width:820px;
  margin:26px auto 34px;
  padding:30px clamp(22px,4vw,44px);
  border:1px solid var(--gt-r6-line);
  border-radius:24px;
  background:linear-gradient(135deg,#fffaf0,#fffdf8 62%,#f4ede1);
  box-shadow:0 16px 42px rgba(23,59,99,.07);
  text-align:center;
}
.gt-r6-contact-appointment h2{
  margin:6px 0 10px;
  color:var(--gt-r6-navy);
  font-size:clamp(28px,4vw,42px);
  line-height:1.02;
}
.gt-r6-contact-appointment p{
  max-width:680px;
  margin:0 auto 16px;
  color:var(--gt-r6-muted);
}
.gt-r6-eyebrow{
  color:#9c7438!important;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:12px!important;
  font-weight:700;
}
.gt-r6-appointment-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  background:var(--gt-r6-navy);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:700;
}

/* Mobile: compact announcement + useful header */
@media(max-width:760px){
  .gt-announcement{
    height:31px!important;
    min-height:31px!important;
    max-height:31px!important;
    overflow:hidden!important;
    display:block!important;
  }
  .gt-announcement-inner{
    height:31px!important;
    min-height:31px!important;
    padding:0!important;
    overflow:hidden!important;
    display:block!important;
    white-space:nowrap!important;
  }
  .gt-announcement--text{
    display:inline-flex!important;
    align-items:center!important;
    min-height:31px!important;
    width:max-content!important;
    padding-left:100vw!important;
    padding-right:36px!important;
    white-space:nowrap!important;
    font-size:12px!important;
    line-height:31px!important;
    animation:gtR6AnnouncementTicker 18s linear infinite!important;
    will-change:transform;
  }

  .gt-site-header{position:relative!important}
  .gt-brand-row{
    position:relative!important;
    min-height:58px!important;
    padding:5px 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .gt-brand-logo{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:132px!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .gt-brand-logo img{
    width:auto!important;
    max-width:132px!important;
    max-height:32px!important;
    object-fit:contain!important;
  }
  .gt-mobile-menu-button{
    position:absolute!important;
    left:8px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    min-width:44px!important;
    min-height:44px!important;
    margin:0!important;
    z-index:4!important;
  }
  .gt-mobile-menu-button em{font-size:10px!important}

  .gt-header-account{
    display:flex!important;
    position:absolute!important;
    right:7px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:3px!important;
    width:auto!important;
    max-width:142px!important;
    margin:0!important;
    padding:0!important;
    z-index:5!important;
  }
  .gt-header-account>a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:38px!important;
    min-height:44px!important;
    padding:4px 6px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:11px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }
  .gt-header-account>a:first-child{
    max-width:72px!important;
    font-size:10px!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .gt-header-account>a[href*="wishlist"]{
    display:none!important;
  }

  .gt-primary-nav{
    max-height:calc(100dvh - 89px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  .gt-primary-menu{padding-top:8px!important}
  .gt-primary-menu .gt-brand-logo,
  .gt-primary-nav .gt-brand-logo{
    max-width:110px!important;
  }

  .gt-homepage .gt-home-hero,
  body.gt-homepage .gt-home-hero{
    min-height:500px!important;
  }
  .gt-homepage .gt-hero-content,
  body.gt-homepage .gt-hero-content{
    padding:62px 20px!important;
  }
  .gt-homepage .gt-hero-title,
  body.gt-homepage .gt-hero-title{
    font-size:clamp(40px,12vw,54px)!important;
  }
  .gt-homepage .gt-home-section,
  body.gt-homepage .gt-home-section{
    padding-top:54px!important;
    padding-bottom:54px!important;
  }
  .gt-homepage .gt-category-card,
  body.gt-homepage .gt-category-card{
    min-height:390px!important;
    border-radius:18px!important;
  }
  .gt-homepage .gt-shape-grid,
  body.gt-homepage .gt-shape-grid{
    gap:8px!important;
  }
  .gt-homepage .gt-shape-card,
  body.gt-homepage .gt-shape-card{
    border-radius:12px!important;
    padding:10px 6px!important;
  }
}

@keyframes gtR6AnnouncementTicker{
  from{transform:translateX(0)}
  to{transform:translateX(-100%)}
}

@media(prefers-reduced-motion:reduce){
  .gt-announcement--text{
    animation:none!important;
    transform:none!important;
    padding-left:12px!important;
  }
  .gt-homepage .gt-category-card,
  body.gt-homepage .gt-category-card,
  .gt-homepage .gt-shape-card,
  body.gt-homepage .gt-shape-card{
    transition:none!important;
  }
}
