/* The Special Gift Shop PWA, mobile install and app-style layout support v2.5.0 */
:root{
  --tsgs-app-green:#62b51f;
  --tsgs-app-dark:#25362c;
  --tsgs-app-muted:#607064;
  --tsgs-app-line:#dfead9;
  --tsgs-app-soft:#f4fbf0;
  --tsgs-app-shadow:0 22px 60px rgba(25,55,34,.18);
}

html.tsgs-standalone,
html.tsgs-standalone body{
  overscroll-behavior-y:none;
}

body.tsgs-app-mode{
  padding-bottom:calc(82px + env(safe-area-inset-bottom,0px));
  -webkit-tap-highlight-color:rgba(98,181,31,.16);
}

.tsgs-pwa-offline-banner{
  position:fixed;
  left:16px;
  right:16px;
  bottom:calc(86px + env(safe-area-inset-bottom,0px));
  z-index:10020;
  display:none;
  max-width:620px;
  margin:0 auto;
  padding:12px 16px;
  border:1px solid #c8ddb8;
  border-radius:18px;
  background:#fff;
  color:#2d3b31;
  box-shadow:0 18px 42px rgba(20,45,30,.16);
  text-align:center;
  font-weight:800;
}
body.is-offline .tsgs-pwa-offline-banner{display:block;}

