/* Temply Studio: v5 templates for blog, pages, commerce, auth, search, 404 (Hark 2026-10-08). Scope: .ts5 (also .tc5 for tokens). */
html:has(body.ts5-on), body.ts5-on { background: #FFF5EF; }
body.ts5-on { margin: 0; }
body.ts5-on .ds-main { display: block; margin: 0 !important; padding: 0 !important; max-width: none !important; width: auto !important; background: transparent !important; }
body.ts5-on .tc5-foot-wrap { margin-top: 0 !important; }
html:has(body.ts5-on) { scroll-padding-top: 110px; }

.ts5 { --shadow-lg: 0 30px 60px -30px rgba(170, 92, 60, .38), 0 6px 14px -6px rgba(170, 92, 60, .1); --r: 28px; --teal: #138A85; --violet: #7155D6; display: block; padding-bottom: clamp(36px, 5vw, 64px); }
.ts5 img { max-width: 100%; height: auto; }
.ts5 h1, .ts5 h2, .ts5 h3, .ts5 h4 { margin: 0; text-transform: none; letter-spacing: normal; font-family: var(--display) !important; }
.ts5 { font-family: var(--sans); }
.ts5 em { font-style: normal; }
.ts5 .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.ts5 .ts5-trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; opacity: 0; }

.ts5 .ts5-h1 { font: 800 clamp(34px, 4.6vw, 62px)/1.02 var(--display); color: var(--ink); letter-spacing: -.01em; }
.ts5 .ts5-h2 { font: 800 clamp(28px, 3.2vw, 44px)/1.05 var(--display); color: var(--ink); }
.ts5 .ts5-h3 { font: 800 clamp(21px, 1.8vw, 25px)/1.15 var(--display); color: var(--ink); }
.ts5 .ts5-h1 em, .ts5 .ts5-h2 em { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .04em; }
.ts5 .ts5-kicker { margin: 0 0 10px; font: 800 13px/1 var(--display); letter-spacing: .18em; text-transform: uppercase; color: var(--coral-ink); }
.ts5 .ts5-lead { margin-top: 16px; font-size: 18px; line-height: 1.65; color: var(--text); }
.ts5 .ts5-more { display: inline-flex; align-items: center; gap: 8px; font: 800 14.5px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); white-space: nowrap; }
.ts5 .ts5-more svg, .ts5 .ts5-meta svg, .ts5 .ts5-card__m svg, .ts5 .ts5-hero__meta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ts5 .ts5-more svg { transition: transform .35s var(--spring); }
.ts5 .ts5-more:hover { color: var(--coral-ink); }
.ts5 .ts5-more:hover svg { transform: translateX(4px); }
.ts5 .ts5-sechead { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.ts5 .ts5-sechead--c { justify-content: center; text-align: center; }
.ts5 .ts5-sec { padding-top: clamp(40px, 5vw, 64px); }
.ts5 .ts5-main { display: block; }
.ts5 svg { display: inline-block; }
.ts5 [data-ts5-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--ease), transform .8s var(--ease); transition-delay: calc(var(--d, 0) * 80ms); }
.ts5 [data-ts5-reveal].is-in, .ts5-noreveal .ts5 [data-ts5-reveal] { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .ts5 [data-ts5-reveal] { opacity: 1; transform: none; transition: none; } }

