/* SITEWIDE NUCLEAR: PRICE OVERRIDES */
.price,
.cart-item__price,
.product__price,
.grid-product__price,
.totals__total-value,
.price-item,
.price__regular,
.price__sale,
.price-item--regular,
.price-item--sale,
.cart-item__old-price,
.cart-item__final-price,
.quantity__button,
.product-option {
  color: #ffffff !important;
}

/* SITEWIDE NUCLEAR: FONT OVERRIDES */
.price,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.cart__empty-text,
.cart-item__name,
.product__title,
.totals__total,
.totals__total-value {
  font-family: var(--font-heading-family) !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}

/* SITEWIDE NUCLEAR: STATEMENT TEXT */
.tax-note,
.cart__note label,
.product__description,
.rte,
.caption-with-letter-spacing,
.c-micro-statement {
  color: #a3a3a3 !important;
  font-family: var(--font-body-family) !important;
}

/* ==============================================
   MIGRATED FROM THEME.LIQUID (INLINE STYLES)
   ============================================== */

/* 1. Header & Section Group Killers - NUCLEAR V2 */
.header-wrapper,
.header,
.section-header,
.shopify-section-group-header-group,
.shopify-section-header {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Kill the line separator specifically */
.header-wrapper--border-bottom {
  border-bottom: none !important;
}

/* Force collapse of announcement bar if it's lingering */
.announcement-bar-section {
  display: none !important; /* Start hidden */
}
.announcement-bar-section:has(.announcement-bar__message) {
  display: block !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* Extreme Pull-Up for Main Content & Hero - NUCLEAR V3 */
/* We use -22px to account for any potential default padding or sticky header spacer */
.home #MainContent,
.home #primary,
.tf-hero {
  margin-top: -22px !important;
  padding-top: 0 !important;
}

/* Protect against Sticky Header phantom spacers */
body {
  padding-top: 0 !important;
}
.shopify-section-header-sticky {
  top: 0 !important;
  margin-top: 0 !important;
}

/* 2. Hero & Dark Sections Pull-Up + FULL BLEED */
#MainContent .shopify-section:first-child,
#primary .shopify-section:first-child,
.media,
.banner__media {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* GAP KILLER AUTHORITY V15 - THE BALANCED OVERLAP (230px) */

/* 1. Global Safety & Announcement Bar Visibility */
body,
html {
  padding-top: 0 !important;
  overflow-x: hidden; /* Prevents 100vw hero breakout from creating a horizontal scrollbar */
}

/* 2. Header Group: Relative Flow to allow overlap */
.shopify-section-group-header-group {
  position: relative !important;
  top: auto !important;
  margin-bottom: 0 !important;
  z-index: 10 !important;
}

/* 3. Desktop Strategy: Overlap Background, Restore Content balance */
@media screen and (min-width: 750px) {
  /* PULL UP the container to hide the black gap - HOMEPAGE ONLY */
  .home #MainContent,
  .home #primary {
    margin-top: 0 !important; /* ELITE: NO NEGATIVE MARGIN DISPLACEMENT */
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
  }


  /* PUSH DOWN the content inside the hero so it's not buried under the header */
  .tf-hero,
  #MainContent .shopify-section:first-child,
  #primary .shopify-section:first-child {
    padding-top: 50px !important; /* Standard padding-top */
    margin-top: 0 !important;
  }


  /* Ensure Header is Opaque Black for seamless blending */
  .header-wrapper,
  .site-header {
    background-color: transparent !important; /* ELITE: ABSOLUTE TRANSPARENCY */
    border-bottom: none !important;
  }

}

/* Mobile: Specific tuning */
@media screen and (max-width: 749px) {
  #MainContent,
  #primary,
  .tf-hero {
    margin-top: -24px !important;
    position: relative;
    z-index: 2;
  }
  .section-header {
    margin-bottom: 0px !important;
  }
  .shopify-section-group-header-group {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* FORCE FULL BLEED ON DARK SECTIONS (ALL DEVICES - WIDTH CAP PROTOCOL) */
.tf-hero,
.tf-split,
.tf-manifesto,
.footer {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 3. Announcement Bar Collapse */
.announcement-bar-section,
.announcement-bar,
.utility-bar {
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* 4. Cookie Banner (Dark Mode) - FORCE OVERRIDE */
/* Base Container */
#shopify-consent-ui,
.shopify-privacy-modal,
.shopify-privacy-banner,
.popup-cookie,
.cookie-consent-banner,
#shopify-pc__banner {
  background-color: #000000 !important;
  color: #ffffff !important;
  border-top: 1px solid #333 !important;
  z-index: 2147483647 !important;
}

/* Text Elements */
#shopify-consent-ui p,
#shopify-consent-ui h1,
#shopify-consent-ui h2,
.shopify-privacy-banner__content,
#shopify-pc__banner h2,
#shopify-pc__banner p,
#shopify-pc__banner a {
  color: #ffffff !important;
}

#shopify-pc__banner h2 {
  text-transform: uppercase !important;
  font-weight: 800 !important;
  letter-spacing: 0.1rem !important;
}

/* Accept Button (Primary) */
#shopify-consent-ui button[name="accept"],
.shopify-privacy-banner__button--primary,
#shopify-pc__banner__btn-accept {
  background-color: #6a32ff !important;
  color: #ffffff !important;
  border: none !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* Secondary Buttons (Decline / Manage) */
#shopify-consent-ui button[name="decline"],
.shopify-privacy-banner__button--secondary,
#shopify-pc__banner__btn-decline,
#shopify-pc__banner__btn-manage-prefs {
  background-color: transparent !important;
  border: 1px solid #ffffff !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

/* 5. Mobile Button Smart Fit - STOP THE WRAP */
@media screen and (max-width: 749px) {
  .tf-hero__btn,
  .tf-split__btn,
  .banner__buttons .button,
  .button,
  .btn,
  .button--primary,
  .button--secondary {
    white-space: nowrap !important;
    width: auto !important;
    min-width: 120px !important; /* Ensure minimum click target */
    max-width: 90vw !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    font-size: 1.2rem !important; /* Slightly smaller to fit "SHOP THE SERIES" */
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* PREMIUM CHAT OVERRIDE */
.chat-title {
  font-size: 0 !important; /* Hide "Live chat" */
}
.chat-title::after {
  content: "CONCIERGE" !important;
  font-size: 1.2rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 700 !important;
  color: inherit !important;
  display: block !important;
}
/* 6. NUCLEAR VISUAL STANDARDIZATION (GLOBAL OVERRIDES) */

/* PRICING PROTOCOL: DATA IS WHITE */
.price,
.price-item,
.cart-item__price,
.totals__subtotal-value,
.product__price,
.grid-product__price,
.price__regular .price-item--regular,
.price__sale .price-item--sale,
.card__information .price,
[class*="ai-premium-cart__total-price"],
[class*="ai-premium-cart__item-price"] {
  color: #ffffff !important;
}

/* TYPOGRAPHY PROTOCOL: NO SERIFS & BRAND ALIGNMENT */
h1,
h2,
h3,
h4,
h5,
h6,
.h0,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.banner__heading,
.collection-hero__title {
  font-family: var(--font-heading-family) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* Cart Page Specific Fixes */
.cart-subtotal__text,
.totals__subtotal,
.cart__note-label {
  font-family: var(--font-body-family) !important;
  font-style: normal !important; /* Kill italic/serif */
}

/* Kill the "Calculated at checkout" serif font */
.tax-note {
  font-family: var(--font-body-family) !important;
  color: #a3a3a3 !important; /* Silver for secondary info */
  font-style: normal !important;
}

/* HIERARCHY PROTOCOL: SILVER FOR SECONDARY */
.footer__content-bottom-wrapper,
.footer__copyright,
.product__description,
.card__micro-statement,
.caption-with-letter-spacing {
  color: #a3a3a3 !important;
}

/* PRICE PROTOCOL: NUCLEAR WHITE OVERRIDE */
/* This forces every possible price selector to be White */
.price,
.price__regular,
.price__sale,
.price-item,
.product__price,
.grid-product__price,
.card__price,
.tf-price-block,
[class*="price"] {
  color: #ffffff !important;
}

/* SITEWIDE SPACING STANDARDIZATION - 60px ANCHOR PROTOCOL */
body:not(.home) #main,
body:not(.home) #primary,
body:not(.home) .content-area {
    padding-top: 0 !important; /* Neutralize Theme Stack */
    padding-bottom: 40px !important;
}

/* THE ANCHOR: All internal pages start at exactly 90px (Desktop) / 50px (Mobile) */
body:not(.home) :is(#primary, .tf-shop-hero-section) {
    padding-top: 90px !important;
}

/* SURGICAL GAP FIX: Category Archives (Eliminate Nuclear 90px Anchor and Gaps) */
body.tax-product_cat #primary,
body.tax-product_cat .tf-shop-hero-section {
    padding-top: 0 !important;
}

body.tax-product_cat .tf-shop-filters-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
}

body.tax-product_cat .tf-shop-controls-section {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.tax-product_cat .truth-header-title {
    color: #FFFFFF !important;
    visibility: visible !important;
    display: block !important;
}

body.tax-product_cat .truth-subtext {
    color: rgba(255,255,255,0.8) !important;
}

/* Kill all hidden descriptions that push layout */
body.tax-product_cat .term-description,
body.tax-product_cat .archive-description,
body.tax-product_cat .archive-description-wrapper {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.tax-product_cat #primary,
body.tax-product_cat .tf-shop-hero-section {
    padding-top: 0 !important;
}

@media screen and (max-width: 768px) {
    body:not(.home) :is(#primary, .tf-shop-hero-section) {
        padding-top: 50px !important;
    }
    body.tax-product_cat #primary,
    body.tax-product_cat .tf-shop-hero-section {
        padding-top: 0 !important;
    }
}




/* Neutralize top-fold title margins to prevent anchor + legacy margin "drift" */
body:not(.home) :is(.entry-title, .product_title, .tf-checkout-header h1, .tf-cart-overhaul-root h1) {
    margin-top: 0 !important;
    color: #ffffff !important; /* Fixed invisible title color on Account page */
}


/* Neutralize nested paddings discovered during audit */
body:not(.home) :is(.woocommerce, .tf-cart-page-wrapper, .tf-shop-hero-section, .product-top-grid-nuclear, .tf-checkout-v3-root) {

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* --- NUCLEAR CART RECLAMATION: LEGACY OVERRIDES PURGED --- */
/* --- NUCLEAR DESIGN TOKEN PROTECTION --- */
html body .filter-toggle-btn,
html body .tf-toggle-filter,
html body #tf-filter-toggle,
html body .ajax_add_to_cart,
html body .add_to_cart_button,
html body .product-card-footer-exact .button,
html body .tf-qty,
html body .tf-qty__wrapper {
    border-radius: 4px !important;
}

/* --- PHASE 2: UNIVERSAL NUCLEAR FORCE (FINAL CERTIFICATION) --- */
/* THE ULTIMATE RADIUS HAMMER: Targeting every possible button class & element */
html body .wp-block-button__link,
html body .wp-block-button__link.wp-element-button,
html body .wp-block-button__link.wp-block-button__link,
html body a.wp-block-button__link,
html body a.wp-element-button,
html body .button,
html body .btn,
html body .btn-purple-solid a,
html body a.conversion-btn,
html body a[class*="button"],
html body a[class*="btn"],
html body button[class*="btn"],
html body input[type="submit"],
html body .wc-block-grid__product-add-to-cart,
html body #tf-stage-2-hero .wp-block-button__link,
html body [id*="tf-stage"] .wp-block-button__link {
    border-radius: 4px !important;
}

/* Standardized Buttons: Use Purple ONLY for general buttons, not cart/checkout which have their own specific design system */
:not(.woocommerce-cart) .button,
:not(.woocommerce-cart) .btn,
:not(.woocommerce-cart) .wp-block-button__link {
    background-color: #A855F7 !important;
    color: #ffffff !important;
}

/* 2. Mobile Spacing: Kill the Dead Space (Stages & Sections) */
@media screen and (max-width: 767px) {
    /* Target the specific "Stage" classes that were hardcoded to 120px */
    .home div[class*="tf-stage-"], 
    .home #MainContent .shopify-section,
    .home #primary .section,
    .home .section,
    .home main .section,
    .home .wp-block-group,
    .home .wp-block-cover,
    .home section,
    .home .tf-truth-series-section,
    .home .tf-newsletter-section-rebuilt {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        min-height: 0 !important;
    }

    /* Newsletter specific tightening */
    .home .tf-newsletter-section-rebuilt {
        padding: 40px 20px !important;
    }

    /* 3. Mobile Grid: Force 1-per-row for mobile to match the homepage */
    html body .home .tf-products ul.wc-block-grid__products,
    html body .woocommerce ul.products,
    html body .home .tf-controlled-grid,
    html body .products.columns-2,
    html body .products.columns-4,
    html body .products {
        grid-template-columns: 1fr !important;
        display: grid !important;
        gap: 32px !important;
    }
}

@media screen and (max-width: 479px) {
    html body .home .tf-products ul.wc-block-grid__products,
    html body .woocommerce ul.products,
    html body .home .tf-controlled-grid,
    html body .products.columns-2,
    html body .products.columns-4,
    html body .products {
        grid-template-columns: 1fr !important;
        display: grid !important;
        gap: 32px !important;
    }
}
@media screen and (max-width: 767px) {

    /* 4. Mobile Button Alignment: Center for Optics */
    html body .wp-block-buttons,
    html body .wp-block-button {
        justify-content: center !important;
        text-align: center !important;
        display: flex !important;
        width: 100% !important;
    }

    /* 5. Hero Spacing & Alignment Fix (Armageddon Hammer V2) */
    html body #tf-stage-2-hero {
        min-height: auto !important;
        height: auto !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: center !important;
    }

    html body #tf-stage-2-hero .wp-block-heading,
    html body #tf-stage-2-hero p {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* 6. Closing Section Alignment: Centered Consistency */
    html body #tf-stage-9-final-close {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }

    html body #tf-stage-9-final-close .wp-block-heading {
        text-align: center !important;
    }

    /* 7. Hover "Box" Nuke: No Full-Width Highlights */
    html body .wp-block-button__link::after,
    html body .wp-block-button__link::before,
    html body .wp-block-button__link:hover::after,
    html body .wp-block-button__link:hover::before,
    html body .jkit-button-wrapper:hover::after,
    html body .elementor-button:hover::after {
        display: none !important;
        content: none !important;
    }

    /* 8. Gap Nuke: Removing redundant hero content & padding (V8) + All Spacers */
    html body.home .wp-block-spacer {
        display: none !important;
    }

    html body #tf-stage-2-hero .hero-inline-features,
    html body #tf-stage-2-hero small.tax-note {
        display: none !important;
    }

    html body #tf-stage-2-hero {
        padding-bottom: 20px !important;
    }

    html body #tf-stage-3-micro-1 {
        padding: 0px !important;
        min-height: 0 !important;
    }

    html body #tf-stage-3-micro-1 .wp-block-group__inner-container {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
}

/* 9. SPINNER NUKE: Suppression of native browser scrollers */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

input[type=number] {
    -moz-appearance: textfield !important;
    appearance: none !important;
}

/* Hide stray quantity inputs in product titles/meta */
.product-meta-exact input.qty,
.product-meta-exact .quantity,
.tf-products .quantity,
.wc-block-grid__product-add-to-cart .quantity {
    display: none !important;
}

/* --- NUCLEAR INTERACTION: LASER SCAN EFFECT (SITWIDE) --- */
.laser-scan-overlay {
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        transparent 0%,
        rgba(124, 58, 237, 0) 45%,
        rgba(124, 58, 237, 0.6) 50%,
        rgba(124, 58, 237, 0) 55%,
        transparent 100%
    );
    z-index: 5;
    pointer-events: none;
    transition: none;
}

.nuclear-product-card:hover .laser-scan-overlay,
.tf-product-card-rebuilt:hover .laser-scan-overlay,
.tf-product-card-exact:hover .laser-scan-overlay {
    animation: laserScan 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes laserScan {
    0% { top: -100%; }
    100% { top: 100%; }
}

/* 2. Sitewide High-Fidelity Breadcrumbs (Nuclear Standard) */
.shop-breadcrumbs-nuclear {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 24px; /* Default gap to title */
    display: flex;
    align-items: center;
    gap: 8px; /* Corrected: High-precision tactical spacing */
}

.shop-breadcrumbs-nuclear.uppercase {
    text-transform: uppercase;
}

.breadcrumb-link-muted {
    color: #6B7280 !important;
    text-decoration: none;
    transition: color 0.3s ease;
    padding: 0 !important; /* Force neutralization of legacy paddings */
    margin: 0 !important;
}

.breadcrumb-link-muted:hover {
    color: #ffffff !important;
}

.breadcrumb-separator {
    color: #4B5563;
    font-weight: 400;
    padding: 0 2px; /* Subtle breathing room for the chevron */
}

.breadcrumb-current {
    color: var(--tf-brand-primary, #7C3AED) !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ============================================================
   NUCLEAR MOBILE ALIGNMENT HARDENING (SITWIDE ULTIMATE)
   Force centering on all shop/category archive components.
   ============================================================ */
@media screen and (max-width: 768px) {
    /* 1. Shop Header Centering & Column Stack */
    html body .tf-shop-hero-section,
    html body .truth-header-row.shop-context-header,
    html body .truth-heading.shop-title,
    html body .truth-subtext {
        text-align: center !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* Force Breadcrumbs to horizontal row on mobile */
    html body .shop-breadcrumbs-nuclear {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        display: flex !important;
        gap: var(--tf-mobile-space-xs) !important;
        margin-bottom: var(--tf-mobile-space-lg) !important;
    }
    
    html body .truth-heading.shop-title {
        white-space: normal !important;
        word-break: break-word !important;
        display: block !important;
    }

    /* 2. Category Pills: Kill Scroll -> Force Wrap & Center */
    html body .shop-category-filters-scroll {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: var(--tf-mobile-space-xs) !important;
        overflow: visible !important;
        width: 100% !important;
        text-align: center !important;
    }

    /* 3. Product Card Typography Centering (Sitewide Grid Parity) */
    html body .nuclear-product-card,
    html body .card-footer-nuclear,
    html body .card-product-title,
    html body .card-meta-line,
    html body .card-price-row-nuclear {
        text-align: center !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
    }

    html body .card-price-row-nuclear {
        flex-direction: row !important; /* Keep price icon/value together */
    }

    /* 6. Single Product UI Optimization (Fonts & Breadcrumbs) */
    html body h1.product_title.entry-title {
        font-size: var(--tf-font-h1-mobile) !important; 
        text-align: center !important;
    }

    html body .tf-product-breadcrumb-top-breakout .tf-product-breadcrumb-strict {
        justify-content: center !important;
        text-align: center !important;
        margin-bottom: var(--tf-mobile-space-xl) !important;
    }

    html body .price-sold-row-nuclear {
        justify-content: center !important;
        margin-bottom: 24px !important;
    }

    /* 7. Bottom Grid Hardening (More From / Related) */
    html body .shop-products-section-total-grid .tf-grid-heading-wrapper,
    html body .shop-products-section-total-grid .tf-grid-heading-wrapper > div,
    html body .shop-products-section-total-grid .tf-related-heading,
    html body .shop-products-section-total-grid .grid-subtitle,
    html body .shop-products-section-total-grid .tf-view-all-link-nuke {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
    }

    html body .shop-products-section-total-grid .tf-grid-heading-wrapper {
        flex-direction: column !important;
        gap: 20px !important;
        display: flex !important;
        align-items: center !important;
    }

    /* 8. Single Product CTA: Contained full-width stack (no horizontal bleed).
       The 100vw screen-bleed approach caused horizontal overflow on single product.
       product-mobile.css handles the contained stacking layout. */
    html body.single-product .tf-atc-row,
    html body.single-product .tf-buy-box-container-lockdown .tf-atc-row {
        flex-direction: column !important;
        display: flex !important;
        gap: 12px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* ATC in card list views — full width, sharp radius */
    html body .card-list-actions-nuke .btn-nuke-list-atc {
        width: 100% !important;
        border-radius: 0 !important;
        height: 60px !important;
        position: relative !important;
        margin: 0 !important;
    }

    /* Single product ATC — full width; radius controlled by product-mobile.css */
    html body.single-product .single_add_to_cart_button,
    html body.single-product #primary div.product form.cart .single_add_to_cart_button {
        width: 100% !important;
        height: 56px !important;
        position: relative !important;
        margin: 0 !important;
    }

    /* Quantity and whatsapp: full-width only, radius from product-mobile.css */
    html body.single-product .quantity,
    html body.single-product .tf-whatsapp-btn {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* List View Specific Hardening */
    html body .card-list-actions-nuke {
        width: 100% !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    /* Laser Scan / Interaction Hardening */
    html body .laser-scan-overlay,
    html body .tf-zoom-hint {
        display: none !important; /* Remove desktop-only friction on touch */
    }
}
