/* TeeTeeCo mobile conversion layer */
:root {
  --tt-mobile-shell: calc(100% - 32px);
  --tt-mobile-bottom: 84px;
}

html.tt-menu-open,
html.tt-drawer-open {
  overflow: hidden !important;
}

.tt-menu-toggle:focus-visible,
.tt-mobile-nav a:focus-visible,
.tt-header-icons a:focus-visible,
.tt-drawer button:focus-visible,
.tt-drawer a:focus-visible,
.tt-btn:focus-visible,
.button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid rgba(58, 96, 118, .46) !important;
  outline-offset: 3px !important;
}

.tt-mobile-sticky-cta {
  display: none;
}

.tt-mobile-sticky-cta__meta {
  min-width: 0;
}

.tt-mobile-sticky-cta__label {
  display: block;
  color: #6f7f87;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.tt-mobile-sticky-cta__value {
  display: block;
  overflow: hidden;
  color: var(--tt-blue-dark);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tt-mobile-sticky-cta__button {
  height: 48px;
  min-width: 154px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--tt-blue-dark);
  background: var(--tt-blue-dark);
  color: #fff !important;
  padding: 0 18px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.tt-mobile-sticky-cta__button:active {
  transform: translateY(1px);
}

.tt-payment-summary-toggle {
  display: none;
}

@media (max-width: 1024px) {
  .tt-shell {
    width: min(calc(100% - 44px), var(--tt-shell));
  }

  .tt-header-nav-row {
    height: 72px !important;
    padding: 0 30px !important;
  }

  .tt-menu {
    gap: 26px !important;
  }

  .tt-menu a {
    font-size: 11px !important;
  }

  .tt-header-icons {
    gap: 18px !important;
  }

  .tt-hero {
    min-height: 620px;
    padding-bottom: 56px;
  }

  .tt-hero h1 {
    font-size: 46px !important;
    line-height: 1.06 !important;
  }

  .woocommerce ul.products {
    gap: 28px 20px !important;
  }

  .tt-product-card__body {
    padding: 20px 12px 24px !important;
  }

  .tt-product-detail-grid {
    gap: 54px !important;
  }

  .tt-cart-layout {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .tt-cart-summary {
    position: static !important;
  }
}

@media (max-width: 720px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    padding-bottom: env(safe-area-inset-bottom);
  }

  body.tt-has-mobile-sticky {
    padding-bottom: calc(var(--tt-mobile-bottom) + env(safe-area-inset-bottom));
  }

  .tt-shell {
    width: min(var(--tt-mobile-shell), 560px) !important;
  }

  .tt-site-header {
    z-index: 100 !important;
  }

  .tt-header-logo-row {
    height: 58px !important;
    padding: 0 58px;
    background: rgba(247, 245, 240, .97) !important;
    box-shadow: 0 1px 0 rgba(58, 96, 118, .08);
  }

  .tt-logo {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .tt-logo img,
  .tt-footer-logo img {
    max-width: 178px;
    height: auto;
  }

  .tt-menu-toggle {
    top: 50%;
    right: 12px !important;
    width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px;
    transform: translateY(-50%);
  }

  .tt-menu-toggle span:not(.screen-reader-text) {
    width: 20px;
    margin: 3px 0 !important;
  }

  .tt-mobile-nav {
    inset: 58px 0 0 !important;
    z-index: 99;
    height: calc(100dvh - 58px);
    overflow: auto;
    padding: 24px 24px 32px !important;
    background: rgba(247, 245, 240, .98) !important;
    box-shadow: 0 18px 50px rgba(30, 30, 30, .12) !important;
    transform: translateY(-108%) !important;
  }

  .tt-menu-open .tt-mobile-nav {
    transform: translateY(0) !important;
  }

  .tt-mobile-menu {
    gap: 0 !important;
    border-top: 1px solid rgba(58, 96, 118, .14);
  }

  .tt-mobile-menu li {
    border-bottom: 1px solid rgba(58, 96, 118, .14);
  }

  .tt-mobile-menu a {
    min-height: 54px;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    color: var(--tt-blue-dark) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .06em;
  }

  .tt-mobile-menu a:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    opacity: .55;
    transform: rotate(45deg);
  }

  .tt-mobile-cats {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 22px;
  }

  .tt-mobile-cats a {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(58, 96, 118, .18);
    background: #fff;
    color: var(--tt-blue-dark);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
  }

  .tt-header-badge {
    right: -9px !important;
    top: -10px !important;
    min-width: 17px;
    height: 17px;
    font-size: 9px;
    line-height: 17px;
  }

  .tt-drawer-overlay {
    z-index: 110 !important;
  }

  .tt-drawer {
    z-index: 111 !important;
    inset: 0 0 0 auto !important;
    width: min(100vw, 430px) !important;
    max-width: 100% !important;
    height: 100dvh !important;
    padding-bottom: env(safe-area-inset-bottom);
    background: #f8f6f2 !important;
  }

  .tt-drawer__header {
    min-height: 62px !important;
    padding: 0 18px !important;
  }

  .tt-drawer__header h2 {
    font-size: 14px !important;
    letter-spacing: .08em !important;
  }

  .tt-drawer__header button {
    width: 44px !important;
    height: 44px !important;
    font-size: 28px !important;
  }

  .tt-drawer__items {
    padding: 18px !important;
  }

  .tt-drawer-item {
    grid-template-columns: 76px minmax(0, 1fr) auto !important;
    gap: 13px !important;
    padding: 14px 0 !important;
  }

  .tt-drawer-item__image {
    width: 76px !important;
    height: 76px !important;
  }

  .tt-drawer-item__title {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .tt-drawer-qty {
    height: 36px !important;
  }

  .tt-drawer-qty button {
    width: 34px !important;
    height: 34px !important;
  }

  .tt-drawer-qty input {
    width: 40px !important;
    height: 34px !important;
  }

  .tt-drawer__footer {
    position: sticky;
    bottom: 0;
    padding: 16px 18px calc(16px + env(safe-area-inset-bottom)) !important;
    background: rgba(248, 246, 242, .96);
    box-shadow: 0 -14px 34px rgba(30, 30, 30, .08);
  }

  .tt-drawer__primary,
  .tt-drawer__secondary {
    min-height: 48px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 12px !important;
  }

  .tt-drawer-empty {
    margin: 30px 0 !important;
    padding: 28px 18px !important;
    background: #fff;
    color: #60737b;
    text-align: center;
  }

  .tt-hero,
  .tt-hero--home,
  .tt-hero--category,
  .tt-hero--collection,
  .tt-contact-hero {
    min-height: min(560px, 74dvh) !important;
    padding: 112px 0 42px !important;
    background-position: center !important;
  }

  .tt-hero h1,
  .tt-contact-hero h1 {
    max-width: 350px !important;
    font-size: 34px !important;
    line-height: 1.08 !important;
    letter-spacing: .07em !important;
  }

  .tt-hero .tt-btn,
  .tt-btn {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 22px;
    font-size: 11px;
    text-align: center;
    white-space: normal;
  }

  .tt-section {
    padding-top: 56px !important;
    padding-bottom: 62px !important;
  }

  .tt-section-title {
    margin-bottom: 28px !important;
    font-size: 20px !important;
    line-height: 1.25 !important;
  }

  .tt-product-row {
    padding-top: 38px !important;
  }

  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 12px !important;
  }

  .woocommerce ul.products li.product {
    min-width: 0 !important;
  }

  .tt-product-card {
    min-width: 0 !important;
    box-shadow: 0 10px 26px rgba(30, 30, 30, .035);
  }

  .tt-product-card:hover {
    transform: none !important;
  }

  .tt-product-card__image {
    aspect-ratio: 1 / 1 !important;
  }

  .tt-product-card__body {
    min-height: 132px !important;
    padding: 14px 8px 44px !important;
  }

  .tt-product-card__body h2,
  .woocommerce-loop-product__title {
    min-height: 32px !important;
    margin-bottom: 6px !important;
    font-size: 11px !important;
    line-height: 1.42 !important;
    letter-spacing: .04em !important;
  }

  .tt-product-card__body p {
    min-height: 26px !important;
    margin-bottom: 8px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  .tt-price,
  .price {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .tt-product-wishlist {
    opacity: 1 !important;
    transform: none !important;
    width: 34px !important;
    height: 34px !important;
    right: 8px !important;
    top: 8px !important;
    background: rgba(255, 255, 255, .88) !important;
  }

  .tt-product-cart {
    opacity: 1 !important;
    transform: none !important;
    left: 7px !important;
    right: 7px !important;
    bottom: 7px !important;
    height: 32px !important;
    padding: 0 6px !important;
    font-size: 8.5px !important;
    line-height: 1.1 !important;
    text-align: center;
    white-space: normal !important;
  }

  .tt-product-carousel {
    width: min(var(--tt-mobile-shell), 560px) !important;
  }

  .tt-product-carousel .tt-section-title {
    margin-bottom: 30px !important;
  }

  .tt-product-carousel .tt-product-viewport {
    overflow: hidden !important;
  }

  .tt-product-carousel ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    transform: translateX(calc(var(--tt-product-index, 0) * -1 * ((100% - 12px) / 2 + 12px))) !important;
  }

  .tt-product-carousel ul.products li.product {
    flex: 0 0 calc((100% - 12px) / 2) !important;
  }

  .tt-product-arrow {
    top: calc((100vw - 32px) / 2 + 92px) !important;
    width: 30px !important;
    height: 30px !important;
    background: rgba(255, 255, 255, .9) !important;
  }

  .tt-product-arrow--prev {
    left: 4px !important;
  }

  .tt-product-arrow--next {
    right: 4px !important;
  }

  .tt-product-progress,
  .tt-blog-progress {
    margin-top: 22px !important;
  }

  .tt-editorial--split {
    display: block !important;
  }

  .tt-editorial figure {
    min-height: 0 !important;
  }

  .tt-editorial figure img {
    display: block;
    height: auto !important;
    aspect-ratio: 1.08;
    object-fit: cover;
  }

  .tt-editorial__copy {
    padding: 34px 22px 42px !important;
  }

  .tt-editorial__copy h2,
  .tt-blog-feature h2 {
    font-size: 21px !important;
    line-height: 1.22 !important;
  }

  .tt-gallery-strip {
    display: block !important;
    overflow: hidden;
    padding: 12px 0 48px !important;
  }

  .tt-gallery-marquee {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 0 16px 8px;
  }

  .tt-gallery-marquee img {
    flex: 0 0 72%;
    height: auto !important;
    aspect-ratio: .82;
    scroll-snap-align: start;
  }

  .tt-service-row {
    width: min(var(--tt-mobile-shell), 560px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 10px !important;
    padding: 32px 0 !important;
  }

  .tt-service-row > div {
    min-height: 104px !important;
    padding: 12px 8px !important;
  }

  .tt-service-row p {
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: .02em !important;
  }

  .tt-feature-split {
    display: block !important;
  }

  .tt-feature-split__product,
  .tt-feature-split__collection {
    min-height: 420px !important;
    padding: 260px 22px 28px !important;
  }

  .tt-feature-split__collection h2 {
    font-size: 35px !important;
    line-height: 1.05 !important;
  }

  .tt-blog-feature {
    display: block !important;
    margin-bottom: 34px !important;
  }

  .tt-blog-feature img {
    height: auto !important;
    aspect-ratio: 1.12 !important;
  }

  .tt-blog-feature div {
    padding: 28px 20px 32px !important;
  }

  .tt-blog-track {
    gap: 18px !important;
    transform: translateX(calc(var(--tt-blog-index, 0) * -1 * (82vw + 18px))) !important;
  }

  .tt-blog-card {
    flex: 0 0 82vw !important;
  }

  .tt-blog-card img {
    margin-bottom: 16px !important;
  }

  .tt-blog-card h3 {
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  .tt-blog-arrow {
    top: 142px !important;
    background: rgba(255, 255, 255, .9) !important;
  }

  .tt-blog-arrow--prev {
    left: 6px !important;
  }

  .tt-blog-arrow--next {
    right: 6px !important;
  }

  .tt-shop-page {
    padding-top: 82px !important;
  }

  .tt-shop-filters {
    width: min(var(--tt-mobile-shell), 560px) !important;
    margin: 0 auto 28px !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .tt-shop-filters select,
  .tt-shop-filters button {
    height: 44px !important;
    font-size: 11px !important;
  }

  .tt-shop-more {
    margin-top: 42px !important;
  }

  .tt-collections-row,
  .tt-collections-row--top,
  .tt-collections-row--bottom {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .tt-collections-feature,
  .tt-collections-product {
    min-height: 430px !important;
    padding: 0 22px 28px !important;
    background-position: center !important;
  }

  .tt-collections-feature h1,
  .tt-collections-feature h2 {
    font-size: 35px !important;
    line-height: 1.04 !important;
  }

  .tt-collections-feature .tt-btn {
    position: static !important;
    margin-top: 18px !important;
  }

  .tt-collections-product div {
    max-width: 260px;
  }

  .tt-collections-product h2 {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  .tt-single-product--mockup,
  .tt-single-product {
    width: 100% !important;
    display: block !important;
    padding-top: 74px !important;
    padding-bottom: 34px !important;
  }

  .tt-single-product__gallery {
    width: 100% !important;
  }

  .tt-product-main-image {
    aspect-ratio: 1 / 1.04 !important;
  }

  .tt-mock-gallery .tt-gallery-arrow {
    width: 30px !important;
    height: 30px !important;
    background: rgba(255, 255, 255, .86) !important;
  }

  .tt-gallery-heart {
    top: 12px !important;
    right: 14px !important;
    width: 40px !important;
    height: 40px !important;
  }

  .tt-single-product__summary,
  .tt-mock-summary {
    width: min(var(--tt-mobile-shell), 560px) !important;
    margin: 22px auto 0 !important;
  }

  .tt-product-thumbs {
    gap: 14px 10px !important;
    overflow-x: auto;
    margin-bottom: 18px !important;
    padding-bottom: 4px;
  }

  .tt-product-thumbs button {
    flex: 0 0 54px !important;
    width: 54px !important;
    height: 54px !important;
  }

  .tt-stock-dot {
    margin-bottom: 10px !important;
  }

  .tt-mock-summary h1,
  .tt-single-product__summary h1 {
    margin-bottom: 8px !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
  }

  .tt-product-subtitle {
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .tt-mock-summary .tt-single-product__price {
    margin-bottom: 16px !important;
    font-size: 17px !important;
  }

  .tt-size-guide {
    font-size: 11px !important;
  }

  .tt-size-row {
    height: auto !important;
    overflow-x: auto;
    grid-template-columns: repeat(6, minmax(44px, 1fr)) !important;
    border-top: 1px solid var(--tt-gray-light);
  }

  .tt-size-row button {
    min-height: 46px !important;
    font-size: 12px !important;
  }

  .tt-cart-form .single_add_to_cart_button {
    min-height: 52px !important;
  }

  .tt-product-detail-grid {
    width: min(var(--tt-mobile-shell), 560px) !important;
    display: block !important;
    padding-top: 30px !important;
    padding-bottom: 20px !important;
  }

  .tt-product-detail-grid article {
    margin-bottom: 30px;
  }

  .tt-product-video {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1.25 !important;
    margin: 28px 0 !important;
  }

  .tt-related-products {
    width: min(var(--tt-mobile-shell), 560px) !important;
    padding-bottom: 48px !important;
  }

  .tt-product-services {
    padding-bottom: 34px !important;
  }

  .tt-cart-page {
    padding-top: 88px !important;
    padding-bottom: 34px !important;
  }

  .tt-cart-layout {
    width: min(var(--tt-mobile-shell), 560px) !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .tt-cart-head {
    display: none !important;
  }

  .tt-cart-line {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid rgba(58, 96, 118, .14) !important;
  }

  .tt-cart-line__product {
    display: contents !important;
  }

  .tt-cart-line__image {
    grid-row: 1 / span 4;
    width: 86px !important;
    height: 86px !important;
  }

  .tt-cart-line__copy {
    min-width: 0;
  }

  .tt-cart-line__title {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .tt-cart-line__copy p {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .tt-cart-line__price,
  .tt-cart-line__qty,
  .tt-cart-line__subtotal {
    grid-column: 2 !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 12px !important;
  }

  .tt-cart-line__price:before,
  .tt-cart-line__qty:before,
  .tt-cart-line__subtotal:before {
    content: attr(data-title);
    color: #7b8c94;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
  }

  .tt-cart-line__remove {
    position: absolute !important;
    right: 0;
    top: 14px;
  }

  .tt-cart-line__remove a {
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
  }

  .tt-cart-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 24px 0 !important;
  }

  .tt-cart-actions input,
  .tt-cart-actions button {
    width: 100% !important;
    height: 48px !important;
  }

  .tt-cart-summary {
    margin-top: 24px !important;
    padding: 22px 20px !important;
    background: #fff;
    border: 1px solid rgba(58, 96, 118, .14);
    box-shadow: 0 16px 40px rgba(30, 30, 30, .045);
  }

  .tt-cart-summary h2 {
    font-size: 17px !important;
  }

  .tt-cart-summary dl div {
    margin-bottom: 16px !important;
  }

  .tt-cart-summary .checkout-button {
    width: 100% !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  .tt-cart-continue {
    min-height: 44px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  .tt-blog-banner {
    padding: 24px 0 !important;
  }

  .tt-blog-banner .tt-blog-page__title {
    font-size: 25px !important;
    line-height: 1.12 !important;
  }

  .tt-blog-tabs {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    overflow-x: auto;
    padding-bottom: 8px;
  }

  .tt-blog-tabs a {
    flex: 0 0 auto;
    min-width: max-content;
    padding: 0 14px !important;
  }

  .tt-blog-page__inner {
    width: min(var(--tt-mobile-shell), 560px) !important;
  }

  .tt-blog-page-card img {
    aspect-ratio: 1.12 !important;
  }

  .tt-blog-page-card h2 {
    font-size: 17px !important;
    line-height: 1.28 !important;
  }

  .tt-blog-pagination a {
    min-width: 42px !important;
    height: 42px !important;
  }

  .tt-blog-detail__hero {
    min-height: 430px !important;
    padding-top: 118px !important;
  }

  .tt-blog-detail__hero h1 {
    font-size: 28px !important;
    line-height: 1.16 !important;
  }

  .tt-blog-detail__body {
    width: min(var(--tt-mobile-shell), 560px) !important;
  }

  .tt-blog-detail__body p {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .tt-about-tom .tt-shell,
  .tt-about-page .tt-about-copy,
  .tt-about-page .tt-about-history,
  .tt-about-page .tt-about-video {
    width: min(var(--tt-mobile-shell), 560px) !important;
  }

  .tt-contact-page {
    width: min(var(--tt-mobile-shell), 560px) !important;
    padding-top: 42px !important;
  }

  .tt-contact-info,
  .tt-contact-form {
    padding: 24px 18px !important;
  }

  .tt-contact-form__grid {
    grid-template-columns: 1fr !important;
  }

  .tt-contact-form input,
  .tt-contact-form select,
  .tt-contact-form textarea {
    font-size: 16px !important;
  }

  .tt-contact-map {
    width: min(var(--tt-mobile-shell), 560px) !important;
  }

  .tt-mobile-sticky-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 120;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    background: rgba(248, 246, 242, .96);
    border-top: 1px solid rgba(58, 96, 118, .14);
    box-shadow: 0 -14px 32px rgba(30, 30, 30, .10);
    backdrop-filter: blur(14px);
    transform: translateY(110%);
    transition: transform .22s ease;
  }

  .tt-mobile-sticky-cta.is-visible {
    transform: translateY(0);
  }
}

@media (max-width: 380px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }

  .tt-product-carousel ul.products li.product {
    flex-basis: 74vw !important;
  }

  .tt-product-carousel ul.products {
    transform: translateX(calc(var(--tt-product-index, 0) * -1 * (74vw + 12px))) !important;
  }

  .tt-product-card__body h2,
  .woocommerce-loop-product__title {
    font-size: 12px !important;
  }

  .tt-mobile-sticky-cta {
    grid-template-columns: 1fr;
  }

  .tt-mobile-sticky-cta__button {
    width: 100%;
  }

  .tt-hero h1,
  .tt-contact-hero h1 {
    font-size: 31px !important;
  }

  .tt-collections-feature h1,
  .tt-collections-feature h2 {
    font-size: 31px !important;
  }
}

/* TeeTeeCo mobile polish pass - desktop is intentionally untouched. */
@media (max-width: 720px) {
  .tt-header-logo-row {
    position: relative !important;
    z-index: 130 !important;
  }

  .tt-product-card {
    overflow: hidden !important;
    background: rgba(255, 255, 255, .78) !important;
    border: 1px solid rgba(58, 96, 118, .10) !important;
  }

  .tt-product-card__image {
    overflow: hidden !important;
    background: #f3f5f3 !important;
  }

  .tt-product-card__image img,
  .woocommerce ul.products li.product img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .tt-product-card__body {
    min-height: 122px !important;
    padding: 12px 9px 12px !important;
  }

  .tt-product-cart {
    position: static !important;
    width: 100% !important;
    min-height: 34px !important;
    margin-top: 10px !important;
    border-color: rgba(58, 96, 118, .42) !important;
    background: rgba(255, 255, 255, .88) !important;
    color: var(--tt-blue-dark) !important;
    font-size: 9px !important;
    letter-spacing: .06em !important;
  }

  .tt-product-wishlist {
    border: 1px solid rgba(58, 96, 118, .12) !important;
    box-shadow: 0 8px 20px rgba(30, 30, 30, .06) !important;
  }

  .tt-product-arrow,
  .tt-blog-arrow,
  .tt-mock-gallery .tt-gallery-arrow {
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(58, 96, 118, .14) !important;
    box-shadow: 0 10px 22px rgba(30, 30, 30, .08) !important;
  }

  .tt-product-arrow svg,
  .tt-blog-arrow svg,
  .tt-mock-gallery .tt-gallery-arrow svg,
  .tt-product-arrow img,
  .tt-blog-arrow img,
  .tt-mock-gallery .tt-gallery-arrow img {
    width: 13px !important;
    height: 13px !important;
    display: block !important;
    transform: none !important;
  }

  .tt-collections-feature,
  .tt-collections-product {
    min-height: 390px !important;
    padding: 0 20px 26px !important;
  }

  .tt-collections-feature:before,
  .tt-collections-product:before {
    background: linear-gradient(180deg, rgba(0, 0, 0, .10), rgba(0, 0, 0, .48)) !important;
  }

  .tt-collections-feature h1,
  .tt-collections-feature h2 {
    max-width: 310px !important;
    font-size: 31px !important;
  }

  .tt-collections-product div {
    max-width: 300px !important;
  }

  .tt-collections-product h2 {
    font-size: 15px !important;
  }

  .tt-blog-banner {
    padding: 20px 0 22px !important;
  }

  .tt-blog-tabs {
    gap: 10px !important;
    margin: 0 -16px !important;
    padding: 0 16px 10px !important;
    scroll-padding-left: 16px !important;
  }

  .tt-blog-tabs a {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    border-radius: 999px !important;
    border-color: rgba(58, 96, 118, .20) !important;
    background: rgba(255, 255, 255, .66) !important;
    box-shadow: 0 8px 20px rgba(30, 30, 30, .035) !important;
  }

  .tt-blog-page-card {
    overflow: hidden !important;
    border: 1px solid rgba(58, 96, 118, .10) !important;
    background: rgba(255, 255, 255, .75) !important;
  }

  .tt-blog-page-card img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
  }

  .tt-mobile-sticky-cta {
    grid-template-columns: minmax(0, 1fr) minmax(142px, auto) !important;
    padding: 9px 16px calc(9px + env(safe-area-inset-bottom)) !important;
  }

  .tt-mobile-sticky-cta__label {
    font-size: 9px !important;
    letter-spacing: .06em !important;
  }

  .tt-mobile-sticky-cta__value {
    font-size: 15px !important;
  }

  .tt-mobile-sticky-cta__button {
    height: 46px !important;
    min-width: 142px !important;
    padding: 0 14px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 380px) {
  .tt-product-carousel ul.products li.product {
    flex-basis: 76vw !important;
  }

  .tt-product-carousel ul.products {
    transform: translateX(calc(var(--tt-product-index, 0) * -1 * (76vw + 12px))) !important;
  }

  .tt-mobile-sticky-cta {
    grid-template-columns: minmax(0, 1fr) 132px !important;
    gap: 9px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .tt-mobile-sticky-cta__button {
    min-width: 132px !important;
  }
}

/* Blog mobile chip row correction after preview. */
@media (max-width: 720px) {
  .tt-blog-tabs {
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .tt-blog-tabs a {
    width: auto !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
}

/* Blog mobile chip intrinsic width fix. */
@media (max-width: 720px) {
  .tt-blog-tabs a {
    width: fit-content !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 0 0 fit-content !important;
    box-sizing: border-box !important;
  }
}

/* Override blog banner grid rule on mobile. */
@media (max-width: 720px) {
  .tt-blog-banner .tt-blog-tabs {
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: auto !important;
    margin: 0 -16px !important;
    padding: 0 16px 10px !important;
    overflow-x: auto !important;
  }

  .tt-blog-banner .tt-blog-tabs a {
    width: auto !important;
    min-width: max-content !important;
    flex: 0 0 auto !important;
    padding: 0 16px !important;
  }
}

/* Homepage mobile redesign pass after visual QA. */
@media (max-width: 720px) {
  body.home .tt-site-main {
    background: var(--tt-cream) !important;
  }

  body.home .tt-hero,
  body.home .tt-hero--home {
    min-height: 520px !important;
    margin-top: 58px !important;
    padding: 0 0 42px !important;
    align-items: flex-end !important;
    background-position: center top !important;
  }

  body.home .tt-hero__shade {
    background: linear-gradient(180deg, rgba(0, 0, 0, .06), rgba(0, 0, 0, .10) 45%, rgba(0, 0, 0, .50)) !important;
  }

  body.home .tt-hero h1 {
    max-width: 320px !important;
    margin-bottom: 16px !important;
    font-size: 33px !important;
    line-height: 1.04 !important;
    letter-spacing: .02em !important;
  }

  body.home .tt-hero .tt-btn {
    min-width: 148px !important;
    height: 48px !important;
    font-size: 11px !important;
  }

  body.home .tt-product-row {
    padding-top: 38px !important;
    padding-bottom: 54px !important;
  }

  body.home .tt-product-carousel {
    width: min(calc(100% - 32px), 560px) !important;
  }

  body.home .tt-product-carousel .tt-section-title {
    margin-bottom: 22px !important;
    font-size: 21px !important;
    line-height: 1.18 !important;
  }

  body.home .tt-product-carousel .tt-product-viewport {
    overflow: hidden !important;
  }

  body.home .tt-product-carousel ul.products {
    gap: 14px !important;
    transform: translateX(calc(var(--tt-product-index, 0) * -1 * (82vw + 14px))) !important;
  }

  body.home .tt-product-carousel ul.products li.product {
    flex: 0 0 min(82vw, 330px) !important;
  }

  body.home .tt-product-carousel .tt-product-card__image {
    aspect-ratio: 1 / .96 !important;
  }

  body.home .tt-product-carousel .tt-product-card__body {
    min-height: 138px !important;
    padding: 16px 14px 18px !important;
  }

  body.home .tt-product-carousel .tt-product-card__body h2,
  body.home .tt-product-carousel .woocommerce-loop-product__title {
    min-height: 0 !important;
    margin-bottom: 8px !important;
    font-size: 13px !important;
    line-height: 1.28 !important;
    letter-spacing: .035em !important;
  }

  body.home .tt-product-carousel .tt-product-card__body p {
    min-height: 0 !important;
    margin-bottom: 10px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  body.home .tt-product-carousel .tt-price,
  body.home .tt-product-carousel .price {
    font-size: 14px !important;
  }

  body.home .tt-product-carousel .tt-product-cart {
    min-height: 38px !important;
    margin-top: 12px !important;
    font-size: 9.5px !important;
  }

  body.home .tt-product-carousel .tt-product-arrow {
    top: calc(55px + min(41vw, 165px)) !important;
    width: 34px !important;
    height: 34px !important;
  }

  body.home .tt-product-arrow--prev {
    left: 8px !important;
  }

  body.home .tt-product-arrow--next {
    right: 8px !important;
  }

  body.home .tt-product-progress {
    margin-top: 20px !important;
  }

  body.home .tt-product-row .tt-center {
    margin-top: 26px !important;
  }

  body.home .tt-editorial figure img {
    aspect-ratio: 1.06 !important;
    height: auto !important;
    object-position: center 42% !important;
  }

  body.home .tt-editorial__copy {
    padding: 30px 22px 38px !important;
  }

  body.home .tt-editorial__copy h2 {
    margin-bottom: 14px !important;
    font-size: 21px !important;
    line-height: 1.2 !important;
  }

  body.home .tt-editorial__copy p {
    font-size: 13px !important;
    line-height: 1.72 !important;
  }

  body.home .tt-gallery-strip {
    padding: 14px 0 40px !important;
  }

  body.home .tt-gallery-marquee {
    gap: 10px !important;
    padding: 0 16px 8px !important;
  }

  body.home .tt-gallery-marquee img {
    flex-basis: 64% !important;
    aspect-ratio: .96 !important;
    object-position: center !important;
  }

  body.home .tt-service-row {
    padding: 26px 0 34px !important;
    gap: 12px !important;
  }

  body.home .tt-service-row > div {
    min-height: 96px !important;
    padding: 12px 8px !important;
  }

  body.home .tt-service-row span {
    margin-bottom: 10px !important;
  }

  body.home .tt-feature-split__product,
  body.home .tt-feature-split__collection {
    min-height: 360px !important;
    padding: 220px 20px 24px !important;
  }

  body.home .tt-feature-split__collection h2 {
    max-width: 260px !important;
    font-size: 30px !important;
    line-height: 1.08 !important;
  }

  body.home .tt-blog-preview {
    padding: 50px 0 68px !important;
  }

  body.home .tt-blog-feature {
    margin-bottom: 30px !important;
    background: #fff !important;
  }

  body.home .tt-blog-feature img {
    aspect-ratio: 1.1 !important;
    object-position: center !important;
  }

  body.home .tt-blog-feature div {
    padding: 24px 20px 30px !important;
  }

  body.home .tt-blog-track {
    gap: 14px !important;
    transform: translateX(calc(var(--tt-blog-index, 0) * -1 * (100% + 14px))) !important;
  }

  body.home .tt-blog-card {
    flex: 0 0 100% !important;
    background: #fff !important;
    padding-bottom: 18px !important;
  }

  body.home .tt-blog-card img {
    aspect-ratio: 1.12 !important;
    margin-bottom: 16px !important;
  }

  body.home .tt-blog-card h3,
  body.home .tt-blog-card p {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.home .tt-blog-card h3 {
    font-size: 16px !important;
    line-height: 1.24 !important;
  }

  body.home .tt-blog-card p {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    font-size: 12px !important;
    line-height: 1.62 !important;
  }

  body.home .tt-blog-arrow {
    top: 132px !important;
  }

  body.home .tt-newsletter {
    padding: 38px 0 34px !important;
  }

  body.home .tt-newsletter h2 {
    font-size: 22px !important;
  }

  body.home .tt-newsletter p {
    font-size: 13px !important;
  }

  body.home .tt-newsletter-form {
    width: min(calc(100% - 48px), 360px) !important;
    margin: 8px auto 14px !important;
    padding: 0 !important;
    gap: 10px !important;
  }

  body.home .tt-newsletter-form input,
  body.home .tt-newsletter-form button {
    width: 100% !important;
    height: 46px !important;
  }

  body.home .tt-footer-menu {
    gap: 14px !important;
    padding: 22px 0 !important;
  }

  body.home .tt-footer-bottom {
    gap: 18px !important;
    padding: 28px 0 32px !important;
  }
}

@media (max-width: 380px) {
  body.home .tt-product-carousel ul.products li.product {
    flex-basis: 82vw !important;
  }

  body.home .tt-product-carousel ul.products {
    transform: translateX(calc(var(--tt-product-index, 0) * -1 * (82vw + 14px))) !important;
  }
}

/* Homepage mobile QA corrections: remove rough peeks and oversized gallery images. */
@media (max-width: 720px) {
  body.home .tt-product-carousel ul.products {
    gap: 0 !important;
    transform: translateX(calc(var(--tt-product-index, 0) * -100%)) !important;
  }

  body.home .tt-product-carousel ul.products li.product {
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  body.home .tt-product-carousel .tt-product-arrow {
    top: calc(55px + min(45vw, 174px)) !important;
  }

  body.home .tt-product-arrow--prev {
    left: 10px !important;
  }

  body.home .tt-product-arrow--next {
    right: 10px !important;
  }

  body.home .tt-gallery-marquee {
    align-items: stretch !important;
    overflow-x: auto !important;
  }

  body.home .tt-gallery-marquee img {
    flex: 0 0 min(68vw, 250px) !important;
    width: min(68vw, 250px) !important;
    min-width: min(68vw, 250px) !important;
    max-width: min(68vw, 250px) !important;
    height: auto !important;
    aspect-ratio: .92 !important;
    display: block !important;
    object-fit: cover !important;
  }

  body.home .tt-blog-card h3 {
    font-size: 15px !important;
    letter-spacing: .045em !important;
  }

  body.home .tt-blog-arrow {
    width: 30px !important;
    height: 30px !important;
    top: 128px !important;
  }
}

@media (max-width: 380px) {
  body.home .tt-product-carousel ul.products {
    transform: translateX(calc(var(--tt-product-index, 0) * -100%)) !important;
  }

  body.home .tt-product-carousel ul.products li.product {
    flex-basis: 100% !important;
  }
}

/* Homepage mobile final polish: stable gallery rail, lighter split/blog density. */
@media (max-width: 720px) {
  body.home .tt-gallery-strip {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    padding: 18px 0 36px !important;
  }

  body.home .tt-gallery-strip .tt-gallery-marquee {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    transform: none !important;
    animation: none !important;
    margin: 0 !important;
    padding: 0 16px 8px !important;
    display: flex !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.home .tt-gallery-strip .tt-gallery-marquee img {
    flex: 0 0 72vw !important;
    width: 72vw !important;
    min-width: 72vw !important;
    max-width: 72vw !important;
    height: auto !important;
    aspect-ratio: .92 !important;
    object-fit: cover !important;
    object-position: center !important;
    scroll-snap-align: start !important;
  }

  body.home .tt-editorial figure img {
    aspect-ratio: 1.18 !important;
    max-height: 305px !important;
  }

  body.home .tt-feature-split__product,
  body.home .tt-feature-split__collection {
    min-height: 330px !important;
    padding: 190px 18px 24px !important;
  }

  body.home .tt-feature-split__product h3,
  body.home .tt-feature-split__product p {
    max-width: 250px !important;
  }

  body.home .tt-feature-split__collection h2 {
    max-width: 245px !important;
    font-size: 28px !important;
  }

  body.home .tt-blog-preview {
    padding-top: 44px !important;
  }

  body.home .tt-blog-feature h2,
  body.home .tt-blog-card h3 {
    font-size: 17px !important;
    line-height: 1.28 !important;
    letter-spacing: .035em !important;
  }

  body.home .tt-blog-feature p,
  body.home .tt-blog-card p {
    font-size: 12px !important;
    line-height: 1.62 !important;
  }

  body.home .tt-blog-card {
    min-height: 0 !important;
  }

  body.home .tt-blog-card img {
    aspect-ratio: 1.28 !important;
  }
}

@media (max-width: 380px) {
  body.home .tt-gallery-strip .tt-gallery-marquee img {
    flex-basis: 74vw !important;
    width: 74vw !important;
    min-width: 74vw !important;
    max-width: 74vw !important;
  }
}

/* Align home blog carousel arrows with the first mobile card image. */
@media (max-width: 720px) {
  body.home .tt-blog-arrow {
    top: 646px !important;
  }
}

@media (max-width: 380px) {
  body.home .tt-blog-arrow {
    top: 646px !important;
  }
}

/* Use native swipe for home blog cards on mobile; avoid absolute arrows drifting over content. */
@media (max-width: 720px) {
  body.home .tt-blog-viewport {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.home .tt-blog-track {
    gap: 14px !important;
    transform: none !important;
  }

  body.home .tt-blog-card {
    flex: 0 0 88% !important;
    scroll-snap-align: start !important;
  }

  body.home .tt-blog-arrow,
  body.home .tt-blog-progress {
    display: none !important;
  }
}

/* Mobile conversion refinement: even service grid and quieter homepage blog cards. */
@media (max-width: 720px) {
  body.home .tt-home-services {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 30px 18px !important;
    padding-top: 36px !important;
    padding-bottom: 38px !important;
  }

  body.home .tt-home-services > div:nth-child(n+5) {
    display: none !important;
  }

  body.home .tt-home-services span {
    width: 50px !important;
    height: 50px !important;
    margin-bottom: 13px !important;
  }

  body.home .tt-home-services p {
    font-size: 10px !important;
    line-height: 1.32 !important;
    letter-spacing: .055em !important;
  }

  body.home .tt-blog-preview {
    padding: 38px 0 56px !important;
  }

  body.home .tt-blog-feature {
    margin-bottom: 22px !important;
  }

  body.home .tt-blog-feature img {
    aspect-ratio: 1.35 !important;
  }

  body.home .tt-blog-feature div {
    padding: 20px 18px 24px !important;
  }

  body.home .tt-blog-feature h2 {
    margin-bottom: 9px !important;
    font-size: 15px !important;
    line-height: 1.28 !important;
    letter-spacing: .028em !important;
  }

  body.home .tt-blog-feature p {
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    font-size: 11px !important;
    line-height: 1.58 !important;
  }

  body.home .tt-blog-viewport {
    margin-right: -16px !important;
    padding-right: 16px !important;
  }

  body.home .tt-blog-track {
    gap: 12px !important;
  }

  body.home .tt-blog-card {
    flex-basis: 82% !important;
    padding-bottom: 14px !important;
  }

  body.home .tt-blog-card img {
    aspect-ratio: 1.42 !important;
    margin-bottom: 12px !important;
  }

  body.home .tt-blog-card h3,
  body.home .tt-blog-card p {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.home .tt-blog-card h3 {
    margin-bottom: 7px !important;
    font-size: 14px !important;
    line-height: 1.28 !important;
    letter-spacing: .026em !important;
  }

  body.home .tt-blog-card p {
    -webkit-line-clamp: 2 !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }
}

/* Restore homepage mobile gallery auto marquee. */
@media (max-width: 720px) {
  body.home .tt-gallery-strip {
    display: block !important;
    overflow: hidden !important;
  }

  body.home .tt-gallery-strip .tt-gallery-marquee {
    width: max-content !important;
    max-width: none !important;
    min-width: max-content !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    gap: 12px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    -webkit-overflow-scrolling: auto !important;
    animation: tt-gallery-marquee 22s linear infinite !important;
    animation-play-state: running !important;
    will-change: transform !important;
  }

  body.home .tt-gallery-strip.is-paused .tt-gallery-marquee {
    animation-play-state: paused !important;
  }

  body.home .tt-gallery-strip .tt-gallery-marquee img {
    flex: 0 0 72vw !important;
    width: 72vw !important;
    min-width: 72vw !important;
    max-width: 72vw !important;
    height: auto !important;
    aspect-ratio: .92 !important;
    object-fit: cover !important;
    scroll-snap-align: none !important;
  }
}

@media (max-width: 380px) {
  body.home .tt-gallery-strip .tt-gallery-marquee img {
    flex-basis: 74vw !important;
    width: 74vw !important;
    min-width: 74vw !important;
    max-width: 74vw !important;
  }
}
/* Use a resolvable transform for the mobile gallery marquee animation. */
@media (max-width: 720px) {
  @keyframes tt-gallery-marquee {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
  }
}
/* Homepage mobile blog: auto-scroll cards without visible scrollbar. */
@media (max-width: 720px) {
  body.home .tt-blog-viewport {
    margin-right: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  body.home .tt-blog-viewport::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
  }

  body.home .tt-blog-track {
    gap: 12px !important;
    transform: none !important;
  }

  body.home .tt-blog-card {
    flex-basis: 82% !important;
  }

  body.home .tt-blog-arrow,
  body.home .tt-blog-progress {
    display: none !important;
  }

  body.home .tt-blog-preview .tt-center {
    margin-top: 10px !important;
  }

  body.home .tt-blog-preview .tt-center .tt-btn {
    margin-top: 0 !important;
  }
}
/* Homepage mobile blog button spacing and divider. */
@media (max-width: 720px) {
  body.home .tt-blog-preview .tt-center {
    margin-top: 8px !important;
    display: grid !important;
    justify-items: center !important;
    gap: 24px !important;
  }

  body.home .tt-blog-preview .tt-center:before {
    content: "";
    display: block !important;
    width: 146px !important;
    height: 1px !important;
    background: rgba(29, 54, 78, .28) !important;
  }

  body.home .tt-blog-preview .tt-center .tt-btn {
    width: 146px !important;
    min-width: 146px !important;
    height: 76px !important;
    min-height: 76px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border-color: rgba(29, 54, 78, .72) !important;
    color: #5f6570 !important;
    font-size: 12px !important;
    letter-spacing: 0 !important;
  }
}
/* Match homepage blog footer controls to bestselling product controls. */
@media (max-width: 720px) {
  body.home .tt-blog-progress {
    display: block !important;
    position: relative !important;
    width: 146px !important;
    height: 1px !important;
    margin: 20px auto 28px !important;
    background: rgba(29, 54, 78, .22) !important;
    overflow: hidden !important;
  }

  body.home .tt-blog-progress span {
    display: none !important;
  }

  body.home .tt-blog-preview .tt-center {
    margin-top: 0 !important;
    display: flex !important;
    justify-content: center !important;
    gap: 0 !important;
  }

  body.home .tt-blog-preview .tt-center:before {
    content: none !important;
    display: none !important;
  }

  body.home .tt-blog-preview .tt-center .tt-btn {
    width: 146px !important;
    min-width: 146px !important;
    height: 76px !important;
    min-height: 76px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 1px solid rgba(29, 54, 78, .72) !important;
    color: #5f6570 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }
}
/* Use desktop blog carousel controls on mobile. */
@media (max-width: 720px) {
  body.home .tt-blog-progress {
    display: block !important;
    position: relative !important;
    width: 146px !important;
    height: 1px !important;
    margin: 51px auto 30px !important;
    background: rgba(29, 54, 78, .18) !important;
    overflow: hidden !important;
  }

  body.home .tt-blog-progress span {
    display: block !important;
    width: 33.333% !important;
    height: 1px !important;
    background: var(--tt-blue-dark) !important;
    transform: translateX(calc(var(--tt-blog-progress, 0) * 100%)) !important;
    transition: transform .42s ease !important;
  }

  body.home .tt-blog-preview .tt-center {
    margin-top: 0 !important;
    display: block !important;
    text-align: center !important;
  }

  body.home .tt-blog-preview .tt-center:before {
    content: none !important;
    display: none !important;
  }

  body.home .tt-blog-carousel .tt-btn,
  body.home .tt-blog-preview .tt-center .tt-btn {
    width: auto !important;
    min-width: 146px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border-color: #777b82 !important;
    color: #5f6570 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }
}
/* Dedicated mobile menu and product detail redesign. */
.tt-mobile-menu__head,
.tt-mobile-quick-actions,
.tt-mobile-menu__eyebrow,
.tt-mobile-menu__footer,
.tt-mobile-product-cues,
.tt-mobile-purchase-card,
.tt-mobile-product-consult {
  display: none;
}

@media (max-width: 720px) {
  .tt-menu-toggle {
    color: var(--tt-black) !important;
  }

  .tt-menu-toggle span:not(.screen-reader-text) {
    transform-origin: center;
    transition: transform .2s ease, opacity .2s ease;
  }

  .tt-menu-open .tt-menu-toggle span:not(.screen-reader-text):nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .tt-menu-open .tt-menu-toggle span:not(.screen-reader-text):nth-child(2) {
    opacity: 0;
  }

  .tt-menu-open .tt-menu-toggle span:not(.screen-reader-text):nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .tt-mobile-nav {
    inset: 58px 0 0 !important;
    height: calc(100dvh - 58px) !important;
    padding: 18px 16px calc(26px + env(safe-area-inset-bottom)) !important;
    background: rgba(248, 246, 241, .98) !important;
    border-top: 1px solid rgba(58, 96, 118, .10) !important;
    box-shadow: 0 24px 70px rgba(20, 35, 45, .16) !important;
  }

  .tt-mobile-menu__head {
    display: grid;
    gap: 6px;
    margin-bottom: 16px;
    padding: 18px 16px;
    background: #fff;
    border: 1px solid rgba(58, 96, 118, .12);
  }

  .tt-mobile-menu__head span {
    color: var(--tt-black);
    font-family: var(--tt-display);
    font-size: 26px;
    line-height: 1;
  }

  .tt-mobile-menu__head strong {
    max-width: 280px;
    color: #526974;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
  }

  .tt-mobile-quick-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 18px;
  }

  .tt-mobile-quick-actions a {
    position: relative;
    min-height: 64px;
    display: grid !important;
    place-items: center;
    align-content: center;
    gap: 7px;
    background: #fff;
    border: 1px solid rgba(58, 96, 118, .12);
    color: var(--tt-blue-dark) !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .tt-mobile-quick-actions .tt-header-badge {
    position: absolute !important;
    top: 7px !important;
    right: 8px !important;
    width: 17px !important;
    min-width: 17px !important;
    height: 17px !important;
    padding: 0 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: var(--tt-blue-dark) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    box-shadow: 0 4px 10px rgba(30, 30, 30, .12) !important;
  }

  .tt-mobile-quick-actions .tt-header-badge[hidden] {
    display: none !important;
  }

  .tt-mobile-quick-actions span {
    white-space: nowrap;
  }

  .tt-mobile-quick-actions svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
  }

  @media (max-width: 380px) {
    .tt-mobile-quick-actions {
      gap: 6px;
    }

    .tt-mobile-quick-actions a {
      min-height: 58px;
      font-size: 8px !important;
      letter-spacing: .02em;
    }

    .tt-mobile-quick-actions svg {
      width: 17px;
      height: 17px;
    }
  }

  .tt-mobile-menu__eyebrow {
    display: block;
    margin: 18px 0 10px;
    color: #7a8d95;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .tt-mobile-cats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px !important;
    margin: 0 0 4px !important;
  }

  .tt-mobile-cats a {
    min-height: 48px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #fff !important;
    border: 1px solid rgba(58, 96, 118, .16) !important;
    color: var(--tt-blue-dark) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .tt-mobile-menu {
    display: grid !important;
    gap: 0 !important;
    background: #fff;
    border: 1px solid rgba(58, 96, 118, .12);
    border-bottom: 0;
  }

  .tt-mobile-menu li {
    border-bottom: 1px solid rgba(58, 96, 118, .12) !important;
  }

  .tt-mobile-menu a {
    min-height: 50px !important;
    padding: 0 14px !important;
    color: var(--tt-black) !important;
    font-size: 12px !important;
    letter-spacing: .04em;
  }

  .tt-mobile-menu__footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 16px;
  }

  .tt-mobile-menu__footer a {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--tt-blue-dark);
    background: var(--tt-blue-dark);
    color: #fff !important;
    font-size: 10px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .tt-mobile-menu__footer a + a {
    background: transparent;
    color: var(--tt-blue-dark) !important;
  }

  .tt-single-product--mockup,
  .tt-single-product {
    padding-top: 58px !important;
    background: var(--tt-cream);
  }

  .tt-product-main-image {
    aspect-ratio: 1 / 1.05 !important;
    border-bottom: 1px solid rgba(58, 96, 118, .10);
  }

  .tt-product-main-image img {
    object-fit: cover !important;
    object-position: center !important;
  }

  .tt-gallery-heart {
    top: 14px !important;
    right: 16px !important;
    background: rgba(255, 255, 255, .72) !important;
    border: 1px solid rgba(255, 255, 255, .42) !important;
    border-radius: 50%;
    color: var(--tt-blue-dark) !important;
    font-size: 22px !important;
  }

  .tt-single-product__summary,
  .tt-mock-summary {
    width: min(calc(100% - 32px), 560px) !important;
    margin-top: 18px !important;
    padding: 0 0 18px !important;
  }

  .tt-product-thumbs {
    margin: 0 -16px 16px !important;
    padding: 0 16px 5px !important;
    gap: 9px !important;
    scroll-snap-type: x mandatory;
  }

  .tt-product-thumbs button {
    flex: 0 0 52px !important;
    width: 52px !important;
    height: 52px !important;
    border-width: 2px !important;
    scroll-snap-align: start;
  }

  .tt-stock-dot {
    width: fit-content;
    margin-bottom: 12px !important;
    padding: 5px 9px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(58, 96, 118, .10);
    border-radius: 999px;
    font-size: 10px !important;
  }

  .tt-mock-summary h1,
  .tt-single-product__summary h1 {
    max-width: 330px;
    font-size: 21px !important;
    line-height: 1.22 !important;
  }

  .tt-product-subtitle {
    margin-bottom: 12px !important;
    color: #65777f !important;
    font-size: 12px !important;
  }

  .tt-mock-summary .tt-single-product__price,
  .tt-single-product__price {
    margin-bottom: 12px !important;
    color: var(--tt-blue-dark) !important;
    font-size: 20px !important;
    font-weight: 700;
  }

  .tt-mobile-product-cues {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
    margin: 0 0 16px;
  }

  .tt-mobile-product-cues span {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 11px;
    background: rgba(255, 255, 255, .76);
    border: 1px solid rgba(58, 96, 118, .10);
    color: var(--tt-blue-dark);
    font-size: 11px;
    font-weight: 600;
  }

  .tt-mobile-product-cues span:before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #9fd7e7;
  }

  .tt-mock-summary .tt-single-product__excerpt {
    margin-bottom: 18px !important;
    color: #65777f !important;
  }

  .tt-mobile-purchase-card {
    display: block;
    margin-top: 16px;
    padding: 14px;
    background: #fff;
    border: 1px solid rgba(58, 96, 118, .14);
    box-shadow: 0 14px 34px rgba(30, 30, 30, .045);
  }

  .tt-mobile-purchase-card > p {
    display: block;
    margin: 0 0 12px;
    color: #65777f;
    font-size: 11px;
    line-height: 1.55;
  }

  .tt-size-guide {
    margin-top: 0 !important;
    padding-bottom: 10px !important;
  }

  .tt-size-row {
    gap: 7px;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(38px, 1fr)) !important;
    border: 0 !important;
    margin-bottom: 14px !important;
    overflow: visible !important;
  }

  .tt-size-row button {
    border: 1px solid rgba(58, 96, 118, .16) !important;
    background: rgba(248, 246, 242, .72) !important;
  }

  .tt-size-row button.is-active {
    background: var(--tt-blue-dark) !important;
    color: #fff !important;
  }

  .tt-cart-form .single_add_to_cart_button {
    min-height: 52px !important;
    font-size: 12px !important;
  }

  .tt-mobile-product-consult {
    min-height: 42px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    border: 1px solid rgba(58, 96, 118, .18);
    color: var(--tt-blue-dark) !important;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .tt-product-detail-grid {
    margin-top: 10px !important;
    border-top: 1px solid rgba(58, 96, 118, .12) !important;
  }
}

/* Desktop preservation for the mobile product purchase wrapper. */
.tt-mobile-purchase-card {
  display: block;
}

.tt-mobile-purchase-card > p,
.tt-mobile-product-cues,
.tt-mobile-product-consult {
  display: none;
}

@media (max-width: 720px) {
  .tt-mobile-product-cues {
    display: grid;
  }

  .tt-mobile-purchase-card {
    display: block;
  }

  .tt-mobile-purchase-card > p {
    display: block;
  }

  .tt-mobile-product-consult {
    display: flex !important;
  }
}


/* Wishlist/cart functional polish on mobile. */
@media (max-width: 720px) {
  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body:not(.home) ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist.is-active {
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .tt-gallery-heart[data-tt-wishlist] {
    display: grid !important;
    place-items: center !important;
    cursor: pointer;
  }

  .tt-gallery-heart[data-tt-wishlist].is-active {
    background: var(--tt-blue-dark) !important;
    color: #fff !important;
  }
}


/* Cart drawer loading state. */
.tt-drawer-item.is-updating {
  opacity: .58;
  pointer-events: none;
}

.tt-drawer-item.is-updating .tt-drawer-qty,
.tt-drawer-item.is-updating .tt-drawer-remove {
  filter: grayscale(1);
}

/* Mobile tap target polish: keep desktop untouched while making touch controls reliable. */
@media (max-width: 720px) {
  .tt-product-arrow,
  .tt-blog-arrow,
  .tt-mock-gallery .tt-gallery-arrow {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  .tt-product-arrow {
    top: calc((100vw - 32px) / 2 + 88px) !important;
  }

  .tt-product-arrow--prev,
  .tt-blog-arrow--prev {
    left: 10px !important;
  }

  .tt-product-arrow--next,
  .tt-blog-arrow--next {
    right: 10px !important;
  }

  .tt-mock-gallery .tt-gallery-arrow {
    top: 50% !important;
    margin: 0 !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }

  .tt-mock-gallery .tt-gallery-arrow--left {
    left: 12px !important;
  }

  .tt-mock-gallery .tt-gallery-arrow--right {
    right: 12px !important;
  }

  .tt-product-wishlist {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  .tt-gallery-heart[data-tt-wishlist] {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  .tt-product-wishlist {
    right: 8px !important;
    top: 8px !important;
  }

  .tt-gallery-heart[data-tt-wishlist] {
    top: 12px !important;
    right: 14px !important;
    font-size: 19px !important;
  }

  .tt-product-cart,
  .tt-mobile-product-consult,
  .tt-size-guide a {
    min-height: 44px !important;
  }

  .tt-product-cart,
  .tt-mobile-product-consult {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .tt-size-guide a {
    display: inline-flex !important;
    align-items: center !important;
  }
}

/* Mobile product card tap target final override. */
@media (max-width: 720px) {
  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body:not(.home) ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist.is-active {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    right: 8px !important;
    top: 8px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist svg {
    width: 15px !important;
    height: 15px !important;
  }

  body ul.products li.product.tt-product-card .tt-product-cart,
  body:not(.home) ul.products li.product.tt-product-card .tt-product-cart,
  .woocommerce ul.products li.product.tt-product-card .tt-product-cart {
    height: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    line-height: 1.15 !important;
  }
}

/* Mobile footer and editorial link tap target polish. */
@media (max-width: 720px) {
  .tt-blog-card h3 a,
  .tt-blog-page-card h2 a,
  .tt-blog-feature h2 a,
  .tt-footer-menu a,
  .tt-language a,
  .tt-footer-logo,
  .tt-social a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .tt-blog-card h3 a,
  .tt-blog-page-card h2 a,
  .tt-blog-feature h2 a {
    justify-content: flex-start !important;
  }

  .tt-language {
    row-gap: 6px !important;
  }
}

/* Mobile auxiliary tap target final pass. */
@media (max-width: 720px) {
  .tt-footer-menu a,
  .tt-language a,
  .tt-social a,
  .tt-drawer__header button,
  .tt-blog-tabs a,
  .tt-blog-pagination a {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .tt-social a,
  .tt-drawer__header button,
  .tt-blog-pagination a {
    width: 44px !important;
    height: 44px !important;
    display: inline-grid !important;
    place-items: center !important;
    padding: 0 !important;
  }

  .tt-blog-tabs a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}

/* Contact mobile tap target completion. */
@media (max-width: 720px) {
  .tt-contact-list p a,
  .tt-contact-map__label {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .tt-contact-list p a {
    padding: 4px 0 !important;
  }

  .tt-contact-map__label {
    height: auto !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    line-height: 1.25 !important;
  }
}

/* Blog detail mobile back link tap target polish. */
@media (max-width: 720px) {
  .tt-blog-detail__back,
  .tt-blog-detail__backlink {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .tt-blog-detail__back {
    padding: 0 4px !important;
  }

  .tt-blog-detail__backlink {
    padding: 0 14px !important;
    border: 1px solid rgba(58, 96, 118, .16) !important;
    background: rgba(255, 255, 255, .72) !important;
  }
}

/* Mobile header gap and wishlist shortcut fix. */
.tt-mobile-header-actions {
  display: none;
}

@media (max-width: 720px) {
  .tt-header-logo-row {
    display: grid !important;
    grid-template-columns: 100px minmax(0, 1fr) 100px !important;
    align-items: center !important;
    justify-items: center !important;
    padding: 0 12px !important;
    overflow: visible !important;
  }

  .tt-header-logo-row .tt-logo {
    grid-column: 2 !important;
    font-size: clamp(24px, 7.2vw, 31px) !important;
    justify-self: center !important;
    white-space: nowrap !important;
    max-width: calc(100vw - 216px) !important;
    overflow: visible !important;
  }

  .tt-mobile-header-actions {
    grid-column: 3 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    z-index: 4 !important;
    width: 92px !important;
    display: grid !important;
    grid-template-columns: 44px 44px !important;
    column-gap: 4px !important;
    align-items: center;
    justify-content: end !important;
    transform: none !important;
  }

  .tt-mobile-header-action {
    position: relative;
    width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    color: var(--tt-blue-dark) !important;
  }

  .tt-mobile-header-action::after {
    content: "";
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: transparent;
    transition: background-color .18s ease;
  }

  .tt-mobile-header-action:active::after,
  .tt-mobile-header-action:focus-visible::after {
    background: rgba(58, 96, 118, .10);
  }

  .tt-mobile-header-action svg {
    position: relative;
    z-index: 1;
    width: 22px !important;
    height: 22px !important;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .tt-mobile-header-action--wishlist svg,
  .tt-mobile-header-action--cart svg {
    width: 20px !important;
    height: 20px !important;
  }

  .tt-menu-toggle {
    grid-column: 1 !important;
    position: relative !important;
    right: auto !important;
    justify-self: start !important;
    z-index: 4 !important;
  }

  body.home .tt-hero,
  body.home .tt-hero--home {
    margin-top: 39px !important;
  }

  body.single-product .tt-single-product,
  body.single-product .tt-single-product--mockup {
    padding-top: 39px !important;
  }
}

/* Mobile product header gap final correction. */
@media (max-width: 720px) {
  body.single-product .tt-single-product,
  body.single-product .tt-single-product--mockup {
    padding-top: 20px !important;
  }

  .tt-mobile-header-action .tt-header-badge {
    top: 4px !important;
    right: 3px !important;
    z-index: 2 !important;
    min-width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
    padding: 0 4px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: var(--tt-blue) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 800 !important;
  }

  .tt-mobile-header-action .tt-header-badge[hidden] {
    display: none !important;
  }
}

/* Mobile drawer hidden state accessibility fix. */
@media (max-width: 720px) {
  .tt-drawer[aria-hidden="true"] {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .tt-drawer[aria-hidden="false"] {
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

/* Mobile category filter and frameless listing cards polish. */
@media (max-width: 720px) {
  body.tax-product_cat .tt-shop-page,
  body.post-type-archive-product .tt-shop-page,
  body.woocommerce-shop .tt-shop-page {
    padding-top: 24px !important;
  }

  body.tax-product_cat .tt-shop-filters,
  body.post-type-archive-product .tt-shop-filters,
  body.woocommerce-shop .tt-shop-filters {
    width: min(calc(100% - 32px), 560px) !important;
    margin: 0 auto 30px !important;
    padding: 15px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    border: 1px solid rgba(58, 96, 118, .13) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .58) !important;
    box-shadow: none !important;
  }

  body.tax-product_cat .tt-shop-filters label,
  body.post-type-archive-product .tt-shop-filters label,
  body.woocommerce-shop .tt-shop-filters label {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin: 0 !important;
  }

  body.tax-product_cat .tt-shop-filters label > span,
  body.post-type-archive-product .tt-shop-filters label > span,
  body.woocommerce-shop .tt-shop-filters label > span {
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .08em !important;
    color: var(--tt-blue-dark) !important;
  }

  body.tax-product_cat .tt-shop-filters select,
  body.post-type-archive-product .tt-shop-filters select,
  body.woocommerce-shop .tt-shop-filters select {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    padding: 0 36px 0 13px !important;
    border: 1px solid rgba(58, 96, 118, .18) !important;
    background-color: #fff !important;
    color: var(--tt-blue-dark) !important;
    font-size: 12px !important;
    line-height: 48px !important;
    text-transform: none !important;
    box-shadow: none !important;
  }

  body.tax-product_cat .tt-shop-filters button,
  body.post-type-archive-product .tt-shop-filters button,
  body.woocommerce-shop .tt-shop-filters button {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 2px 0 0 !important;
    border: 1px solid var(--tt-blue-dark) !important;
    background: var(--tt-blue-dark) !important;
    color: #fff !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.tax-product_cat ul.products,
  body.post-type-archive-product ul.products,
  body.woocommerce-shop ul.products {
    width: min(calc(100% - 32px), 560px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 30px 16px !important;
  }

  body.tax-product_cat ul.products li.product.tt-product-card,
  body.post-type-archive-product ul.products li.product.tt-product-card,
  body.woocommerce-shop ul.products li.product.tt-product-card {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    overflow: visible !important;
  }

  body.tax-product_cat ul.products li.product.tt-product-card:hover,
  body.post-type-archive-product ul.products li.product.tt-product-card:hover,
  body.woocommerce-shop ul.products li.product.tt-product-card:hover {
    transform: none !important;
    box-shadow: none !important;
  }

  body.tax-product_cat .tt-product-card__image,
  body.post-type-archive-product .tt-product-card__image,
  body.woocommerce-shop .tt-product-card__image {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
  }

  body.tax-product_cat .tt-product-card__body,
  body.post-type-archive-product .tt-product-card__body,
  body.woocommerce-shop .tt-product-card__body {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    padding: 12px 0 0 !important;
  }
}


/* Mobile product detail gallery arrows final alignment. */
@media (max-width: 720px) {
  body.single-product .tt-mock-gallery .tt-gallery-arrow {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tt-blue-dark) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -999px !important;
    overflow: visible !important;
    transform: translateY(-50%) !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-arrow::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(58, 96, 118, .18);
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 18px rgba(30, 30, 30, .08);
    transform: translate(-50%, -50%);
  }

  body.single-product .tt-mock-gallery .tt-gallery-arrow::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    z-index: 1 !important;
    width: 7px !important;
    height: 7px !important;
    border-top: 1.6px solid currentColor !important;
    border-right: 1.6px solid currentColor !important;
    display: block !important;
    margin: 0 !important;
    transform-origin: center !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-arrow--left {
    left: 10px !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-arrow--right {
    right: 10px !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-arrow--left::before {
    transform: translate(-38%, -50%) rotate(-135deg) !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-arrow--right::before {
    transform: translate(-62%, -50%) rotate(45deg) !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-arrow:focus-visible::after {
    border-color: rgba(58, 96, 118, .52);
    box-shadow: 0 0 0 3px rgba(58, 96, 118, .16);
  }
}


/* Mobile product detail gallery wishlist final fix. */
@media (max-width: 720px) {
  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist] {
    top: 64px !important;
    right: 16px !important;
    z-index: 6 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 1px solid rgba(58, 96, 118, .14) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .92) !important;
    color: var(--tt-blue-dark) !important;
    box-shadow: 0 8px 18px rgba(30, 30, 30, .08) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    transform: none !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist] svg {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    pointer-events: none !important;
    transform: none !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist].is-active {
    background: #fff !important;
    color: var(--tt-blue-dark) !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist].is-active svg {
    fill: currentColor !important;
  }
}


/* Mobile product detail related cards frameless polish. */
@media (max-width: 720px) {
  body.single-product .tt-related-products ul.products,
  body.single-product .related.products ul.products {
    width: min(calc(100% - 32px), 560px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 31px 16px !important;
  }

  body.single-product .tt-related-products ul.products li.product,
  body.single-product .tt-related-products ul.products li.product.tt-product-card,
  body.single-product .related.products ul.products li.product,
  body.single-product .related.products ul.products li.product.tt-product-card {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    transform: none !important;
  }

  body.single-product .tt-related-products .tt-product-card__image,
  body.single-product .related.products .tt-product-card__image {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #79bfdc !important;
  }

  body.single-product .tt-related-products .tt-product-card__link,
  body.single-product .related.products .tt-product-card__link {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.single-product .tt-related-products .tt-product-card__body,
  body.single-product .related.products .tt-product-card__body {
    min-height: 0 !important;
    padding: 11px 0 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
  }

  body.single-product .tt-related-products .tt-product-card__body h2,
  body.single-product .tt-related-products .woocommerce-loop-product__title,
  body.single-product .related.products .tt-product-card__body h2,
  body.single-product .related.products .woocommerce-loop-product__title,
  body.single-product .tt-related-products .tt-product-card__body p,
  body.single-product .related.products .tt-product-card__body p,
  body.single-product .tt-related-products .tt-price,
  body.single-product .tt-related-products .price,
  body.single-product .related.products .tt-price,
  body.single-product .related.products .price {
    text-align: left !important;
  }
}


/* Mobile footer language center alignment. */
@media (max-width: 720px) {
  .tt-footer-bottom .tt-language {
    width: 100% !important;
    max-width: min(calc(100vw - 32px), 360px) !important;
    justify-self: center !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px 10px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  .tt-footer-bottom .tt-language svg {
    flex: 0 0 16px !important;
  }

  .tt-footer-bottom .tt-language a,
  .tt-footer-bottom .tt-language span {
    margin: 0 !important;
  }
}


/* Homepage carousel progress movement feedback. */
@media (max-width: 720px) {
  body.home .tt-product-carousel .tt-product-progress,
  body.home .tt-blog-carousel .tt-blog-progress {
    overflow: hidden !important;
  }

  body.home .tt-product-carousel .tt-product-progress span,
  body.home .tt-blog-carousel .tt-blog-progress span {
    display: block !important;
    transition: transform .36s ease, height .18s ease, background-color .18s ease !important;
    will-change: transform !important;
  }

  body.home .tt-product-carousel.is-moving .tt-product-progress,
  body.home .tt-blog-carousel.is-moving .tt-blog-progress {
    background: rgba(29, 54, 78, .26) !important;
  }

  body.home .tt-product-carousel.is-moving .tt-product-progress span,
  body.home .tt-blog-carousel.is-moving .tt-blog-progress span {
    height: 2px !important;
    background: var(--tt-blue-dark) !important;
  }
}


/* Homepage gallery marquee continuous mobile/desktop parity. */
@media (max-width: 720px) {
  body.home .tt-gallery-strip:not(.is-paused) .tt-gallery-marquee {
    animation-play-state: running !important;
  }
}


/* Homepage mobile editorial gallery mosaic replacement. */
@media (max-width: 720px) {
  body.home .tt-gallery-strip {
    display: block !important;
    width: 100% !important;
    padding: 22px 0 46px !important;
    overflow: visible !important;
    background: var(--tt-cream) !important;
  }

  body.home .tt-gallery-strip .tt-gallery-marquee {
    width: min(calc(100% - 32px), 560px) !important;
    min-width: 0 !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    transform: none !important;
    animation: none !important;
    scroll-snap-type: none !important;
    -webkit-overflow-scrolling: auto !important;
  }

  body.home .tt-gallery-strip .tt-gallery-marquee img {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    flex: initial !important;
    scroll-snap-align: none !important;
    box-shadow: none !important;
  }

  body.home .tt-gallery-strip .tt-gallery-marquee img:nth-child(1) {
    grid-column: 1 / -1 !important;
    aspect-ratio: 1.08 !important;
  }

  body.home .tt-gallery-strip .tt-gallery-marquee img:nth-child(2),
  body.home .tt-gallery-strip .tt-gallery-marquee img:nth-child(3) {
    aspect-ratio: .78 !important;
  }

  body.home .tt-gallery-strip .tt-gallery-marquee img:nth-child(4) {
    grid-column: 1 / -1 !important;
    aspect-ratio: 1.65 !important;
  }

  body.home .tt-gallery-strip .tt-gallery-marquee img:nth-child(n+5) {
    display: none !important;
  }
}


/* Mobile blog category tabs wrap rows. */
@media (max-width: 720px) {
  body.page-template-page-blog .tt-blog-banner .tt-blog-tabs,
  body.page-id-0 .tt-blog-banner .tt-blog-tabs,
  body .tt-blog-banner .tt-blog-tabs {
    width: min(calc(100% - 32px), 560px) !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 10px !important;
    overflow: visible !important;
  }

  body .tt-blog-banner .tt-blog-tabs a {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 9px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    text-align: center !important;
    line-height: 1 !important;
    font-size: clamp(9px, 2.35vw, 10px) !important;
    border-radius: 999px !important;
  }
}

@media (min-width: 390px) and (max-width: 720px) {
  body .tt-blog-banner .tt-blog-tabs a {
    flex-basis: calc(50% - 5px) !important;
  }
}


/* Mobile blog category tabs breathing and no-wrap final. */
@media (max-width: 720px) {
  body .tt-blog-banner {
    padding-bottom: 42px !important;
  }

  body .tt-blog-banner .tt-blog-page__title {
    margin-bottom: 28px !important;
  }

  body .tt-blog-banner .tt-blog-tabs a {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }
}


/* Mobile blog listing card text inset. */
@media (max-width: 720px) {
  body .tt-blog-card-strip--list .tt-blog-page-card {
    background: var(--tt-white) !important;
    border: 1px solid rgba(58, 96, 118, .08) !important;
    overflow: hidden !important;
  }

  body .tt-blog-card-strip--list .tt-blog-page-card img {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body .tt-blog-card-strip--list .tt-blog-page-card h2 {
    margin: 0 !important;
    padding: 20px 18px 0 !important;
  }

  body .tt-blog-card-strip--list .tt-blog-page-card p {
    margin: 0 !important;
    padding: 14px 18px 22px !important;
  }
}


/* Mobile blog product carousel alignment and frameless cards. */
@media (max-width: 720px) {
  body .tt-blog-products.tt-product-carousel {
    width: 100% !important;
    padding-top: 68px !important;
    overflow: hidden !important;
  }

  body .tt-blog-products.tt-product-carousel > h2 {
    width: min(calc(100% - 32px), 560px) !important;
    margin: 0 auto 32px !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    text-align: center !important;
  }

  body .tt-blog-products.tt-product-carousel .tt-product-viewport {
    width: min(calc(100% - 32px), 560px) !important;
    margin: 0 auto !important;
    overflow: hidden !important;
  }

  body .tt-blog-products.tt-product-carousel ul.products {
    gap: 16px !important;
    align-items: flex-start !important;
    transform: translateX(calc(var(--tt-product-index, 0) * -1 * ((100% - 16px) / 2 + 16px))) !important;
  }

  body .tt-blog-products.tt-product-carousel ul.products li.product,
  body .tt-blog-products.tt-product-carousel ul.products li.product.tt-product-card {
    flex: 0 0 calc((100% - 16px) / 2) !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body .tt-blog-products.tt-product-carousel .tt-product-card__image,
  body .tt-blog-products.tt-product-carousel .tt-product-card__link,
  body .tt-blog-products.tt-product-carousel .tt-product-card__body {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body .tt-blog-products.tt-product-carousel .tt-product-card__body {
    min-height: 0 !important;
    padding: 12px 0 0 !important;
    text-align: left !important;
  }

  body .tt-blog-products.tt-product-carousel .tt-product-card__body h2,
  body .tt-blog-products.tt-product-carousel .woocommerce-loop-product__title,
  body .tt-blog-products.tt-product-carousel .tt-product-card__body p,
  body .tt-blog-products.tt-product-carousel .tt-price,
  body .tt-blog-products.tt-product-carousel .price {
    text-align: left !important;
  }

  body .tt-blog-products.tt-product-carousel .tt-product-arrow {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    top: 174px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(58, 96, 118, .16) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .86) !important;
    color: var(--tt-blue-dark) !important;
    box-shadow: 0 5px 14px rgba(30, 30, 30, .07) !important;
    padding: 0 !important;
  }

  body .tt-blog-products.tt-product-carousel .tt-product-arrow--prev {
    left: 18px !important;
  }

  body .tt-blog-products.tt-product-carousel .tt-product-arrow--next {
    right: 18px !important;
  }

  body .tt-blog-products.tt-product-carousel .tt-product-arrow span {
    width: 6px !important;
    height: 6px !important;
  }

  body .tt-blog-products.tt-product-carousel .tt-product-progress {
    margin: 34px auto 28px !important;
  }
}


/* Mobile blog products swipe-only controls. */
@media (max-width: 720px) {
  body .tt-blog-products.tt-product-carousel .tt-product-arrow {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body .tt-blog-products.tt-product-carousel .tt-product-viewport {
    touch-action: pan-y pinch-zoom !important;
  }
}

/* Mobile account page final polish. */
@media (max-width: 720px) {
  body.woocommerce-account .tt-page {
    width: min(calc(100% - 32px), 560px) !important;
    padding-top: 92px !important;
    padding-bottom: 72px !important;
  }

  body.woocommerce-account.tt-account-logged-out .tt-page,
  body.woocommerce-account .tt-page:has(.tt-account-auth) {
    width: min(calc(100% - 32px), 560px) !important;
    padding-top: 92px !important;
    padding-bottom: 72px !important;
  }

  body.woocommerce-account .tt-page-title {
    margin: 0 0 22px !important;
    color: var(--tt-black) !important;
    font-family: var(--tt-display) !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: left !important;
    letter-spacing: 0 !important;
  }

  body.woocommerce-account .tt-account-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body.woocommerce-account .tt-account-layout > .tt-account-nav,
  body.woocommerce-account .tt-account-layout > .tt-account-content {
    grid-column: 1 !important;
    width: 100% !important;
  }

  body.woocommerce-account .tt-account-nav {
    position: sticky !important;
    top: 58px !important;
    z-index: 8 !important;
    margin: 0 -16px !important;
    padding: 10px 16px !important;
    background: rgba(248, 246, 241, .96) !important;
    border-top: 1px solid rgba(58, 96, 118, .10) !important;
    border-bottom: 1px solid rgba(58, 96, 118, .10) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.woocommerce-account .tt-account-nav ul {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 16px 3px !important;
    margin: 0 -16px !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  body.woocommerce-account .tt-account-nav ul::-webkit-scrollbar {
    display: none;
  }

  body.woocommerce-account .tt-account-nav li {
    flex: 0 0 auto !important;
    scroll-snap-align: start;
  }

  body.woocommerce-account .tt-account-nav a {
    min-height: 40px !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(58, 96, 118, .14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .72) !important;
    color: var(--tt-blue-dark) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .05em !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }

  body.woocommerce-account .tt-account-nav li.is-active a,
  body.woocommerce-account .tt-account-nav a[aria-current="page"] {
    border-color: var(--tt-blue-dark) !important;
    background: var(--tt-blue-dark) !important;
    color: #fff !important;
  }

  body.woocommerce-account .tt-account-content,
  body.woocommerce-account .tt-account-auth {
    min-width: 0 !important;
    width: 100% !important;
  }

  body.woocommerce-account .tt-account-dashboard,
  body.woocommerce-account .tt-account-content > p,
  body.woocommerce-account .tt-account-content form,
  body.woocommerce-account .tt-account-content .woocommerce-Addresses,
  body.woocommerce-account .tt-account-content .woocommerce-order-downloads,
  body.woocommerce-account .tt-account-content .woocommerce-orders-table,
  body.woocommerce-account .tt-account-content .woocommerce-table,
  body.woocommerce-account .tt-auth-panel,
  body.woocommerce-account .tt-account-wishlist {
    padding: 22px !important;
    background: rgba(255, 255, 255, .82) !important;
    border: 1px solid rgba(58, 96, 118, .12) !important;
    box-shadow: none !important;
  }

  body.woocommerce-account .tt-account-dashboard {
    display: grid !important;
    gap: 18px !important;
  }

  body.woocommerce-account .tt-account-hello {
    margin: 0 !important;
    color: var(--tt-blue-dark) !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  body.woocommerce-account .tt-account-hello strong {
    display: block;
    margin-top: 3px;
    color: var(--tt-black) !important;
    font-size: 19px !important;
    line-height: 1.25;
  }

  body.woocommerce-account .tt-account-hello span {
    display: block;
    margin-top: 8px;
    color: var(--tt-gray) !important;
    font-size: 12px !important;
  }

  body.woocommerce-account .tt-account-intro,
  body.woocommerce-account .tt-auth-panel > p,
  body.woocommerce-account .tt-auth-note {
    margin: 0 !important;
    color: #536b76 !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
  }

  body.woocommerce-account .tt-account-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 2px !important;
  }

  body.woocommerce-account .tt-account-cards a {
    min-height: 78px !important;
    padding: 17px 46px 17px 16px !important;
    position: relative;
    display: grid !important;
    align-content: center !important;
    border: 1px solid rgba(58, 96, 118, .13) !important;
    background: #fff !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.woocommerce-account .tt-account-cards a::after {
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    color: var(--tt-blue-dark);
    transform: translateY(-50%) rotate(45deg);
  }

  body.woocommerce-account .tt-account-cards strong {
    margin: 0 0 7px !important;
    color: var(--tt-black) !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    letter-spacing: .05em !important;
  }

  body.woocommerce-account .tt-account-cards span {
    color: var(--tt-gray) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  body.woocommerce-account .tt-auth-panel {
    padding: 26px 20px 22px !important;
  }

  body.woocommerce-account .tt-auth-panel h2,
  body.woocommerce-account .tt-account-content h2,
  body.woocommerce-account .tt-account-content h3 {
    margin: 0 0 12px !important;
    color: var(--tt-black) !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    letter-spacing: .04em !important;
  }

  body.woocommerce-account .tt-auth-panel form {
    margin-top: 22px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.woocommerce-account .form-row {
    margin: 0 0 15px !important;
  }

  body.woocommerce-account .form-row label {
    margin-bottom: 8px !important;
    color: var(--tt-blue-dark) !important;
    font-size: 10px !important;
    letter-spacing: .06em !important;
  }

  body.woocommerce-account .input-text,
  body.woocommerce-account select,
  body.woocommerce-account textarea {
    height: 52px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(58, 96, 118, .18) !important;
    background: #fff !important;
    color: var(--tt-black) !important;
    font-size: 14px !important;
    box-shadow: none !important;
  }

  body.woocommerce-account textarea {
    height: 118px !important;
    padding-top: 13px !important;
  }

  body.woocommerce-account .tt-auth-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-top: 6px !important;
  }

  body.woocommerce-account .woocommerce-form-login__rememberme {
    min-height: 34px !important;
    justify-content: flex-start !important;
  }

  body.woocommerce-account .button,
  body.woocommerce-account button.button,
  body.woocommerce-account .tt-auth-actions .button {
    width: 100% !important;
    min-height: 50px !important;
    height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 18px !important;
    background: var(--tt-blue-dark) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
  }

  body.woocommerce-account .lost_password,
  body.woocommerce-account .tt-auth-switch {
    margin-top: 16px !important;
    color: var(--tt-gray) !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    text-align: center !important;
  }

  body.woocommerce-account .tt-auth-switch a,
  body.woocommerce-account .lost_password a,
  body.woocommerce-account .tt-account-content a {
    color: var(--tt-blue-dark) !important;
  }

  body.woocommerce-account .woocommerce-message,
  body.woocommerce-account .woocommerce-info,
  body.woocommerce-account .woocommerce-error {
    padding: 16px 18px !important;
    border: 1px solid rgba(58, 96, 118, .12) !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  body.woocommerce-account .tt-account-form-section,
  body.woocommerce-account .tt-account-form-actions {
    padding: 22px !important;
    border: 1px solid rgba(58, 96, 118, .12) !important;
    background: rgba(255, 255, 255, .82) !important;
    box-shadow: none !important;
  }

  body.woocommerce-account .tt-account-form-section header {
    display: block !important;
    margin-bottom: 20px !important;
    padding-bottom: 16px !important;
  }

  body.woocommerce-account .tt-account-form-grid,
  body.woocommerce-account .tt-edit-account-form .tt-account-form-grid {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
}

@media (max-width: 380px) {
  body.woocommerce-account .tt-page-title {
    font-size: 31px !important;
  }

  body.woocommerce-account .tt-account-nav a {
    min-height: 38px !important;
    padding: 0 12px !important;
    font-size: 9px !important;
  }
}

/* Mobile account chip navigation refinement. */
@media (max-width: 720px) {
  body.woocommerce-account .tt-account-nav {
    position: sticky !important;
    top: 58px !important;
    z-index: 8 !important;
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 10px 0 !important;
    background: linear-gradient(180deg, rgba(248, 246, 241, .98), rgba(248, 246, 241, .92)) !important;
    border: 0 !important;
    border-top: 1px solid rgba(58, 96, 118, .08) !important;
    border-bottom: 1px solid rgba(58, 96, 118, .08) !important;
    box-shadow: 0 8px 20px rgba(30, 30, 30, .035) !important;
    overflow: hidden !important;
  }

  body.woocommerce-account .tt-account-nav::before,
  body.woocommerce-account .tt-account-nav::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: 24px;
    pointer-events: none;
  }

  body.woocommerce-account .tt-account-nav::before {
    left: 0;
    background: linear-gradient(90deg, rgba(248, 246, 241, .98), rgba(248, 246, 241, 0));
  }

  body.woocommerce-account .tt-account-nav::after {
    right: 0;
    background: linear-gradient(270deg, rgba(248, 246, 241, .98), rgba(248, 246, 241, 0));
  }

  body.woocommerce-account .tt-account-nav ul {
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 24px 0 !important;
    scroll-padding-inline: 24px;
  }

  body.woocommerce-account .tt-account-nav a {
    min-height: 38px !important;
    padding: 0 15px !important;
    border-color: rgba(58, 96, 118, .16) !important;
    background: rgba(255, 255, 255, .86) !important;
    color: var(--tt-blue-dark) !important;
    font-size: 9px !important;
    letter-spacing: .045em !important;
    box-shadow: 0 5px 13px rgba(30, 30, 30, .035) !important;
  }

  body.woocommerce-account .tt-account-nav li.is-active a,
  body.woocommerce-account .tt-account-nav a[aria-current="page"] {
    border-color: var(--tt-blue-dark) !important;
    background: var(--tt-blue-dark) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(58, 96, 118, .18) !important;
  }
}

@media (max-width: 380px) {
  body.woocommerce-account .tt-account-nav ul {
    gap: 6px !important;
    padding-inline: 20px !important;
    scroll-padding-inline: 20px;
  }

  body.woocommerce-account .tt-account-nav a {
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 8px !important;
  }
}

/* Mobile account orders empty state fix. */
@media (max-width: 720px) {
  body.woocommerce-account.woocommerce-orders .tt-account-content > .woocommerce-info {
    width: 100% !important;
    margin: 0 !important;
    padding: 22px !important;
    display: grid !important;
    gap: 15px !important;
    border: 1px solid rgba(58, 96, 118, .12) !important;
    border-left: 0 !important;
    background: rgba(255, 255, 255, .86) !important;
    color: var(--tt-blue-dark) !important;
    box-shadow: none !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  body.woocommerce-account.woocommerce-orders .tt-account-content > .woocommerce-info::before {
    content: "";
    width: 34px;
    height: 34px;
    border: 1px solid rgba(58, 96, 118, .16);
    background-color: var(--tt-cream);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233a6076' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 13H7L6 8Z'/%3E%3Cpath d='M9 8a3 3 0 0 1 6 0'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px;
  }

  body.woocommerce-account.woocommerce-orders .tt-account-content > .woocommerce-info .button,
  body.woocommerce-account.woocommerce-orders .tt-account-content > .woocommerce-info a.button,
  body.woocommerce-account.woocommerce-orders .woocommerce-Button.wc-forward.button {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    margin: 2px 0 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--tt-blue-dark) !important;
    background: var(--tt-blue-dark) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    box-shadow: none !important;
  }
}

/* Homepage mobile product cards: native swipe, larger wishlist, visible cart CTA. */
@media (max-width: 720px) {
  body.home .tt-product-carousel {
    width: min(calc(100% - 32px), 560px) !important;
    overflow: visible !important;
  }

  body.home .tt-product-carousel .tt-product-arrow {
    display: none !important;
  }

  body.home .tt-product-carousel .tt-product-viewport {
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.home .tt-product-carousel .tt-product-viewport::-webkit-scrollbar {
    display: none !important;
  }

  body.home .tt-product-carousel ul.products {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    transform: none !important;
    transition: none !important;
    padding: 0 8px 2px 0 !important;
    touch-action: pan-x !important;
  }

  body.home .tt-product-carousel ul.products li.product,
  body.home .tt-product-carousel ul.products li.product.tt-product-card {
    flex: 0 0 min(86vw, 330px) !important;
    width: min(86vw, 330px) !important;
    max-width: 330px !important;
    scroll-snap-align: start !important;
    background: var(--tt-white) !important;
  }

  body.home .tt-product-carousel .tt-product-card__image {
    aspect-ratio: 1 / .82 !important;
    overflow: hidden !important;
  }

  body.home .tt-product-carousel li.product.tt-product-card {
    position: relative !important;
    display: grid !important;
    grid-template-rows: auto auto auto !important;
  }

  body.home .tt-product-carousel li.product.tt-product-card > .tt-product-card__image {
    display: contents !important;
  }

  body.home .tt-product-carousel li.product.tt-product-card .tt-product-card__image-link {
    grid-row: 1 !important;
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 / .82 !important;
    overflow: hidden !important;
    background: #79bfdc !important;
  }

  body.home .tt-product-carousel li.product.tt-product-card .tt-product-card__link {
    grid-row: 2 !important;
  }

  body.home .tt-product-carousel .tt-product-wishlist,
  body.home .tt-product-carousel .tt-product-wishlist.is-active,
  body.home ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body.home ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist.is-active {
    position: absolute !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    right: 10px !important;
    top: 10px !important;
    display: grid !important;
    place-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .94) !important;
    color: var(--tt-blue-dark) !important;
    box-shadow: 0 8px 18px rgba(30, 30, 30, .10) !important;
    pointer-events: auto !important;
  }

  body.home .tt-product-carousel .tt-product-wishlist svg {
    width: 21px !important;
    height: 21px !important;
    display: block !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.75 !important;
  }

  body.home .tt-product-carousel .tt-product-wishlist.is-active svg {
    fill: currentColor !important;
  }

  body.home .tt-product-carousel .tt-product-cart,
  body.home .tt-product-carousel .tt-product-cart.button,
  body.home .tt-product-carousel .tt-product-cart.added_to_cart,
  body.home ul.products li.product.tt-product-card .tt-product-cart {
    grid-row: 3 !important;
    position: static !important;
    width: auto !important;
    margin: 0 16px 16px !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    height: 40px !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    padding: 0 14px !important;
    border: 1px solid rgba(58, 96, 118, .28) !important;
    background: rgba(255, 255, 255, .94) !important;
    color: var(--tt-blue-dark) !important;
    box-shadow: 0 10px 22px rgba(30, 30, 30, .08) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .055em !important;
    white-space: nowrap !important;
    pointer-events: auto !important;
  }

  body.home .tt-product-carousel .tt-product-card__body {
    min-height: 0 !important;
    padding: 14px 16px 10px !important;
    text-align: center !important;
  }

  body.home .tt-product-carousel .tt-product-card__body h2,
  body.home .tt-product-carousel .woocommerce-loop-product__title {
    margin: 0 0 6px !important;
    font-size: 12px !important;
    line-height: 1.22 !important;
    text-align: center !important;
  }

  body.home .tt-product-carousel .tt-product-card__body p {
    margin: 0 0 8px !important;
    font-size: 10px !important;
    line-height: 1.32 !important;
    text-align: center !important;
  }

  body.home .tt-product-carousel .tt-product-card__body .tt-price,
  body.home .tt-product-carousel .price {
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  body.home .tt-product-carousel .tt-product-progress {
    margin-top: 20px !important;
  }
}

/* Mobile header hamburger optical centering. */
@media (max-width: 720px) {
  .tt-header-logo-row .tt-menu-toggle {
    grid-column: 3 !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    justify-self: end !important;
    align-self: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    transform: none !important;
    line-height: 0 !important;
    font-size: 0 !important;
  }

  .tt-header-logo-row .tt-menu-toggle span:not(.screen-reader-text) {
    display: block !important;
    width: 22px !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--tt-black) !important;
    transform-origin: center !important;
  }

  .tt-menu-open .tt-header-logo-row .tt-menu-toggle span:not(.screen-reader-text):nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .tt-menu-open .tt-header-logo-row .tt-menu-toggle span:not(.screen-reader-text):nth-child(2) {
    opacity: 0 !important;
  }

  .tt-menu-open .tt-header-logo-row .tt-menu-toggle span:not(.screen-reader-text):nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }
}

/* Final mobile wishlist heart centering pass. */
@media (max-width: 720px) {
  .tt-mobile-header-action--wishlist,
  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body:not(.home) ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body .tt-product-carousel .tt-product-wishlist,
  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist],
  .tt-drawer-heart {
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-align: center !important;
  }

  .tt-mobile-header-action--wishlist svg,
  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist svg,
  body:not(.home) ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist svg,
  body .tt-product-carousel .tt-product-wishlist svg,
  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist] svg,
  .tt-drawer-heart svg {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.75 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    transform: translate(-50%, -50%) !important;
    transform-origin: center !important;
    pointer-events: none !important;
  }

  .tt-mobile-header-action--wishlist svg {
    width: 22px !important;
    height: 22px !important;
  }

  body.home .tt-product-carousel .tt-product-wishlist svg {
    width: 22px !important;
    height: 22px !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist] svg {
    width: 18px !important;
    height: 18px !important;
  }

  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist.is-active svg,
  body .tt-product-carousel .tt-product-wishlist.is-active svg,
  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist].is-active svg,
  .tt-drawer-heart.is-active svg {
    fill: currentColor !important;
    stroke: currentColor !important;
  }
}

/* Mobile language switch */
@media (max-width: 720px) {
  .tt-header-logo-row .tt-logo,
  .tt-header-logo-row .tt-footer-logo {
    transform: translateY(8px) !important;
  }

  .tt-mobile-logo-language {
    position: absolute !important;
    left: 50% !important;
    top: 4px !important;
    z-index: 3 !important;
    transform: translateX(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    color: var(--tt-blue-dark) !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .tt-mobile-logo-language a {
    min-width: 21px !important;
    height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--tt-blue-dark) !important;
    opacity: .48 !important;
  }

  .tt-mobile-logo-language a.is-active {
    opacity: 1 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
  }

  .tt-header-language {
    display: none !important;
  }

  .tt-mobile-language {
    display: grid !important;
    grid-template-columns: 1fr auto auto !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 18px 0 16px !important;
    padding: 12px !important;
    border: 1px solid rgba(58, 96, 118, .16) !important;
    background: rgba(255, 255, 255, .5) !important;
  }

  .tt-mobile-language > span {
    color: var(--tt-blue-dark) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .tt-mobile-language a {
    min-width: 78px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(58, 96, 118, .2) !important;
    background: rgba(255, 255, 255, .75) !important;
    color: var(--tt-blue-dark) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .tt-mobile-language a.is-active {
    background: var(--tt-blue-dark) !important;
    border-color: var(--tt-blue-dark) !important;
    color: #fff !important;
  }

  .tt-footer-bottom .tt-language--switch {
    justify-content: center !important;
  }

  .tt-footer-bottom > .tt-language:not(.tt-language--switch) {
    display: none !important;
  }
}

/* Mobile header language bar separated from logo row. */
@media (max-width: 720px) {
  body .tt-header-logo-row,
  body:has(.tt-hero) .tt-header-logo-row,
  body:has(.tt-contact-hero) .tt-header-logo-row,
  body:has(.tt-about-redesign__hero) .tt-header-logo-row,
  body:has(.tt-about-tom__hero) .tt-header-logo-row,
  body:has(.tt-about-page) .tt-header-logo-row,
  body:has(.tt-about-mock) .tt-header-logo-row {
    height: 124px !important;
    min-height: 124px !important;
    box-sizing: border-box !important;
    padding: 66px 12px 0 !important;
    background: var(--tt-cream) !important;
  }

  .tt-header-logo-row .tt-logo,
  .tt-header-logo-row .tt-footer-logo {
    transform: none !important;
  }

  .tt-mobile-logo-language {
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    height: 66px !important;
    min-height: 66px !important;
    transform: none !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto 30px !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 7px 8px !important;
    padding: 8px 14px !important;
    background: var(--tt-blue) !important;
    color: #fff !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    line-height: 1 !important;
    text-transform: none !important;
  }

  .tt-mobile-logo-language__label {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    color: #fff !important;
    font-size: clamp(10px, 2.8vw, 12px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  .tt-mobile-logo-language a {
    width: 100% !important;
    min-width: 0 !important;
    height: 30px !important;
    padding: 0 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255, 255, 255, .82) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #fff !important;
    opacity: 1 !important;
    text-decoration: none !important;
    font-size: clamp(9px, 2.6vw, 10px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
  }

  .tt-mobile-logo-language a.is-active {
    background: #fff !important;
    border-color: #fff !important;
    color: var(--tt-blue-dark) !important;
    text-decoration: none !important;
  }

  .tt-mobile-nav {
    inset: 124px 0 0 !important;
    height: calc(100dvh - 124px) !important;
  }
}

/* Final one-line mobile language prompt with auto-collapse after selection. */
@media (max-width: 720px) {
  body .tt-header-logo-row,
  body:has(.tt-hero) .tt-header-logo-row,
  body:has(.tt-contact-hero) .tt-header-logo-row,
  body:has(.tt-about-redesign__hero) .tt-header-logo-row,
  body:has(.tt-about-tom__hero) .tt-header-logo-row,
  body:has(.tt-about-page) .tt-header-logo-row,
  body:has(.tt-about-mock) .tt-header-logo-row {
    height: 94px !important;
    min-height: 94px !important;
    padding-top: 36px !important;
  }

  .tt-mobile-logo-language {
    height: 36px !important;
    min-height: 36px !important;
    grid-template-columns: minmax(96px, .92fr) minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: 1fr !important;
    gap: 6px !important;
    padding: 5px 10px !important;
  }

  .tt-mobile-logo-language__label {
    grid-column: auto !important;
    align-self: center !important;
    font-size: clamp(8.5px, 2.5vw, 10px) !important;
    line-height: 1.05 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .tt-mobile-logo-language a {
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 6px !important;
    font-size: clamp(7.6px, 2.15vw, 9px) !important;
    letter-spacing: .01em !important;
  }

  .tt-mobile-nav {
    inset: 94px 0 0 !important;
    height: calc(100dvh - 94px) !important;
  }

  html[data-tt-lang-prompt-hidden="true"] body .tt-header-logo-row,
  html[data-tt-lang-prompt-hidden="true"] body:has(.tt-hero) .tt-header-logo-row,
  html[data-tt-lang-prompt-hidden="true"] body:has(.tt-contact-hero) .tt-header-logo-row,
  html[data-tt-lang-prompt-hidden="true"] body:has(.tt-about-redesign__hero) .tt-header-logo-row,
  html[data-tt-lang-prompt-hidden="true"] body:has(.tt-about-tom__hero) .tt-header-logo-row,
  html[data-tt-lang-prompt-hidden="true"] body:has(.tt-about-page) .tt-header-logo-row,
  html[data-tt-lang-prompt-hidden="true"] body:has(.tt-about-mock) .tt-header-logo-row {
    height: 58px !important;
    min-height: 58px !important;
    padding-top: 0 !important;
  }

  html[data-tt-lang-prompt-hidden="true"] .tt-mobile-logo-language {
    display: none !important;
  }

  html[data-tt-lang-prompt-hidden="true"] .tt-mobile-nav {
    inset: 58px 0 0 !important;
    height: calc(100dvh - 58px) !important;
  }
}

/* Final pre-launch polish: tap targets and account navigation. */
@media (max-width: 720px) {
  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body:not(.home) ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist.is-active {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    right: 4px !important;
    top: 4px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist::before,
  body:not(.home) ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 8px 18px rgba(30, 30, 30, .08) !important;
    transform: translate(-50%, -50%) !important;
  }

  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist.is-active::before,
  body:not(.home) ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist.is-active::before {
    background: #fff !important;
  }

  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist svg,
  body:not(.home) ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist svg {
    z-index: 1 !important;
  }

  body.woocommerce-account .tt-account-nav {
    width: min(100% - 32px, 560px) !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.woocommerce-account .tt-account-nav::before,
  body.woocommerce-account .tt-account-nav::after {
    display: none !important;
  }

  body.woocommerce-account .tt-account-nav ul {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    scroll-snap-type: none !important;
  }

  body.woocommerce-account .tt-account-nav li {
    width: auto !important;
    min-width: 0 !important;
    flex: initial !important;
    scroll-snap-align: none !important;
  }

  body.woocommerce-account .tt-account-nav a {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 12px 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(58, 96, 118, .16) !important;
    background: rgba(255, 255, 255, .68) !important;
    color: var(--tt-blue-dark) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .04em !important;
    text-align: center !important;
    white-space: normal !important;
    text-transform: uppercase !important;
  }

  body.woocommerce-account .tt-account-nav li.is-active a,
  body.woocommerce-account .tt-account-nav a[aria-current="page"] {
    background: var(--tt-blue-dark) !important;
    border-color: var(--tt-blue-dark) !important;
    color: #fff !important;
  }

  body.woocommerce-account .tt-account-content a:not(.button) {
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}

/* Mobile language UX: compact drawer switch, prompt only before first choice. */
@media (max-width: 720px) {
  .tt-mobile-language {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px 44px !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 44px !important;
    margin: 14px 0 12px !important;
    padding: 6px 8px 6px 12px !important;
    border: 1px solid rgba(58, 96, 118, .14) !important;
    background: rgba(255, 255, 255, .42) !important;
    box-shadow: none !important;
  }

  .tt-mobile-language > span {
    min-width: 0 !important;
    color: rgba(29, 54, 78, .72) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .tt-mobile-language a {
    width: 44px !important;
    min-width: 44px !important;
    height: 32px !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid rgba(58, 96, 118, .22) !important;
    background: rgba(255, 255, 255, .74) !important;
    color: var(--tt-blue-dark) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  .tt-mobile-language a.is-active {
    background: var(--tt-blue-dark) !important;
    border-color: var(--tt-blue-dark) !important;
    color: #fff !important;
  }

  .tt-mobile-language a:focus-visible {
    outline: 2px solid rgba(58, 96, 118, .42) !important;
    outline-offset: 2px !important;
  }

  .tt-mobile-logo-language a {
    min-width: 42px !important;
  }
}

/* Mobile QA polish: improve tap targets without changing desktop layout. */
@media (max-width: 720px) {
  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist] {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    top: 60px !important;
    right: 12px !important;
  }

  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist] svg {
    width: 18px !important;
    height: 18px !important;
  }

  .tt-mobile-language {
    grid-template-columns: minmax(0, 1fr) 46px 46px !important;
  }

  .tt-mobile-language a {
    width: 46px !important;
    min-width: 46px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  body.woocommerce-account .tt-account-content a:not(.button),
  body.woocommerce-account .tt-account-hello a,
  body.woocommerce-account .lost_password a,
  body.woocommerce-account .tt-auth-switch a {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}

/* Mobile account dashboard card text spacing fix. */
@media (max-width: 720px) {
  body.woocommerce-account .tt-account-cards a,
  body.woocommerce-account .tt-account-content .tt-account-cards a:not(.button) {
    display: grid !important;
    grid-template-columns: minmax(78px, auto) minmax(0, 1fr) !important;
    column-gap: 12px !important;
    row-gap: 3px !important;
    align-items: center !important;
    align-content: center !important;
    min-height: 78px !important;
    padding: 17px 46px 17px 16px !important;
  }

  body.woocommerce-account .tt-account-cards strong {
    display: block !important;
    grid-column: 1 !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  body.woocommerce-account .tt-account-cards span {
    display: block !important;
    grid-column: 2 !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 380px) {
  body.woocommerce-account .tt-account-cards a,
  body.woocommerce-account .tt-account-content .tt-account-cards a:not(.button) {
    grid-template-columns: 1fr !important;
    row-gap: 5px !important;
  }

  body.woocommerce-account .tt-account-cards strong,
  body.woocommerce-account .tt-account-cards span {
    grid-column: 1 !important;
  }
}
/* Mobile account wishlist compact card fix. */
@media (max-width: 720px) {
  body.woocommerce-account .tt-account-wishlist {
    padding: 22px !important;
  }

  body.woocommerce-account .tt-account-section-head {
    margin-bottom: 18px !important;
    padding-bottom: 16px !important;
  }

  body.woocommerce-account .tt-account-wishlist-card,
  body.woocommerce-account .tt-account-content .tt-account-wishlist-card {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
    padding: 12px !important;
    background: rgba(255, 255, 255, .78) !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__image,
  body.woocommerce-account .tt-account-content .tt-account-wishlist-card__image:not(.button) {
    width: 92px !important;
    height: 92px !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__body {
    grid-column: 2 !important;
    min-width: 0 !important;
    padding-top: 2px !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__title {
    margin-bottom: 7px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__body p {
    margin-bottom: 7px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__body span {
    font-size: 12px !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__actions {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 2px !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__actions .button,
  body.woocommerce-account .tt-account-wishlist-card__actions button {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
}

@media (max-width: 380px) {
  body.woocommerce-account .tt-account-wishlist-card,
  body.woocommerce-account .tt-account-content .tt-account-wishlist-card {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__image,
  body.woocommerce-account .tt-account-content .tt-account-wishlist-card__image:not(.button) {
    width: 82px !important;
    height: 82px !important;
  }
}
/* Mobile account wishlist visible primary text fix. */
@media (max-width: 720px) {
  body.woocommerce-account .tt-account-wishlist-card__actions .button,
  body.woocommerce-account .tt-account-content .tt-account-wishlist-card__actions a.button:not(.tt-account-wishlist-card__title) {
    background: var(--tt-blue-dark) !important;
    border: 1px solid var(--tt-blue-dark) !important;
    color: #fff !important;
    text-decoration: none !important;
    text-indent: 0 !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__actions .button:hover,
  body.woocommerce-account .tt-account-wishlist-card__actions .button:focus-visible {
    background: var(--tt-blue) !important;
    border-color: var(--tt-blue) !important;
    color: #fff !important;
  }
}
/* Mobile account wishlist media alignment fix. */
@media (max-width: 720px) {
  body.woocommerce-account .tt-account-wishlist-card,
  body.woocommerce-account .tt-account-content .tt-account-wishlist-card {
    align-items: center !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__image,
  body.woocommerce-account .tt-account-content .tt-account-wishlist-card__image:not(.button) {
    align-self: center !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__body {
    align-self: center !important;
    display: grid !important;
    gap: 7px !important;
    padding-top: 0 !important;
  }

  body.woocommerce-account .tt-account-wishlist-card__title,
  body.woocommerce-account .tt-account-wishlist-card__body p,
  body.woocommerce-account .tt-account-wishlist-card__body span {
    margin: 0 !important;
  }
}
/* Mobile account nav no outer frame fix. */
@media (max-width: 720px) {
  body.woocommerce-account .tt-account-nav {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 18px !important;
    overflow: visible !important;
  }

  body.woocommerce-account .tt-account-nav::before,
  body.woocommerce-account .tt-account-nav::after {
    display: none !important;
    content: none !important;
  }

  body.woocommerce-account .tt-account-nav ul {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}
/* Mobile wishlist drawer floating heart fix. */
@media (max-width: 720px) {
  .tt-drawer__panel--wishlist .tt-drawer-item {
    align-items: center !important;
  }

  .tt-drawer__panel--wishlist .tt-drawer-item__body {
    padding-top: 0 !important;
  }

  .tt-drawer__panel--wishlist .tt-drawer-heart {
    position: relative !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    align-self: center !important;
    justify-self: end !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--tt-blue) !important;
    overflow: hidden !important;
  }

  .tt-drawer__panel--wishlist .tt-drawer-heart svg {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 16px !important;
    height: 16px !important;
    transform: translate(-50%, -50%) !important;
  }
}
/* Homepage mobile wishlist single circle fix. */
@media (max-width: 720px) {
  body.home .tt-product-carousel .tt-product-wishlist::before,
  body.home ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist::before,
  body.home ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist.is-active::before {
    display: none !important;
    content: none !important;
  }

  body.home .tt-product-carousel .tt-product-wishlist,
  body.home ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body.home ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist.is-active {
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 8px 18px rgba(30, 30, 30, .10) !important;
    border-radius: 50% !important;
  }
}
/* Homepage mobile hero title and CTA breathing room fix. */
@media (max-width: 720px) {
  body.home .tt-hero h1 {
    max-width: min(100%, 330px) !important;
    margin: 0 0 24px !important;
    font-size: clamp(31px, 8.8vw, 36px) !important;
    line-height: 1.08 !important;
    letter-spacing: .04em !important;
  }

  body.home .tt-hero .tt-btn {
    width: min(100%, 218px) !important;
    min-width: 0 !important;
    height: 48px !important;
    margin-top: 0 !important;
  }
}

@media (max-width: 380px) {
  body.home .tt-hero h1 {
    max-width: 286px !important;
    margin-bottom: 26px !important;
    font-size: 30px !important;
    line-height: 1.1 !important;
  }

  body.home .tt-hero .tt-btn {
    width: 218px !important;
  }
}
/* Product option selector restore for non-ring products. */
@media (max-width: 720px) {
  body.single-product .tt-size-row--compact {
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)) !important;
    gap: 8px !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    margin: 8px 0 18px !important;
    overflow: visible !important;
  }

  body.single-product .tt-size-row--compact button {
    min-height: 44px !important;
    border: 1px solid rgba(58, 96, 118, .18) !important;
    background: rgba(255, 255, 255, .55) !important;
    color: var(--tt-blue-dark) !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }

  body.single-product .tt-size-row--compact button.is-active {
    border-color: var(--tt-blue-dark) !important;
    background: var(--tt-blue-dark) !important;
    color: #fff !important;
  }

  body.single-product .tt-mobile-product-consult {
    display: none !important;
  }
}
/* Product detail option rail final restore. */
@media (max-width: 720px) {
  body.single-product .tt-size-guide {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid rgba(58, 96, 118, .22) !important;
    color: var(--tt-gray) !important;
  }

  body.single-product .tt-size-guide span,
  body.single-product .tt-size-guide a {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  body.single-product .tt-size-row:not(.tt-size-row--compact) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    height: 48px !important;
    margin: 0 0 20px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(58, 96, 118, .22) !important;
    overflow: visible !important;
  }

  body.single-product .tt-size-row:not(.tt-size-row--compact) button {
    min-height: 48px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--tt-gray) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
  }

  body.single-product .tt-size-row:not(.tt-size-row--compact) button.is-active {
    background: transparent !important;
    color: var(--tt-black) !important;
    font-weight: 800 !important;
  }

  body.single-product .tt-product-fit-note--fixed {
    height: 48px !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border-top: 1px solid rgba(58, 96, 118, .22) !important;
    border-bottom: 1px solid rgba(58, 96, 118, .22) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    color: var(--tt-gray) !important;
    font-size: 11px !important;
    letter-spacing: .02em !important;
  }

  body.single-product .tt-product-fit-note--fixed strong {
    color: var(--tt-black) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
  }

  body.single-product .tt-mobile-purchase-card {
    margin-top: 0 !important;
  }
}
/* Mobile product purchase bottom gap fix. */
@media (max-width: 720px) {
  body.single-product .tt-single-product,
  body.single-product .tt-single-product--mockup {
    padding-bottom: 4px !important;
  }

  body.single-product .tt-product-detail-grid {
    margin-top: 0 !important;
  }
}

/* Mobile audit polish: keep product wishlist taps at the 44px minimum. */
@media (max-width: 720px) {
  body ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body:not(.home) ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body.home ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist,
  body.home ul.products li.product.tt-product-card > .tt-product-card__image > .tt-product-wishlist.is-active,
  body.home .tt-product-carousel .tt-product-wishlist,
  body.home .tt-product-carousel .tt-product-wishlist.is-active,
  body .tt-product-carousel .tt-product-wishlist,
  body.single-product .tt-mock-gallery .tt-gallery-heart[data-tt-wishlist] {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Homepage mobile Timeless Sparkle tile spacing. */
@media (max-width: 720px) {
  body.home .tt-feature-split__collection {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    padding: 0 20px 28px !important;
  }

  body.home .tt-feature-split__collection h2 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(25px, 7vw, 31px) !important;
    line-height: 1 !important;
    letter-spacing: .06em !important;
    white-space: nowrap !important;
  }

  body.home .tt-feature-split__collection .tt-btn {
    width: auto !important;
    min-width: 132px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 22px !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }
}

@media (max-width: 380px) {
  body.home .tt-feature-split__collection h2 {
    font-size: 24px !important;
    letter-spacing: .04em !important;
  }

  body.home .tt-feature-split__collection .tt-btn {
    min-width: 124px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
  }
}

/* Mobile header final layout: menu left, wishlist/cart right. */
@media (max-width: 720px) {
  .tt-header-logo-row {
    grid-template-columns: 100px minmax(0, 1fr) 100px !important;
    grid-template-rows: 58px !important;
    align-items: center !important;
  }

  .tt-header-logo-row .tt-menu-toggle,
  .tt-menu-toggle {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: start !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
  }

  .tt-mobile-header-actions {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: end !important;
    justify-content: end !important;
    width: 92px !important;
    grid-template-columns: 44px 44px !important;
    gap: 4px !important;
  }

  .tt-mobile-header-action--wishlist,
  .tt-mobile-header-action--cart {
    width: 44px !important;
    height: 44px !important;
  }

  .tt-header-logo-row .tt-logo,
  .tt-header-logo-row .tt-footer-logo {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
  }

  .tt-mobile-header-action--wishlist svg,
  .tt-mobile-header-action--cart svg,
  .tt-mobile-header-action--wishlist svg *,
  .tt-mobile-header-action--cart svg * {
    width: 20px !important;
    height: 20px !important;
  }
}

/* Mobile header optical balance: smaller heart, tighter right-side icons. */
@media (max-width: 720px) {
  .tt-header-logo-row .tt-mobile-header-actions {
    width: 88px !important;
    grid-template-columns: 44px 44px !important;
    gap: 0 !important;
    transform: translateX(5px) !important;
  }

  .tt-header-logo-row .tt-mobile-header-action--wishlist svg,
  .tt-header-logo-row .tt-mobile-header-action--wishlist svg * {
    width: 18px !important;
    height: 18px !important;
  }

  .tt-header-logo-row .tt-mobile-header-action--cart svg,
  .tt-header-logo-row .tt-mobile-header-action--cart svg * {
    width: 20px !important;
    height: 20px !important;
  }

  .tt-header-logo-row .tt-mobile-header-action--wishlist {
    margin-right: -4px !important;
  }

  .tt-header-logo-row .tt-mobile-header-action--cart {
    margin-left: -4px !important;
  }
}

/* Unified footer newsletter spacing across every page. */
@media (max-width: 720px) {
  body .tt-site-footer .tt-newsletter,
  body.home .tt-site-footer .tt-newsletter {
    padding: 42px 0 38px !important;
  }

  body .tt-site-footer .tt-newsletter h2,
  body.home .tt-site-footer .tt-newsletter h2 {
    margin: 0 0 12px !important;
    font-size: 22px !important;
    line-height: 1 !important;
  }

  body .tt-site-footer .tt-newsletter p,
  body.home .tt-site-footer .tt-newsletter p {
    width: min(calc(100% - 32px), 360px) !important;
    margin: 0 auto 22px !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  body .tt-site-footer .tt-newsletter-form,
  body.home .tt-site-footer .tt-newsletter-form {
    width: min(calc(100% - 32px), 360px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body .tt-site-footer .tt-newsletter-form input,
  body .tt-site-footer .tt-newsletter-form button,
  body.home .tt-site-footer .tt-newsletter-form input,
  body.home .tt-site-footer .tt-newsletter-form button {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body .tt-site-footer .tt-newsletter-form input,
  body.home .tt-site-footer .tt-newsletter-form input {
    padding: 0 20px !important;
  }
}

/* Mobile footer policy links and company information. */
@media (max-width: 720px) {
  body .tt-site-footer .tt-footer-menu,
  body.home .tt-site-footer .tt-footer-menu {
    width: min(calc(100% - 32px), 420px) !important;
    margin: 0 auto !important;
    padding: 24px 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body .tt-site-footer .tt-footer-menu a,
  body.home .tt-site-footer .tt-footer-menu a {
    min-height: 38px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  body .tt-footer-info {
    width: min(calc(100% - 32px), 420px) !important;
    padding: 26px 0 !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    text-align: center !important;
  }

  body .tt-footer-info div,
  body .tt-footer-info div:nth-child(2) {
    justify-items: center !important;
    text-align: center !important;
  }

  body .tt-footer-info p {
    font-size: 12px !important;
  }
}

/* Mobile policy pages. */
@media (max-width: 720px) {
  .tt-policy-hero {
    padding: 128px 0 52px !important;
  }

  .tt-policy-hero__inner {
    width: min(calc(100% - 36px), 520px) !important;
  }

  .tt-policy-hero span,
  .tt-policy-support span {
    margin-bottom: 14px !important;
    font-size: 9px !important;
  }

  .tt-policy-hero h1 {
    margin-bottom: 18px !important;
    font-size: 31px !important;
    line-height: 1.12 !important;
  }

  .tt-policy-hero p {
    font-size: 13px !important;
    line-height: 1.75 !important;
  }

  .tt-policy-summary {
    width: min(calc(100% - 32px), 520px) !important;
    grid-template-columns: 1fr !important;
    margin-top: -20px !important;
  }

  .tt-policy-summary div {
    min-height: 92px !important;
    padding: 22px 18px !important;
  }

  .tt-policy-content {
    width: min(calc(100% - 36px), 520px) !important;
    padding: 48px 0 22px !important;
  }

  .tt-policy-section {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 30px 0 !important;
  }

  .tt-policy-section > span {
    font-size: 22px !important;
  }

  .tt-policy-section h2 {
    margin-bottom: 16px !important;
    font-size: 19px !important;
  }

  .tt-policy-section li {
    padding-left: 22px !important;
    font-size: 13px !important;
    line-height: 1.74 !important;
  }

  .tt-policy-support {
    width: min(calc(100% - 36px), 520px) !important;
    margin: 10px auto 68px !important;
    padding: 28px 22px !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    text-align: center !important;
  }

  .tt-policy-support h2 {
    font-size: 19px !important;
  }

  .tt-policy-support a {
    width: 100% !important;
    height: 46px !important;
  }
}