/* blobs */
.ts5 .ts5-blob { position: absolute; z-index: -1; border-radius: 50%; filter: blur(50px); opacity: .55; pointer-events: none; }
.ts5 .ts5-blob--a { width: 360px; height: 360px; right: -90px; top: -140px; background: radial-gradient(circle, #FFB199, transparent 70%); animation: ts5Float 14s ease-in-out infinite; }
.ts5 .ts5-blob--b { width: 300px; height: 300px; left: -120px; bottom: -160px; background: radial-gradient(circle, #FFD6A5, transparent 70%); animation: ts5Float 18s ease-in-out infinite reverse; }
@keyframes ts5Float { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-24px, 18px); } }
@keyframes ts5Up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* crumbs */
.ts5 .ts5-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-bottom: 18px; font: 600 13.5px/1.3 var(--sans); color: var(--muted); }
.ts5 .ts5-crumbs a:hover { color: var(--coral-ink); }
.ts5 .ts5-crumbs [aria-current] { color: var(--ink); max-width: 52ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- hero ---------- */
.ts5 .ts5-hero { padding-top: 16px; }
.ts5 .ts5-hero__card { position: relative; isolation: isolate; overflow: hidden; padding: clamp(28px, 4.4vw, 60px) clamp(22px, 4.4vw, 64px) clamp(30px, 4.4vw, 56px); border-radius: 40px; background: linear-gradient(135deg, #FFE9DE 0%, #FFF3EA 48%, #FFE4E8 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7); }
.ts5 .ts5-hero__card > * { position: relative; animation: ts5Up .8s var(--ease) both; }
.ts5 .ts5-hero__card > .ts5-blob { position: absolute; animation: ts5Float 14s ease-in-out infinite; }
.ts5 .ts5-hero__card > :nth-child(4) { animation-delay: .05s; } .ts5 .ts5-hero__card > :nth-child(5) { animation-delay: .1s; } .ts5 .ts5-hero__card > :nth-child(6) { animation-delay: .15s; } .ts5 .ts5-hero__card > :nth-child(7) { animation-delay: .2s; }
.ts5 .ts5-hero .ts5-h1 { max-width: 18ch; }
.ts5 .ts5-hero__sub { margin: 16px 0 0; max-width: 62ch; font-size: clamp(16px, 1.3vw, 18.5px); line-height: 1.65; color: var(--text); }
.ts5 .ts5-hero__meta { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 18px 0 0; font: 600 13.5px/1.2 var(--sans); color: var(--muted); }
.ts5 .ts5-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.ts5 .ts5-hero--sm .ts5-hero__card { padding-block: clamp(24px, 3.4vw, 44px); }
.ts5 .ts5-hero--sm .ts5-h1 { font-size: clamp(32px, 3.8vw, 52px); }
.ts5 .ts5-hero--about .ts5-h1 { font-size: clamp(40px, 6vw, 80px); max-width: 14ch; }
.ts5 .ts5-hero--center .ts5-hero__card { text-align: center; }

/* search box */
.ts5 .ts5-search { position: relative; display: flex; align-items: center; gap: 8px; max-width: 560px; margin-top: 26px; padding: 6px 6px 6px 50px; border-radius: 999px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-search > svg { position: absolute; left: 18px; top: 50%; width: 20px; height: 20px; margin-top: -10px; fill: none; stroke: var(--muted); stroke-width: 2; stroke-linecap: round; }
.ts5 .ts5-search input { flex: 1; min-width: 0; height: 46px; border: 0; outline: 0; background: transparent; font: 500 16px var(--sans); color: var(--ink); padding: 0; }
.ts5 .ts5-search .t5-btn { border-radius: 999px; min-height: 46px; }

/* ---------- pills ---------- */
.ts5 .ts5-pills { display: flex; gap: 10px; margin: clamp(26px, 3vw, 36px) 0 clamp(22px, 2.6vw, 30px); overflow-x: auto; padding: 4px 2px 8px; scrollbar-width: none; }
.ts5 .ts5-pills::-webkit-scrollbar { display: none; }
.ts5 .ts5-pill { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 18px; border-radius: 999px; background: #fff; box-shadow: var(--shadow); font: 700 14px/1 var(--display); letter-spacing: .07em; text-transform: uppercase; color: var(--ink); transition: background-color .3s, color .3s, transform .35s var(--spring); }
.ts5 .ts5-pill small { display: inline-grid; place-items: center; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--bg2); font-size: 11px; color: var(--coral-ink); transition: inherit; }
.ts5 .ts5-pill:hover { transform: translateY(-2px); color: var(--coral-ink); }
.ts5 .ts5-pill.is-on { background: var(--ink); color: #fff; }
.ts5 .ts5-pill.is-on small { background: rgba(255, 255, 255, .18); color: #fff; }

/* ---------- post cards ---------- */
.ts5 .ts5-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.ts5 .ts5-grid__cell { min-width: 0; display: flex; }
.ts5 .ts5-card { position: relative; display: flex; flex-direction: column; width: 100%; border-radius: var(--r); background: #fff; box-shadow: var(--shadow); overflow: hidden; transition: transform .45s var(--spring), box-shadow .4s; }
.ts5 .ts5-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.ts5 .ts5-card__img { display: block; aspect-ratio: 16 / 10; margin: 8px 8px 0; border-radius: 22px; overflow: hidden; background: #FFEDE3; }
.ts5 .ts5-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.ts5 .ts5-card:hover .ts5-card__img img { transform: scale(1.05); }
.ts5 .ts5-card__ph { display: grid; place-items: center; height: 100%; color: var(--coral); }
.ts5 .ts5-card__ph svg { width: 42px; height: 42px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.ts5 .ts5-card__body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: 18px 22px 22px; }
.ts5 .ts5-chip { position: relative; z-index: 2; display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 999px; background: var(--bg2); font: 800 12px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--coral-ink); transition: background-color .3s, color .3s; }
.ts5 .ts5-chip:hover { background: var(--ink); color: #fff; }
.ts5 .ts5-chip--lg { min-height: 32px; padding: 0 14px; font-size: 13px; }
.ts5 .ts5-card__t { margin-top: 12px; font: 800 21px/1.2 var(--display); color: var(--ink); }
.ts5 .ts5-card__t a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 2px no-repeat; transition: background-size .45s var(--ease), color .3s; }
.ts5 .ts5-card__t a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.ts5 .ts5-card:hover .ts5-card__t a { color: var(--coral-ink); background-size: 100% 2px; }
.ts5 .ts5-card__x { margin-top: 10px; font-size: 15px; line-height: 1.6; color: var(--muted); }
.ts5 .ts5-card__m { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: auto; padding-top: 16px; font: 600 13px/1 var(--sans); color: var(--muted); }
.ts5 .ts5-card__m span { display: inline-flex; align-items: center; gap: 6px; }
.ts5 .ts5-feat { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: clamp(16px, 2vw, 28px); margin-bottom: clamp(16px, 2vw, 28px); }
.ts5 .ts5-feat__side { display: grid; grid-template-rows: 1fr 1fr; gap: clamp(16px, 2vw, 28px); min-width: 0; }
.ts5 .ts5-feat__side > div { display: flex; min-width: 0; }
.ts5 .ts5-card--feat .ts5-card__img { min-height: 0 !important; }
.ts5 .ts5-card--feat .ts5-card__img { aspect-ratio: 16 / 9; margin: 10px 10px 0; }
.ts5 .ts5-card--feat .ts5-card__body { padding: clamp(20px, 2.6vw, 34px); }
.ts5 .ts5-card--mini .ts5-card__img { aspect-ratio: 16 / 8; }
.ts5 .ts5-card--mini .ts5-card__t { font-size: 19px; }
.ts5 .ts5-card--feat .ts5-card__t { font-size: clamp(26px, 2.6vw, 38px); line-height: 1.08; margin-top: 16px; }
.ts5 .ts5-card--feat .ts5-card__x { font-size: 16.5px; margin-top: 14px; }
.ts5 .ts5-card--feat .ts5-card__m { margin-top: 22px; padding-top: 0; }

/* pagination */
.ts5 .ts5-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: clamp(28px, 3vw, 44px); }
.ts5 .ts5-pager .page-numbers, .ts5 .ts5-pager > a, .ts5 .ts5-pager > span { display: inline-grid; place-items: center; min-width: 46px; height: 46px; padding: 0 14px; border-radius: 999px; background: #fff; box-shadow: var(--shadow); font: 800 15px/1 var(--display); color: var(--ink); transition: background-color .3s, color .3s, transform .35s var(--spring); }
.ts5 .ts5-pager a:hover { transform: translateY(-2px); color: var(--coral-ink); }
.ts5 .ts5-pager .current { background: var(--grad); color: #fff; }
.ts5 .ts5-pager .dots { background: transparent; box-shadow: none; }

/* empty */
.ts5 .ts5-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: clamp(36px, 6vw, 72px) 22px; border-radius: 32px; background: #fff; box-shadow: var(--shadow); text-align: center; }
.ts5 .ts5-empty p { max-width: 46ch; color: var(--muted); margin: 0 0 6px; }
.ts5 .ts5-empty__ic { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 22px; background: var(--bg2); color: var(--coral-ink); }
.ts5 .ts5-empty__ic svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ts5 .ts5-empty__row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 22px; }

/* product mini cards */
.ts5 .ts5-shopband { padding-top: clamp(44px, 5vw, 72px); }
.ts5 .ts5-pgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); }
.ts5 .ts5-pcard { display: flex; flex-direction: column; padding: 8px 8px 16px; border-radius: 24px; background: #fff; box-shadow: var(--shadow); transition: transform .45s var(--spring), box-shadow .4s; }
.ts5 .ts5-pcard:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.ts5 .ts5-pcard__img { display: block; aspect-ratio: 1; border-radius: 18px; overflow: hidden; background: #FFF6F1; }
.ts5 .ts5-pcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.ts5 .ts5-pcard:hover .ts5-pcard__img img { transform: scale(1.06); }
.ts5 .ts5-pcard__t { margin: 12px 8px 0; font: 700 16.5px/1.25 var(--display); color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ts5 .ts5-pcard__p { margin: 6px 8px 0; font: 800 16px/1 var(--display); color: var(--coral-ink); }
.ts5 .ts5-pcard__p del { color: var(--muted); font-weight: 600; margin-right: 6px; }
.ts5 .ts5-pcard__p ins { text-decoration: none; }

/* newsletter */
.ts5 .ts5-news { padding-top: clamp(44px, 5vw, 72px); }
.ts5 .ts5-news__card { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(20px, 4vw, 56px); padding: clamp(30px, 4.4vw, 60px); border-radius: 40px; background: var(--ink2); color: rgba(255, 255, 255, .8); }
.ts5 .ts5-news__card .ts5-h2 { color: #fff; }
.ts5 .ts5-news__copy p { margin-top: 12px; max-width: 46ch; }
.ts5 .ts5-news__card .ts5-blob--a { opacity: .35; }
.ts5 .ts5-news__form { position: relative; display: flex; flex-wrap: wrap; gap: 8px; padding: 6px; border-radius: 999px; background: #fff; }
.ts5 .ts5-news__form input[type="email"] { flex: 1; min-width: 0; height: 52px; padding: 0 20px; border: 0; outline: 0; background: transparent; font: 500 16px var(--sans); color: var(--ink); }
.ts5 .ts5-news__form .t5-btn { border-radius: 999px; }
.ts5 .ts5-news__msg { position: absolute; left: 22px; top: calc(100% + 10px); margin: 0; font-size: 14px; color: #FFD2C8; }
.ts5 .ts5-news__msg.is-ok { color: #9FE3D6; }

/* ---------- single post ---------- */
.ts5 .ts5-progress { position: fixed; left: 0; right: 0; top: 0; z-index: 10000; height: 3px; pointer-events: none; }
.ts5 .ts5-progress i { display: block; height: 100%; width: 100%; background: var(--grad); transform-origin: 0 50%; transform: scaleX(0); }
.ts5 .ts5-phero { padding-top: 16px; }
.ts5 .ts5-phero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(22px, 4vw, 56px); align-items: center; padding: clamp(22px, 3.4vw, 46px); border-radius: 40px; background: linear-gradient(135deg, #FFE9DE 0%, #FFF3EA 50%, #FFE4E8 100%); }
.ts5 .ts5-phero__grid:not(:has(.ts5-phero__img)) { grid-template-columns: minmax(0, 1fr); }
.ts5 .ts5-phero__copy > * { animation: ts5Up .8s var(--ease) both; }
.ts5 .ts5-phero__copy .ts5-h1 { margin-top: 16px; font-size: clamp(32px, 3.8vw, 54px); line-height: 1.06; }
.ts5 .ts5-phero__dek { margin-top: 16px; font-size: 18px; line-height: 1.6; color: var(--text); }
.ts5 .ts5-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 22px; font: 600 14px/1.2 var(--sans); color: var(--muted); }
.ts5 .ts5-meta > span { display: inline-flex; align-items: center; gap: 7px; }
.ts5 .ts5-meta__au { color: var(--ink); }
.ts5 .ts5-avatar { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--grad); color: #fff; font: 800 14px/1 var(--display); }
.ts5 .ts5-phero__img { margin: 0; aspect-ratio: 4 / 3; border-radius: 28px; overflow: hidden; box-shadow: var(--shadow-lg); animation: ts5Up .9s .1s var(--ease) both; }
.ts5 .ts5-phero__img img { width: 100%; height: 100%; object-fit: cover; }

.ts5 .ts5-article { display: grid; grid-template-columns: 220px minmax(0, 720px) 250px; justify-content: space-between; gap: clamp(20px, 3vw, 48px); margin-top: clamp(30px, 4vw, 52px); }
.ts5 .ts5-side { min-width: 0; }
.ts5 .ts5-side__sticky { position: sticky; top: calc(var(--tp5-top, 84px) + 24px); display: flex; flex-direction: column; gap: 18px; }
.ts5 .ts5-side__k { margin: 0 0 10px; font: 800 12.5px/1 var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.ts5 .ts5-toc { position: relative; padding: 18px 18px 14px; border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-toc ol { list-style: none; margin: 0; padding: 0 0 0 14px; max-height: min(56vh, 520px); overflow: auto; scrollbar-width: none; }
.ts5 .ts5-toc__bar { position: absolute; left: 18px; top: 46px; bottom: 16px; width: 2px; border-radius: 2px; background: #F5E1D7; }
.ts5 .ts5-toc__bar i { display: block; width: 100%; height: 0; border-radius: inherit; background: var(--grad); transition: height .25s linear; }
.ts5 .ts5-toc li a { display: block; padding: 6px 0 6px 8px; font-size: 14px; line-height: 1.4; color: var(--muted); transition: color .25s, transform .3s var(--ease); }
.ts5 .ts5-toc li.ts5-toc__h3 a { padding-left: 20px; font-size: 13.5px; }
.ts5 .ts5-toc li a:hover { color: var(--ink); }
.ts5 .ts5-toc li a.is-on { color: var(--coral-ink); font-weight: 700; transform: translateX(2px); }
.ts5 .ts5-share { padding: 16px 18px; border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-share__row { display: flex; gap: 8px; }
.ts5 .ts5-share__row a, .ts5 .ts5-share__row button { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--bg); color: var(--ink); cursor: pointer; border: 0; transition: background-color .3s, color .3s, transform .35s var(--spring); }
.ts5 .ts5-share__row svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ts5 .ts5-share__row a:hover, .ts5 .ts5-share__row button:hover { background: var(--ink); color: #fff; transform: translateY(-2px); }
.ts5 .ts5-share__row button.is-copied { background: var(--teal); color: #fff; }
.ts5 .ts5-adcard { display: flex; flex-direction: column; gap: 12px; padding: 18px; border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-adcard .ts5-pcard { flex-direction: row; align-items: center; gap: 12px; padding: 0; box-shadow: none; background: transparent; }
.ts5 .ts5-adcard .ts5-pcard:hover { transform: none; box-shadow: none; }
.ts5 .ts5-adcard .ts5-pcard__img { flex: none; width: 74px; border-radius: 14px; }
.ts5 .ts5-adcard .ts5-pcard__t { margin: 0; font-size: 15px; }
.ts5 .ts5-adcard .ts5-pcard__p { position: absolute; opacity: 0; pointer-events: none; }
.ts5 .ts5-adcard .ts5-pcard > :not(.ts5-pcard__img) { min-width: 0; }
.ts5 .ts5-adcard .ts5-more { margin-top: 4px; font-size: 13px; }

/* prose */
.ts5 .ts5-prose { min-width: 0; font-size: 17.5px; line-height: 1.8; color: var(--text); }
.ts5 .ts5-prose > * { margin: 0 0 1.15em; }
.ts5 .ts5-prose h2 { margin: 1.9em 0 .6em; font: 800 clamp(25px, 2.3vw, 32px)/1.15 var(--display); color: var(--ink); scroll-margin-top: 110px; }
.ts5 .ts5-prose h3 { margin: 1.6em 0 .5em; font: 800 clamp(20px, 1.8vw, 24px)/1.2 var(--display); color: var(--ink); scroll-margin-top: 110px; }
.ts5 .ts5-prose h4 { margin: 1.4em 0 .4em; font: 800 19px/1.25 var(--display); color: var(--ink); }
.ts5 .ts5-prose > :first-child { margin-top: 0; }
.ts5 .ts5-prose a { color: var(--coral-ink); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; text-decoration-color: rgba(201, 64, 47, .35); transition: text-decoration-color .3s; }
.ts5 .ts5-prose a:hover { text-decoration-color: currentColor; }
.ts5 .ts5-prose strong, .ts5 .ts5-prose b { color: var(--ink); }
.ts5 .ts5-prose ul, .ts5 .ts5-prose ol { padding-left: 1.3em; }
.ts5 .ts5-prose li { margin: .4em 0; }
.ts5 .ts5-prose ul li::marker { color: var(--coral); }
.ts5 .ts5-prose ol li::marker { color: var(--coral-ink); font-weight: 800; font-family: var(--display); }
.ts5 .ts5-prose img { border-radius: 22px; }
.ts5 .ts5-prose figure { margin: 1.6em 0; }
.ts5 .ts5-prose figcaption { margin-top: 8px; font-size: 14px; color: var(--muted); text-align: center; }
.ts5 .ts5-prose blockquote { margin: 1.6em 0; padding: 20px 26px; border: 0; border-radius: 22px; background: #fff; box-shadow: inset 4px 0 0 var(--coral), var(--shadow); font: 600 19px/1.6 var(--sans); color: var(--ink); }
.ts5 .ts5-prose blockquote p { margin: 0; }
.ts5 .ts5-prose hr { border: 0; height: 2px; margin: 2em 0; background: linear-gradient(90deg, transparent, #F5D6C8, transparent); }
.ts5 .ts5-prose table { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border-radius: 18px; background: #fff; box-shadow: var(--shadow); font-size: 15.5px; line-height: 1.5; }
.ts5 .ts5-prose th, .ts5 .ts5-prose td { padding: 12px 16px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid #F6E6DD; }
.ts5 .ts5-prose th { background: #FFF1E9; font: 800 14px/1.3 var(--display); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.ts5 .ts5-prose tr:last-child td { border-bottom: 0; }
.ts5 .ts5-prose .wp-block-table { overflow-x: auto; }
.ts5 .ts5-prose .wp-block-group[style*="border"], .ts5 .ts5-prose .wp-block-group.has-background { padding: 22px 24px !important; border: 0 !important; border-radius: 22px !important; background: #fff !important; box-shadow: inset 4px 0 0 var(--teal), var(--shadow); }
.ts5 .ts5-prose .wp-block-group > :last-child { margin-bottom: 0; }
.ts5 .ts5-prose .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.ts5 .ts5-prose .wp-block-button__link { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border-radius: 6px; background: var(--grad); color: #fff !important; text-decoration: none !important; font: 800 14.5px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; }
.ts5 .ts5-prose .is-style-outline .wp-block-button__link { background: transparent; color: var(--ink) !important; box-shadow: inset 0 0 0 2px var(--ink); }
.ts5 .ts5-prose .wp-block-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.ts5 .ts5-prose code { padding: 2px 6px; border-radius: 6px; background: #FFF1E9; font-size: .9em; }
.ts5 .ts5-prose .wp-block-rank-math-toc-block, .ts5 .ts5-prose #rank-math-toc, .ts5 .ts5-prose .z-toc { display: none; }
.ts5 .ts5-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2em; }
.ts5 .ts5-tags a { padding: 7px 14px; border-radius: 999px; background: #fff; box-shadow: var(--shadow); font: 700 13.5px/1 var(--sans); color: var(--ink); text-decoration: none; }
.ts5 .ts5-tags a:hover { color: var(--coral-ink); }

.ts5 .ts5-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: clamp(30px, 4vw, 52px); }
.ts5 .ts5-pn__a { display: flex; flex-direction: column; gap: 8px; padding: 20px 24px; border-radius: 24px; background: #fff; box-shadow: var(--shadow); transition: transform .4s var(--spring), box-shadow .4s; }
.ts5 .ts5-pn__a:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.ts5 .ts5-pn__a small { font: 800 12.5px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--coral-ink); }
.ts5 .ts5-pn__a b { font: 800 18px/1.3 var(--display); color: var(--ink); }
.ts5 .ts5-pn__a--next { text-align: right; align-items: flex-end; grid-column: 2; }
.ts5 .ts5-related { padding-top: clamp(44px, 5vw, 72px); }
.ts5 .ts5-comments { padding-top: clamp(36px, 4vw, 56px); }
.ts5 .ts5-comments__card { max-width: 820px; margin: 0 auto; padding: clamp(22px, 3vw, 40px); border-radius: 32px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-comments textarea, .ts5 .ts5-comments input[type="text"], .ts5 .ts5-comments input[type="email"], .ts5 .ts5-comments input[type="url"] { width: 100%; }

/* ---------- doc pages ---------- */
.ts5 .ts5-doc { display: grid; grid-template-columns: 260px minmax(0, 780px); justify-content: center; gap: clamp(24px, 4vw, 64px); margin-top: clamp(30px, 4vw, 52px); }
.ts5 .ts5-doc--solo { grid-template-columns: minmax(0, 820px); }
.ts5 .ts5-sidenav { display: flex; flex-direction: column; gap: 2px; padding: 18px; border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-sidenav a { padding: 10px 14px; border-radius: 12px; font: 600 15px/1.3 var(--sans); color: var(--text); transition: background-color .25s, color .25s; }
.ts5 .ts5-sidenav a:hover { background: var(--bg); color: var(--ink); }
.ts5 .ts5-sidenav a.is-on { background: var(--grad); color: #fff; font-weight: 700; }
.ts5 .ts5-help { margin-top: clamp(40px, 5vw, 64px); }
.ts5 .ts5-help__card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 22px; padding: clamp(22px, 3vw, 36px); border-radius: 32px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-help__card p { margin: 6px 0 0; color: var(--muted); }
.ts5 .ts5-help__ic { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 20px; background: var(--grad); color: #fff; }
.ts5 .ts5-help__ic svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; }
.ts5 .ts5-help__cta { display: flex; flex-wrap: wrap; gap: 10px; }

/* faq accordion (built by JS from h2 + content) and contact accordion */
.ts5 .ts5-acc { display: flex; flex-direction: column; gap: 12px; }
.ts5 .ts5-acc__i { border-radius: 22px; background: #fff; box-shadow: var(--shadow); overflow: hidden; transition: box-shadow .3s; }
.ts5 .ts5-acc__i[open] { box-shadow: inset 0 0 0 2px rgba(255, 107, 86, .35), var(--shadow); }
.ts5 .ts5-acc__i summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; list-style: none; cursor: pointer; font: 800 clamp(17px, 1.5vw, 20px)/1.3 var(--display); color: var(--ink); }
.ts5 .ts5-acc__i summary::-webkit-details-marker { display: none; }
.ts5 .ts5-acc__i summary i { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--bg2); transition: background-color .3s, transform .45s var(--spring); }
.ts5 .ts5-acc__i summary i::before, .ts5 .ts5-acc__i summary i::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; border-radius: 2px; background: var(--coral-ink); transition: transform .35s var(--ease), background-color .3s; }
.ts5 .ts5-acc__i summary i::after { transform: rotate(90deg); }
.ts5 .ts5-acc__i[open] summary i { background: var(--grad); transform: rotate(180deg); }
.ts5 .ts5-acc__i[open] summary i::before, .ts5 .ts5-acc__i[open] summary i::after { background: #fff; }
.ts5 .ts5-acc__i[open] summary i::after { transform: rotate(0deg); }
.ts5 .ts5-acc__a { padding: 0 24px 22px; font-size: 16.5px; line-height: 1.75; color: var(--text); animation: ts5Up .45s var(--ease) both; }
.ts5 .ts5-acc__a > :last-child { margin-bottom: 0; }
.ts5 .ts5-acc__a p { margin: 0 0 .8em; }
.ts5 .ts5-prose--faq .ts5-acc { margin: 1.4em 0; }
.ts5 .ts5-prose--faq .ts5-acc__i summary { scroll-margin-top: 120px; }

/* ---------- about ---------- */
.ts5 .ts5-marq { overflow: hidden; margin-top: clamp(22px, 3vw, 36px); -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.ts5 .ts5-marq__track { display: flex; gap: 18px; width: max-content; animation: ts5Marq 60s linear infinite; }
.ts5 .ts5-marq:hover .ts5-marq__track { animation-play-state: paused; }
.ts5 .ts5-marq img { width: clamp(150px, 16vw, 220px); aspect-ratio: 1; object-fit: cover; border-radius: 24px; box-shadow: var(--shadow); }
.ts5 .ts5-marq img:nth-child(even) { transform: translateY(18px) rotate(1.5deg); }
.ts5 .ts5-marq img:nth-child(odd) { transform: rotate(-1.5deg); }
@keyframes ts5Marq { to { transform: translateX(-50%); } }
.ts5 .ts5-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ts5 .ts5-stats > div { display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: 26px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-stats b { font: 800 clamp(34px, 3.6vw, 50px)/1 var(--display); background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ts5 .ts5-stats > div:nth-child(2) b { background: linear-gradient(135deg, #17A398, #0E6E80); -webkit-background-clip: text; background-clip: text; }
.ts5 .ts5-stats > div:nth-child(3) b { background: linear-gradient(135deg, #8E6BEF, #5B47C8); -webkit-background-clip: text; background-clip: text; }
.ts5 .ts5-stats > div:nth-child(4) b { background: linear-gradient(135deg, #F2A93B, #E2702D); -webkit-background-clip: text; background-clip: text; }
.ts5 .ts5-stats span { font-size: 15px; color: var(--muted); }
.ts5 .ts5-feats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ts5 .ts5-feat-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 26px 24px; border-radius: 28px; background: #fff; box-shadow: var(--shadow); transition: transform .45s var(--spring), box-shadow .4s; }
.ts5 .ts5-feat-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.ts5 .ts5-feat-card p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--muted); }
.ts5 .ts5-feat-card .ts5-more { margin-top: auto; padding-top: 6px; font-size: 13px; }
.ts5 .ts5-feat-card__ic { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 18px; background: var(--grad); color: #fff; transition: transform .5s var(--spring); }
.ts5 .ts5-feat-card:nth-child(2) .ts5-feat-card__ic { background: linear-gradient(135deg, #17A398, #0E6E80); }
.ts5 .ts5-feat-card:nth-child(3) .ts5-feat-card__ic { background: linear-gradient(135deg, #8E6BEF, #5B47C8); }
.ts5 .ts5-feat-card:nth-child(4) .ts5-feat-card__ic { background: linear-gradient(135deg, #F2A93B, #E2702D); }
.ts5 .ts5-feat-card:hover .ts5-feat-card__ic { transform: rotate(-8deg) scale(1.06); }
.ts5 .ts5-feat-card__ic svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ts5 .ts5-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 5vw, 72px); align-items: start; }
.ts5 .ts5-split__copy { position: sticky; top: calc(var(--tp5-top, 84px) + 30px); }
.ts5 .ts5-values { list-style: none; margin: 0; padding: 0; counter-reset: v; display: flex; flex-direction: column; gap: 14px; }
.ts5 .ts5-values li { counter-increment: v; position: relative; display: flex; flex-direction: column; gap: 6px; padding: 22px 24px 22px 84px; border-radius: 24px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-values li::before { content: '0' counter(v); position: absolute; left: 24px; top: 20px; font: 800 30px/1 var(--display); background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ts5 .ts5-values b { font: 800 20px/1.2 var(--display); color: var(--ink); }
.ts5 .ts5-values span { font-size: 15.5px; line-height: 1.6; color: var(--muted); }
.ts5 .ts5-howcard { position: relative; isolation: isolate; overflow: hidden; padding: clamp(28px, 4.4vw, 60px); border-radius: 40px; background: linear-gradient(135deg, #FFE9DE, #FFF3EA 50%, #FFE4E8); }
.ts5 .ts5-how { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ts5 .ts5-how li { position: relative; padding: 24px; border-radius: 24px; background: rgba(255, 255, 255, .85); box-shadow: var(--shadow); }
.ts5 .ts5-how li b { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--ink); color: #fff; font: 800 18px/1 var(--display); }
.ts5 .ts5-how li h3 { margin-top: 16px; font: 800 20px/1.2 var(--display); color: var(--ink); }
.ts5 .ts5-how li p { margin: 8px 0 0; font-size: 15px; line-height: 1.6; color: var(--muted); }
.ts5 .ts5-quote { max-width: 900px; margin: 0 auto; text-align: center; }
.ts5 .ts5-quote p { margin: 0; font: 700 clamp(24px, 2.8vw, 38px)/1.3 var(--display); color: var(--ink); }
.ts5 .ts5-quote span { display: inline-block; margin-top: 18px; font: 800 13px/1 var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--coral-ink); }

/* ---------- contact ---------- */
.ts5 .ts5-contact { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); margin-top: clamp(26px, 3.4vw, 44px); align-items: start; }
.ts5 .ts5-contact__form { padding: clamp(24px, 3.4vw, 44px); border-radius: 32px; background: #fff; box-shadow: var(--shadow-lg); }
.ts5 .ts5-form { display: grid; gap: 18px; margin-top: 20px; }
.ts5 .ts5-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ts5 .ts5-field { display: flex; flex-direction: column; gap: 8px; }
.ts5 .ts5-field label, .ts5 .ts5-wc label { font: 800 13px/1.2 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.ts5 .ts5-field label span { color: var(--muted); font-weight: 600; letter-spacing: .04em; text-transform: none; }
.ts5 .ts5-field input, .ts5 .ts5-field select, .ts5 .ts5-field textarea,
.ts5 .ts5-wc input.input-text, .ts5 .ts5-wc input[type="text"], .ts5 .ts5-wc input[type="email"], .ts5 .ts5-wc input[type="password"], .ts5 .ts5-wc input[type="tel"], .ts5 .ts5-wc input[type="number"], .ts5 .ts5-wc select, .ts5 .ts5-wc textarea {
	width: 100%; min-height: 52px; padding: 12px 16px; border: 1.5px solid #F1DDD2; border-radius: 14px; background: #FFFBF8; font: 500 16px/1.4 var(--sans); color: var(--ink); outline: 0; box-shadow: none; transition: border-color .25s, box-shadow .25s, background-color .25s; }
.ts5 .ts5-field textarea, .ts5 .ts5-wc textarea { min-height: 150px; resize: vertical; }
.ts5 .ts5-field input:focus, .ts5 .ts5-field select:focus, .ts5 .ts5-field textarea:focus, .ts5 .ts5-wc input:focus, .ts5 .ts5-wc select:focus, .ts5 .ts5-wc textarea:focus { border-color: var(--coral); background: #fff; box-shadow: 0 0 0 4px rgba(255, 107, 86, .14); }
.ts5 .ts5-form .t5-btn { justify-self: start; }
.ts5 .ts5-notice { margin-top: 16px; padding: 14px 18px; border-radius: 14px; font-size: 15px; }
.ts5 .ts5-notice--ok { background: #E3F6F1; color: #0E5C55; }
.ts5 .ts5-notice--err { background: #FDE7E3; color: #9B2C1E; }
.ts5 .ts5-contact__side { display: flex; flex-direction: column; gap: 12px; }
.ts5 .ts5-route { display: flex; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 24px; background: #fff; box-shadow: var(--shadow); transition: transform .4s var(--spring), box-shadow .4s; }
.ts5 .ts5-route:hover { transform: translateX(4px); box-shadow: var(--shadow-lg); }
.ts5 .ts5-route b { display: block; font: 800 18px/1.2 var(--display); color: var(--ink); }
.ts5 .ts5-route small { display: block; margin-top: 3px; font-size: 14px; color: var(--muted); }
.ts5 .ts5-route__ic { flex: none; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 16px; background: var(--grad); color: #fff; }
.ts5 .ts5-route__ic--teal { background: linear-gradient(135deg, #17A398, #0E6E80); }
.ts5 .ts5-route__ic--violet { background: linear-gradient(135deg, #8E6BEF, #5B47C8); }
.ts5 .ts5-route__ic svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ts5 .ts5-tipcard { padding: 22px 24px; border-radius: 24px; background: var(--ink2); color: rgba(255, 255, 255, .82); }
.ts5 .ts5-tipcard .ts5-side__k { color: #FFB4A6; }
.ts5 .ts5-tipcard ul { margin: 0; padding-left: 1.1em; font-size: 15px; line-height: 1.6; }
.ts5 .ts5-tipcard li { margin: 6px 0; }
.ts5 .ts5-tipcard li::marker { color: #FF8A7A; }

/* ---------- commerce ---------- */
.ts5 .ts5-steps { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 24px 0 0; padding: 0; }
.ts5 .ts5-steps li { display: inline-flex; align-items: center; gap: 10px; padding: 6px 16px 6px 6px; border-radius: 999px; background: rgba(255, 255, 255, .7); font: 800 13.5px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.ts5 .ts5-steps li:not(:last-child)::after { content: ''; width: 22px; height: 2px; margin-left: 6px; margin-right: -26px; border-radius: 2px; background: #F1CFC1; }
.ts5 .ts5-steps li:not(:last-child) { margin-right: 22px; }
.ts5 .ts5-steps b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #fff; color: var(--muted); font-size: 14px; }
.ts5 .ts5-steps .is-on { background: #fff; color: var(--ink); box-shadow: var(--shadow); }
.ts5 .ts5-steps .is-on b { background: var(--grad); color: #fff; }
.ts5 .ts5-steps .is-done b { background: var(--teal); color: #fff; }
.ts5 .ts5-steps .is-done { color: var(--teal); }
.ts5 .ts5-trust { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: clamp(26px, 3vw, 40px) 0 0; padding: 0; }
.ts5 .ts5-trust li { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 22px; background: #fff; box-shadow: var(--shadow); font-size: 14.5px; line-height: 1.45; color: var(--muted); }
.ts5 .ts5-trust li b { display: block; font: 800 16.5px/1.2 var(--display); color: var(--ink); }
.ts5 .ts5-trust li a { color: var(--coral-ink); font-weight: 700; }
.ts5 .ts5-trust svg { flex: none; width: 44px; height: 44px; padding: 10px; border-radius: 14px; background: var(--bg2); fill: none; stroke: var(--coral-ink); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

.ts5 .ts5-wc { margin-top: clamp(24px, 3vw, 40px); color: var(--text); font-size: 16px; }
.ts5 .ts5-wc a { color: var(--coral-ink); }
.ts5 .ts5-wc .button, .ts5 .ts5-wc button.button, .ts5 .ts5-wc input.button, .ts5 .ts5-wc a.button, .ts5 .ts5-wc .checkout-button, .ts5 .ts5-wc .woocommerce-Button, .ts5 .ts5-wc .woocommerce-button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 26px !important; border: 0 !important; border-radius: 6px !important; background: var(--ink) !important; color: #fff !important; font: 800 14.5px/1 var(--display) !important; letter-spacing: .09em; text-transform: uppercase; text-decoration: none !important; box-shadow: none; cursor: pointer; transition: transform .4s var(--spring), box-shadow .3s, background-color .3s; }
.ts5 .ts5-wc .button:hover, .ts5 .ts5-wc .woocommerce-Button:hover { transform: translateY(-2px); box-shadow: 0 14px 26px -14px rgba(4, 34, 42, .6); }
.ts5 .ts5-wc .checkout-button, .ts5 .ts5-wc .button.alt, .ts5 .ts5-wc .woocommerce-form-login__submit, .ts5 .ts5-wc .woocommerce-form-register__submit, .ts5 .ts5-wc button[name="track"], .ts5 .ts5-wc .woocommerce-Button[name="save_account_details"] { background: var(--grad) !important; box-shadow: 0 14px 28px -14px rgba(240, 85, 110, .75); }
.ts5 .ts5-wc .woocommerce-message, .ts5 .ts5-wc .woocommerce-info, .ts5 .ts5-wc .woocommerce-error, .ts5 .woocommerce-notices-wrapper > * { list-style: none; margin: 0 0 18px; padding: 16px 20px !important; border: 0 !important; border-radius: 18px; background: #fff; box-shadow: inset 4px 0 0 var(--teal), var(--shadow); color: var(--ink); font-size: 15px; }
.ts5 .ts5-wc .woocommerce-error, .ts5 .woocommerce-notices-wrapper .woocommerce-error { box-shadow: inset 4px 0 0 #E2483A, var(--shadow); }
.ts5 .ts5-wc .woocommerce-message::before, .ts5 .ts5-wc .woocommerce-info::before, .ts5 .ts5-wc .woocommerce-error::before { display: none; }
.ts5 .ts5-wc .woocommerce-message .button, .ts5 .ts5-wc .woocommerce-info .button { float: right; min-height: 38px; padding: 0 16px !important; font-size: 12.5px !important; margin-left: 12px; }

/* cart (classic) */
.ts5 .ts5-wc--cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: clamp(20px, 3vw, 36px); align-items: start; }
.ts5 .ts5-wc--cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.ts5 .ts5-wc--cart .woocommerce-cart-form { min-width: 0; padding: 10px clamp(10px, 2vw, 24px); border-radius: 32px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-wc--cart table.shop_table { width: 100%; border: 0; border-collapse: collapse; margin: 0; }
.ts5 .ts5-wc--cart table.shop_table th { padding: 16px 10px; border: 0; border-bottom: 1px solid #F6E6DD; font: 800 12.5px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); text-align: left; }
.ts5 .ts5-wc--cart table.shop_table td { padding: 16px 10px; border: 0; border-bottom: 1px solid #F6E6DD; vertical-align: middle; background: transparent; }
.ts5 .ts5-wc--cart table.shop_table tr:last-child td { border-bottom: 0; }
.ts5 .ts5-wc--cart td.product-thumbnail img { width: 84px; height: 84px; object-fit: cover; border-radius: 16px; box-shadow: var(--shadow); }
.ts5 .ts5-wc--cart td.product-name a { font: 800 18px/1.25 var(--display); color: var(--ink); text-decoration: none; }
.ts5 .ts5-wc--cart td.product-name a:hover { color: var(--coral-ink); }
.ts5 .ts5-wc--cart td.product-price, .ts5 .ts5-wc--cart td.product-subtotal { font: 800 17px/1 var(--display); color: var(--ink); }
.ts5 .ts5-wc--cart td.product-remove a.remove { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--bg2); color: var(--coral-ink) !important; font-size: 20px; line-height: 1; text-decoration: none; transition: background-color .3s, color .3s, transform .35s var(--spring); }
.ts5 .ts5-wc--cart td.product-remove a.remove:hover { background: #E2483A; color: #fff !important; transform: rotate(90deg); }
.ts5 .ts5-wc--cart .quantity input.qty { width: 70px; min-height: 44px; text-align: center; }
.ts5 .ts5-wc--cart td.actions { padding-top: 18px; }
.ts5 .ts5-wc--cart .coupon { display: inline-flex; gap: 8px; align-items: center; float: left; }
.ts5 .ts5-wc--cart .coupon label { display: none; }
.ts5 .ts5-wc--cart .coupon input.input-text { width: 200px; min-height: 48px; }
.ts5 .ts5-wc--cart button[name="update_cart"] { float: right; background: transparent !important; color: var(--ink) !important; box-shadow: inset 0 0 0 2px var(--ink) !important; }
.ts5 .ts5-wc--cart button[name="update_cart"]:disabled { opacity: .4; }
.ts5 .ts5-wc--cart .cart-collaterals { width: auto; position: sticky; top: calc(var(--tp5-top, 84px) + 20px); }
.ts5 .ts5-wc--cart .cart-collaterals .cross-sells { display: none; }
.ts5 .ts5-wc--cart .cart_totals { float: none; width: 100% !important; padding: clamp(22px, 2.6vw, 30px); border-radius: 32px; background: #fff; box-shadow: var(--shadow-lg); }
.ts5 .ts5-wc--cart .cart_totals h2 { margin: 0 0 12px; font: 800 24px/1.1 var(--display); color: var(--ink); }
.ts5 .ts5-wc--cart .cart_totals table { width: 100%; border: 0; }
.ts5 .ts5-wc--cart .cart_totals th, .ts5 .ts5-wc--cart .cart_totals td { padding: 12px 0; border: 0; border-bottom: 1px dashed #F1D8CC; background: transparent; font-size: 15.5px; }
.ts5 .ts5-wc--cart .cart_totals td { text-align: right; }
.ts5 .ts5-wc--cart .cart_totals .order-total th, .ts5 .ts5-wc--cart .cart_totals .order-total td { border-bottom: 0; padding-top: 16px; font: 800 22px/1 var(--display); color: var(--ink); }
.ts5 .ts5-wc--cart .wc-proceed-to-checkout { padding: 18px 0 0; }
.ts5 .ts5-wc--cart .wc-proceed-to-checkout .checkout-button { display: flex; width: 100%; min-height: 58px; font-size: 16px !important; margin: 0; }
.ts5 .ts5-wc--cart .wc-proceed-to-checkout > *:not(.checkout-button) { margin-top: 12px; }
.ts5 .ts5-wc--cart .cart-empty, .ts5 .ts5-wc--cart .wc-empty-cart-message { grid-column: 1 / -1; }
.ts5 .ts5-wc--cart .return-to-shop { margin: 0; }
.ts5 .ts5-wc--cart .woocommerce:has(.cart-empty) { display: block; }

/* checkout (blocks) */
.ts5 .ts5-wc--checkout .wc-block-checkout { --ts5-field: #FFFBF8; margin: 0; }
.ts5 .ts5-wc--checkout .wc-block-components-sidebar-layout { margin: 0; }
.ts5 .ts5-wc--checkout .wc-block-checkout__main, .ts5 .ts5-wc--checkout .wc-block-components-main { padding: clamp(18px, 2.6vw, 34px) !important; border-radius: 32px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-wc--checkout .wc-block-checkout__sidebar, .ts5 .ts5-wc--checkout .wc-block-components-sidebar { padding: clamp(18px, 2.4vw, 28px) !important; border-radius: 32px; background: #fff; box-shadow: var(--shadow-lg); align-self: flex-start; top: calc(var(--tp5-top, 84px) + 20px) !important; }
.ts5 .ts5-wc--checkout .wc-block-components-title, .ts5 .ts5-wc--checkout .wc-block-components-checkout-step__title { font: 800 22px/1.15 var(--display) !important; color: var(--ink); text-transform: none; }
.ts5 .ts5-wc--checkout .wc-block-components-checkout-step__container::after { display: none; }
.ts5 .ts5-wc--checkout .wc-block-components-checkout-step__heading-content, .ts5 .ts5-wc--checkout .wc-block-components-checkout-step__description { color: var(--muted); }
.ts5 .ts5-wc--checkout .wc-block-components-text-input input, .ts5 .ts5-wc--checkout .wc-block-components-combobox .components-combobox-control input, .ts5 .ts5-wc--checkout .wc-blocks-components-select select, .ts5 .ts5-wc--checkout .wc-block-components-textarea { border: 1.5px solid #F1DDD2 !important; border-radius: 14px !important; background: var(--ts5-field) !important; color: var(--ink) !important; box-shadow: none !important; }
.ts5 .ts5-wc--checkout .wc-block-components-text-input input:focus, .ts5 .ts5-wc--checkout .wc-blocks-components-select select:focus { border-color: var(--coral) !important; box-shadow: 0 0 0 4px rgba(255, 107, 86, .14) !important; background: #fff !important; }
.ts5 .ts5-wc--checkout .wc-block-components-text-input label, .ts5 .ts5-wc--checkout .wc-blocks-components-select label { text-transform: none; letter-spacing: 0; font: 500 15px/1.2 var(--sans); color: var(--muted); }
.ts5 .ts5-wc--checkout .wc-block-components-radio-control-accordion-option, .ts5 .ts5-wc--checkout .wc-block-components-radio-control__option { border-radius: 14px; }
.ts5 .ts5-wc--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option { border: 1.5px solid #F1DDD2; margin-bottom: 10px; box-shadow: none; }
.ts5 .ts5-wc--checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .ts5 .ts5-wc--checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted { border-color: var(--coral) !important; box-shadow: 0 0 0 3px rgba(255, 107, 86, .14) !important; }
.ts5 .ts5-wc--checkout .wc-block-components-radio-control__input:checked { border-color: var(--coral); }
.ts5 .ts5-wc--checkout .wc-block-components-radio-control__input:checked::before { background: var(--coral); }
.ts5 .ts5-wc--checkout .wc-block-components-checkbox__input:checked { background: var(--coral); border-color: var(--coral); }
.ts5 .ts5-wc--checkout .wc-block-components-checkout-place-order-button, .ts5 .ts5-wc--checkout .wc-block-components-button.contained { min-height: 58px; border: 0 !important; border-radius: 6px !important; background: var(--grad) !important; color: #fff !important; font: 800 16px/1 var(--display) !important; letter-spacing: .09em; text-transform: uppercase; box-shadow: 0 14px 28px -14px rgba(240, 85, 110, .75); transition: transform .4s var(--spring); }
.ts5 .ts5-wc--checkout .wc-block-components-checkout-place-order-button:hover { transform: translateY(-2px); }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__image img { border-radius: 12px; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__quantity { background: var(--ink); color: #fff; border: 2px solid #fff; box-shadow: none; }
.ts5 .ts5-wc--checkout .wc-block-components-product-name { font: 800 16px/1.25 var(--display); color: var(--ink); }
.ts5 .ts5-wc--checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .ts5 .ts5-wc--checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 800 22px/1.1 var(--display); color: var(--ink); }
.ts5 .ts5-wc--checkout .wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button { color: var(--muted); }
.ts5 .ts5-wc--checkout .wc-block-components-express-payment { border-radius: 20px; }
/* classic checkout / order received */
.ts5 .ts5-wc--checkout .woocommerce-order, .ts5 .ts5-wc--checkout form.checkout, .ts5 .ts5-wc--checkout #order_review { padding: clamp(20px, 3vw, 40px); border-radius: 32px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-wc--checkout .woocommerce-thankyou-order-received, .ts5 .ts5-wc--checkout .woocommerce-notice--success { margin: 0 0 18px; font: 800 22px/1.3 var(--display); color: var(--teal); }
.ts5 .ts5-wc--checkout ul.order_details, .ts5 .ts5-wc--checkout ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0 0 24px; padding: 0; list-style: none; }
.ts5 .ts5-wc--checkout ul.order_details li, .ts5 .ts5-wc--checkout ul.woocommerce-order-overview li { margin: 0; padding: 14px 16px; border: 0; border-radius: 16px; background: var(--bg); font-size: 12.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.ts5 .ts5-wc--checkout ul.order_details li strong, .ts5 .ts5-wc--checkout ul.woocommerce-order-overview li strong { display: block; margin-top: 6px; font: 800 17px/1.2 var(--display); text-transform: none; letter-spacing: 0; color: var(--ink); }
.ts5 .ts5-wc table.shop_table, .ts5 .ts5-wc table.woocommerce-table { width: 100%; border: 0; border-collapse: separate; border-spacing: 0; overflow: hidden; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1.5px #F6E6DD; margin: 0 0 24px; }
.ts5 .ts5-wc table.shop_table th, .ts5 .ts5-wc table.shop_table td, .ts5 .ts5-wc table.woocommerce-table th, .ts5 .ts5-wc table.woocommerce-table td { padding: 13px 16px; border: 0; border-bottom: 1px solid #F6E6DD; text-align: left; background: transparent; }
.ts5 .ts5-wc table.shop_table thead th, .ts5 .ts5-wc table.woocommerce-table thead th { background: #FFF1E9; font: 800 12.5px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
.ts5 .ts5-wc table.shop_table tr:last-child td, .ts5 .ts5-wc table.shop_table tfoot tr:last-child th { border-bottom: 0; }
.ts5 .ts5-wc .woocommerce-table--order-downloads .button, .ts5 .ts5-wc .woocommerce-MyAccount-downloads-file { min-height: 40px; padding: 0 16px !important; font-size: 12.5px !important; background: var(--grad) !important; }
.ts5 .ts5-wc h2, .ts5 .ts5-wc h3 { font: 800 24px/1.2 var(--display); color: var(--ink); margin: 0 0 14px; }
.ts5 .ts5-wc address { padding: 18px 20px; border: 0; border-radius: 18px; background: var(--bg); font-style: normal; line-height: 1.7; }

/* account */
.ts5 .ts5-wc--account.is-in .woocommerce { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(20px, 3vw, 36px); align-items: start; }
.ts5 .ts5-wc--account .woocommerce-MyAccount-navigation { float: none; width: auto; position: sticky; top: calc(var(--tp5-top, 84px) + 20px); padding: 14px; border-radius: 26px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-wc--account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.ts5 .ts5-wc--account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-radius: 14px; font: 700 15.5px/1.2 var(--sans); color: var(--text); text-decoration: none; transition: background-color .25s, color .25s; }
.ts5 .ts5-wc--account .woocommerce-MyAccount-navigation a:hover { background: var(--bg); color: var(--ink); }
.ts5 .ts5-wc--account .woocommerce-MyAccount-navigation .is-active a { background: var(--grad); color: #fff; }
.ts5 .ts5-wc--account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--muted); }
.ts5 .ts5-wc--account .woocommerce-MyAccount-content { float: none; width: auto; min-width: 0; padding: clamp(20px, 3vw, 40px); border-radius: 32px; background: #fff; box-shadow: var(--shadow); }
.ts5 .ts5-wc--account .woocommerce-MyAccount-content > p:first-child { font-size: 17px; }
.ts5 .ts5-wc--account .woocommerce-MyAccount-content mark { background: transparent; color: var(--ink); font-weight: 700; }
.ts5 .ts5-wc--account.is-out .woocommerce, .ts5 .ts5-wc--track > .woocommerce, .ts5 .ts5-narrow { max-width: 560px; margin-inline: auto; }
.ts5 .ts5-wc--account.is-out #customer_login { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ts5 .ts5-wc--account.is-out .woocommerce:has(#customer_login) { max-width: 1000px; }
.ts5 .ts5-wc--account.is-out #customer_login > div, .ts5 .ts5-wc--account.is-out form.woocommerce-form-login:only-child, .ts5 .ts5-wc--account.is-out form.lost_reset_password, .ts5 .ts5-card-pad { float: none; width: auto; padding: clamp(22px, 3vw, 36px); border: 0; border-radius: 32px; background: #fff; box-shadow: var(--shadow-lg); }
.ts5 .ts5-wc form.login, .ts5 .ts5-wc form.register, .ts5 .ts5-wc form.lost_reset_password, .ts5 .ts5-wc form.track_order, .ts5 .ts5-wc form.edit-account, .ts5 .ts5-wc form.woocommerce-EditAccountForm { margin: 0; padding: 0; border: 0; }
.ts5 .ts5-wc .form-row { display: flex; flex-direction: column; gap: 8px; margin: 0 0 16px; padding: 0; float: none; width: auto; }
.ts5 .ts5-wc .form-row-first, .ts5 .ts5-wc .form-row-last { width: auto; }
.ts5 .ts5-wc .woocommerce-form-login__rememberme, .ts5 .ts5-wc .woocommerce-form__label-for-checkbox { display: inline-flex !important; align-items: center; gap: 8px; text-transform: none !important; letter-spacing: 0 !important; font: 500 15px/1.3 var(--sans) !important; color: var(--text) !important; }
.ts5 .ts5-wc input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--coral); }
.ts5 .ts5-wc .lost_password { margin: 6px 0 0; font-size: 14.5px; }
.ts5 .ts5-wc .password-input { display: block; position: relative; }
.ts5 .ts5-wc .show-password-input { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: transparent !important; border: 0; }
.ts5 .ts5-wc fieldset { margin: 20px 0; padding: 18px 20px; border: 1.5px solid #F6E6DD; border-radius: 18px; }
.ts5 .ts5-wc legend { padding: 0 8px; font: 800 16px/1 var(--display); color: var(--ink); }
.ts5 .ts5-wc .woocommerce-pagination { display: flex; gap: 10px; margin-top: 16px; }
.ts5 .ts5-hint { margin: 0 0 14px; font-size: 14px; color: var(--muted); }
.ts5 .ts5-hint a { color: var(--coral-ink); font-weight: 600; }

/* auth split */
.ts5 .ts5-authwrap { padding-top: 16px; }
.ts5 .ts5-auth { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: clamp(20px, 3vw, 36px); align-items: stretch; }
.ts5 .ts5-auth__art { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 56px); border-radius: 40px; background: linear-gradient(135deg, #FFE9DE, #FFF3EA 50%, #FFE4E8); }
.ts5 .ts5-auth__art > *:not(.ts5-blob) { position: relative; animation: ts5Up .8s var(--ease) both; }
.ts5 .ts5-auth__sub { margin: 14px 0 0; max-width: 44ch; font-size: 17px; line-height: 1.6; }
.ts5 .ts5-auth__perks { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ts5 .ts5-auth__perks li { display: flex; align-items: center; gap: 12px; font: 600 15.5px/1.4 var(--sans); color: var(--ink); }
.ts5 .ts5-auth__perks svg { flex: none; width: 34px; height: 34px; padding: 7px; border-radius: 12px; background: #fff; fill: none; stroke: var(--teal); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; box-shadow: var(--shadow); }
.ts5 .ts5-auth__stack { position: relative; height: 180px; margin-top: auto; padding-top: 30px; }
.ts5 .ts5-auth__stack img { position: absolute; bottom: 0; left: calc(var(--k) * 110px); width: 150px; aspect-ratio: 1; object-fit: cover; border-radius: 22px; border: 5px solid #fff; box-shadow: var(--shadow-lg); transform: rotate(calc((var(--k) - 1) * 6deg)) translateY(calc(var(--k) * -8px)); transition: transform .5s var(--spring); }
.ts5 .ts5-auth__art:hover .ts5-auth__stack img { transform: rotate(calc((var(--k) - 1) * 9deg)) translateY(calc(var(--k) * -14px - 6px)); }
.ts5 .ts5-auth__card { margin: 0; padding: clamp(24px, 3.4vw, 44px); border-radius: 40px; background: #fff; box-shadow: var(--shadow-lg); }
.ts5 .ts5-auth__card .ts5-h3 { margin-bottom: 18px; }
.ts5 .ts5-auth__card .woocommerce-form-login__submit, .ts5 .ts5-auth__card .woocommerce-form-register__submit, .ts5 .ts5-auth__card .woocommerce-Button { width: 100%; min-height: 56px; margin-top: 6px; }
.ts5 .ts5-auth__card .woocommerce-form-login > .form-row:has(.woocommerce-form-login__submit) { flex-direction: column-reverse; gap: 14px; }
.ts5 .ts5-auth__foot { margin: 20px 0 0; padding-top: 18px; border-top: 1px dashed #F1D8CC; font-size: 15px; color: var(--muted); text-align: center; }
.ts5 .ts5-auth__foot a { color: var(--coral-ink); font-weight: 700; }

/* ---------- 404 + search ---------- */
.ts5 .ts5-404 { padding-top: 16px; }
.ts5 .ts5-404__card { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; align-items: center; padding: clamp(36px, 6vw, 80px) clamp(20px, 4vw, 56px); border-radius: 40px; background: linear-gradient(135deg, #FFE9DE, #FFF3EA 50%, #FFE4E8); text-align: center; }
.ts5 .ts5-404__card > *:not(.ts5-blob) { position: relative; animation: ts5Up .8s var(--ease) both; }
.ts5 .ts5-404__num { margin: 0 0 6px; font: 800 clamp(110px, 18vw, 230px)/.9 var(--display); letter-spacing: -.02em; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ts5 .ts5-404__num span { display: inline-block; animation: ts5Spin 6s var(--ease) infinite; }
@keyframes ts5Spin { 0%, 70% { transform: rotate(0); } 85% { transform: rotate(-14deg) scale(1.06); } 100% { transform: rotate(0); } }
.ts5 .ts5-404__card .ts5-h1 { max-width: 16ch; }
.ts5 .ts5-404__card .ts5-hero__sub { margin-inline: auto; }
.ts5 .ts5-404__card .ts5-search { width: 100%; margin-inline: auto; }
.ts5 .ts5-sres { margin-top: clamp(30px, 4vw, 48px); }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
	.ts5 .ts5-article { grid-template-columns: 210px minmax(0, 1fr); }
	.ts5 .ts5-side--right { display: none; }
	.ts5 .ts5-feats, .ts5 .ts5-how { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
	.ts5 .ts5-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ts5 .ts5-pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ts5 .ts5-feat { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-feat__side { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.ts5 .ts5-phero__grid { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-article { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-side--left { order: 2; }
	.ts5 .ts5-side--left .ts5-side__sticky { position: static; }
	.ts5 .ts5-side--left .ts5-toc { display: none; }
	.ts5 .ts5-doc { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-doc .ts5-side__sticky { position: static; }
	.ts5 .ts5-doc .ts5-toc { display: none; }
	.ts5 .ts5-sidenav { flex-direction: row; overflow-x: auto; padding: 8px; scrollbar-width: none; }
	.ts5 .ts5-sidenav .ts5-side__k { display: none; }
	.ts5 .ts5-sidenav a { flex: none; white-space: nowrap; }
	.ts5 .ts5-news__card { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ts5 .ts5-split { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-split__copy { position: static; }
	.ts5 .ts5-contact { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-wc--cart .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-wc--cart .cart-collaterals { position: static; }
	.ts5 .ts5-wc--account.is-in .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-wc--account .woocommerce-MyAccount-navigation { position: static; padding: 8px; }
	.ts5 .ts5-wc--account .woocommerce-MyAccount-navigation ul { flex-direction: row; overflow-x: auto; scrollbar-width: none; }
	.ts5 .ts5-wc--account .woocommerce-MyAccount-navigation a { white-space: nowrap; }
	.ts5 .ts5-auth { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-auth__stack { display: none; }
	.ts5 .ts5-trust { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-help__card { grid-template-columns: auto minmax(0, 1fr); }
	.ts5 .ts5-help__cta { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
	.ts5 .ts5-hero__card, .ts5 .ts5-phero__grid, .ts5 .ts5-news__card, .ts5 .ts5-howcard, .ts5 .ts5-auth__art, .ts5 .ts5-auth__card, .ts5 .ts5-404__card { border-radius: 28px; }
	.ts5 .ts5-hero__card { padding: 26px 20px 28px; }
	.ts5 .ts5-crumbs { margin-bottom: 12px; font-size: 13px; }
	.ts5 .ts5-grid { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-feat__side { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-sechead { flex-direction: column; align-items: flex-start; gap: 12px; }
	.ts5 .ts5-sechead--c { align-items: center; }
	.ts5 .ts5-prose { font-size: 16.5px; line-height: 1.75; }
	.ts5 .ts5-prose table { display: block; overflow-x: auto; }
	.ts5 .ts5-pn { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-pn__a--next { grid-column: auto; }
	.ts5 .ts5-feats, .ts5 .ts5-how { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-stats > div { padding: 18px; }
	.ts5 .ts5-values li { padding: 18px 18px 18px 68px; }
	.ts5 .ts5-values li::before { left: 18px; font-size: 26px; }
	.ts5 .ts5-form__row { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-form .t5-btn { justify-self: stretch; }
	.ts5 .ts5-news__form { border-radius: 20px; flex-direction: column; background: transparent; padding: 0; }
	.ts5 .ts5-news__form input[type="email"] { flex: none; width: 100%; border-radius: 12px; background: #fff; }
	.ts5 .ts5-news__form .t5-btn { width: 100%; border-radius: 8px; }
	.ts5 .ts5-news__msg { position: static; }
	.ts5 .ts5-search { padding-left: 44px; }
	.ts5 .ts5-search > svg { left: 15px; }
	.ts5 .ts5-search .t5-btn { padding: 0 16px; }
	.ts5 .ts5-help__card { grid-template-columns: minmax(0, 1fr); text-align: left; }
	.ts5 .ts5-help__cta .t5-btn { flex: 1; }
	.ts5 .ts5-steps li { padding-right: 12px; font-size: 12px; }
	.ts5 .ts5-steps li:not(:last-child) { margin-right: 10px; }
	.ts5 .ts5-steps li:not(:last-child)::after { width: 10px; margin-right: -16px; }
	.ts5 .ts5-wc--cart table.shop_table thead { display: none; }
	.ts5 .ts5-wc--cart table.shop_table tr.cart_item { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; grid-template-areas: "img name rm" "img price price"; gap: 6px 12px; padding: 14px 0; border-bottom: 1px solid #F6E6DD; }
	.ts5 .ts5-wc--cart table.shop_table tr.cart_item td { display: block; padding: 0; border: 0; text-align: left !important; }
	.ts5 .ts5-wc--cart table.shop_table tr.cart_item td::before { display: none; }
	.ts5 .ts5-wc--cart td.product-thumbnail { grid-area: img; display: block !important; }
	.ts5 .ts5-wc--cart td.product-thumbnail img { width: 76px; height: 76px; }
	.ts5 .ts5-wc--cart td.product-name { grid-area: name; }
	.ts5 .ts5-wc--cart td.product-remove { grid-area: rm; }
	.ts5 .ts5-wc--cart td.product-price { grid-area: price; }
	.ts5 .ts5-wc--cart td.product-quantity, .ts5 .ts5-wc--cart td.product-subtotal { display: none !important; }
	.ts5 .ts5-wc--cart td.actions { display: block; }
	.ts5 .ts5-wc--cart .coupon { float: none; display: flex; width: 100%; }
	.ts5 .ts5-wc--cart .coupon input.input-text { flex: 1; width: auto; }
	.ts5 .ts5-wc--cart button[name="update_cart"] { float: none; width: 100%; margin-top: 10px; }
	.ts5 .ts5-wc--account.is-out #customer_login { grid-template-columns: minmax(0, 1fr); }
	.ts5 .ts5-auth__art { padding: 26px 22px; }
}

/* in-post CTA (z-blog-cta from the content filter) */
.ts5 .ts5-prose .z-blog-cta { position: relative; isolation: isolate; overflow: hidden; margin: 2em 0 1em; padding: clamp(26px, 3.4vw, 44px) !important; border: 0 !important; border-radius: 32px !important; background: var(--ink2) !important; color: rgba(255, 255, 255, .82) !important; text-align: center; box-shadow: var(--shadow-lg) !important; }
.ts5 .ts5-prose .z-blog-cta::before { content: ''; position: absolute; z-index: -1; right: -80px; top: -120px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 107, 86, .45), transparent 70%); filter: blur(30px); }
.ts5 .ts5-prose .z-blog-cta__eyebrow { margin: 0 0 10px !important; font: 800 12.5px/1 var(--display) !important; letter-spacing: .18em !important; text-transform: uppercase; color: #FFB4A6 !important; }
.ts5 .ts5-prose .z-blog-cta__title { margin: 0 !important; font: 800 clamp(26px, 2.6vw, 36px)/1.1 var(--display) !important; color: #fff !important; }
.ts5 .ts5-prose .z-blog-cta__subtitle { max-width: 52ch; margin: 14px auto 0 !important; font: 400 16px/1.65 var(--sans) !important; color: rgba(255, 255, 255, .78) !important; }
.ts5 .ts5-prose .z-blog-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px !important; }
.ts5 .ts5-prose .z-blog-cta__actions a { display: inline-flex !important; align-items: center; min-height: 50px; padding: 0 24px !important; border-radius: 6px !important; font: 800 14.5px/1 var(--display) !important; letter-spacing: .09em !important; text-transform: uppercase; text-decoration: none !important; transition: transform .4s var(--spring); }
.ts5 .ts5-prose .z-blog-cta__btn-primary { background: var(--grad) !important; color: #fff !important; border: 0 !important; box-shadow: 0 14px 28px -14px rgba(240, 85, 110, .75); }
.ts5 .ts5-prose .z-blog-cta__btn-outline { background: transparent !important; color: #fff !important; border: 0 !important; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .5) !important; }
.ts5 .ts5-prose .z-blog-cta__actions a:hover { transform: translateY(-2px); }
.ts5 .ts5-phero .ts5-chip { background: #fff; box-shadow: var(--shadow); }

/* comments */
.ts5 .ts5-comments__card .ts5-h3 { margin-bottom: 18px; }
.ts5 .ts5-clist { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ts5 .ts5-clist .children { list-style: none; margin: 14px 0 0 28px; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.ts5 .ts5-clist .comment-body { padding: 18px 20px; border-radius: 20px; background: var(--bg); }
.ts5 .ts5-clist .comment-author { display: flex; align-items: center; gap: 10px; font: 800 16px/1.2 var(--display); color: var(--ink); }
.ts5 .ts5-clist .comment-author img { border-radius: 50%; }
.ts5 .ts5-clist .comment-author .says { display: none; }
.ts5 .ts5-clist .comment-metadata { margin-top: 4px; font-size: 13px; }
.ts5 .ts5-clist .comment-metadata a { color: var(--muted); }
.ts5 .ts5-clist .comment-content { margin-top: 10px; font-size: 16px; line-height: 1.7; }
.ts5 .ts5-clist .reply a { font: 800 13px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--coral-ink); }
.ts5 .ts5-comments details > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; }
.ts5 .ts5-comments details > summary::-webkit-details-marker { display: none; }
.ts5 .ts5-comments .comment-respond { margin-top: 18px; }
.ts5 .ts5-comments .comment-reply-title { font: 800 22px/1.2 var(--display) !important; color: var(--ink); margin: 0 0 6px; }
.ts5 .ts5-comments .comment-notes, .ts5 .ts5-comments .logged-in-as { font-size: 14px; color: var(--muted); }
.ts5 .ts5-comments .comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.ts5 .ts5-comments .comment-form > p { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.ts5 .ts5-comments .comment-form .comment-notes, .ts5 .ts5-comments .comment-form .comment-form-comment, .ts5 .ts5-comments .comment-form .comment-form-url, .ts5 .ts5-comments .comment-form .comment-form-cookies-consent, .ts5 .ts5-comments .comment-form .form-submit, .ts5 .ts5-comments .comment-form .logged-in-as { grid-column: 1 / -1; }
.ts5 .ts5-comments .comment-form label { font: 800 13px/1.2 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.ts5 .ts5-comments .comment-form-cookies-consent { flex-direction: row !important; align-items: center; }
.ts5 .ts5-comments .comment-form-cookies-consent label { text-transform: none; letter-spacing: 0; font: 500 14px/1.4 var(--sans); color: var(--muted); }
.ts5 .ts5-comments input[type="text"], .ts5 .ts5-comments input[type="email"], .ts5 .ts5-comments input[type="url"], .ts5 .ts5-comments textarea { min-height: 50px; padding: 12px 16px; border: 1.5px solid #F1DDD2; border-radius: 14px; background: #FFFBF8; font: 500 16px/1.4 var(--sans); color: var(--ink); outline: 0; }
.ts5 .ts5-comments textarea { min-height: 130px; }
.ts5 .ts5-comments input:focus, .ts5 .ts5-comments textarea:focus { border-color: var(--coral); box-shadow: 0 0 0 4px rgba(255, 107, 86, .14); background: #fff; }
.ts5 .ts5-comments .form-submit input[type="submit"] { min-height: 52px; padding: 0 28px; border: 0; border-radius: 6px; background: var(--grad); color: #fff; font: 800 15px/1 var(--display); letter-spacing: .09em; text-transform: uppercase; cursor: pointer; box-shadow: 0 14px 28px -14px rgba(240, 85, 110, .75); }
@media (max-width: 680px) { .ts5 .ts5-comments .comment-form { grid-template-columns: minmax(0, 1fr); } }

/* cart / checkout hardening against theme styles (round 2) */
.ts5 .ts5-wc, .ts5 .ts5-wc *:not(svg):not(path) { font-family: var(--sans) !important; }
.ts5 .ts5-wc h1, .ts5 .ts5-wc h2, .ts5 .ts5-wc h3, .ts5 .ts5-wc .button, .ts5 .ts5-wc .wc-block-components-title, .ts5 .ts5-wc .wc-block-components-checkout-step__title, .ts5 .ts5-wc .wc-block-components-product-name, .ts5 .ts5-wc .wc-block-components-checkout-place-order-button, .ts5 .ts5-wc .wc-block-components-checkout-place-order-button *, .ts5 .ts5-wc .wc-block-components-totals-footer-item *, .ts5 .ts5-wc--cart td.product-name a, .ts5 .ts5-wc--cart td.product-price, .ts5 .ts5-wc--cart td.product-subtotal, .ts5 .ts5-wc--cart .order-total *, .ts5 .ts5-wc label, .ts5 .ts5-wc th, .ts5 .ts5-wc .wc-block-components-express-payment__title, .ts5 .ts5-wc .wc-block-components-order-summary__button-text, .ts5 .ts5-wc .ds-cart-cross-sells h3, .ts5 .ts5-wc .c-product-card-info h3, .ts5 .ts5-wc .c-product-card-info .price { font-family: var(--display) !important; }
.ts5 .ts5-wc--cart wc-order-attribution-inputs { display: none !important; }
.ts5 .ts5-wc--cart td.product-name, .ts5 .ts5-wc--cart td.product-name a { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; display: block; -webkit-line-clamp: unset !important; max-width: none !important; }
.ts5 .ts5-wc--cart td.product-name a { font-size: 18px !important; line-height: 1.25 !important; }
.ts5 .ts5-wc--cart table.shop_table thead th { background: transparent !important; }
.ts5 .ts5-wc--cart .woocommerce-cart-form, .ts5 .ts5-wc--cart .woocommerce-cart-form table { box-shadow: none; }
.ts5 .ts5-wc--cart .woocommerce-cart-form { box-shadow: var(--shadow) !important; }
.ts5 .ts5-wc--cart .woocommerce-cart-form table.shop_table { border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.ts5 .ts5-wc--cart .cart-collaterals { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.ts5 .ts5-wc--cart .cart_totals { padding: clamp(22px, 2.6vw, 30px) !important; background: #fff !important; border: 0 !important; border-radius: 32px !important; box-shadow: var(--shadow-lg) !important; }
.ts5 .ts5-wc--cart .cart_totals h2 { font-size: 24px !important; letter-spacing: 0 !important; text-transform: none !important; border: 0 !important; padding: 0 !important; }
.ts5 .ts5-wc--cart .cart_totals table, .ts5 .ts5-wc--cart .cart_totals table tr, .ts5 .ts5-wc--cart .cart_totals table tbody { display: table-row-group; border: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; }
.ts5 .ts5-wc--cart .cart_totals table { display: table !important; width: 100% !important; }
.ts5 .ts5-wc--cart .cart_totals table tr { display: table-row !important; }
.ts5 .ts5-wc--cart .cart_totals th, .ts5 .ts5-wc--cart .cart_totals td { display: table-cell !important; letter-spacing: 0 !important; text-transform: none !important; }
.ts5 .ts5-wc--cart .cart_totals td::before { display: none !important; }
.ts5 .ts5-wc--cart .cart_totals th { font: 600 15.5px/1.2 var(--sans) !important; color: var(--muted) !important; text-align: left; }
.ts5 .ts5-wc--cart .cart_totals .order-total th { font: 800 22px/1 var(--display) !important; color: var(--ink) !important; }
.ts5 .ts5-wc--cart .wc-proceed-to-checkout .checkout-button { border-radius: 6px !important; background: var(--grad) !important; }
.ts5 .ts5-wc--cart .coupon input.input-text { padding: 0 16px !important; }
.ts5 .ts5-wc--cart .ds-cart-cross-sells { grid-column: 1 / -1; margin-top: clamp(26px, 3vw, 44px); padding: 0 !important; background: transparent !important; border: 0 !important; }
.ts5 .ts5-wc--cart .ds-cart-cross-sells h3 { margin: 0 0 18px !important; font-size: clamp(26px, 2.6vw, 36px) !important; line-height: 1.1 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ink) !important; }
.ts5 .ts5-wc--cart .c-product-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: clamp(14px, 1.8vw, 24px) !important; }
.ts5 .ts5-wc--cart .c-product-card { display: flex !important; flex-direction: column; padding: 8px 8px 14px !important; border: 0 !important; border-radius: 24px !important; background: #fff !important; box-shadow: var(--shadow) !important; transition: transform .45s var(--spring), box-shadow .4s; }
.ts5 .ts5-wc--cart .c-product-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg) !important; }
.ts5 .ts5-wc--cart .c-product-card > a { display: block; aspect-ratio: 1; border-radius: 18px; overflow: hidden; background: #FFF6F1; }
.ts5 .ts5-wc--cart .c-product-card > a img { width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 0 !important; }
.ts5 .ts5-wc--cart .c-product-card-info { padding: 12px 8px 0 !important; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.ts5 .ts5-wc--cart .c-product-card-info a { color: var(--ink) !important; text-decoration: none !important; }
.ts5 .ts5-wc--cart .c-product-card-info h3, .ts5 .ts5-wc--cart .c-product-card-info h2, .ts5 .ts5-wc--cart .c-product-card-info > a:first-child { font: 700 16.5px/1.25 var(--display) !important; color: var(--ink) !important; margin: 0 !important; text-transform: none !important; letter-spacing: 0 !important; }
.ts5 .ts5-wc--cart .c-product-card-info .button, .ts5 .ts5-wc--cart .c-product-card-info a.button { min-height: 36px !important; padding: 0 14px !important; border-radius: 999px !important; font-size: 12.5px !important; }
.ts5 .ts5-wc--checkout .wc-block-checkout__sidebar .wc-block-components-order-summary, .ts5 .ts5-wc--checkout .wp-block-woocommerce-checkout-order-summary-block { border: 0 !important; border-radius: 0 !important; }
.ts5 .ts5-wc--checkout .wc-block-components-express-payment--checkout { border-radius: 20px !important; border-color: #F1DDD2 !important; }
.ts5 .ts5-wc--checkout .wc-block-components-express-payment__title { font-size: 20px !important; }
.ts5 .ts5-wc--checkout .wc-block-components-express-payment-continue-rule { color: var(--muted); }
.ts5 .ts5-wc--checkout .wc-block-components-checkout-step { border: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
.ts5 .ts5-wc--checkout .wc-block-components-panel__button { font-family: var(--sans) !important; }
@media (max-width: 980px) { .ts5 .ts5-wc--cart .c-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.ts5 .ts5-wc--cart .c-product-card-info .button, .ts5 .ts5-wc--cart .c-product-card-info a.button, .ts5 .ts5-wc--cart .c-product-card-info .button * { color: #fff !important; }
.ts5 .ts5-wc--cart .coupon input.input-text, .ts5 .ts5-wc--cart .coupon #coupon_code { width: 210px !important; max-width: none !important; }
.ts5 .ts5-wc button.button.woocommerce-form-login__submit, .ts5 .ts5-wc button.button.woocommerce-form-register__submit, .ts5 .ts5-wc button.button[name="track"], .ts5 .ts5-wc .woocommerce-ResetPassword button.button { background: var(--grad) !important; box-shadow: 0 14px 28px -14px rgba(240, 85, 110, .75) !important; }
.ts5 .ts5-auth__stack img { opacity: 1 !important; }
.ts5 .ts5-wc--account #customer_login::before, .ts5 .ts5-wc--account #customer_login::after, .ts5 .ts5-wc--account.is-in .woocommerce::before, .ts5 .ts5-wc--account.is-in .woocommerce::after { display: none !important; content: none !important; }
.ts5 .ts5-wc--account #customer_login > .u-column1, .ts5 .ts5-wc--account #customer_login > .u-column2 { float: none !important; width: auto !important; margin: 0 !important; }
.ts5 .ts5-wc--account #customer_login h2 { font-size: 26px !important; }
.ts5 .ts5-404__num span { background: linear-gradient(135deg, #138A85, #7155D6); -webkit-background-clip: text; background-clip: text; color: transparent; padding: 0 .04em; }
@media (max-width: 680px) {
	.ts5 .ts5-wc--cart .woocommerce-cart-form { padding: 6px 14px !important; overflow: hidden; }
	.ts5 .ts5-wc--cart table.shop_table, .ts5 .ts5-wc--cart table.shop_table tbody { display: block !important; width: 100% !important; }
	.ts5 .ts5-wc--cart table.shop_table tr.cart_item { width: 100%; }
	.ts5 .ts5-wc--cart td.actions { display: block !important; width: 100% !important; padding: 14px 0 6px !important; }
	.ts5 .ts5-wc--cart td.actions::before { display: none !important; }
	.ts5 .ts5-wc--cart .coupon { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; width: 100% !important; float: none !important; }
	.ts5 .ts5-wc--cart .coupon input.input-text, .ts5 .ts5-wc--cart .coupon #coupon_code { width: 100% !important; min-width: 0; }
	.ts5 .ts5-wc--cart .coupon .button { padding: 0 14px !important; font-size: 12.5px !important; }
	.ts5 .ts5-wc--cart button[name="update_cart"] { display: flex; width: 100% !important; box-sizing: border-box; }
	.ts5 .ts5-wc--cart td.product-price::before { display: none !important; }
	.ts5 .ts5-wc--cart .c-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 680px) {
	html body #temply-site-v5 .ts5-wc--cart td.actions .coupon { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 8px !important; width: 100% !important; }
	html body #temply-site-v5 .ts5-wc--cart td.actions .coupon input#coupon_code { flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; }
	html body #temply-site-v5 .ts5-wc--cart td.actions .coupon button { flex: none !important; width: auto !important; }
	html body #temply-site-v5 .ts5-wc--cart tr.cart_item { display: grid !important; grid-template-columns: 76px minmax(0, 1fr) 34px !important; grid-template-areas: "img name rm" "img price rm" !important; align-items: center; gap: 4px 14px !important; padding: 14px 0 !important; }
	html body #temply-site-v5 .ts5-wc--cart tr.cart_item td { display: block !important; width: auto !important; padding: 0 !important; border: 0 !important; }
	html body #temply-site-v5 .ts5-wc--cart tr.cart_item td.product-quantity, html body #temply-site-v5 .ts5-wc--cart tr.cart_item td.product-subtotal { display: none !important; }
	html body #temply-site-v5 .ts5-wc--cart tr.cart_item td.product-price { font-size: 17px; }
}
/* comments v2: wide + compact (Aaron 23:38) */
.ts5 .ts5-comments { padding-top: clamp(28px, 3vw, 44px); }
.ts5 .ts5-comments__card { max-width: none !important; display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); gap: clamp(20px, 3vw, 48px); align-items: start; padding: clamp(20px, 2.6vw, 34px) clamp(20px, 3vw, 40px) !important; }
.ts5 .ts5-comments__intro .ts5-kicker { display: inline-block; margin-bottom: 8px; }
.ts5 .ts5-comments__title { margin: 0; font: 800 clamp(24px, 2.4vw, 32px)/1.1 var(--display) !important; color: var(--ink); letter-spacing: 0; }
.ts5 .ts5-comments__title em { font-style: normal; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ts5 .ts5-comments__intro p { margin: 10px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--muted); }
.ts5 .ts5-comments__main { min-width: 0; }
.ts5 .ts5-comments__main .ts5-clist { margin: 0 0 16px; }
.ts5 .ts5-comments #respond, .ts5 .ts5-comments .comment-respond { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; }
.ts5 .ts5-comments .comment-reply-title:empty, .ts5 .ts5-comments #reply-title:not(:has(a)) { display: none !important; }
.ts5 .ts5-comments .comment-reply-title small a { font: 700 13px/1 var(--sans); color: var(--coral-ink); margin-left: 8px; }
.ts5 .ts5-comments .comment-form { gap: 12px 14px !important; margin: 0 !important; }
.ts5 .ts5-comments .comment-form .logged-in-as { margin: 0 !important; font-size: 13.5px; color: var(--muted); display: block !important; }
.ts5 .ts5-comments .comment-form .logged-in-as b { color: var(--ink); }
.ts5 .ts5-comments .comment-form .logged-in-as a { color: var(--coral-ink); font-weight: 600; }
.ts5 .ts5-comments textarea { min-height: 96px !important; height: 110px; resize: vertical; }
.ts5 .ts5-comments .comment-form .form-submit { display: flex !important; flex-direction: row !important; justify-content: flex-end; margin: 0 !important; }
.ts5 .ts5-comments .form-submit input[type="submit"] { min-height: 46px !important; padding: 0 24px !important; font-size: 14px !important; border-radius: 10px !important; }
.ts5 .ts5-comments .comment-form-cookies-consent { margin: 0 !important; }
@media (max-width: 860px) { .ts5 .ts5-comments__card { grid-template-columns: minmax(0, 1fr); gap: 16px; } .ts5 .ts5-comments .comment-form .form-submit input[type="submit"] { width: 100%; } }
@media (min-width: 861px) {
	.ts5 .ts5-comments .comment-form { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.ts5 .ts5-comments .comment-form .comment-form-url { grid-column: auto !important; }
}
.ts5 .ts5-comments .comment-form label { font-size: 12px !important; color: var(--ink) !important; }
.ts5 .ts5-comments .comment-form > p { gap: 6px !important; }
.ts5 .ts5-comments .comment-form input[type="text"], .ts5 .ts5-comments .comment-form input[type="email"], .ts5 .ts5-comments .comment-form input[type="url"] { min-height: 46px !important; }
.ts5 .ts5-comments .comment-form-cookies-consent { grid-column: 1 / 3 !important; }
.ts5 .ts5-comments .comment-form .form-submit { grid-column: 3 / 4 !important; }
@media (max-width: 860px) { .ts5 .ts5-comments .comment-form-cookies-consent, .ts5 .ts5-comments .comment-form .form-submit { grid-column: 1 / -1 !important; } }
html body #temply-site-v5 #commentform #submit, html body #temply-site-v5 #commentform input[type="submit"] { background: linear-gradient(100deg, #F0558A 0%, #F86A63 52%, #FB7B32 100%) !important; color: #fff !important; border: 0 !important; font: 800 14px/1 'Dosis', system-ui, sans-serif !important; letter-spacing: .09em !important; text-transform: uppercase !important; min-height: 46px !important; padding: 0 26px !important; border-radius: 10px !important; box-shadow: 0 14px 28px -14px rgba(240, 85, 110, .8) !important; transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s !important; }
html body #temply-site-v5 #commentform #submit:hover { transform: translateY(-2px); box-shadow: 0 18px 32px -14px rgba(240, 85, 110, .95) !important; }
html body #temply-site-v5 #commentform > p.comment-form-author, html body #temply-site-v5 #commentform > p.comment-form-email, html body #temply-site-v5 #commentform > p.comment-form-url { justify-content: flex-end; margin: 0 !important; padding: 0 !important; }
html body #temply-site-v5 #commentform input#author, html body #temply-site-v5 #commentform input#email, html body #temply-site-v5 #commentform input#url { height: 46px !important; min-height: 46px !important; margin: 0 !important; box-sizing: border-box !important; }
html body #temply-site-v5 #commentform .comment-form-cookies-consent label { font-size: 13px !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 500 !important; color: var(--muted) !important; font-family: var(--sans) !important; }
/* about fill (Aaron 23:43) */
.ts5 .ts5-hero--aside .ts5-hero__card { min-height: 460px; }
.ts5 .ts5-hero--aside .ts5-hero__card > :not(.ts5-ahero):not(.ts5-blob) { max-width: min(600px, 54%); }
.ts5 .ts5-ahero { position: absolute !important; top: 0; right: clamp(20px, 4vw, 60px); bottom: 0; width: min(440px, 38%); pointer-events: none; animation: none !important; }
.ts5 .ts5-ahero__img { position: absolute; display: block; overflow: hidden; border-radius: 22px; background: #fff; border: 6px solid #fff; box-shadow: 0 30px 60px -28px rgba(120, 50, 30, .55); animation: ts5AFloat 9s ease-in-out infinite; }
.ts5 .ts5-ahero__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ts5 .ts5-ahero__img--1 { width: 58%; aspect-ratio: 1; top: 12%; left: 4%; transform: rotate(-7deg); --r: -7deg; z-index: 1; }
.ts5 .ts5-ahero__img--2 { width: 56%; aspect-ratio: 1; top: 8%; right: 0; transform: rotate(6deg); --r: 6deg; animation-delay: -3s; }
.ts5 .ts5-ahero__img--3 { width: 54%; aspect-ratio: 1; bottom: 6%; left: 26%; transform: rotate(-1deg); --r: -1deg; z-index: 2; animation-delay: -6s; }
@keyframes ts5AFloat { 0%, 100% { transform: translateY(0) rotate(var(--r)); } 50% { transform: translateY(-12px) rotate(calc(var(--r) * .6)); } }
.ts5 .ts5-ahero__chip { position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 14px; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 16px 30px -18px rgba(4, 34, 42, .45); font: 600 13px/1.2 var(--sans); color: var(--muted); white-space: nowrap; animation: ts5AChip 6s ease-in-out infinite; }
.ts5 .ts5-ahero__chip b { font: 800 14px/1 var(--display); color: var(--ink); }
.ts5 .ts5-ahero__chip svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; padding: 5px; box-sizing: content-box; border-radius: 9px; background: var(--grad); }
.ts5 .ts5-ahero__chip--a { top: 9%; left: -6%; }
.ts5 .ts5-ahero__chip--b { top: 50%; right: -4%; animation-delay: -2s; }
.ts5 .ts5-ahero__chip--b b { font-size: 20px; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ts5 .ts5-ahero__chip--c { bottom: 10%; left: -4%; animation-delay: -4s; }
.ts5 .ts5-ahero__chip--c svg { background: linear-gradient(135deg, #138A85, #3FB8A8); }
@keyframes ts5AChip { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@media (max-width: 1000px) { .ts5 .ts5-ahero { display: none; } .ts5 .ts5-hero--aside .ts5-hero__card { min-height: 0; } .ts5 .ts5-hero--aside .ts5-hero__card > * { max-width: none; } }

.ts5 .ts5-amosaic { position: relative; display: grid; grid-template-columns: 1.25fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; margin-top: 26px; height: 300px; }
.ts5 .ts5-amosaic__img { display: block; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 20px 40px -26px rgba(120, 50, 30, .5); }
.ts5 .ts5-amosaic__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s var(--ease); }
.ts5 .ts5-amosaic__img:hover img { transform: scale(1.06); }
.ts5 .ts5-amosaic__img--1 { grid-row: 1 / 3; }
.ts5 .ts5-amosaic__badge { position: absolute; left: 16px; bottom: 16px; padding: 12px 16px; border-radius: 16px; background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 16px 30px -18px rgba(4, 34, 42, .5); font: 800 15px/1.2 var(--display); color: var(--ink); }
.ts5 .ts5-amosaic__badge b { font-size: 22px; background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ts5 .ts5-amosaic__badge small { font: 500 12px/1.4 var(--sans); color: var(--muted); }
.ts5 .ts5-aticks { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 10px; }
.ts5 .ts5-aticks li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--text); }
.ts5 .ts5-aticks li svg { flex: none; width: 22px; height: 22px; padding: 4px; box-sizing: border-box; border-radius: 50%; background: #DDF3EE; stroke: #138A85; stroke-width: 3; fill: none; }
.ts5 .ts5-split__copy:has(.ts5-amosaic) { position: static; }
@media (max-width: 680px) { .ts5 .ts5-amosaic { height: 240px; } }

.ts5 .ts5-quote { max-width: 980px; }
.ts5 .ts5-quote p { text-wrap: balance; }
.ts5 p, .ts5 .ts5-h1, .ts5 .ts5-h2, .ts5 .ts5-h3 { text-wrap: pretty; }

/* checkout order summary: clean bill rows (Hark 00:10 Oct 9) - neutralise theme Price:/Qty:/Subtotal: labels */
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__quantity::before, .ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__individual-prices::before, .ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__total-price::before { content: none !important; display: none !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item { display: grid !important; grid-template-columns: 56px minmax(0, 1fr) auto !important; grid-template-areas: "img name total" "img price total"; column-gap: 14px !important; row-gap: 4px !important; align-items: center !important; padding: 14px 0 !important; margin: 0 !important; border-bottom: 1px dashed #F1DDD2 !important; width: 100% !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item:last-child { border-bottom: 0 !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__image { grid-area: img; position: relative !important; width: 56px !important; height: 56px !important; margin: 0 !important; padding: 0 !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__image img { width: 56px !important; height: 56px !important; max-width: none !important; object-fit: cover; border-radius: 12px; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__quantity { position: absolute !important; top: -8px !important; right: -8px !important; left: auto !important; min-width: 22px !important; height: 22px !important; padding: 0 6px !important; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 999px !important; font: 800 12px/1 var(--display) !important; transform: none !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__description { display: contents !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item .wc-block-components-product-name { grid-area: name; align-self: end; margin: 0 !important; font: 700 15.5px/1.3 var(--display) !important; overflow-wrap: anywhere; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item .wc-block-cart-item__prices { grid-area: price; align-self: start; display: block !important; margin: 0 !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__individual-prices { display: inline !important; font: 500 13.5px/1.3 var(--sans) !important; color: var(--muted) !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__individual-prices .ds-custom-unit-price { display: inline !important; font-weight: 500 !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__individual-prices .ds-custom-unit-price::after { content: " each"; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item .wc-block-components-product-metadata { display: none !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__total-price { grid-area: total; display: block !important; margin: 0 !important; padding: 0 !important; text-align: right; font: 800 16px/1 var(--display) !important; color: var(--ink) !important; white-space: nowrap; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__total-price * { font: inherit !important; color: inherit !important; }

/* order received: bill / receipt (Hark Oct 9) */
.ts5 .ts5-wc--received { padding: 0 !important; background: none !important; box-shadow: none !important; }
.ts5 .ts5-bill-wrap { max-width: 760px; margin: 0 auto; }
.ts5 .ts5-bill { position: relative; padding: clamp(24px, 4vw, 48px) clamp(20px, 4vw, 52px) clamp(30px, 4vw, 52px); background: #fff; border-radius: 28px 28px 0 0; box-shadow: var(--shadow-lg); color: var(--ink); }
.ts5 .ts5-bill::after { content: ""; position: absolute; left: 0; right: 0; bottom: -14px; height: 14px; background: radial-gradient(circle at 10px 0, #fff 10px, transparent 10.5px) 0 0 / 20px 14px repeat-x; filter: drop-shadow(0 6px 6px rgba(4, 34, 42, .06)); }
.ts5 .ts5-bill::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px; border-radius: 28px 28px 0 0; background: var(--grad); }
.ts5 .ts5-bill__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding-bottom: 24px; border-bottom: 2px dashed #F1DDD2; }
.ts5 .ts5-bill__brand { display: flex; align-items: center; gap: 12px; }
.ts5 .ts5-bill__logo { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: var(--grad); color: #fff; font: 800 24px/1 var(--display); }
.ts5 .ts5-bill__brand b { display: block; font: 800 22px/1.1 var(--display); }
.ts5 .ts5-bill__brand small, .ts5 .ts5-bill__no small { display: block; font-size: 13px; color: var(--muted); }
.ts5 .ts5-bill__no { text-align: right; }
.ts5 .ts5-bill__no small { font: 700 11.5px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; }
.ts5 .ts5-bill__no b { display: block; margin: 6px 0 8px; font: 800 30px/1 var(--display); font-variant-numeric: tabular-nums; }
.ts5 .ts5-bill__status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: #FFF1EA; color: var(--coral-ink, #C2410C); font: 800 12px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; }
.ts5 .ts5-bill__status.is-paid { background: #E3F5F2; color: #0F766E; }
.ts5 .ts5-bill__status.is-paid::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.ts5 .ts5-bill__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0 0; }
.ts5 .ts5-bill__meta div { padding: 14px 16px; border-radius: 16px; background: #FFF7F2; min-width: 0; }
.ts5 .ts5-bill__meta dt { font: 700 11px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.ts5 .ts5-bill__meta dd { margin: 8px 0 0; font: 800 16px/1.25 var(--display); overflow-wrap: anywhere; }
.ts5 .ts5-bill__parties { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 28px; }
.ts5 .ts5-bill h3 { margin: 0 0 8px; font: 700 11.5px/1 var(--display) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.ts5 .ts5-bill__parties p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--text, #33464C); }
.ts5 .ts5-bill__parties b { color: var(--ink); }
.ts5 .ts5-bill__parties a { color: var(--coral-ink, #C2410C); }
.ts5 .ts5-bill__mail { overflow-wrap: anywhere; }
.ts5 .ts5-bill__items { width: 100%; margin: 28px 0 0; border-collapse: collapse; border: 0 !important; background: none !important; box-shadow: none !important; }
.ts5 .ts5-bill__items th { padding: 0 0 10px !important; border: 0 !important; border-bottom: 1.5px solid var(--ink) !important; background: none !important; font: 700 11.5px/1 var(--display) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--ink) !important; text-align: right; }
.ts5 .ts5-bill__items td { padding: 14px 0 !important; border: 0 !important; border-bottom: 1px dashed #EBD8CC !important; background: none !important; text-align: right; font: 600 15px/1.3 var(--sans) !important; color: var(--text, #33464C) !important; font-variant-numeric: tabular-nums; white-space: nowrap; vertical-align: middle; }
.ts5 .ts5-bill__items th:first-child, .ts5 .ts5-bill__items td:first-child { text-align: left; white-space: normal; }
.ts5 .ts5-bill__items th:nth-child(2), .ts5 .ts5-bill__items td:nth-child(2) { width: 56px; text-align: center; }
.ts5 .ts5-bill__items th:nth-child(3), .ts5 .ts5-bill__items td:nth-child(3) { width: 96px; }
.ts5 .ts5-bill__items th:last-child, .ts5 .ts5-bill__items td:last-child { width: 100px; }
.ts5 .ts5-bill__items td:last-child { font: 800 16px/1 var(--display) !important; color: var(--ink) !important; }
.ts5 .ts5-bill__item { display: flex; align-items: center; gap: 12px; padding-right: 12px !important; }
.ts5 .ts5-bill__items td.ts5-bill__item { display: flex; }
.ts5 .ts5-bill__item img { flex: none; width: 44px; height: 44px; border-radius: 10px; object-fit: cover; }
.ts5 .ts5-bill__item a { color: var(--ink) !important; font: 700 15px/1.3 var(--display) !important; text-decoration: none; }
.ts5 .ts5-bill__item a:hover { color: var(--coral-ink, #C2410C) !important; }
.ts5 .ts5-bill__totals { margin: 18px 0 0 auto; max-width: 320px; display: grid; gap: 10px; }
.ts5 .ts5-bill__totals div { display: flex; justify-content: space-between; gap: 16px; font-size: 15px; color: var(--muted); font-variant-numeric: tabular-nums; }
.ts5 .ts5-bill__totals b { color: var(--ink); font: 700 15px/1.2 var(--display); }
.ts5 .ts5-bill__totals .is-total { margin-top: 6px; padding-top: 14px; border-top: 2px solid var(--ink); align-items: baseline; }
.ts5 .ts5-bill__totals .is-total span { font: 800 16px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.ts5 .ts5-bill__totals .is-total b { font: 800 30px/1 var(--display); background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ts5 .ts5-bill__totals .is-total b * { color: inherit !important; }
.ts5 .ts5-bill__dl { margin-top: 30px; padding: 18px; border-radius: 20px; background: #F2FAF8; }
.ts5 .ts5-bill__dl h3 { display: flex; align-items: center; gap: 8px; color: #0F766E; }
.ts5 .ts5-bill__dl h3 svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; }
.ts5 .ts5-bill__dl ul { margin: 6px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.ts5 .ts5-bill__dl li { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 10px 10px 10px 14px; border-radius: 14px; background: #fff; }
.ts5 .ts5-bill__dl li b { display: block; font: 700 14.5px/1.3 var(--display); }
.ts5 .ts5-bill__dl li small { font-size: 12.5px; color: var(--muted); }
.ts5 .ts5-bill__note { display: flex; align-items: center; gap: 10px; margin: 30px 0 0; padding: 14px 16px; border-radius: 16px; background: #FFF7F2; font-size: 14.5px; color: var(--text, #33464C); }
.ts5 .ts5-bill__note svg { flex: none; width: 20px; height: 20px; fill: none; stroke: var(--coral-ink, #C2410C); stroke-width: 2; }
.ts5 .ts5-bill__foot { margin-top: 32px; padding-top: 22px; border-top: 2px dashed #F1DDD2; text-align: center; }
.ts5 .ts5-bill__foot p { margin: 0; font: 800 20px/1.2 var(--display); }
.ts5 .ts5-bill__foot small { display: block; margin-top: 6px; font-size: 13px; color: var(--muted); }
.ts5 .ts5-bill__foot a { color: var(--coral-ink, #C2410C); }
.ts5 .ts5-bill__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 40px; }
.ts5 .ts5-bill__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border: 0; border-radius: 6px; background: var(--grad); color: #fff !important; font: 800 14px/1 var(--display) !important; letter-spacing: .09em; text-transform: uppercase; text-decoration: none !important; cursor: pointer; box-shadow: 0 14px 28px -14px rgba(240, 85, 110, .75); transition: transform .35s var(--spring); }
.ts5 .ts5-bill__btn:hover { transform: translateY(-2px); }
.ts5 .ts5-bill__btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ts5 .ts5-bill__btn--line { background: #fff; color: var(--ink) !important; box-shadow: inset 0 0 0 1.5px var(--ink); }
.ts5 .ts5-bill__dl .ts5-bill__btn { min-height: 38px; padding: 0 14px; font-size: 12.5px !important; }
@media (max-width: 640px) {
	.ts5 .ts5-bill { border-radius: 22px 22px 0 0; }
	.ts5 .ts5-bill__head { flex-direction: column; }
	.ts5 .ts5-bill__no { text-align: left; }
	.ts5 .ts5-bill__meta { grid-template-columns: 1fr 1fr; }
	.ts5 .ts5-bill__meta div:last-child { grid-column: 1 / -1; }
	.ts5 .ts5-bill__parties { grid-template-columns: 1fr; gap: 16px; }
	.ts5 .ts5-bill__items thead { display: none; }
	.ts5 .ts5-bill__items, .ts5 .ts5-bill__items tbody { display: block; }
	.ts5 .ts5-bill__items tr { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 14px 0; border-bottom: 1px dashed #EBD8CC; }
	.ts5 .ts5-bill__items td { padding: 0 !important; border: 0 !important; width: auto !important; }
	.ts5 .ts5-bill__items td.ts5-bill__item { grid-column: 1 / -1; }
	.ts5 .ts5-bill__items td:nth-child(2), .ts5 .ts5-bill__items td:nth-child(3) { display: inline; text-align: left; font-size: 13.5px !important; color: var(--muted) !important; }
	.ts5 .ts5-bill__items td:nth-child(2) { grid-column: 1; padding-left: 56px !important; }
	.ts5 .ts5-bill__items td:nth-child(2)::before { content: "Qty "; }
	.ts5 .ts5-bill__items td:nth-child(3) { display: none; }
	.ts5 .ts5-bill__items td:last-child { grid-column: 2; grid-row: 2; }
	.ts5 .ts5-bill__totals { max-width: none; }
	.ts5 .ts5-bill__dl li { flex-direction: column; align-items: stretch; }
	.ts5 .ts5-bill__actions .ts5-bill__btn { flex: 1 1 100%; }
}
@media print {
	body * { visibility: hidden !important; }
	#ts5-bill, #ts5-bill * { visibility: visible !important; }
	#ts5-bill { position: absolute; left: 0; top: 0; width: 100%; box-shadow: none; }
	#ts5-bill::after { display: none; }
}
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item > .screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__image { grid-column: 1 !important; grid-row: 1 / span 2 !important; order: 0 !important; align-self: center !important; justify-self: start !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item .wc-block-components-product-name { grid-column: 2 !important; grid-row: 1 !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item .wc-block-cart-item__prices { grid-column: 2 !important; grid-row: 2 !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__total-price { grid-column: 3 !important; grid-row: 1 / span 2 !important; align-self: center !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__individual-price { display: none !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__individual-prices, .ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__individual-prices .ds-custom-unit-price { font: 500 13.5px/1.3 var(--sans) !important; color: var(--muted) !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__image { display: block !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__image img { display: block !important; position: static !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__quantity, .ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__quantity * { background: var(--ink) !important; color: #fff !important; border: 2px solid #fff !important; }
.ts5 .ts5-wc--checkout .wc-block-components-order-summary-item__quantity span { border: 0 !important; background: none !important; }

/* commerce heroes: emoji + motion, centered on mobile, steps on one row (Hark Oct 9) */
.ts5 .ts5-floaties { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.ts5 .ts5-floaties i { position: absolute; font-style: normal; font-size: clamp(22px, 2.6vw, 34px); opacity: .9; filter: drop-shadow(0 8px 12px rgba(170, 92, 60, .18)); animation: ts5Float 6s ease-in-out infinite; animation-delay: calc(var(--i) * -1.2s); }
.ts5 .ts5-floaties i:nth-child(1) { top: 16%; right: 8%; font-size: clamp(40px, 4.6vw, 64px); }
.ts5 .ts5-floaties i:nth-child(2) { top: 58%; right: 20%; }
.ts5 .ts5-floaties i:nth-child(3) { top: 22%; right: 30%; font-size: clamp(18px, 2vw, 26px); }
.ts5 .ts5-floaties i:nth-child(4) { bottom: 12%; right: 6%; }
.ts5 .ts5-floaties i:nth-child(5) { top: 8%; right: 44%; font-size: clamp(16px, 1.8vw, 22px); opacity: .7; }
@keyframes ts5Float { 0%, 100% { transform: translateY(0) rotate(-6deg); } 50% { transform: translateY(-12px) rotate(6deg); } }
.ts5 .ts5-steps .is-on { animation: ts5Pop .7s var(--spring) both; }
.ts5 .ts5-steps__emo { font-style: normal; font-size: 16px; margin-left: -2px; display: inline-block; animation: ts5Wiggle 2.4s ease-in-out infinite; }
@keyframes ts5Pop { from { transform: scale(.85); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ts5Wiggle { 0%, 70%, 100% { transform: rotate(0); } 78% { transform: rotate(-14deg) scale(1.15); } 88% { transform: rotate(12deg) scale(1.15); } }
.ts5 .ts5-steps .is-done b { font-size: 15px; }
.ts5--checkout .ts5-wc--received ~ * , .ts5 .ts5-bill { }
.ts5 .ts5-bill__status.is-paid::after { content: "🎉"; margin-left: 2px; }
.ts5 .ts5-bill__head { position: relative; }
.ts5 .ts5-bill-wrap { animation: ts5BillIn .9s var(--spring) both; }
@keyframes ts5BillIn { from { transform: translateY(26px); opacity: 0; } to { transform: none; opacity: 1; } }
.ts5 .ts5-bill__foot p::after { content: " 💖"; }
.ts5 .ts5-bill__dl h3::after { content: "📥"; margin-left: 4px; }
@media (prefers-reduced-motion: reduce) { .ts5 .ts5-floaties i, .ts5 .ts5-steps__emo, .ts5 .ts5-steps .is-on, .ts5 .ts5-bill-wrap { animation: none !important; } }
@media (max-width: 680px) {
	.ts5--cart .ts5-hero__card, .ts5--checkout .ts5-hero__card { text-align: center; padding: 26px 16px 24px; }
	.ts5--cart .ts5-crumbs, .ts5--checkout .ts5-crumbs { justify-content: center; }
	.ts5--cart .ts5-hero .ts5-h1, .ts5--checkout .ts5-hero .ts5-h1 { margin-inline: auto; font-size: 34px; }
	.ts5--cart .ts5-hero__sub, .ts5--checkout .ts5-hero__sub { margin-inline: auto; max-width: 32ch; }
	.ts5 .ts5-steps { flex-wrap: nowrap; justify-content: center; gap: 0; margin-top: 20px; }
	.ts5 .ts5-steps li { gap: 5px; padding: 4px 9px 4px 4px; font-size: 10.5px; letter-spacing: .06em; flex: none; }
	.ts5 .ts5-steps li:not(:last-child) { margin-right: 14px; }
	.ts5 .ts5-steps li:not(:last-child)::after { width: 8px; margin-left: 3px; margin-right: -14px; }
	.ts5 .ts5-steps b { width: 24px; height: 24px; font-size: 12px; }
	.ts5 .ts5-steps__emo { font-size: 13px; }
	.ts5 .ts5-floaties i { font-size: 18px; opacity: .55; }
	.ts5 .ts5-floaties i:nth-child(1) { top: 10px; right: 12px; font-size: 26px; opacity: .8; }
	.ts5 .ts5-floaties i:nth-child(2) { top: auto; bottom: 10px; right: 14px; }
	.ts5 .ts5-floaties i:nth-child(3) { top: 14px; left: 14px; right: auto; }
	.ts5 .ts5-floaties i:nth-child(4) { bottom: 12px; left: 14px; right: auto; }
	.ts5 .ts5-floaties i:nth-child(5) { display: none; }
}
@media (max-width: 360px) { .ts5 .ts5-steps__emo { display: none; } }

/* checkout saved address card: one even frame (Hark Oct 9 02:15) */
.ts5 .ts5-wc--checkout .wc-block-components-address-card { display: flex !important; align-items: center !important; gap: 14px !important; padding: 12px !important; border: 1.5px solid #F1DDD2 !important; border-radius: 18px !important; background: #fff !important; }
.ts5 .ts5-wc--checkout .wc-block-components-address-card address { flex: 1 1 auto; min-width: 0; margin: 0 !important; padding: 14px 18px !important; border-radius: 12px !important; background: #FFF7F2 !important; font-style: normal; line-height: 1.6; }
.ts5 .ts5-wc--checkout .wc-block-components-address-card__edit { flex: none; align-self: center !important; margin: 0 6px 0 0 !important; padding: 8px 16px !important; border-radius: 999px !important; background: #FFF1EA !important; color: var(--coral-ink, #C2410C) !important; font: 800 12.5px/1 var(--display) !important; letter-spacing: .08em; text-transform: uppercase; text-decoration: none !important; transition: background-color .3s, color .3s; }
.ts5 .ts5-wc--checkout .wc-block-components-address-card__edit:hover { background: var(--coral, #FF6B56) !important; color: #fff !important; }
@media (max-width: 520px) { .ts5 .ts5-wc--checkout .wc-block-components-address-card { flex-direction: column; align-items: stretch !important; } .ts5 .ts5-wc--checkout .wc-block-components-address-card__edit { align-self: flex-end !important; } }

/* receipt meta on mobile: Date + Items side by side, Payment full row */
@media (max-width: 640px) {
	.ts5 .ts5-bill__meta div:last-child { grid-column: auto; }
	.ts5 .ts5-bill__meta div:nth-child(2) { grid-column: 1 / -1; order: 3; }
	.ts5 .ts5-bill__parties { grid-template-columns: 1fr 1fr; gap: 14px; }
	.ts5 .ts5-bill__parties > div:first-child { grid-column: 1 / -1; }
}

/* checkout form fixes (Hark Oct 9 02:25): select label overlap, payment cards spacing, checkbox labels */
.ts5 .ts5-wc--checkout .wc-blocks-components-select .wc-blocks-components-select__container { position: relative; height: auto !important; }
.ts5 .ts5-wc--checkout .wc-blocks-components-select select { height: 58px !important; padding: 24px 44px 8px 16px !important; font: 600 16px/1.2 var(--sans) !important; }
.ts5 .ts5-wc--checkout .wc-blocks-components-select label { position: absolute !important; top: 9px !important; left: 17px !important; transform: none !important; font: 600 11.5px/1 var(--sans) !important; letter-spacing: .04em !important; color: var(--muted) !important; pointer-events: none; }
.ts5 .ts5-wc--checkout .wc-block-components-text-input, .ts5 .ts5-wc--checkout .wc-blocks-components-select, .ts5 .ts5-wc--checkout .wc-block-components-combobox { margin-top: 14px !important; }
.ts5 .ts5-wc--checkout .wc-block-components-address-form { gap: 0 14px; }
.ts5 .ts5-wc--checkout .wc-block-components-address-form__address_2-toggle, .ts5 .ts5-wc--checkout .wc-block-components-address-form__address_2-hidden-input { display: inline-block; margin-top: 12px !important; }
/* payment: no outer frame, separate cards */
.ts5 .ts5-wc--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control, .ts5 .ts5-wc--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked { border: 0 !important; box-shadow: none !important; background: none !important; display: flex; flex-direction: column; gap: 14px; }
.ts5 .ts5-wc--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control--highlight-checked::after, .ts5 .ts5-wc--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option::after { display: none !important; }
.ts5 .ts5-wc--checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option { margin: 0 !important; overflow: hidden; background: #fff; }
.ts5 .ts5-wc--checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option { padding: 18px 18px 18px 56px !important; }
.ts5 .ts5-wc--checkout .wc-block-components-radio-control-accordion-content { margin: 0 14px 14px !important; padding: 14px 16px !important; border-radius: 12px; background: #FFF7F2 !important; text-align: left !important; font: 400 14.5px/1.55 var(--sans); color: var(--ink); }
.ts5 .ts5-wc--checkout .wc-block-components-radio-control-accordion-content * { text-align: left !important; }
.ts5 .ts5-wc--checkout .wc-block-components-radio-control__label, .ts5 .ts5-wc--checkout .wc-block-components-radio-control__label-group { font: 800 15px/1.2 var(--display) !important; letter-spacing: .03em; text-transform: none !important; }
/* checkbox labels: normal sentence case */
.ts5 .ts5-wc--checkout .wc-block-components-checkbox label, .ts5 .ts5-wc--checkout .wc-block-components-checkbox__label { text-transform: none !important; letter-spacing: 0 !important; font: 500 14.5px/1.45 var(--sans) !important; color: var(--ink) !important; }
.ts5 .ts5-wc--checkout .wc-block-components-checkbox { margin-top: 16px !important; }