.tsgs-app-bottom-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9990;
  display:none;
  padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));
  background:rgba(255,255,255,.96);
  border-top:1px solid rgba(208,225,203,.9);
  box-shadow:0 -14px 38px rgba(28,58,38,.12);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.tsgs-app-bottom-nav-inner{
  width:min(560px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
}
.tsgs-app-bottom-nav a{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  padding:8px 6px 7px;
  border-radius:18px;
  color:#425047;
  text-decoration:none!important;
  font-size:11px;
  font-weight:900;
}
.tsgs-app-bottom-nav a svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tsgs-app-bottom-nav a.is-active,
.tsgs-app-bottom-nav a:active{
  background:linear-gradient(180deg,#f1faec,#fff);
  color:#348516;
}
.tsgs-app-nav-count{
  position:absolute;
  top:4px;
  right:calc(50% - 27px);
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:var(--tsgs-app-green);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  line-height:18px;
  box-shadow:0 8px 18px rgba(98,181,31,.24);
}

.tsgs-pwa-card{
  position:fixed;
  left:16px;
  right:16px;
  bottom:calc(94px + env(safe-area-inset-bottom,0px));
  z-index:10010;
  max-width:500px;
  margin:0 auto;
  display:none;
  gap:14px;
  align-items:flex-start;
  padding:17px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--tsgs-app-line);
  box-shadow:var(--tsgs-app-shadow);
}
.tsgs-pwa-card.is-open{display:flex;}
.tsgs-pwa-card[hidden]{display:none!important;}
.tsgs-pwa-card-logo{
  width:50px;
  height:50px;
  flex:0 0 50px;
  border-radius:16px;
  object-fit:contain;
  background:var(--tsgs-app-soft);
  padding:4px;
}
.tsgs-pwa-card-content{flex:1;min-width:0;}
.tsgs-pwa-card h2{
  margin:0 0 5px;
  color:var(--tsgs-app-dark);
  font-size:19px;
  line-height:1.1;
}
.tsgs-pwa-card p{
  margin:0 0 12px;
  color:var(--tsgs-app-muted);
  font-size:13.5px;
  line-height:1.45;
}
.tsgs-pwa-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.tsgs-pwa-card .btn{
  padding:10px 16px!important;
  min-height:42px;
  font-size:13px;
  box-shadow:none!important;
}
.tsgs-pwa-card-close{
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:#f4f8f2;
  color:#4b5a50;
  font-size:22px;
  line-height:34px;
  cursor:pointer;
}
.tsgs-ios-help{
  display:none;
  margin-top:10px!important;
  padding:10px 12px;
  border-radius:14px;
  background:#f7fbf5;
  border:1px solid #e1ecd9;
  color:#526259!important;
}
.tsgs-pwa-card.is-ios .tsgs-ios-help{display:block;}

.tsgs-offline-page{
  min-height:62vh;
  display:grid;
  place-items:center;
}
.tsgs-offline-panel{
  width:min(720px,100%);
  text-align:center;
  background:linear-gradient(180deg,#fff,#f8fcf6);
  border:1px solid var(--tsgs-app-line);
  border-radius:32px;
  box-shadow:0 24px 70px rgba(24,65,36,.10);
  padding:46px 28px;
}
.tsgs-offline-icon{
  width:74px;
  height:74px;
  margin:0 auto 16px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:#eefbe8;
  color:#4c9d21;
  font-size:42px;
  font-weight:900;
}
.tsgs-offline-panel h1{
  margin:0 0 10px;
  color:var(--tsgs-app-dark);
  font-size:clamp(32px,7vw,54px);
  letter-spacing:-.04em;
}
.tsgs-offline-panel p{
  max-width:560px;
  margin:0 auto 22px;
  color:var(--tsgs-app-muted);
  line-height:1.6;
}
.tsgs-offline-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}

@media(max-width:1120px){
  body:not(.admin-shell) .tsgs-app-bottom-nav{display:block;}
  body:not(.admin-shell) .approved-header{position:sticky;top:0;z-index:8000;}
  body:not(.admin-shell) main{padding-bottom:10px;}
  body:not(.admin-shell) .approved-mainbar-inner{padding-bottom:10px!important;}
  body:not(.admin-shell) .approved-search input{font-size:16px!important;}
  body:not(.admin-shell) .approved-quick{display:none!important;}
  .tsgs-pwa-card{left:12px;right:12px;bottom:calc(92px + env(safe-area-inset-bottom,0px));padding:14px;border-radius:22px;}
  .tsgs-pwa-card h2{font-size:18px;}
}

@media(max-width:430px){
  .tsgs-app-bottom-nav{padding-left:8px;padding-right:8px;}
  .tsgs-app-bottom-nav-inner{gap:4px;}
  .tsgs-app-bottom-nav a{border-radius:15px;font-size:10.5px;padding:7px 3px;}
  .tsgs-pwa-card-logo{display:none;}
}

/* Mobile/tablet-only navigation and layout cleanup v2.5.2 */
.tsgs-mobile-menu-toggle,
.tsgs-mobile-menu,
.tsgs-mobile-category-scroll{
  display:none;
}

@media(max-width:1120px){
  html,
  body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body:not(.admin-shell){
    min-height:100dvh!important;
    padding-bottom:0!important;
    overflow-y:auto!important;
    touch-action:auto!important;
  }

  body:not(.admin-shell) main{
    display:block!important;
    min-height:55vh!important;
    overflow:visible!important;
    padding-bottom:10px!important;
  }

  body.tsgs-mobile-menu-open{
    overflow:hidden!important;
    touch-action:none!important;
  }

  body:not(.admin-shell) .approved-topbar,
  body:not(.admin-shell) .approved-nav,
  body:not(.admin-shell) .approved-quick,
  body:not(.admin-shell) .approved-mainbar-inner > .approved-search{
    display:none!important;
  }

  body:not(.admin-shell) .approved-header{
    position:sticky!important;
    top:0!important;
    z-index:8000!important;
  }

  body:not(.admin-shell) .approved-mainbar{
    height:auto!important;
  }

  body:not(.admin-shell) .approved-mainbar-inner{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:calc(100% - 28px)!important;
    min-height:74px!important;
    padding:8px 0!important;
    gap:12px!important;
  }

  body:not(.admin-shell) .approved-brand{
    min-width:0!important;
    flex:1 1 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-direction:row!important;
    min-height:66px!important;
    height:auto!important;
  }

  body:not(.admin-shell) .approved-brand img{
    width:68px!important;
    height:68px!important;
    flex:0 0 68px!important;
    margin:0 8px 0 0!important;
  }

  body:not(.admin-shell) .approved-brand span{
    font-size:25px!important;
    line-height:.94!important;
    white-space:normal!important;
    max-width:230px!important;
    margin-left:0!important;
  }

  body:not(.admin-shell) .tsgs-mobile-menu-toggle{
    position:relative!important;
    right:auto!important;
    top:auto!important;
    transform:none!important;
    z-index:2!important;
    width:46px!important;
    height:46px!important;
    flex:0 0 46px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    border:1px solid #dfead9!important;
    border-radius:16px!important;
    background:#fff!important;
    color:#23332a!important;
    box-shadow:0 8px 20px rgba(28,58,38,.09)!important;
    cursor:pointer!important;
  }

  .tsgs-mobile-menu-toggle span{
    width:20px!important;
    height:2px!important;
    border-radius:999px!important;
    background:currentColor!important;
    display:block!important;
  }

  body:not(.admin-shell).tsgs-page-index .approved-hero-section{
    display:none!important;
  }

  body:not(.admin-shell) .approved-footer > .approved-frame,
  body:not(.admin-shell) .approved-footer-grid,
  body:not(.admin-shell) .approved-footer-five{
    display:none!important;
  }

  body:not(.admin-shell) .approved-footer{
    display:block!important;
    margin-top:0!important;
    border-top:0!important;
    background:transparent!important;
  }

  body:not(.admin-shell) .approved-copyright{
    display:block!important;
    padding:13px 14px calc(96px + env(safe-area-inset-bottom,0px))!important;
    font-size:11px!important;
    line-height:1.4!important;
  }

  body:not(.admin-shell) .approved-copyright-extra{
    display:none!important;
  }

  body:not(.admin-shell) .approved-cats-section{
    overflow:hidden!important;
    width:100%!important;
  }

  body:not(.admin-shell) .approved-cats-section .approved-cats{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    -webkit-overflow-scrolling:touch!important;
    padding:10px 2px 14px!important;
    margin:0!important;
    scrollbar-width:none!important;
  }

  body:not(.admin-shell) .approved-cats-section .approved-cats::-webkit-scrollbar{
    display:none!important;
  }

  body:not(.admin-shell) .approved-cats-section .approved-cat{
    flex:0 0 138px!important;
    width:138px!important;
    min-width:138px!important;
    scroll-snap-align:start!important;
  }

  body:not(.admin-shell) .approved-cats-section .approved-arrow{
    display:none!important;
  }

  body:not(.admin-shell) .shop-filter-bar{
    display:block!important;
    padding:0!important;
    margin:12px -18px 22px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  body:not(.admin-shell) .shop-filter-bar::before,
  body:not(.admin-shell) .shop-filter-bar::after,
  body:not(.admin-shell) .shop-filter-copy,
  body:not(.admin-shell) .shop-category-dropdown-wrap{
    display:none!important;
  }

  body:not(.admin-shell) .tsgs-mobile-category-scroll{
    display:flex!important;
    gap:10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:4px 18px 12px!important;
    margin:0!important;
    scrollbar-width:none!important;
  }

  body:not(.admin-shell) .tsgs-mobile-category-scroll::-webkit-scrollbar{
    display:none!important;
  }

  body:not(.admin-shell) .tsgs-mobile-category-scroll a{
    flex:0 0 auto!important;
    min-width:118px!important;
    max-width:170px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:10px 14px!important;
    border:1px solid #dcebd6!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#2d3a31!important;
    box-shadow:0 8px 18px rgba(31,73,42,.06)!important;
    text-decoration:none!important;
    font-size:13px!important;
    line-height:1.12!important;
    font-weight:900!important;
    text-align:center!important;
    scroll-snap-align:start!important;
    white-space:normal!important;
  }

  body:not(.admin-shell) .tsgs-mobile-category-scroll a.is-active{
    background:#eefbe8!important;
    border-color:#bfe5b6!important;
    color:#236b2d!important;
  }

  body:not(.admin-shell) .tsgs-mobile-menu{
    position:fixed!important;
    inset:0!important;
    z-index:10050!important;
    display:none!important;
    align-items:stretch!important;
    justify-content:flex-end!important;
    background:rgba(25,35,29,.42)!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity .2s ease,visibility .2s ease!important;
  }

  body:not(.admin-shell) .tsgs-mobile-menu.is-open{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
  }

  body:not(.admin-shell) .tsgs-mobile-menu-panel{
    width:min(380px,calc(100vw - 34px))!important;
    height:100dvh!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    background:#fff!important;
    box-shadow:-18px 0 45px rgba(22,34,26,.20)!important;
    padding:16px 16px calc(28px + env(safe-area-inset-bottom,0px))!important;
    transform:translateX(100%)!important;
    transition:transform .22s ease!important;
  }

  body:not(.admin-shell) .tsgs-mobile-menu.is-open .tsgs-mobile-menu-panel{
    transform:translateX(0)!important;
  }

  .tsgs-mobile-menu-head{
    display:grid!important;
    grid-template-columns:48px 1fr 40px!important;
    gap:10px!important;
    align-items:center!important;
    padding-bottom:14px!important;
    border-bottom:1px solid #edf3ec!important;
  }

  .tsgs-mobile-menu-head img{
    width:48px!important;
    height:48px!important;
    object-fit:contain!important;
    border-radius:14px!important;
    background:#f5fbf2!important;
  }

  .tsgs-mobile-menu-head strong{
    display:block!important;
    font-size:15px!important;
    color:#23332a!important;
  }

  .tsgs-mobile-menu-head span{
    display:block!important;
    margin-top:2px!important;
    color:#637169!important;
    font-size:12px!important;
  }

  .tsgs-mobile-menu-close{
    width:40px!important;
    height:40px!important;
    border:1px solid #dfead9!important;
    border-radius:50%!important;
    background:#fff!important;
    color:#25362c!important;
    font-size:28px!important;
    line-height:36px!important;
    cursor:pointer!important;
  }

  .tsgs-mobile-menu-search{
    margin:16px 0 14px!important;
  }

  .tsgs-mobile-menu-search label{
    display:block!important;
    margin:0 0 7px!important;
    color:#2f3c34!important;
    font-size:12px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.08em!important;
  }

  .tsgs-mobile-menu-search div{
    display:flex!important;
    min-height:46px!important;
    overflow:hidden!important;
    border:1px solid #dfead9!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 20px rgba(28,58,38,.07)!important;
  }

  .tsgs-mobile-menu-search input{
    min-width:0!important;
    flex:1!important;
    border:0!important;
    outline:0!important;
    padding:0 13px!important;
    font-size:16px!important;
    color:#23332a!important;
    background:#fff!important;
  }

  .tsgs-mobile-menu-search button{
    width:50px!important;
    border:0!important;
    background:#f5fbf2!important;
    color:#2d8f31!important;
    display:grid!important;
    place-items:center!important;
    cursor:pointer!important;
  }

  .tsgs-mobile-menu-search svg{
    width:20px!important;
    height:20px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.4!important;
    stroke-linecap:round!important;
  }

  .tsgs-mobile-menu-links{
    display:grid!important;
    gap:7px!important;
  }

  .tsgs-mobile-menu-links a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:44px!important;
    padding:11px 13px!important;
    border:1px solid #e4eee0!important;
    border-radius:15px!important;
    background:#fff!important;
    color:#26362d!important;
    text-decoration:none!important;
    font-size:14px!important;
    font-weight:800!important;
  }

  .tsgs-mobile-menu-links a:after{
    content:'›'!important;
    color:#62b51f!important;
    font-size:21px!important;
    line-height:1!important;
  }

  .tsgs-mobile-menu-links .tsgs-mobile-menu-main-link{
    background:#f4fbef!important;
    border-color:#d9edcf!important;
    color:#2d8f31!important;
  }

  .tsgs-mobile-menu-break{
    height:1px!important;
    margin:16px 0!important;
    background:#edf3ec!important;
  }

  .tsgs-mobile-menu-help a{
    background:#fbfdfb!important;
    color:#4a574f!important;
  }
}

@media(max-width:560px){
  body:not(.admin-shell) .approved-brand span{
    font-size:23px!important;
    max-width:190px!important;
  }

  body:not(.admin-shell) .approved-cats-section .approved-cat{
    flex-basis:124px!important;
    width:124px!important;
    min-width:124px!important;
  }

  body:not(.admin-shell) .tsgs-mobile-category-scroll a{
    min-width:108px!important;
    font-size:12.5px!important;
  }
}

/* Mobile/tablet scroll, orientation and category-scroll cues v2.5.3 */
@media(max-width:1120px){
  html{
    position:static!important;
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:scroll!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body:not(.admin-shell):not(.tsgs-mobile-menu-open){
    position:static!important;
    height:auto!important;
    min-height:100vh!important;
    min-height:100svh!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-y pinch-zoom!important;
  }

  body:not(.admin-shell) main,
  body:not(.admin-shell) .approved-frame,
  body:not(.admin-shell) .container{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  body:not(.admin-shell) .approved-cats-section,
  body:not(.admin-shell) .shop-filter-bar{
    position:relative!important;
  }

  body:not(.admin-shell) .approved-cats-section .approved-cats,
  body:not(.admin-shell) .tsgs-mobile-category-scroll{
    touch-action:pan-x pan-y pinch-zoom!important;
    overscroll-behavior-x:contain!important;
  }

  body:not(.admin-shell) .approved-cats-section::after,
  body:not(.admin-shell) .shop-filter-bar::after{
    content:'Swipe sideways →'!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    right:14px!important;
    z-index:3!important;
    min-height:28px!important;
    padding:6px 11px!important;
    border:1px solid #d7ead1!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.96)!important;
    color:#2f7f25!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.02em!important;
    box-shadow:0 10px 22px rgba(31,73,42,.12)!important;
    pointer-events:none!important;
  }

  body:not(.admin-shell) .approved-cats-section::after{
    top:8px!important;
  }

  body:not(.admin-shell) .shop-filter-bar::after{
    top:-10px!important;
  }

  body:not(.admin-shell) .approved-cats-section::before,
  body:not(.admin-shell) .shop-filter-bar::before{
    content:''!important;
    display:block!important;
    position:absolute!important;
    top:38px!important;
    right:0!important;
    bottom:10px!important;
    width:42px!important;
    z-index:2!important;
    background:linear-gradient(90deg,rgba(255,255,255,0),#fff 82%)!important;
    pointer-events:none!important;
  }

  body:not(.admin-shell) .shop-filter-bar::before{
    top:18px!important;
    bottom:6px!important;
  }
}

@media(min-width:641px) and (max-width:1120px) and (orientation:portrait){
  body:not(.admin-shell) .shop-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }

  body:not(.admin-shell) .shop-product-card .shop-card-image-wrap{
    margin:12px 12px 0!important;
  }
}

@media(min-width:768px) and (max-width:1120px) and (orientation:landscape){
  body:not(.admin-shell) .shop-product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
  }

  body:not(.admin-shell) .shop-product-card h3{
    font-size:14px!important;
  }

  body:not(.admin-shell) .approved-cats-section .approved-cat{
    flex-basis:calc((100% - 72px) / 7)!important;
    width:calc((100% - 72px) / 7)!important;
    min-width:132px!important;
  }
}

@media(max-width:560px){
  body:not(.admin-shell) .approved-cats-section::after,
  body:not(.admin-shell) .shop-filter-bar::after{
    right:10px!important;
    font-size:10.5px!important;
    padding:6px 9px!important;
  }
}


/* Mobile/tablet design corrections v2.5.4 */
.tsgs-mobile-back-wrap,
.tsgs-tablet-rotate-overlay{
  display:none;
}

@media(max-width:1120px){
  html,
  body,
  body:not(.admin-shell):not(.tsgs-mobile-menu-open){
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body:not(.admin-shell):not(.tsgs-mobile-menu-open){
    position:relative!important;
    touch-action:auto!important;
    overscroll-behavior-y:auto!important;
  }

  body:not(.admin-shell) main,
  body:not(.admin-shell) main > section,
  body:not(.admin-shell) .container,
  body:not(.admin-shell) .approved-frame{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  body:not(.admin-shell) .approved-cats-section::after,
  body:not(.admin-shell) .approved-reviews-section::after{
    content:'Swipe for more'!important;
    position:static!important;
    display:flex!important;
    width:max-content!important;
    min-height:0!important;
    margin:8px auto 0!important;
    padding:7px 13px!important;
    border:1px solid #d7ead1!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#2f7f25!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.02em!important;
    box-shadow:0 8px 18px rgba(31,73,42,.10)!important;
    pointer-events:none!important;
  }

  body:not(.admin-shell) .shop-filter-bar::before,
  body:not(.admin-shell) .shop-filter-bar::after{
    content:none!important;
    display:none!important;
  }

  body:not(.admin-shell) .approved-cats-section::before{
    top:auto!important;
    bottom:36px!important;
    height:104px!important;
  }

  body:not(.admin-shell) .approved-reviews-section{
    overflow:hidden!important;
    width:100%!important;
  }

  body:not(.admin-shell) .approved-reviews-section .approved-arrow{
    display:none!important;
  }

  body:not(.admin-shell) .approved-reviews-section .approved-reviews.review-scroller{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    -webkit-overflow-scrolling:touch!important;
    padding:10px 2px 14px!important;
    margin:0!important;
    scrollbar-width:none!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }

  body:not(.admin-shell) .approved-reviews-section .approved-reviews.review-scroller::-webkit-scrollbar{
    display:none!important;
  }

  body:not(.admin-shell) .approved-reviews-section .review-scroller article{
    flex:0 0 250px!important;
    width:250px!important;
    min-width:250px!important;
    scroll-snap-align:start!important;
  }

  body:not(.admin-shell) .shop-filter-bar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:11px!important;
    margin:16px 0 22px!important;
    padding:14px!important;
    border:1px solid #dfead9!important;
    border-radius:20px!important;
    background:#f8fcf6!important;
    box-shadow:0 10px 24px rgba(31,73,42,.06)!important;
    overflow:visible!important;
  }

  body:not(.admin-shell) .shop-filter-copy,
  body:not(.admin-shell) .shop-category-dropdown-wrap{
    display:block!important;
  }

  body:not(.admin-shell) .shop-filter-copy strong{
    display:block!important;
    color:#25362c!important;
    font-size:14px!important;
    line-height:1.2!important;
  }

  body:not(.admin-shell) .shop-filter-copy span{
    display:block!important;
    margin-top:3px!important;
    color:#607064!important;
    font-size:12px!important;
    line-height:1.35!important;
  }

  body:not(.admin-shell) .shop-category-dropdown-wrap label{
    display:block!important;
    margin:0 0 6px!important;
    color:#2f3c34!important;
    font-size:11px!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    letter-spacing:.08em!important;
  }

  body:not(.admin-shell) .shop-category-select-shell{
    position:relative!important;
    display:block!important;
  }

  body:not(.admin-shell) .shop-category-select{
    width:100%!important;
    min-height:48px!important;
    padding:0 44px 0 14px!important;
    border:1px solid #dcebd6!important;
    border-radius:16px!important;
    background:#fff!important;
    color:#25362c!important;
    font-size:16px!important;
    font-weight:850!important;
    outline:none!important;
    box-shadow:0 8px 18px rgba(31,73,42,.06)!important;
  }

  body:not(.admin-shell) .shop-category-select-arrow{
    position:absolute!important;
    right:15px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#62b51f!important;
    pointer-events:none!important;
    font-size:20px!important;
  }

  body:not(.admin-shell) .tsgs-mobile-category-scroll{
    display:none!important;
  }

  body:not(.admin-shell) .product-share-section{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    text-align:center!important;
    overflow:visible!important;
  }

  body:not(.admin-shell) .product-share-actions.custom-social-icons{
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px!important;
    overflow:visible!important;
    width:100%!important;
  }

  body:not(.admin-shell) .product-share-image-icon,
  body:not(.admin-shell) .product-share-image-icon img{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    max-width:44px!important;
  }

  body:not(.admin-shell) .product-share-image-icon{
    flex:0 0 44px!important;
    padding:0!important;
    border-radius:14px!important;
  }

  body:not(.admin-shell) .product-share-image-icon img{
    object-fit:contain!important;
    display:block!important;
  }

  body:not(.admin-shell) .tsgs-mobile-back-wrap{
    display:flex!important;
    justify-content:center!important;
    padding:18px 16px calc(108px + env(safe-area-inset-bottom,0px))!important;
  }

  body:not(.admin-shell) .tsgs-mobile-back-to-shop{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:46px!important;
    width:min(360px,100%)!important;
    border:1px solid #d8ead2!important;
    border-radius:999px!important;
    background:#f4fbef!important;
    color:#2e7f20!important;
    font-size:14px!important;
    font-weight:950!important;
    text-decoration:none!important;
    box-shadow:0 10px 24px rgba(31,73,42,.08)!important;
  }
}

@media(max-width:560px){
  body:not(.admin-shell) .approved-reviews-section .review-scroller article{
    flex-basis:232px!important;
    width:232px!important;
    min-width:232px!important;
  }

  body:not(.admin-shell) .product-share-actions.custom-social-icons{
    gap:6px!important;
  }

  body:not(.admin-shell) .product-share-image-icon,
  body:not(.admin-shell) .product-share-image-icon img{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    max-width:38px!important;
  }

  body:not(.admin-shell) .product-share-image-icon{
    flex-basis:38px!important;
    border-radius:12px!important;
  }
}

@media(min-width:768px) and (max-width:1120px) and (orientation:landscape){
  body:not(.admin-shell) .approved-brand img{
    width:90px!important;
    height:90px!important;
    flex-basis:90px!important;
  }

  body:not(.admin-shell) .approved-brand span{
    font-size:34px!important;
    max-width:360px!important;
  }

  body:not(.admin-shell).tsgs-page-index .home-featured-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
  }

  body:not(.admin-shell).tsgs-page-index .home-featured-card .shop-card-image-wrap{
    margin:10px 10px 0!important;
  }

  body:not(.admin-shell).tsgs-page-index .home-featured-card h3{
    font-size:12.5px!important;
    line-height:1.2!important;
  }
}

@media(min-width:768px) and (max-width:1180px) and (orientation:landscape) and (pointer:coarse){
  body:not(.admin-shell){
    overflow:hidden!important;
  }

  body:not(.admin-shell) .tsgs-tablet-rotate-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:20000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:24px!important;
    background:rgba(82,88,84,.78)!important;
    backdrop-filter:blur(4px)!important;
    -webkit-backdrop-filter:blur(4px)!important;
  }

  body:not(.admin-shell) .tsgs-tablet-rotate-card{
    width:min(430px,100%)!important;
    display:grid!important;
    justify-items:center!important;
    gap:10px!important;
    padding:28px 24px!important;
    border:1px solid #dcebd6!important;
    border-radius:28px!important;
    background:#fff!important;
    color:#25362c!important;
    text-align:center!important;
    box-shadow:0 24px 70px rgba(18,31,24,.28)!important;
  }

  body:not(.admin-shell) .tsgs-tablet-rotate-card img{
    width:68px!important;
    height:68px!important;
    object-fit:contain!important;
    border-radius:18px!important;
    background:#f4fbef!important;
  }

  body:not(.admin-shell) .tsgs-tablet-rotate-card strong{
    display:block!important;
    color:#25362c!important;
    font-size:24px!important;
    line-height:1.1!important;
  }

  body:not(.admin-shell) .tsgs-tablet-rotate-card span{
    display:block!important;
    max-width:320px!important;
    color:#607064!important;
    font-size:15px!important;
    line-height:1.45!important;
  }
}

@media(max-width:1120px){
  body:not(.admin-shell) .tsgs-mobile-back-wrap{
    display:none!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-back-wrap,
  body:not(.admin-shell).tsgs-page-category .tsgs-mobile-back-wrap{
    display:flex!important;
  }
}

/* Mobile/tablet refinements v2.5.5 */
@media(max-width:1120px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  body:not(.admin-shell):not(.tsgs-mobile-menu-open){
    height:auto!important;
    min-height:100dvh!important;
    max-height:none!important;
    overflow-y:auto!important;
    position:relative!important;
  }

  body:not(.admin-shell) .tsgs-app-bottom-nav{
    z-index:12000!important;
    pointer-events:auto!important;
  }

  body:not(.admin-shell) .tsgs-app-bottom-nav-inner{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    width:min(640px,100%)!important;
    gap:5px!important;
  }

  body:not(.admin-shell) .tsgs-app-bottom-nav a{
    min-width:0!important;
    padding:7px 3px 6px!important;
    border-radius:15px!important;
    font-size:10px!important;
    line-height:1.05!important;
    overflow:visible!important;
  }

  body:not(.admin-shell) .tsgs-app-bottom-nav a svg{
    width:20px!important;
    height:20px!important;
  }

  body:not(.admin-shell) .tsgs-app-nav-count{
    top:2px!important;
    right:calc(50% - 24px)!important;
    min-width:17px!important;
    height:17px!important;
    padding:0 5px!important;
    font-size:9.5px!important;
    line-height:17px!important;
  }

  body:not(.admin-shell) .home-featured-grid > .home-featured-card:nth-child(n+5),
  body:not(.admin-shell).tsgs-page-product .product-page-featured-products .product-page-featured-grid > .product-page-featured-card:nth-child(n+5){
    display:none!important;
  }

  body:not(.admin-shell).tsgs-page-index .home-featured-grid,
  body:not(.admin-shell).tsgs-page-product .product-page-featured-products .product-page-featured-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }

  body:not(.admin-shell).tsgs-page-index .home-featured-card,
  body:not(.admin-shell).tsgs-page-product .product-page-featured-card{
    min-width:0!important;
  }

  body:not(.admin-shell).tsgs-page-index .home-featured-card h3,
  body:not(.admin-shell).tsgs-page-product .product-page-featured-card h3{
    font-size:13px!important;
    line-height:1.22!important;
  }

  body:not(.admin-shell).tsgs-page-cart .container,
  body:not(.admin-shell).tsgs-page-checkout .tsgs-checkout-wrap,
  body:not(.admin-shell).tsgs-page-account-login .tsgs-account-wrap,
  body:not(.admin-shell).tsgs-page-account .tsgs-account-wrap,
  body:not(.admin-shell).tsgs-page-account-messages .container{
    width:min(calc(100% - 22px),1120px)!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body:not(.admin-shell).tsgs-page-cart .panel{
    padding:14px!important;
    border-radius:20px!important;
    overflow:visible!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-table-wrap{
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
    border-radius:0!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-table,
  body:not(.admin-shell).tsgs-page-cart .basket-table thead,
  body:not(.admin-shell).tsgs-page-cart .basket-table tbody,
  body:not(.admin-shell).tsgs-page-cart .basket-table tr,
  body:not(.admin-shell).tsgs-page-cart .basket-table td{
    display:block!important;
    width:100%!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-table thead{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-table tbody{
    display:grid!important;
    gap:12px!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-table tr{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    padding:13px!important;
    border:1px solid #dfead9!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 10px 24px rgba(31,73,42,.06)!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-table td{
    padding:9px 0!important;
    border:0!important;
    min-width:0!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-table td:not(:first-child){
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
    border-top:1px solid #eef4ea!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-table td:not(:first-child)::before{
    content:attr(data-label)!important;
    flex:0 0 112px!important;
    color:#607064!important;
    font-size:12px!important;
    line-height:1.35!important;
    font-weight:950!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-product-cell{
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:68px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:center!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-product-cell img{
    width:68px!important;
    height:68px!important;
    flex-basis:68px!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-product-cell strong{
    min-width:0!important;
    word-break:break-word!important;
    overflow-wrap:anywhere!important;
    font-size:14px!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-remove-cell form,
  body:not(.admin-shell).tsgs-page-cart .basket-remove-cell .btn{
    width:100%!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-actions .btn,
  body:not(.admin-shell).tsgs-page-cart .basket-actions form,
  body:not(.admin-shell).tsgs-page-cart .basket-actions button{
    width:100%!important;
    justify-content:center!important;
  }

  body:not(.admin-shell).tsgs-page-checkout .tsgs-checkout-grid,
  body:not(.admin-shell).tsgs-page-account .tsgs-account-grid{
    grid-template-columns:1fr!important;
  }

  body:not(.admin-shell).tsgs-page-checkout .tsgs-inline-login{
    grid-template-columns:1fr!important;
  }

  body:not(.admin-shell).tsgs-page-checkout .tsgs-summary-line{
    grid-template-columns:48px minmax(0,1fr)!important;
    align-items:start!important;
  }

  body:not(.admin-shell).tsgs-page-checkout .tsgs-summary-line > span:last-child{
    grid-column:2!important;
    justify-self:start!important;
    margin-top:4px!important;
  }

  body:not(.admin-shell) .tsgs-password-wrap{
    width:100%!important;
  }

  body:not(.admin-shell) .tsgs-password-toggle{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    z-index:2!important;
  }
}

@media(min-width:621px) and (max-width:1120px){
  body:not(.admin-shell).tsgs-page-index .approved-promo{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:stretch!important;
  }

  body:not(.admin-shell).tsgs-page-index .approved-promo div{
    min-width:0!important;
    min-height:96px!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:9px!important;
    padding:13px 12px!important;
  }

  body:not(.admin-shell).tsgs-page-index .approved-promo i{
    width:34px!important;
    height:34px!important;
  }

  body:not(.admin-shell).tsgs-page-index .approved-promo svg{
    width:31px!important;
    height:31px!important;
  }

  body:not(.admin-shell).tsgs-page-index .approved-promo b{
    font-size:12.5px!important;
    line-height:1.12!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }

  body:not(.admin-shell).tsgs-page-index .approved-promo small{
    font-size:11.5px!important;
    line-height:1.22!important;
  }
}

@media(max-width:430px){
  body:not(.admin-shell) .tsgs-app-bottom-nav-inner{
    gap:5px!important;
  }

  body:not(.admin-shell) .tsgs-app-bottom-nav a{
    font-size:9px!important;
    padding-left:1px!important;
    padding-right:1px!important;
  }

  body:not(.admin-shell) .tsgs-app-bottom-nav a svg{
    width:19px!important;
    height:19px!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-table td:not(:first-child){
    flex-direction:column!important;
    align-items:stretch!important;
    gap:5px!important;
  }

  body:not(.admin-shell).tsgs-page-cart .basket-table td:not(:first-child)::before{
    flex-basis:auto!important;
  }
}

/* Mobile/tablet refinements v2.5.6 */
@media(min-width:1121px){
  body:not(.admin-shell) .tsgs-pwa-card{display:none!important;}
}

.tsgs-install-help{display:none;}
.tsgs-install-help.is-visible{display:block!important;}

@media(max-width:1120px){
  body:not(.admin-shell) .tsgs-app-bottom-nav-inner{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }

  body:not(.admin-shell) .approved-cats-section::after,
  body:not(.admin-shell) .approved-reviews-section::after{
    content:'Swipe right for more >>>>'!important;
    padding:9px 17px!important;
    border:2px solid #9bdc7c!important;
    background:linear-gradient(180deg,#ffffff,#f1faec)!important;
    color:#25791f!important;
    font-size:12.5px!important;
    letter-spacing:.035em!important;
    box-shadow:0 12px 26px rgba(58,126,34,.18)!important;
  }

  body:not(.admin-shell) .shop-filter-bar::before,
  body:not(.admin-shell) .shop-filter-bar::after{
    content:none!important;
    display:none!important;
  }

  body:not(.admin-shell).tsgs-page-account .tsgs-account-grid{
    display:flex!important;
    flex-direction:column!important;
  }

  body:not(.admin-shell).tsgs-page-account .tsgs-account-grid > aside.tsgs-account-card{
    order:-1!important;
  }

  body:not(.admin-shell) .tsgs-mobile-back-to-shop::before{
    content:'← ';
  }

  body:not(.admin-shell) .tsgs-password-wrap{
    position:relative!important;
    display:block!important;
  }

  body:not(.admin-shell) .tsgs-password-wrap input{
    width:100%!important;
    padding-right:72px!important;
  }

  body:not(.admin-shell) .tsgs-password-toggle{
    position:absolute!important;
    right:8px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    min-width:56px!important;
    min-height:34px!important;
    padding:0 10px!important;
  }
}

.tsgs-mobile-basket-list{display:none;}

@media(max-width:620px){
  body:not(.admin-shell).tsgs-page-cart .basket-table-wrap{
    display:none!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-list{
    display:grid!important;
    gap:12px!important;
    margin:0 0 16px!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-item{
    display:block!important;
    padding:14px 0!important;
    border-bottom:1px solid #dbeeda!important;
    background:#fff!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-line{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr) auto!important;
    gap:12px!important;
    align-items:center!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-line img{
    width:52px!important;
    height:52px!important;
    object-fit:contain!important;
    background:#fff!important;
    border:1px solid #d6e8d2!important;
    border-radius:14px!important;
    padding:4px!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-text{
    min-width:0!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-text strong{
    display:block!important;
    color:#26322b!important;
    font-size:14px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-text span{
    display:block!important;
    margin-top:3px!important;
    color:#667085!important;
    font-size:13px!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-price{
    color:#26322b!important;
    font-size:14px!important;
    font-weight:950!important;
    white-space:nowrap!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-personalisation{
    display:grid!important;
    gap:4px!important;
    margin:11px 0 0!important;
    padding:10px 12px!important;
    border-radius:14px!important;
    background:#f8fcf6!important;
    color:#607064!important;
    font-size:12.5px!important;
    line-height:1.35!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-personalisation b{
    color:#26322b!important;
    font-size:12px!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-remove{
    margin:11px 0 0!important;
  }

  body:not(.admin-shell).tsgs-page-cart .tsgs-mobile-basket-remove .btn{
    width:100%!important;
    min-height:42px!important;
    justify-content:center!important;
  }
}

@media(max-width:430px){
  body:not(.admin-shell) .tsgs-app-bottom-nav a{
    font-size:8.8px!important;
  }

  body:not(.admin-shell) .tsgs-app-bottom-nav a svg{
    width:18px!important;
    height:18px!important;
  }
}

/* Account/password refinements v2.5.7 */
.tsgs-forgot-password-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#2e7d32;
  font-weight:700;
  text-decoration:none;
  font-size:13px;
  padding:8px 0;
}
.tsgs-forgot-password-link:hover{text-decoration:underline;}
.tsgs-account-order-item[data-order-card-link],
.tsgs-order-card-wide[data-customer-order-card-open]{
  cursor:pointer;
}
.tsgs-account-order-item[data-order-card-link]:focus-visible,
.tsgs-order-card-wide[data-customer-order-card-open]:focus-visible{
  outline:3px solid rgba(88,185,31,.34);
  outline-offset:4px;
}

@media(min-width:768px) and (max-width:1120px){
  body:not(.admin-shell) .approved-mainbar-inner{
    min-height:104px!important;
    padding:12px 0!important;
  }
  body:not(.admin-shell) .approved-brand{
    min-height:96px!important;
  }
  body:not(.admin-shell) .approved-brand img{
    width:92px!important;
    height:92px!important;
    flex-basis:92px!important;
    margin-right:14px!important;
  }
  body:not(.admin-shell) .approved-brand span{
    font-size:36px!important;
    max-width:430px!important;
    line-height:.94!important;
  }
}

@media(max-width:767px){
  body:not(.admin-shell) .approved-mainbar-inner{
    min-height:74px!important;
    padding:8px 0!important;
  }
  body:not(.admin-shell) .approved-brand{
    min-height:66px!important;
  }
  body:not(.admin-shell) .approved-brand img{
    width:68px!important;
    height:68px!important;
    flex-basis:68px!important;
    margin-right:8px!important;
  }
  body:not(.admin-shell) .approved-brand span{
    font-size:25px!important;
    max-width:230px!important;
  }
}

@media(max-width:560px){
  body:not(.admin-shell) .approved-brand span{
    font-size:23px!important;
    max-width:190px!important;
  }
}

/* Mobile/tablet branded product option picker v2.5.8 */
.tsgs-mobile-option-trigger,
.tsgs-option-picker-backdrop{
  display:none;
}

@media(max-width:1120px){
  body:not(.admin-shell).tsgs-page-product .product-add-form .field{
    position:relative;
  }

  body:not(.admin-shell).tsgs-page-product .product-add-form select.tsgs-native-option-select{
    position:absolute!important;
    left:18px!important;
    bottom:18px!important;
    width:1px!important;
    height:1px!important;
    opacity:0.01!important;
    pointer-events:none!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:12px!important;
    width:100%!important;
    min-height:64px!important;
    padding:14px!important;
    border:1px solid #cfeac5!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#ffffff 0%,#f4fbf0 100%)!important;
    color:#26322b!important;
    box-shadow:0 12px 26px rgba(31,73,42,.08)!important;
    text-align:left!important;
    cursor:pointer!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger.has-value{
    border-color:#9bdc7c!important;
    background:linear-gradient(180deg,#ffffff 0%,#eef9e9 100%)!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger.is-invalid{
    border-color:#d94444!important;
    box-shadow:0 0 0 4px rgba(217,68,68,.12),0 10px 26px rgba(31,73,42,.075)!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger-copy{
    display:grid!important;
    gap:5px!important;
    min-width:0!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger-copy small{
    color:#728173!important;
    font-size:11px!important;
    line-height:1.1!important;
    font-weight:900!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger:not(.has-value) .tsgs-mobile-option-trigger-copy small{
    color:#2f7d1c!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger-copy strong{
    color:#26322b!important;
    font-size:17px!important;
    line-height:1.2!important;
    font-weight:950!important;
    overflow-wrap:anywhere!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger:not(.has-value) .tsgs-mobile-option-trigger-copy strong{
    color:#26322b!important;
    font-size:18px!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger-price{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:46px!important;
    border-radius:16px!important;
    background:#62b51f!important;
    border:1px solid #62b51f!important;
    color:#fff!important;
    font-size:15px!important;
    line-height:1.1!important;
    font-weight:950!important;
    padding:12px 16px!important;
    box-shadow:0 10px 22px rgba(98,181,31,.22)!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger.has-value .tsgs-mobile-option-trigger-price{
    background:#eef8e9!important;
    border-color:#cfeac5!important;
    color:#28751f!important;
    box-shadow:none!important;
  }

  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger-arrow{
    display:none!important;
  }

  body.tsgs-option-picker-open{
    overflow:hidden!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:32000!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:calc(14px + env(safe-area-inset-top,0px)) 14px calc(96px + env(safe-area-inset-bottom,0px))!important;
    background:rgba(37,47,41,.56)!important;
    backdrop-filter:blur(6px)!important;
    -webkit-backdrop-filter:blur(6px)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .18s ease!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-backdrop.is-open{
    opacity:1!important;
    pointer-events:auto!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-sheet{
    position:relative!important;
    width:min(620px,100%)!important;
    max-height:calc(100dvh - 116px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
    overflow:auto!important;
    border:1px solid #d9ead3!important;
    border-radius:24px!important;
    background:linear-gradient(180deg,#ffffff 0%,#f6fbf3 100%)!important;
    box-shadow:0 28px 80px rgba(20,39,25,.30)!important;
    transform:translateY(-14px)!important;
    transition:transform .18s ease!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-backdrop.is-open .tsgs-option-picker-sheet{
    transform:translateY(0)!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-close{
    position:absolute!important;
    top:14px!important;
    right:14px!important;
    z-index:2!important;
    width:42px!important;
    height:42px!important;
    border-radius:50%!important;
    border:1px solid #d9ead3!important;
    background:#fff!important;
    color:#26322b!important;
    font-size:30px!important;
    line-height:36px!important;
    font-weight:500!important;
    box-shadow:0 8px 20px rgba(31,73,42,.08)!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-head{
    padding:24px 68px 16px 20px!important;
    border-bottom:1px solid #e5f0df!important;
    background:radial-gradient(circle at top left,rgba(98,181,31,.14),transparent 54%)!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-head span{
    display:inline-flex!important;
    margin:0 0 7px!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    background:#eef8e9!important;
    color:#28751f!important;
    font-size:11px!important;
    font-weight:950!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-head h3{
    margin:0!important;
    color:#26322b!important;
    font-size:22px!important;
    line-height:1.12!important;
    font-weight:950!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-head p{
    margin:7px 0 0!important;
    color:#68756d!important;
    font-size:13.5px!important;
    line-height:1.35!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-list{
    display:grid!important;
    gap:11px!important;
    padding:16px!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-choice{
    display:grid!important;
    grid-template-columns:54px minmax(0,1fr) 34px!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    min-height:76px!important;
    padding:10px 12px!important;
    border:1px solid #dfead9!important;
    border-radius:20px!important;
    background:#fff!important;
    color:#26322b!important;
    box-shadow:0 8px 20px rgba(31,73,42,.055)!important;
    text-align:left!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-choice.is-selected{
    border-color:#62b51f!important;
    background:linear-gradient(180deg,#fafff8,#eff9ea)!important;
    box-shadow:0 0 0 4px rgba(98,181,31,.12),0 12px 26px rgba(31,73,42,.09)!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-media{
    display:grid!important;
    place-items:center!important;
    width:54px!important;
    height:54px!important;
    border-radius:16px!important;
    background:#f5fbf1!important;
    border:1px solid #dfead9!important;
    overflow:hidden!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-media span{
    color:#62b51f!important;
    font-size:22px!important;
    font-weight:950!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-copy{
    display:grid!important;
    gap:4px!important;
    min-width:0!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-copy strong{
    color:#26322b!important;
    font-size:15px!important;
    line-height:1.2!important;
    font-weight:950!important;
    overflow-wrap:anywhere!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-copy small{
    color:#28751f!important;
    font-size:12.5px!important;
    font-weight:900!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-tick{
    display:grid!important;
    place-items:center!important;
    width:32px!important;
    height:32px!important;
    border-radius:50%!important;
    background:#eef8e9!important;
    color:#62b51f!important;
    font-size:17px!important;
    font-weight:950!important;
    opacity:.35!important;
  }

  body:not(.admin-shell) .tsgs-option-picker-choice.is-selected .tsgs-option-picker-tick{
    background:#62b51f!important;
    color:#fff!important;
    opacity:1!important;
  }
}

@media(max-width:420px){
  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger{
    padding:13px!important;
  }
  body:not(.admin-shell).tsgs-page-product .tsgs-mobile-option-trigger-price{
    min-height:48px!important;
  }
}
