/* Mobile presentation shared by the storefront, checkout and account pages. */
.tgl-mobile-dock { display:none; }
.tgl-mobile-menu-button { display:none; }
.tgl-mobile-menu { margin:0; padding:22px; border:0; width:min(360px,90vw); max-width:90vw; height:100dvh; max-height:100dvh; background:#fff; color:#25212a; overflow-y:auto; overscroll-behavior:contain; font-family:inherit; }
.tgl-mobile-menu::backdrop { background:#25212a70; backdrop-filter:blur(3px); }
.tgl-mobile-menu-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.tgl-mobile-menu-top img { object-fit:contain; }
.tgl-mobile-menu-top button { width:44px; height:44px; border:0; border-radius:12px; background:#fff0f6; color:#db3977; font-size:20px; cursor:pointer; }
.tgl-mobile-menu h2 { font-size:22px; letter-spacing:-.6px; }
.tgl-mobile-menu-intro { font-size:13px; color:#827b84; margin-top:6px!important; }
.tgl-mobile-menu-links { display:grid; gap:4px; margin:22px 0; }
.tgl-mobile-menu-links a { min-height:48px; display:flex; align-items:center; gap:14px; padding:12px; border-radius:10px; font-size:14px; font-weight:600; }
.tgl-mobile-menu-links a:hover { background:#fff0f6; }
.tgl-mobile-menu-links span { width:20px; color:#db3977; }
.tgl-mobile-category-group { border-block:1px solid #f3e4ea; padding:16px 0; }
.tgl-mobile-category-group summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; font-weight:700; font-size:14px; min-height:36px; }
.tgl-mobile-category-group summary::-webkit-details-marker { display:none; }
.tgl-mobile-category-group[open] summary span { transform:rotate(180deg); }
.tgl-mobile-category-search { display:grid; gap:8px; font-size:12px; color:#827b84; margin:14px 0; }
.tgl-mobile-category-search input { width:100%; min-height:46px; border:1px solid #f3e4ea; border-radius:10px; padding:12px; font:inherit; font-size:16px; }
.tgl-mobile-category-links { display:grid; max-height:300px; overflow-y:auto; overscroll-behavior:contain; }
.tgl-mobile-category-links a { min-height:44px; padding:12px 8px; font-size:13px; border-radius:8px; }
.tgl-mobile-category-links a:hover { background:#fff0f6; }
.tgl-mobile-menu [hidden] { display:none!important; }
.tgl-mobile-menu-account { display:grid; gap:8px; padding-top:20px; }
.tgl-mobile-menu-account a { display:flex; gap:12px; align-items:center; min-height:44px; font-size:13px; }
.tgl-mobile-menu-account span { color:#db3977; }
body.tgl-mobile-menu-open { overflow:hidden; }
/* Branded drawer: fixed controls, scrollable content and distinct destinations. */
.tgl-mobile-menu { width:min(380px,calc(100vw - 20px)); max-width:calc(100vw - 20px); padding:0; border-radius:0 22px 22px 0; overflow:hidden; box-shadow:12px 0 48px #36202e20; }
.tgl-mobile-menu[open] { display:flex; flex-direction:column; animation:tgl-menu-enter .24s cubic-bezier(.2,.8,.2,1); }
.tgl-mobile-menu::backdrop { background:#30212d66; backdrop-filter:blur(5px); }
.tgl-mobile-menu-top { flex-shrink:0; padding:14px 20px 10px; margin:0; border-bottom:1px solid #f7eaf0; background:#fff; }
.tgl-mobile-menu-top button { border:1px solid #f9deea; border-radius:50%; }
.tgl-mobile-menu-content { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:18px 20px max(24px,env(safe-area-inset-bottom)); scrollbar-width:thin; scrollbar-color:#edbed2 transparent; }
.tgl-mobile-menu-welcome { padding:18px; border:1px solid #f8dbe7; border-radius:18px; background:radial-gradient(circle at 100% 0%,#ffd5e6,transparent 70%),#fff2f7; }
.tgl-mobile-menu-eyebrow { display:block; font-size:9px; font-weight:800; letter-spacing:.13em; color:#a52e5c; margin-bottom:8px; }
.tgl-mobile-menu h2 { font-size:21px; line-height:1.25; letter-spacing:-.6px; }
.tgl-mobile-menu-intro { font-size:11px; line-height:1.6; color:#8c6275; }
.tgl-mobile-menu-links { margin:16px 0; gap:6px; }
.tgl-mobile-menu-links a { padding:8px 10px; gap:12px; font-size:13px; border:1px solid transparent; }
.tgl-mobile-menu-links a > span:first-child { display:grid; place-items:center; width:36px; height:36px; background:#fff0f6; color:#ce346e; border-radius:11px; flex-shrink:0; font-size:15px; }
.tgl-mobile-menu-links a > span:nth-child(2) { flex:1; width:auto; color:#40323d; }
.tgl-mobile-menu-links a > span:last-child { font-size:11px; color:#b298a7; width:auto; }
.tgl-mobile-menu-links a:hover,.tgl-mobile-menu-links a[aria-current=page] { background:#fff7fa; border-color:#f6dce7; }
.tgl-mobile-feature-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 20px; }
.tgl-mobile-feature-links a { min-width:0; display:grid; gap:7px; padding:16px 12px; background:#fff0f6; border:1px solid #f6d4e2; border-radius:15px; transition:transform .18s,box-shadow .18s; }
.tgl-mobile-feature-links a:last-child { background:#f8f4ff; border-color:#e9def7; }
.tgl-mobile-feature-links a > span { font-size:20px; color:#d03973; }
.tgl-mobile-feature-links a:last-child > span { color:#8760b0; }
.tgl-mobile-feature-links strong { font-size:12px; color:#44313e; }
.tgl-mobile-feature-links small { font-size:10px; color:#8d7180; line-height:1.5; }
.tgl-mobile-feature-links a:hover { transform:translateY(-2px); box-shadow:0 5px 14px #b3668512; }
.tgl-mobile-category-group { border-top:0; padding-top:0; }
.tgl-mobile-category-group summary { font-size:13px; }
.tgl-mobile-category-group summary > span { font-size:10px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#fff0f6; color:#d03973; transition:transform .2s; }
.tgl-mobile-category-search { position:relative; display:block; margin:12px 0; }
.tgl-mobile-category-search > span { position:absolute; top:16px; left:13px; color:#ad899b; font-size:13px; }
.tgl-mobile-category-search input { padding:12px 12px 12px 36px; background:#fffafd; }
.tgl-mobile-category-search input::placeholder { font-size:12px; }
.tgl-mobile-category-links { max-height:none; overflow:visible; gap:4px; }
.tgl-mobile-category-links a { display:flex; align-items:center; gap:10px; padding:8px; min-height:46px; font-size:12px; }
.tgl-mobile-category-links a > span:first-child { width:30px; height:30px; flex-shrink:0; display:grid; place-items:center; border-radius:9px; background:#faf4f7; color:#b57f98; font-size:13px; }
.tgl-mobile-category-links a > span:nth-child(2) { flex:1; min-width:0; }
.tgl-mobile-category-links a > span:last-child { font-size:9px; color:#bba5b0; }
.tgl-mobile-category-links a[aria-current=page] { background:#fff0f6; color:#cc306b; }
.tgl-mobile-menu-account { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding-top:16px; }
.tgl-mobile-menu-account a { justify-content:center; gap:8px; font-size:11px; border:1px solid #f3e3eb; border-radius:11px; padding:10px 6px; }
.tgl-home .tgl-mobile-menu-all { display:flex; gap:10px; justify-content:center; align-items:center; min-height:46px; margin-top:16px; background:#db3977; color:#fff; border-radius:12px; font-size:12px; font-weight:700; }
.tgl-mobile-menu [data-category-empty] { padding:16px 8px; font-size:12px; color:#8d7180; }
.tgl-mobile-menu a:active { transform:scale(.98); }
@keyframes tgl-menu-enter { from { transform:translateX(-100%); opacity:.5; } to { transform:translateX(0); opacity:1; } }
@media (max-width:680px) {
  html { scroll-padding-top:120px; }
  .tgl-mobile-menu-button { display:grid; place-items:center; width:40px; height:44px; flex-shrink:0; border:0; border-radius:10px; background:#fff0f6; color:#25212a; font-size:18px; cursor:pointer; }
  .tgl-home.tgl-mobile-enhanced .tgl-nav-wrap { display:none; }
  body.tgl-home { font-size:14px; padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .tgl-home .tgl-container { width:calc(100% - 32px); }
  .tgl-home .tgl-promo-inner { padding:8px 0; gap:0; }
  .tgl-home .tgl-promo-left { display:none; }
  .tgl-home .tgl-promo-code { font-size:10px; width:100%; line-height:1.6; }
  .tgl-home .tgl-header-main { gap:8px; padding:8px 0 10px; }
  .tgl-home .tgl-logo img { width:90px; height:50px; object-fit:contain; }
  .tgl-home .tgl-header-actions { gap:4px; }
  .tgl-home .tgl-header-action { width:44px; height:44px; justify-content:center; }
  .tgl-home .tgl-search { border-radius:12px; padding:4px 4px 4px 12px; background:#faf8fa; }
  .tgl-home .tgl-search input { font-size:16px; }
  .tgl-home .tgl-search input::placeholder { font-size:13px; }
  .tgl-home .tgl-search button { width:36px; height:36px; border-radius:9px; }
  .tgl-home .tgl-main-nav { flex-wrap:nowrap; overflow-x:auto; gap:20px; padding:8px 0; font-size:12px; }
  .tgl-home .tgl-main-nav > * { flex-shrink:0; }
  .tgl-home .tgl-main-nav > a { min-height:36px; display:flex; align-items:center; }
  .tgl-home .tgl-nav-featured { padding:10px 14px; border-radius:10px; }
  .tgl-home .tgl-cat-dropdown { position:fixed; top:172px; left:16px; right:16px; min-width:0; max-height:calc(100dvh - 270px); overflow-y:auto; border:1px solid var(--border); }
  .tgl-home .tgl-cat-dropdown a { min-height:44px; display:flex; align-items:center; }
  .tgl-home .tgl-card { padding:20px 16px; border-radius:16px; box-shadow:0 4px 18px #36202e06; }
  .tgl-home .tgl-section { padding-top:20px; }
  .tgl-home .tgl-card h2 { font-size:19px; letter-spacing:-.4px; }
  .tgl-home .tgl-btn { min-height:44px; letter-spacing:0; padding:12px 20px; font-size:13px; }
  .tgl-home a:focus-visible,.tgl-home button:focus-visible { outline:3px solid #db3977; outline-offset:3px; }
  .tgl-home .tgl-hero-track { height:480px; }
  .tgl-home .tgl-hero-copy { padding:24px 22px 0; }
  .tgl-home .tgl-hero h1 { font-size:32px; letter-spacing:-1px; }
  .tgl-home .tgl-eyebrow { font-size:10px; margin-bottom:14px; }
  .tgl-home .tgl-hero-copy p { font-size:13px; max-width:260px; margin:12px 0 18px; }
  .tgl-home .tgl-hero-art { height:49%; bottom:44px; }
  .tgl-home .tgl-hero-sticker { width:64px; height:64px; bottom:75px; box-shadow:0 0 0 3px #fff; }
  .tgl-home .tgl-hero-sticker strong { font-size:20px; }
  .tgl-home .tgl-hero-chips { font-size:10px; gap:6px 12px; padding:10px; }
  .tgl-home .tgl-arrow { top:auto; bottom:50px; width:36px; height:36px; transform:none; }
  .tgl-home .tgl-product-grid,.tgl-home .tgl-grid-listing { gap:16px 10px; }
  .tgl-home .tgl-product-media { border-radius:12px; }
  .tgl-home .tgl-product-body h3 { font-size:12px; white-space:normal; min-height:36px; line-height:1.5; }
  .tgl-home .tgl-product-price { flex-wrap:wrap; gap:2px 6px; font-size:12px; }
  .tgl-home .tgl-product-heart { width:36px; height:36px; top:6px; right:6px; }
  .tgl-home .tgl-product-badge { left:6px; top:6px; padding:3px 7px; font-size:9px; }
  .tgl-home .tgl-category-grid { gap:16px 8px; }
  .tgl-home .tgl-category { font-size:11px; }
  .tgl-home .tgl-category-img { width:68px; }
  .tgl-home .tgl-footer-main { padding:28px 0; gap:26px 20px; font-size:12px; }
  .tgl-home .tgl-footer-column a { padding:3px 0; }
  .tgl-mobile-dock { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); position:fixed; z-index:90; bottom:0; inset-inline:0; padding:6px 8px calc(6px + env(safe-area-inset-bottom)); background:#fffffffa; border-top:1px solid #f0e5eb; box-shadow:0 -4px 20px #36202e08; backdrop-filter:blur(16px); }
  .tgl-mobile-dock a { display:grid; align-content:center; justify-items:center; gap:5px; min-height:54px; color:#746d77; font-size:10px; font-weight:600; border-radius:12px; }
  .tgl-mobile-dock a > span:first-child { font-size:19px; }
  .tgl-mobile-dock a[aria-current=page] { color:#d33270; background:#fff0f6; }
  body:has(input[type=search]:focus,input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,textarea:focus) .tgl-mobile-dock { display:none; }
  .tgl-home .tgl-commerce-page { padding-top:18px; }
  .tgl-home .tgl-commerce-heading { align-items:start; margin-bottom:18px; }
  .tgl-home .tgl-commerce-heading h1 { font-size:26px; letter-spacing:-.8px; }
  .tgl-home .tgl-commerce-heading > a { font-size:11px; padding:10px 0; white-space:nowrap; }
  .tgl-home .tgl-commerce-kicker { font-size:9px; max-width:200px; }
  .tgl-home .tgl-commerce-grid { gap:16px; }
  .tgl-home .tgl-commerce-form input,.tgl-home .tgl-commerce-form select,.tgl-home .tgl-cart-row input,.tgl-home .tgl-track-form input { font-size:16px; min-height:46px; border-radius:10px; }
  .tgl-home .tgl-commerce-note { font-size:12px; line-height:1.7; padding:12px; }
  .tgl-home .tgl-commerce-link { min-height:44px; font-size:12px; }
  .tgl-home .tgl-payment-choice { min-height:58px; padding:12px; }
  .tgl-home .tgl-payment-choice input { min-height:0; width:18px; height:18px; }
  .tgl-home .tgl-commerce-coupon button { padding-inline:16px; }
  .tgl-home .tgl-checkout-mini { gap:10px; }
  .tgl-home .tgl-checkout-mini strong { white-space:normal; text-align:right; }
  .tgl-home .tgl-commerce-total-row { font-size:13px; }
  .tgl-home .tgl-commerce-total { font-size:20px; }
  .tgl-home .tgl-pdp { padding:16px; }
  .tgl-home .tgl-pdp-actions { display:grid; grid-template-columns:1fr; }
  .tgl-home .tgl-pdp-actions .tgl-btn { width:100%; }
  #store-dialog { width:calc(100% - 24px); padding:20px; max-height:85dvh; }
  #store-dialog input,#store-dialog select { font-size:16px; min-height:44px; }
  body.tgl-auth-body { padding:24px 16px; min-height:100dvh; }
  .tgl-login-card-exact { padding:28px 22px; border-radius:22px; }
  .tgl-auth-body input:not([type=checkbox]):not([type=hidden]),.tgl-auth-body select { font-size:16px; min-height:48px; }
  .tgl-register-layout { padding-top:20px; }
  .tgl-register-card { padding:24px 20px; }
  .tg-header-container { width:100%; padding:10px 16px; flex-wrap:wrap; gap:10px; }
  .tg-header-search-wrap { order:3; flex-basis:100%; }
  .tg-header-greeting { display:none; }
  .tg-header-right { margin-left:auto; }
  .tg-app-layout { width:100%; padding:16px; gap:18px; }
  .tg-app-layout > * { min-width:0; }
  .tg-sidebar-nav { display:block; min-width:0; }
  .tg-sidebar-menu-list { flex-direction:row; overflow-x:auto; gap:8px; scrollbar-width:none; padding-bottom:4px; }
  .tg-menu-item { flex-shrink:0; white-space:nowrap; padding:12px; font-size:12px; border:1px solid #f3e4ea; background:#fff; gap:6px; }
  .tg-menu-icon { font-size:15px; width:18px; }
  .tg-sidebar-help-card { display:none; }
  .tg-welcome-banner { padding:22px; min-height:180px; }
  .tg-welcome-text-col { width:100%; max-width:100%; }
  .tg-welcome-name { font-size:28px; }
  .tg-welcome-img-col { display:none; }
  .tg-metrics-grid { gap:10px; }
  .tg-metric-card { padding:14px; flex-direction:column; align-items:flex-start; gap:10px; }
  .tg-metric-info { min-width:0; }
  .tg-metric-label { font-size:11px; }
  .tg-metric-value { font-size:24px; }
  .tg-recent-orders-card { padding:20px 16px; }
  .tg-card-header-flex { flex-wrap:wrap; gap:10px; }
  .tg-order-row-item { display:grid; grid-template-columns:50px minmax(0,1fr); gap:10px 12px; padding:18px 0; }
  .tg-order-row-item > * { min-width:0; width:auto; }
  .tg-order-thumb-wrap { grid-row:span 2; }
  .tg-order-code { overflow-wrap:anywhere; font-size:13px; }
  .tg-order-status-col,.tg-order-price-col,.tg-order-action-col { grid-column:2; text-align:left; }
  .tg-btn-order-details { display:inline-flex; min-height:44px; align-items:center; justify-content:center; }
  .tg-benefits-strip { grid-template-columns:1fr; }
  .tg-profile-card,.tg-rewards-card,.tg-quick-actions-card { padding:20px 16px; }
  .tg-right-sidebar { grid-template-columns:minmax(0,1fr); }
  .tg-right-sidebar > * { min-width:0; }
  .tg-profile-card-flex,.tg-rewards-desc-row { min-width:0; }
  .tg-rewards-desc-text { min-width:0; flex:1; }
  .tg-quick-actions-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tg-quick-action-item { min-width:0; }
  .tg-profile-info-col { min-width:0; }
  .tg-profile-email,.tg-profile-name { overflow-wrap:anywhere; }
  .tg-rewards-card-head { flex-wrap:wrap; gap:10px; }
  .tg-footer-inner { flex-wrap:wrap; text-align:center; }
  .tg-center-content [data-customer-action] input:not([type=hidden]),.tg-center-content select { font-size:16px; min-height:44px; }
  .tg-floating-chat-btn { bottom:16px; right:16px; padding:12px 16px; }
  .tgl-admin-portal .tgl-main-wrapper { min-width:0; }
  .tgl-admin-portal input:not([type=checkbox]):not([type=hidden]),.tgl-admin-portal select,.tgl-admin-portal textarea { font-size:16px; }
  .tgl-admin-portal .tgl-modal { max-width:calc(100vw - 24px); max-height:90dvh; overflow:auto; }
}
@media (max-width:360px) {
  .tgl-home .tgl-container { width:calc(100% - 24px); }
  .tgl-home .tgl-card { padding:16px 12px; }
  .tgl-home .tgl-product-price { font-size:11px; }
  .tgl-home .tgl-hero h1 { font-size:29px; }
  .tgl-home .tgl-commerce-heading { flex-wrap:wrap; gap:4px; }
}
/* Fit the available viewport instead of retaining desktop minimum widths. */
@media (max-width:680px) {
  body.tgl-home,body.tg-dashboard-body,body.tgl-auth-body { width:100%; min-width:0; margin-inline:0; }
  .tgl-home .tgl-container { width:100%; padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right)); }
  .tgl-home main,.tgl-home section,.tgl-home .tgl-card,.tgl-home .tgl-results,.tgl-home .tgl-pdp-gallery { min-width:0; max-width:100%; }
  .tgl-home .tgl-two-col,.tgl-home .tgl-two-col-wide,.tgl-home .tgl-offer-grid,.tgl-home .tgl-info-grid,.tgl-home .tgl-commerce-grid { grid-template-columns:minmax(0,1fr); }
  .tgl-home .tgl-product-grid,.tgl-home .tgl-grid-listing { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tgl-home .tgl-product-body,.tgl-home .tgl-offer-product > div,.tgl-home .tgl-commerce-grid > * { min-width:0; }
  .tgl-home .tgl-card h2,.tgl-home .tgl-card h3,.tgl-home .tgl-offer-summary,.tgl-home .tgl-commerce-note { overflow-wrap:anywhere; }
  .tgl-home .tgl-crumbs { flex-wrap:wrap; }
  .tgl-home .tgl-meta { grid-template-columns:minmax(0,1fr); }
  .tgl-home .tgl-track-item { grid-template-columns:48px minmax(0,1fr); }
  .tgl-home .tgl-track-item > :last-child { grid-column:2; }
  .tgl-home .tgl-commerce-actions,.tgl-home .tgl-news-form { min-width:0; }
  .tgl-home .tgl-commerce-actions .tgl-btn { width:100%; white-space:normal; }
  .tgl-home .tgl-offer-picker { grid-template-columns:32px minmax(0,1fr) 32px; gap:4px; }
  .tgl-home .tgl-offer-product { grid-template-columns:72px minmax(0,1fr); gap:8px; padding:8px; }
  .tgl-home .tgl-offer-product img { width:72px; height:100px; }
  .tgl-home .tgl-offer-nav { width:32px; }
  .tgl-home .tgl-table-wrap { max-width:100%; min-width:0; padding-inline:12px; }
  .tgl-mobile-dock { width:100%; max-width:100%; }
  .tg-app-layout { grid-template-columns:minmax(0,1fr); }
  .tg-metrics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tg-metric-value { overflow-wrap:anywhere; }
}
@media (max-width:320px) {
  .tgl-home .tgl-logo img { width:76px; }
  .tgl-home .tgl-header-action { width:40px; }
  .tgl-home .tgl-header-main { gap:6px; }
  .tgl-home .tgl-btn { padding-inline:14px; white-space:normal; }
  .tgl-home .tgl-offer-types { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .tgl-hero-slide,.tgl-product,.tgl-login-card-exact { transition:none; animation:none; }
  .tgl-mobile-menu[open],.tgl-mobile-feature-links a { animation:none; transition:none; }
}
