@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../fonts/dm-sans-latin-ext-100-1000.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../fonts/dm-sans-latin-100-1000.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --tk-font-sans: "DM Sans", "Segoe UI", sans-serif;
  --bs-body-font-family: var(--tk-font-sans);
  --tk-navy: #082a43;
  --tk-navy-2: #0b3857;
  --tk-blue: #0b67a5;
  --tk-cyan: #55c8dc;
  --tk-ice: #edf8fb;
  --tk-ink: #142534;
  --tk-muted: #5b6d79;
  --tk-line: #d7e6ee;
  --tk-white: #fff;
  --tk-shadow: 0 18px 50px rgba(8, 42, 67, .12);
  --tk-product-sticky-top: 115px;
}

body { color: var(--tk-ink); background: #fbfdfe; font-family: var(--tk-font-sans); }
button, input, select, textarea { font-family: var(--tk-font-sans); }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.btn-primary { --bs-btn-bg: var(--tk-blue); --bs-btn-border-color: var(--tk-blue); --bs-btn-hover-bg: #084f81; --bs-btn-hover-border-color: #084f81; --bs-btn-active-bg: #063f68; --bs-btn-active-border-color: #063f68; }
.btn-outline-primary { --bs-btn-color: var(--tk-blue); --bs-btn-border-color: var(--tk-blue); --bs-btn-hover-bg: var(--tk-blue); --bs-btn-hover-border-color: var(--tk-blue); }
.tk-line-icon { display: block; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }

.tk-announcement { background: #062f4c; color: #fff; font-size: .78rem; font-weight: 650; }
.tk-announcement__inner { display: grid; grid-template-columns: .95fr .9fr 1.55fr .8fr; align-items: stretch; min-height: 40px; padding-inline: 0; }
.tk-announcement__item { position: relative; display: flex; align-items: center; justify-content: center; gap: .62rem; min-width: 0; padding: .25rem clamp(.65rem,1.2vw,1.15rem); color: #fff; line-height: 1.08; text-align: left; }
.tk-announcement__item:not(:last-child)::after { content: ""; position: absolute; top: 22%; right: 0; bottom: 22%; width: 1px; background: rgba(85,200,220,.58); }
.tk-announcement__item > span { display: block; min-width: 0; white-space: normal; }
.tk-announcement__item .tk-line-icon { width: 20px; height: 20px; flex: 0 0 20px; color: #83e0ed; stroke-width: 1.55; }
.tk-announcement__button { width: 100%; border: 0; border-radius: 0; background: transparent; font: inherit; font-weight: 650; cursor: pointer; }
.tk-announcement__button:hover, .tk-announcement__button:focus-visible { background: rgba(255,255,255,.08); color: #fff; outline: 0; }
.tk-announcement__button:focus-visible { box-shadow: inset 0 0 0 2px rgba(131,224,237,.78); }

.tk-protection-modal-open { overflow: hidden; }
.tk-protection-modal { width: min(920px,calc(100vw - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); padding: 0; overflow: auto; border: 1px solid #bad9e5; border-radius: 1.4rem; background: #fff; color: var(--tk-ink); box-shadow: 0 32px 100px rgba(3,29,47,.34); }
.tk-protection-modal::backdrop { background: rgba(4,27,43,.68); backdrop-filter: blur(5px); }
.tk-protection-modal__shell { padding: clamp(1.2rem,3vw,2.25rem); }
.tk-protection-modal__header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1.25rem; align-items: start; }
.tk-protection-modal__eyebrow { display: inline-flex; align-items: center; gap: .35rem; margin-bottom: .65rem; color: var(--tk-blue); font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.tk-protection-modal__eyebrow .material-icons { font-size: 1.1rem; }
.tk-protection-modal__header h2 { margin: 0; color: var(--tk-navy); font-size: clamp(1.8rem,4vw,2.75rem); line-height: 1.05; letter-spacing: -.035em; }
.tk-protection-modal__header p { max-width: 740px; margin: .8rem 0 0; color: #526b79; line-height: 1.65; }
.tk-protection-modal__close { display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid #c9dfe8; border-radius: 50%; background: #f3fafc; color: var(--tk-navy); cursor: pointer; }
.tk-protection-modal__close:hover, .tk-protection-modal__close:focus-visible { border-color: var(--tk-blue); background: var(--tk-blue); color: #fff; }
.tk-protection-modal__preview { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1rem; align-items: start; margin-top: 1.5rem; padding: 1.2rem; border: 1px solid #b9dfe9; border-radius: 1rem; background: linear-gradient(135deg,#effafd,#e5f5f9); }
.tk-protection-modal__preview-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: .8rem; background: var(--tk-navy); color: #9eeaf3; }
.tk-protection-modal__preview h3 { margin: 0; color: var(--tk-navy); font-size: 1.05rem; }
.tk-protection-modal__preview p { margin: .35rem 0; color: #486373; font-size: .9rem; line-height: 1.55; }
.tk-protection-modal__preview small { display: block; color: #667d89; font-size: .73rem; line-height: 1.45; }
.tk-protection-modal__columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; }
.tk-protection-modal__columns section { padding: 1.2rem; border: 1px solid #d3e5ec; border-radius: 1rem; background: #fff; }
.tk-protection-modal__columns h3 { display: flex; gap: .5rem; align-items: center; margin: 0 0 1rem; color: var(--tk-navy); font-size: 1rem; }
.tk-protection-modal__coverage h3 .material-icons { color: #159767; }
.tk-protection-modal__limits h3 .material-icons { color: #bd7a13; }
.tk-protection-modal__columns ul { display: grid; gap: .9rem; margin: 0; padding: 0; list-style: none; }
.tk-protection-modal__columns li { position: relative; padding-left: 1rem; }
.tk-protection-modal__columns li::before { content: ''; position: absolute; top: .48rem; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--tk-cyan); }
.tk-protection-modal__columns strong, .tk-protection-modal__columns span { display: block; }
.tk-protection-modal__columns strong { color: #233c4d; font-size: .84rem; }
.tk-protection-modal__columns span { margin-top: .18rem; color: #607580; font-size: .75rem; line-height: 1.45; }
.tk-protection-modal__footer { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; align-items: center; margin-top: 1rem; padding-top: 1.1rem; border-top: 1px solid #d9e8ee; }
.tk-protection-modal__footer p { margin: 0; color: #687d88; font-size: .72rem; line-height: 1.5; }
.tk-protection-modal__footer > div { display: flex; gap: .6rem; }
.tk-protection-modal__footer .btn { min-height: 44px; padding: .65rem 1rem; border-radius: .7rem; font-size: .8rem; font-weight: 800; }

#header .header-top { display: none !important; height: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; visibility: hidden !important; border: 0 !important; }
.header-top a, .header-top .header-block__title { color: #fff !important; }
.header-bottom { background: rgba(255,255,255,.98); border-bottom: 1px solid var(--tk-line); box-shadow: 0 6px 24px rgba(8,42,67,.06); }
.header-bottom__container { min-height: 60px; }
.navbar-brand img { width: auto; max-height: 44px; }
.ps-mainmenu__desktop .nav-link { color: var(--tk-ink); font-weight: 650; padding-inline: .8rem; }
.ps-mainmenu__desktop .nav-link:hover, .ps-mainmenu__desktop .nav-link:focus { color: var(--tk-blue); }
.ps-searchbar .form-control, .search-widget .form-control { border-color: #bfd5e0; background: #f7fbfd; }
.header-block__icon, .header-block__title { color: var(--tk-navy); }
.header-block__badge { background: var(--tk-blue) !important; color: #fff !important; }
.tk-header-actions { display: flex; align-items: stretch; gap: .55rem; margin-left: .5rem; }
.tk-header-actions > div { display: flex; align-items: stretch; }
.tk-header-actions .header-block,
.tk-header-actions .header-block__action-btn { display: flex; align-items: center; }
.tk-header-actions .header-block__action-btn { min-height: 48px; padding: .45rem .35rem; border-radius: 0; color: var(--tk-navy); text-decoration: none; }
.tk-header-actions .header-block__action-btn:hover,
.tk-header-actions .header-block__action-btn:focus-visible { background: transparent; color: var(--tk-blue); }
.tk-header-actions .header-block__action-btn:focus-visible { outline: 2px solid var(--tk-cyan); outline-offset: 2px; }
.tk-header-actions .header-block__title { color: inherit !important; font-size: .9rem; font-weight: 600; white-space: nowrap; }
.tk-header-actions .header-block__icon,
#_mobile_ps_customersignin .header-block__icon,
#_mobile_ps_shoppingcart .header-block__icon { display: inline-block; width: 22px; height: 22px; flex: 0 0 22px; margin-right: .45rem; background: currentColor; font-size: 0; -webkit-mask-position: center; mask-position: center; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-size: contain; mask-size: contain; }
#_desktop_ps_customersignin .header-block__icon,
#_mobile_ps_customersignin .header-block__icon { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7.5' r='3.25'/%3E%3Cpath d='M4.75 20c.75-4.1 3.15-6.15 7.25-6.15S18.5 15.9 19.25 20'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7.5' r='3.25'/%3E%3Cpath d='M4.75 20c.75-4.1 3.15-6.15 7.25-6.15S18.5 15.9 19.25 20'/%3E%3C/svg%3E"); }
#_desktop_ps_shoppingcart .header-block__icon,
#_mobile_ps_shoppingcart .header-block__icon { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.15 10.25h10.9l2.2-7.25H6'/%3E%3Ccircle cx='9' cy='19' r='1.25'/%3E%3Ccircle cx='17.5' cy='19' r='1.25'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.15 10.25h10.9l2.2-7.25H6'/%3E%3Ccircle cx='9' cy='19' r='1.25'/%3E%3Ccircle cx='17.5' cy='19' r='1.25'/%3E%3C/svg%3E"); }
.tk-header-actions .header-block__badge { position: static; display: grid; width: 21px; min-width: 21px; height: 21px; place-items: center; margin-left: .38rem; padding: 0; border-radius: 50%; font-size: .72rem; font-weight: 750; line-height: 1; }

.page-index .page-content--home { row-gap: 0; overflow: hidden; }
.tk-hero { position: relative; width: min(calc(100% - 4rem), 1320px); margin-inline: auto; overflow: hidden; color: #fff; background: #061f33; }
.tk-hero-slider__track { position: relative; }
.tk-hero-slide { position: relative; overflow: hidden; min-height: 460px; animation: tkHeroReveal .45s ease both; }
.tk-hero-slide[hidden] { display: none !important; }
.tk-hero-slide::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg,#000,transparent 88%); }
.tk-hero-slide--custom { min-height: 460px; background: #eef8fb; color: var(--tk-ink); }
.tk-hero-slide--custom::before { z-index: 1; opacity: 1; background: linear-gradient(90deg,rgba(249,253,254,.97) 0%,rgba(249,253,254,.92) 34%,rgba(249,253,254,.42) 51%,rgba(249,253,254,0) 68%); mask-image: none; }
.tk-hero__background { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tk-hero-slide--custom .tk-hero__grid { grid-template-columns: minmax(0,1fr); min-height: 460px; }
.tk-hero-slide--custom .tk-hero__content { max-width: min(52%,680px); }
.tk-hero-slide--custom .tk-eyebrow { border-color: #bcdce6; background: rgba(255,255,255,.78); color: var(--tk-blue); box-shadow: 0 6px 18px rgba(8,42,67,.06); }
.tk-hero-slide--custom .tk-hero__title { color: var(--tk-navy); text-shadow: 0 2px 12px rgba(255,255,255,.7); }
.tk-hero-slide--custom .tk-hero__lead { color: #425d6e; }
.tk-hero-slide--custom .tk-hero__actions .btn-outline-light { border-color: #7294a6; background: rgba(255,255,255,.62); color: var(--tk-navy); }
.tk-hero-slide--custom .tk-hero__actions .btn-outline-light:hover { border-color: var(--tk-navy); background: var(--tk-navy); color: #fff; }
.tk-hero-slide--custom .tk-hero__points { color: #365467; }
.tk-hero-slide--custom .tk-hero__points .material-icons { color: #1886aa; }
.tk-hero-slide--sphere-light { min-height: 460px; background: #f5fafc; color: var(--tk-ink); }
.tk-hero-slide--sphere-light::before { z-index: 1; opacity: 1; background: linear-gradient(90deg,rgba(250,253,254,.98) 0%,rgba(250,253,254,.95) 37%,rgba(250,253,254,.5) 52%,rgba(250,253,254,0) 66%); mask-image: none; }
.tk-hero-slide--sphere-light .tk-hero__grid { grid-template-columns: minmax(0,1fr); min-height: 460px; }
.tk-hero-slide--sphere-light .tk-hero__content { max-width: min(49%,620px); }
.tk-hero-slide--sphere-light .tk-eyebrow { border-color: #bcdce6; background: rgba(255,255,255,.82); color: var(--tk-blue); box-shadow: 0 6px 18px rgba(8,42,67,.06); }
.tk-hero-slide--sphere-light .tk-hero__title { color: var(--tk-navy); text-shadow: 0 2px 12px rgba(255,255,255,.82); }
.tk-hero-slide--sphere-light .tk-hero__lead { color: #425d6e; }
.tk-hero-slide--sphere-light .tk-hero__actions .btn-outline-light { border-color: #7294a6; background: rgba(255,255,255,.68); color: var(--tk-navy); }
.tk-hero-slide--sphere-light .tk-hero__actions .btn-outline-light:hover { border-color: var(--tk-navy); background: var(--tk-navy); color: #fff; }
.tk-hero-slide--sphere-light .tk-hero__points { color: #365467; }
.tk-hero-slide--sphere-light .tk-hero__points .material-icons { color: #1886aa; }
.tk-hero-slide--rectangle { min-height: 460px; background: #eef8fb; color: var(--tk-ink); }
.tk-hero-slide--rectangle::before { z-index: 1; opacity: 1; background: linear-gradient(90deg,rgba(249,253,254,.97) 0%,rgba(249,253,254,.92) 34%,rgba(249,253,254,.42) 51%,rgba(249,253,254,0) 68%); mask-image: none; }
.tk-hero-slide--rectangle .tk-hero__grid { grid-template-columns: minmax(0,1fr); min-height: 460px; }
.tk-hero-slide--rectangle .tk-hero__content { max-width: min(52%,680px); }
.tk-hero-slide--rectangle .tk-eyebrow { border-color: #bcdce6; background: rgba(255,255,255,.78); color: var(--tk-blue); box-shadow: 0 6px 18px rgba(8,42,67,.06); }
.tk-hero-slide--rectangle .tk-hero__title { color: var(--tk-navy); text-shadow: 0 2px 12px rgba(255,255,255,.7); }
.tk-hero-slide--rectangle .tk-hero__lead { color: #425d6e; }
.tk-hero-slide--rectangle .tk-hero__actions .btn-outline-light { border-color: #7294a6; background: rgba(255,255,255,.62); color: var(--tk-navy); }
.tk-hero-slide--rectangle .tk-hero__actions .btn-outline-light:hover { border-color: var(--tk-navy); background: var(--tk-navy); color: #fff; }
.tk-hero-slide--rectangle .tk-hero__points { color: #365467; }
.tk-hero-slide--rectangle .tk-hero__points .material-icons { color: #1886aa; }
.tk-hero-slide--gift { background: radial-gradient(circle at 82% 18%, rgba(210,248,255,.42), transparent 29%), radial-gradient(circle at 62% 86%, rgba(85,200,220,.2), transparent 34%), linear-gradient(125deg, #082a43 0%, #0b567b 56%, #55c8dc 100%); }
.tk-hero-slide--gift .tk-hero__image-link { border-color: rgba(220,249,255,.55); background: rgba(239,252,255,.18); box-shadow: 0 30px 80px rgba(3,35,55,.32); }
.tk-hero-slide--gift .tk-hero__note { border-color: rgba(190,239,248,.5); background: rgba(6,48,72,.86); }
.tk-hero-slide--gift .btn-primary { --bs-btn-bg: #0879a8; --bs-btn-border-color: #0879a8; --bs-btn-hover-bg: #065f86; --bs-btn-hover-border-color: #065f86; }
.tk-hero-slide--heart { background: radial-gradient(circle at 80% 35%,rgba(85,200,220,.24),transparent 30%),linear-gradient(125deg,#fafdfe 0%,#eef8fb 58%,#dff3f8 100%); color: var(--tk-ink); }
.tk-hero-slide--heart::before { opacity: .5; background-image: linear-gradient(rgba(11,103,165,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(11,103,165,.055) 1px,transparent 1px); mask-image: linear-gradient(90deg,#000,transparent 88%); }
.tk-hero-slide--heart .tk-eyebrow { border-color: #bcdce6; background: rgba(255,255,255,.86); color: var(--tk-blue); box-shadow: 0 6px 18px rgba(8,42,67,.06); }
.tk-hero-slide--heart .tk-hero__title { color: var(--tk-navy); }
.tk-hero-slide--heart .tk-hero__lead { color: #425d6e; }
.tk-hero-slide--heart .tk-hero__points { color: #365467; }
.tk-hero-slide--heart .tk-hero__points .material-icons { color: #1886aa; }
.tk-hero-slide--heart .tk-hero__image-link { width: min(86%,390px); padding: .5rem; border-color: #b8dbe7; border-radius: 1.6rem; background: rgba(255,255,255,.9); box-shadow: 0 26px 70px rgba(8,42,67,.18); transform: none; }
.tk-hero-slide--heart .tk-hero__image-link img { border-radius: 1.2rem; }
.tk-hero-slide--heart .tk-hero__image-link:hover { transform: translateY(-4px); }
.tk-hero-slide--heart .tk-hero__note { right: 4%; bottom: 5%; border-color: #a9d5e3; background: rgba(8,42,67,.88); }
.tk-hero-slide--heart .tk-hero__actions .btn-outline-light { border-color: #7294a6; background: rgba(255,255,255,.72); color: var(--tk-navy); }
.tk-hero-slide--heart .tk-hero__actions .btn-outline-light:hover { border-color: var(--tk-navy); background: var(--tk-navy); color: #fff; }
.tk-hero-slide--holiday { background: radial-gradient(circle at 80% 18%, rgba(250,212,128,.3), transparent 30%), linear-gradient(125deg, #082828 0%, #0b5852 58%, #9a7330 100%); }
.tk-hero-slider__arrow { position: absolute; z-index: 5; top: 50%; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; background: rgba(4,27,43,.55); color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.2); backdrop-filter: blur(8px); transform: translateY(-50%); }
.tk-hero-slider__arrow:hover, .tk-hero-slider__arrow:focus-visible { background: rgba(4,27,43,.9); }
.tk-hero-slider__arrow--prev { left: max(1rem,calc((100vw - 1510px)/2)); }
.tk-hero-slider__arrow--next { right: max(1rem,calc((100vw - 1510px)/2)); }
.tk-hero-slider__arrow .material-icons { font-size: 1.8rem; }
.tk-hero-slider__controls { position: absolute; z-index: 6; bottom: 1rem; left: 50%; display: flex; align-items: center; gap: .7rem; padding: .45rem .55rem; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; background: rgba(4,27,43,.52); backdrop-filter: blur(10px); transform: translateX(-50%); }
.tk-hero-slider__dots { display: flex; align-items: center; gap: .45rem; }
.tk-hero-slider__dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.45); transition: width .2s ease, background-color .2s ease; }
.tk-hero-slider__dot.is-active { width: 28px; background: #fff; }
.tk-hero-slider__pause { display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; }
.tk-hero-slider__pause .material-icons { font-size: 1rem; }
@keyframes tkHeroReveal { from { opacity: .3; } to { opacity: 1; } }
.tk-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(330px,.95fr); align-items: center; gap: clamp(2rem,5vw,4.5rem); min-height: 460px; padding-top: 1.8rem; padding-bottom: 1.8rem; }
.tk-eyebrow { display: inline-flex; align-items: center; padding: .48rem .82rem; border: 1px solid rgba(255,255,255,.27); border-radius: 999px; background: rgba(255,255,255,.1); color: #c9f5fb; font-size: .78rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.tk-eyebrow--blue { background: #e3f5f9; border-color: #c9eaf1; color: var(--tk-blue); }
.tk-hero__title { max-width: 680px; margin: .9rem 0 .7rem; color: #fff; font-size: clamp(2.25rem,3.2vw,3.25rem); line-height: 1.02; letter-spacing: -.04em; }
.tk-hero__lead { max-width: 650px; margin: 0; color: #d8edf4; font-size: clamp(1rem,1.6vw,1.22rem); line-height: 1.65; }
.tk-hero__actions { display: flex; max-width: 19rem; flex-direction: column; align-items: stretch; gap: .62rem; margin-top: 1.15rem; }
.tk-hero__actions .btn { display: inline-flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; padding: .68rem 1.05rem; border-radius: .5rem; box-shadow: none; font-size: .98rem; font-weight: 650; line-height: 1.2; }
.tk-hero__actions .btn:hover { box-shadow: none; transform: none; }
.tk-hero__actions .btn:focus-visible { outline: 0; box-shadow: 0 0 0 2px #fff, 0 0 0 5px var(--tk-navy); transform: none; }
.tk-hero__actions .btn-outline-light:hover { color: var(--tk-navy); }
.tk-hero__points { display: flex; flex-wrap: wrap; gap: .55rem 1.1rem; margin: 1rem 0 0; padding: 0; list-style: none; color: #e8f7fb; font-size: .88rem; }
.tk-hero__points li { display: inline-flex; align-items: center; gap: .35rem; }
.tk-hero__points .material-icons { font-size: 1.08rem; color: #7ce1ee; }
.tk-hero__visual { position: relative; display: grid; place-items: center; min-height: 390px; }
.tk-hero__glow { position: absolute; width: 82%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(99,224,239,.48), rgba(71,173,211,.12) 55%, transparent 72%); filter: blur(5px); }
.tk-hero__image-link { position: relative; display: block; width: min(100%, 520px); border: 1px solid rgba(255,255,255,.24); border-radius: 2rem; padding: .65rem; background: rgba(255,255,255,.12); box-shadow: 0 30px 80px rgba(0,0,0,.3); transform: rotate(1.5deg); }
.tk-hero__image-link img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 1.55rem; }
.tk-hero__image-link:hover { transform: rotate(0) translateY(-4px); }
.tk-hero__note { position: absolute; right: 0; bottom: 7%; display: flex; flex-direction: column; padding: .82rem 1.05rem; border: 1px solid rgba(255,255,255,.38); border-radius: .85rem; background: rgba(5,31,49,.82); box-shadow: 0 12px 35px rgba(0,0,0,.25); backdrop-filter: blur(12px); }
.tk-hero__note strong { color: #fff; }.tk-hero__note span { color: #a9e7f0; font-size: .8rem; }

.tk-trust { position: relative; z-index: 2; margin-top: -1px; background: #fff; border-top: 1px solid #9fd0df; border-bottom: 1px solid #9fd0df; box-shadow: none; }
.tk-trust__grid { display: grid; grid-template-columns: repeat(4,1fr); }
.tk-trust article { display: flex; min-height: 126px; flex-direction: column; align-items: flex-start; justify-content: center; gap: .65rem; padding: 1.25rem clamp(.8rem,1.5vw,1.4rem); border: 0; }
.tk-trust__icon { width: 36px; height: 36px; flex: 0 0 36px; color: var(--tk-navy); stroke-width: 1.45; }
.tk-trust strong, .tk-trust span { display: block; }.tk-trust strong { color: var(--tk-navy); font-weight: 700; }.tk-trust span { margin-top: .18rem; color: #466175; font-size: .8rem; line-height: 1.4; }

.tk-shape-bar { padding: .9rem 0; border-bottom: 1px solid #cfe3eb; background: linear-gradient(90deg,#f7fcfd 0%,#edf8fb 52%,#f9fdfe 100%); box-shadow: 0 10px 30px rgba(8,42,67,.045); }
.tk-shape-bar__inner { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(0,2.3fr); gap: 1rem; align-items: center; }
.tk-shape-bar__intro span { display: block; color: var(--tk-blue); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tk-shape-bar__intro strong { display: block; margin-top: .25rem; color: var(--tk-navy); font-size: clamp(1.05rem,1.55vw,1.3rem); line-height: 1.2; }
.tk-shape-bar__items { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; min-width: 0; }
.tk-shape-bar__item { display: grid; grid-template-columns: 82px minmax(0,1fr) auto; gap: .75rem; align-items: center; min-width: 0; min-height: 96px; padding: .45rem .75rem .45rem .45rem; border: 1px solid #cfe3eb; border-radius: 1rem; background: rgba(255,255,255,.94); color: var(--tk-ink); text-decoration: none; box-shadow: 0 7px 22px rgba(8,42,67,.055); }
.tk-shape-bar__item:hover, .tk-shape-bar__item:focus-visible { border-color: #80c1d5; color: var(--tk-ink); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(8,42,67,.11); }
.tk-shape-bar__item img { display: block; width: 82px; height: 82px; border-radius: .75rem; background: #edf6f9; object-fit: cover; }
.tk-shape-bar__copy { min-width: 0; }
.tk-shape-bar__copy small, .tk-shape-bar__copy strong, .tk-shape-bar__copy > span { display: block; }
.tk-shape-bar__copy small { color: var(--tk-blue); font-size: .62rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.tk-shape-bar__copy strong { margin-top: .18rem; color: var(--tk-navy); font-size: .98rem; line-height: 1.15; }
.tk-shape-bar__copy > span { overflow: hidden; margin-top: .22rem; color: var(--tk-muted); font-size: .7rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.tk-shape-bar__item > .material-icons { color: var(--tk-blue); font-size: 1.15rem; }

/* TK 2026-09-25 — trzy historie Kingi na stronie glownej. */
.tk-story-gallery {
  padding: clamp(2.8rem, 5vw, 4.6rem) 0;
  background: linear-gradient(180deg, #ffffff 0%, #f2f9fb 100%);
}
.tk-story-gallery__heading { margin-bottom: clamp(1.4rem, 3vw, 2.25rem); }
.tk-story-gallery__heading .tk-eyebrow { display: inline-block; }
.tk-story-gallery__heading h2 { margin-top: .7rem; }
.tk-story-gallery__heading p { max-width: 760px; margin-inline: auto; }
.tk-story-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.9rem, 2vw, 1.4rem);
  max-width: 1200px;
  margin: 0 auto;
}
.tk-story-gallery__card {
  display: block;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #cfe3eb;
  border-radius: 1rem;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(8, 42, 67, .10);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tk-story-gallery__card:hover,
.tk-story-gallery__card:focus-visible {
  border-color: #80c1d5;
  color: inherit;
  transform: translateY(-4px);
  box-shadow: 0 20px 42px rgba(8, 42, 67, .16);
}
.tk-story-gallery__card:focus-visible { outline: 3px solid rgba(35, 145, 190, .32); outline-offset: 3px; }
.tk-story-gallery__card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .tk-story-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tk-story-gallery__card:last-child { grid-column: 1 / -1; width: calc((100% - clamp(.9rem, 2vw, 1.4rem)) / 2); justify-self: center; }
}

@media (max-width: 767.98px) {
  .tk-story-gallery { padding: 2.5rem 0 3rem; }
  .tk-story-gallery__heading { margin-bottom: 1.25rem; text-align: center; }
  .tk-story-gallery__heading h2 { font-size: clamp(1.65rem, 8vw, 2rem); }
  .tk-story-gallery__heading p { font-size: .94rem; line-height: 1.55; }
  .tk-story-gallery__grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .tk-story-gallery__card:last-child { grid-column: auto; width: auto; }
}

.tk-section { padding: 2rem 0; }
.page-index .page-content--home > .ps-newproducts { padding-top: 2rem; padding-bottom: 2rem; }
.tk-section__heading { max-width: 760px; margin: 0 auto 2.6rem; text-align: center; }
.tk-section__heading h2 { margin: 1rem 0 .75rem; color: var(--tk-navy); font-size: clamp(2rem,3.5vw,3rem); letter-spacing: -.035em; }
.tk-section__heading p { color: var(--tk-muted); font-size: 1.05rem; line-height: 1.7; }
.tk-paths { padding-top: 1.55rem; padding-bottom: 1.75rem; background: #fff; }
.tk-paths .tk-section__heading { margin-bottom: 1.25rem; }
.tk-paths .tk-section__heading h2 { margin-top: 0; margin-bottom: .45rem; font-size: clamp(1.65rem,2.7vw,2.25rem); }
.tk-paths .tk-section__heading p { font-size: .96rem; line-height: 1.5; }
.tk-paths__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; max-width: 1080px; margin: 0 auto; }
.tk-path { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 1rem; min-height: 198px; padding: 2.75rem 1.25rem 1.15rem; border: 1px solid #c9dfe8; border-radius: .75rem; background: #fff; color: var(--tk-ink); text-decoration: none; box-shadow: 0 8px 24px rgba(8,42,67,.045); }
.tk-path:hover, .tk-path:focus-visible { border-color: #91c8d9; color: var(--tk-ink); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(8,42,67,.085); }
.tk-path:focus-visible { outline: 2px solid var(--tk-blue); outline-offset: 3px; }
.tk-path--ready { background: #fff; }
.tk-path--custom { border-color: #a9dce8; background: #fff; box-shadow: inset 3px 0 0 var(--tk-cyan), 0 8px 24px rgba(8,42,67,.045); color: var(--tk-ink); }
.tk-path--custom:hover, .tk-path--custom:focus-visible { color: var(--tk-ink); box-shadow: inset 3px 0 0 var(--tk-cyan), 0 12px 30px rgba(8,42,67,.085); }
.tk-path__icon { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid #c8dfe8; border-radius: .55rem; background: #fff; color: var(--tk-navy); }
.tk-path__icon .tk-line-icon { width: 29px; height: 29px; stroke-width: 1.45; }
.tk-path__number { position: absolute; top: .8rem; left: 1.25rem; padding: .16rem .52rem; border-radius: .35rem; background: #dff5f9; color: var(--tk-navy); font-size: .68rem; font-weight: 750; letter-spacing: .04em; line-height: 1.2; }
.tk-path__body { display: flex; flex-direction: column; min-width: 0; }
.tk-path__body strong { margin-top: .1rem; color: var(--tk-navy); font-size: clamp(1.1rem,1.8vw,1.35rem); font-weight: 700; line-height: 1.18; }
.tk-path--custom .tk-path__body strong { color: var(--tk-navy); }
.tk-path__body > span { margin-top: .45rem; color: var(--tk-muted); font-size: .9rem; line-height: 1.45; }
.tk-path--custom .tk-path__body > span { color: var(--tk-muted); }
.tk-path__body em { display: inline-flex; align-items: center; align-self: flex-start; gap: .35rem; margin-top: auto; padding-top: .7rem; color: var(--tk-blue); font-style: normal; font-size: .88rem; font-weight: 750; }
.tk-path__body em::after { content: "\2192"; font-size: 1.05rem; font-weight: 500; line-height: 1; }
.tk-path--custom .tk-path__body em { margin-top: .8rem; padding: .55rem .85rem; border-radius: .35rem; background: var(--tk-blue); color: #fff; }
.tk-feature-heart { background: #fff; }
.tk-feature-heart__card { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: center; gap: clamp(2rem,5vw,4.5rem); overflow: hidden; max-width: 1180px; margin: 0 auto; padding: clamp(1rem,2.2vw,1.6rem); border: 1px solid #cde3ec; border-radius: 1.6rem; background: linear-gradient(135deg,#f9fdfe 0%,#eef8fb 100%); box-shadow: 0 20px 56px rgba(8,42,67,.1); }
.tk-feature-heart__media { position: relative; display: block; overflow: hidden; aspect-ratio: 1; border-radius: 1.2rem; background: #fff; box-shadow: 0 14px 38px rgba(8,42,67,.11); }
.tk-feature-heart__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.tk-feature-heart__media:hover img { transform: scale(1.025); }
.tk-feature-heart__badge { position: absolute; top: 1rem; left: 1rem; padding: .48rem .8rem; border-radius: .65rem; background: var(--tk-blue); color: #fff; font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; box-shadow: 0 8px 20px rgba(11,103,165,.25); }
.tk-feature-heart__content { padding-right: clamp(.5rem,2vw,1.5rem); }
.tk-feature-heart__content h2 { margin: 1rem 0 .9rem; color: var(--tk-navy); font-size: clamp(2rem,3.5vw,3rem); line-height: 1.06; letter-spacing: -.04em; }
.tk-feature-heart__content > p { margin: 0; color: var(--tk-muted); font-size: 1rem; line-height: 1.7; }
.tk-feature-heart__content ul { display: grid; gap: .55rem; margin: 1.3rem 0 0; padding: 0; list-style: none; color: #365467; }
.tk-feature-heart__content li { display: flex; align-items: center; gap: .5rem; }
.tk-feature-heart__content li .material-icons { color: #1886aa; font-size: 1.15rem; }
.tk-feature-heart__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .85rem 1rem; margin-top: 1.5rem; }
.tk-feature-heart__actions .btn { padding: .85rem 1.25rem; border-radius: .75rem; font-weight: 800; }
.tk-feature-heart__actions > span { color: var(--tk-blue); font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.tk-ready { scroll-margin-top: 96px; background: linear-gradient(180deg,#f6fbfd,#edf7fa); }
.tk-ready__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.tk-ready-card { overflow: hidden; border: 1px solid #d2e5ec; border-radius: 1.15rem; background: #fff; box-shadow: 0 8px 28px rgba(8,42,67,.055); }
.tk-ready-card:hover { transform: translateY(-5px); border-color: #9bcfdf; box-shadow: var(--tk-shadow); }
.tk-ready-card__image { display: block; overflow: hidden; aspect-ratio: 1; background: #edf5f8; }
.tk-ready-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.tk-ready-card:hover .tk-ready-card__image img { transform: scale(1.035); }
.tk-ready-card__body { padding: 1.15rem; }
.tk-ready-card h3 { min-height: 3.2em; margin: 0; font-size: 1rem; line-height: 1.42; }
.tk-ready-card h3 a { color: var(--tk-navy); text-decoration: none; }
.tk-ready-card__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .35rem .8rem; margin-top: .9rem; color: var(--tk-muted); font-size: .78rem; }
.tk-ready-card__meta span:first-child { color: var(--tk-navy); font-weight: 800; }
.tk-ready-card__cta { display: inline-flex; align-items: center; gap: .3rem; margin-top: 1rem; color: var(--tk-blue); font-weight: 800; text-decoration: none; }
.tk-ready-card__cta .material-icons { font-size: 1rem; }
.tk-ready__actions { margin-top: 2rem; text-align: center; }
.tk-ready-carousel { position: relative; }
.tk-ready__grid--stories { display: flex; gap: 1rem; overflow-x: auto; padding: .2rem .1rem .75rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tk-ready__grid--stories::-webkit-scrollbar { display: none; }
.tk-ready__grid--stories .tk-ready-card { flex: 0 0 calc((100% - 3rem)/4); min-width: 0; scroll-snap-align: start; }
.tk-ready-carousel__arrow { position: absolute; z-index: 4; top: 50%; display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid #b9dce7; border-radius: 50%; background: #fff; color: var(--tk-navy); box-shadow: 0 10px 26px rgba(8,42,67,.16); transform: translateY(-50%); transition: opacity .2s ease,transform .2s ease,background .2s ease; }
.tk-ready-carousel__arrow:hover { background: var(--tk-blue); color: #fff; transform: translateY(-50%) scale(1.05); }
.tk-ready-carousel__arrow:disabled { opacity: .28; cursor: default; transform: translateY(-50%); }
.tk-ready-carousel__arrow .material-icons { font-size: 1.7rem; }
.tk-ready-carousel__arrow--prev { left: -23px; }
.tk-ready-carousel__arrow--next { right: -23px; }
.tk-shape-series { padding-block: clamp(3.2rem,5vw,4.8rem); background: #fff; }
.tk-shape-series--heart { background: linear-gradient(180deg,#f7fbfd 0%,#edf7fa 100%); }
.tk-shape-series__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1.4rem; }
.tk-shape-series__heading h2 { margin: .75rem 0 .45rem; color: var(--tk-navy); font-size: clamp(1.85rem,3vw,2.65rem); line-height: 1.08; letter-spacing: -.035em; }
.tk-shape-series__heading p { max-width: 720px; margin: 0; color: var(--tk-muted); line-height: 1.6; }
.tk-shape-series__heading > a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .35rem; padding-bottom: .2rem; color: var(--tk-blue); font-weight: 800; text-decoration: none; }
.tk-shape-series__heading > a .material-icons { font-size: 1.15rem; }
.tk-shape-series__rail { display: flex; gap: 1rem; overflow-x: auto; padding: .2rem .1rem .75rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tk-shape-series__rail::-webkit-scrollbar { display: none; }
.tk-shape-story-card { min-width: 0; scroll-snap-align: start; }
.tk-shape-series__rail .tk-shape-story-card { flex: 0 0 calc((100% - 3rem)/4); }
.tk-shape-story-card .tk-ready-card__body { padding: 1rem; }
.tk-shape-story-card h3 { min-height: 0; font-size: .98rem; }
.tk-shape-story-card p { min-height: 2.8em; margin: .38rem 0 0; color: var(--tk-muted); font-size: .78rem; line-height: 1.4; }
.tk-shape-story-card .tk-ready-card__cta { margin-top: .78rem; font-size: .79rem; line-height: 1.35; }
.tk-shape-series__note { margin: .5rem 0 0; color: var(--tk-muted); font-size: .76rem; text-align: right; }
.tk-occasions { background: linear-gradient(180deg,#f7fbfd,#fff); }
.tk-occasions__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.tk-occasion { display: flex; flex-direction: column; min-height: 250px; padding: 1.5rem; border: 1px solid var(--tk-line); border-radius: 1.15rem; background: #fff; color: var(--tk-ink); box-shadow: 0 8px 28px rgba(8,42,67,.055); text-decoration: none; }
.tk-occasion:hover { color: var(--tk-ink); transform: translateY(-5px); border-color: #a8d4e3; box-shadow: var(--tk-shadow); }
.tk-occasion__icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 1.35rem; border-radius: 1rem; background: linear-gradient(135deg,var(--tk-navy),var(--tk-blue)); color: #fff; }
.tk-occasion__icon .material-icons { font-size: 1.65rem; }
.tk-occasion strong { color: var(--tk-navy); font-size: 1.15rem; }.tk-occasion > span:not(.tk-occasion__icon) { margin-top: .5rem; color: var(--tk-muted); font-size: .9rem; line-height: 1.55; }
.tk-occasion em { display: inline-flex; align-items: center; gap: .25rem; margin-top: auto; padding-top: 1.2rem; color: var(--tk-blue); font-style: normal; font-size: .85rem; font-weight: 750; }.tk-occasion em .material-icons { font-size: 1rem; }
.tk-how { overflow: hidden; background: linear-gradient(180deg,#f7fcfe 0%,#eaf6fa 100%); }
.tk-how .tk-section__heading p { max-width: 610px; margin: .75rem auto 0; color: var(--tk-muted); font-size: 1rem; }
.tk-how__grid { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; max-width: 1320px; margin: 0 auto; }
.tk-how__grid::before { content: ""; position: absolute; z-index: 0; top: 27px; left: 8%; right: 8%; height: 2px; background: repeating-linear-gradient(90deg,#83bfd3 0 10px,transparent 10px 18px); opacity: .65; }
.tk-how-card { position: relative; z-index: 1; overflow: hidden; min-width: 0; border: 1px solid #c7e1ea; border-radius: 1.15rem; background: #fff; box-shadow: 0 12px 32px rgba(8,42,67,.08); text-align: left; }
.tk-how-card__top { display: flex; align-items: center; gap: .65rem; height: 56px; padding: 0 1rem; color: var(--tk-navy); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tk-how-card__number { display: grid; place-items: center; width: 34px; height: 34px; border: 3px solid #d9eef4; border-radius: 50%; background: linear-gradient(135deg,var(--tk-navy),var(--tk-blue)); color: #fff; box-shadow: 0 0 0 5px #fff; }
.tk-how-card__scene { position: relative; overflow: hidden; aspect-ratio: 1.15; background: radial-gradient(circle at 70% 18%,rgba(93,203,224,.3),transparent 32%),linear-gradient(145deg,#0a2b43,#146f97); isolation: isolate; }
.tk-how-card__scene::after { content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none; background: linear-gradient(180deg,transparent 55%,rgba(3,25,40,.22)); }
.tk-how-card__photo { position: absolute; z-index: 1; top: 50%; left: 50%; width: 78%; aspect-ratio: 1; overflow: hidden; border: 5px solid rgba(255,255,255,.88); border-radius: 1rem; background: #eef7fa; box-shadow: 0 18px 40px rgba(0,0,0,.25); transform: translate(-50%,-50%); }
.tk-how-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tk-how-card__copy { min-height: 150px; padding: 1.15rem 1.2rem 1.25rem; }
.tk-how-card__copy h3 { margin: 0 0 .45rem; color: var(--tk-navy); font-size: 1.1rem; line-height: 1.25; }
.tk-how-card__copy p { margin: 0; color: var(--tk-muted); font-size: .86rem; line-height: 1.55; }
.tk-how-card__upload { position: absolute; z-index: 5; left: 50%; bottom: 9%; display: grid; grid-template-columns: 28px 1fr; align-items: center; width: 72%; padding: .6rem .7rem; border: 1px solid rgba(255,255,255,.62); border-radius: .7rem; background: rgba(255,255,255,.94); color: var(--tk-navy); box-shadow: 0 8px 24px rgba(0,0,0,.2); transform: translate(-50%,28px); animation: tk-how-upload 5.6s ease-in-out infinite; }
.tk-how-card__upload .material-icons { grid-row: span 2; color: var(--tk-blue); font-size: 1.45rem; }
.tk-how-card__upload b { font-size: .72rem; }
.tk-how-card__upload em { display: block; overflow: hidden; height: 4px; margin-top: .3rem; border-radius: 9px; background: #dcecf2; }
.tk-how-card__upload em::before { content: ""; display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--tk-blue),#58cfdd); transform-origin: left; animation: tk-how-progress 5.6s ease-in-out infinite; }
.tk-how-card--upload .tk-how-card__photo { animation: tk-how-photo-in 5.6s ease-in-out infinite; }
.tk-how-card__crop { position: absolute; z-index: 3; width: 26px; height: 26px; border-color: #7ee7f0; border-style: solid; animation: tk-how-crop 5.6s ease-in-out infinite .7s; }
.tk-how-card__crop--tl { top: 12%; left: 12%; border-width: 3px 0 0 3px; }.tk-how-card__crop--tr { top: 12%; right: 12%; border-width: 3px 3px 0 0; }.tk-how-card__crop--bl { bottom: 12%; left: 12%; border-width: 0 0 3px 3px; }.tk-how-card__crop--br { right: 12%; bottom: 12%; border-width: 0 3px 3px 0; }
.tk-how-card--compose .tk-how-card__photo img { animation: tk-how-compose 5.6s ease-in-out infinite .7s; }
.tk-how-card__dedication { position: absolute; z-index: 5; left: 50%; bottom: 8%; min-width: 58%; padding: .5rem .7rem; border-radius: .5rem; background: rgba(239,205,146,.96); color: #6a431d; text-align: center; font-family: Georgia,serif; font-size: .8rem; box-shadow: 0 6px 18px rgba(0,0,0,.2); transform: translateX(-50%); }
.tk-how-card__dedication i { display: inline-block; width: 1px; height: 1em; margin-left: 2px; background: currentColor; vertical-align: -.12em; animation: tk-how-cursor .8s steps(1) infinite; }
.tk-how-card__preview { position: absolute; z-index: 5; right: 7%; bottom: 8%; left: 7%; display: grid; gap: .45rem; padding: .65rem; border: 1px solid rgba(255,255,255,.65); border-radius: .7rem; background: rgba(255,255,255,.94); color: var(--tk-navy); box-shadow: 0 8px 24px rgba(0,0,0,.2); animation: tk-how-preview 5.6s ease-in-out infinite 1.4s; }
.tk-how-card__preview b { font-size: .72rem; }
.tk-how-card__preview em { display: inline-flex; align-items: center; justify-content: center; gap: .25rem; padding: .38rem .55rem; border-radius: .42rem; background: #1fac78; color: #fff; font-size: .7rem; font-style: normal; font-weight: 800; }
.tk-how-card__preview .material-icons { font-size: .95rem; }
.tk-how-card--approve .tk-how-card__photo { animation: tk-how-approve 5.6s ease-in-out infinite 1.4s; }
.tk-how-card--engrave .tk-how-card__photo img { filter: saturate(.74) contrast(1.08); }
.tk-how-card__laser { position: absolute; z-index: 3; top: 10%; bottom: 10%; left: 13%; width: 3px; background: #78f9ec; box-shadow: 0 0 8px #24fff0,0 0 20px #24fff0; animation: tk-how-laser 5.6s ease-in-out infinite 2.1s; }
.tk-how-card__laser::after { content: ""; position: absolute; top: 52%; left: 50%; width: 10px; height: 10px; border-radius: 50%; background: #fff; box-shadow: 0 0 12px 5px #60fff1; transform: translate(-50%,-50%); }
.tk-how-card__spark { position: absolute; z-index: 5; color: #c7fff8; text-shadow: 0 0 8px #5affed; animation: tk-how-spark 2.2s ease-in-out infinite; }.tk-how-card__spark--one { top: 20%; right: 16%; }.tk-how-card__spark--two { bottom: 24%; left: 18%; animation-delay: .8s; }
.tk-how-card__ready { position: absolute; z-index: 5; right: 7%; bottom: 8%; left: 7%; display: flex; align-items: center; justify-content: center; gap: .35rem; padding: .58rem; border-radius: .6rem; background: rgba(255,255,255,.94); color: var(--tk-navy); font-size: .72rem; font-weight: 800; box-shadow: 0 8px 24px rgba(0,0,0,.2); animation: tk-how-ready 5.6s ease-in-out infinite 2.1s; }
.tk-how-card__ready .material-icons { color: var(--tk-blue); font-size: 1.05rem; }
@keyframes tk-how-photo-in { 0%,12% { opacity:.35; transform:translate(-50%,8%) scale(.78); } 28%,82% { opacity:1; transform:translate(-50%,-50%) scale(1); } 100% { opacity:.35; transform:translate(-50%,-62%) scale(.9); } }
@keyframes tk-how-upload { 0%,10% { opacity:0; transform:translate(-50%,28px); } 25%,76% { opacity:1; transform:translate(-50%,0); } 92%,100% { opacity:0; transform:translate(-50%,-8px); } }
@keyframes tk-how-progress { 0%,18% { transform:scaleX(.08); } 48%,100% { transform:scaleX(1); } }
@keyframes tk-how-compose { 0%,15%,100% { transform:scale(1.12) translate(0,0); } 42%,72% { transform:scale(1.28) translate(-4%,3%); } }
@keyframes tk-how-crop { 0%,14%,100% { opacity:.25; transform:scale(.82); } 35%,75% { opacity:1; transform:scale(1); } }
@keyframes tk-how-cursor { 0%,49% { opacity:1; } 50%,100% { opacity:0; } }
@keyframes tk-how-preview { 0%,18%,100% { opacity:0; transform:translateY(18px); } 36%,78% { opacity:1; transform:translateY(0); } }
@keyframes tk-how-approve { 0%,20%,100% { transform:translate(-50%,-50%) scale(.96); } 42%,76% { transform:translate(-50%,-50%) scale(1.03); } }
@keyframes tk-how-laser { 0%,15% { left:13%; opacity:0; } 25% { opacity:1; } 70% { left:84%; opacity:1; } 82%,100% { left:84%; opacity:0; } }
@keyframes tk-how-spark { 0%,100% { opacity:.2; transform:scale(.7) rotate(0); } 50% { opacity:1; transform:scale(1.25) rotate(30deg); } }
@keyframes tk-how-ready { 0%,46%,100% { opacity:0; transform:translateY(14px); } 62%,88% { opacity:1; transform:translateY(0); } }
@media (min-width:768px) and (max-width:1199.98px) { .tk-how__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; max-width: 100%; }.tk-how__grid::before { display:none; }.tk-how-card__top { padding-inline: .75rem; }.tk-how-card__copy { padding: .9rem; }.tk-how-card__copy h3 { font-size: .92rem; }.tk-how-card__copy p { font-size: .76rem; } }

/* Animated process v2: phone transfer, base engraving, proof and color-to-3D engraving. */
.tk-how-card__scene { background: radial-gradient(circle at 76% 15%,rgba(104,219,233,.3),transparent 30%),linear-gradient(145deg,#082a43 0%,#0b5878 58%,#0d7497 100%); }
.tk-how-card__scene::before { content:""; position:absolute; inset:0; z-index:0; opacity:.16; background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px); background-size:24px 24px; }
.tk-how-card__scene::after { background:linear-gradient(180deg,transparent 68%,rgba(3,25,40,.18)); }
.tk-how-card__copy { min-height:156px; }
.tk-how-card__copy h3 { font-size:1.02rem; }
.tk-how-card__copy p { font-size:.82rem; }

.tk-process-phone { position:absolute; z-index:2; top:10%; left:8%; width:34%; height:68%; padding:6px; overflow:hidden; border:2px solid rgba(231,250,255,.82); border-radius:16px; background:#071a28; box-shadow:0 13px 26px rgba(0,0,0,.3); transform:rotate(-3deg); animation:tk-process-phone 7s ease-in-out infinite; }
.tk-process-phone::after { content:""; position:absolute; inset:6px; border-radius:10px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.24); pointer-events:none; }
.tk-process-phone__speaker { position:absolute; z-index:2; top:4px; left:50%; width:28%; height:4px; border-radius:99px; background:#173848; transform:translateX(-50%); }
.tk-process-phone img { width:100%; height:100%; border-radius:10px; object-fit:cover; }
.tk-process-transfer { position:absolute; z-index:5; top:40%; left:42%; display:flex; align-items:center; width:24%; color:#8ef5ff; }
.tk-process-transfer::before { content:""; position:absolute; right:10%; left:0; height:2px; background:linear-gradient(90deg,rgba(142,245,255,.15),#8ef5ff); box-shadow:0 0 8px #53ddea; }
.tk-process-transfer span { position:absolute; left:0; width:7px; height:7px; border-radius:50%; background:#fff; box-shadow:0 0 10px #64f5ff; animation:tk-process-data 2.1s ease-in-out infinite; }
.tk-process-transfer span:nth-child(2) { animation-delay:.42s; }.tk-process-transfer span:nth-child(3) { animation-delay:.84s; }
.tk-process-transfer i { position:absolute; right:0; color:#b7fbff; font-size:1.25rem; animation:tk-process-arrow 1.3s ease-in-out infinite; }
.tk-process-crystal { position:absolute; z-index:2; overflow:hidden; border:2px solid rgba(224,252,255,.78); border-radius:50%; background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.9),rgba(105,217,235,.25) 23%,rgba(5,43,67,.8) 78%); box-shadow:inset -9px -11px 18px rgba(0,15,30,.42),inset 8px 8px 14px rgba(255,255,255,.22),0 0 21px rgba(100,227,244,.34),0 15px 23px rgba(0,0,0,.25); }
.tk-process-crystal::before { content:""; position:absolute; z-index:4; top:9%; left:16%; width:36%; height:16%; border-radius:50%; background:radial-gradient(ellipse,rgba(255,255,255,.85),transparent 70%); transform:rotate(-8deg); }
.tk-process-crystal img { width:100%; height:100%; object-fit:cover; }
.tk-process-crystal--small { top:20%; right:7%; width:35%; aspect-ratio:1; animation:tk-process-receive 7s ease-in-out infinite; }
.tk-process-crystal--small img { filter:grayscale(1) contrast(1.38) brightness(1.17); opacity:.76; mix-blend-mode:screen; }
.tk-process-status { position:absolute; z-index:6; right:8%; bottom:8%; display:flex; align-items:center; gap:.28rem; padding:.4rem .55rem; border:1px solid rgba(255,255,255,.58); border-radius:999px; background:rgba(255,255,255,.94); color:#086f9e; font-size:.62rem; font-weight:850; box-shadow:0 8px 18px rgba(0,0,0,.2); animation:tk-process-status 7s ease-in-out infinite; }
.tk-process-status i { color:#12a878; font-size:.95rem; }

.tk-process-crystal--base { top:6%; left:50%; width:48%; aspect-ratio:1; transform:translateX(-50%); }
.tk-process-crystal--base img,.tk-process-crystal--proof img { filter:grayscale(1) contrast(1.42) brightness(1.18); opacity:.74; mix-blend-mode:screen; }
.tk-process-wood-base { position:absolute; z-index:5; right:18%; bottom:10%; left:18%; display:grid; min-height:21%; place-items:center; overflow:hidden; border-radius:50% 50% 14px 14px / 25% 25% 16px 16px; background:linear-gradient(90deg,#5b331b,#c58b50 18%,#e0ad6b 49%,#bc7b3e 82%,#543019); box-shadow:inset 0 8px 8px rgba(255,233,189,.35),0 10px 19px rgba(0,0,0,.29); }
.tk-process-wood-base::before { content:""; position:absolute; top:0; right:2%; left:2%; height:15px; border-radius:50%; background:radial-gradient(ellipse,#fff4c0 0%,#dca25e 38%,#704321 74%); box-shadow:0 0 17px rgba(255,220,133,.6); }
.tk-process-wood-base__text,.tk-process-wood-base--final span { position:relative; z-index:2; max-width:82%; overflow:hidden; color:#5c341d; font-family:Georgia,serif; font-size:.73rem; white-space:nowrap; text-shadow:0 1px rgba(255,239,205,.55); }
.tk-process-wood-base__text { clip-path:inset(0 100% 0 0); animation:tk-process-text-engrave 7s ease-in-out infinite; }
.tk-process-base-laser { position:absolute; z-index:4; top:38%; bottom:13%; left:9%; width:2px; background:#82fff3; box-shadow:0 0 7px #29fff0,0 0 14px #29fff0; animation:tk-process-base-laser 7s ease-in-out infinite; }
.tk-process-base-laser::after { content:""; position:absolute; bottom:1px; left:50%; width:7px; height:7px; border-radius:50%; background:#fff; box-shadow:0 0 10px 4px #62fff3; transform:translate(-50%,50%); }
.tk-process-pencil { position:absolute; z-index:6; top:8%; right:7%; display:flex; align-items:center; gap:.25rem; padding:.36rem .5rem; border-radius:999px; background:rgba(255,255,255,.93); color:#075f88; font-size:.61rem; font-weight:850; animation:tk-process-pencil 7s ease-in-out infinite; }
.tk-process-pencil i { font-size:.9rem; }

.tk-process-proof { position:absolute; z-index:2; top:8%; right:8%; bottom:10%; left:8%; overflow:hidden; border:1px solid rgba(255,255,255,.62); border-radius:.8rem; background:rgba(247,253,255,.96); box-shadow:0 16px 30px rgba(0,0,0,.3); animation:tk-process-proof 7s ease-in-out infinite; }
.tk-process-proof__bar { display:flex; align-items:center; gap:4px; height:28px; padding:0 .55rem; border-bottom:1px solid #d9ebf0; background:#edf7fa; }
.tk-process-proof__bar span { width:6px; height:6px; border-radius:50%; background:#9abac6; }.tk-process-proof__bar span:first-child { background:#5fcbd9; }
.tk-process-proof__bar b { margin-left:auto; color:#315a6f; font-size:.58rem; }
.tk-process-proof__body { position:relative; height:calc(100% - 28px); }
.tk-process-crystal--proof { top:8%; left:50%; width:47%; aspect-ratio:1; transform:translateX(-50%); box-shadow:inset -7px -9px 15px rgba(0,15,30,.35),inset 6px 6px 12px rgba(255,255,255,.25),0 0 16px rgba(85,202,221,.26); }
.tk-process-proof__actions { position:absolute; right:7%; bottom:7%; left:7%; display:grid; grid-template-columns:1fr 1.25fr; gap:.35rem; }
.tk-process-proof__actions span,.tk-process-proof__actions strong { display:flex; min-height:25px; align-items:center; justify-content:center; border-radius:.35rem; font-size:.55rem; }
.tk-process-proof__actions span { border:1px solid #a9cbd6; color:#527180; }.tk-process-proof__actions strong { gap:.15rem; background:#13a975; color:#fff; box-shadow:0 5px 12px rgba(19,169,117,.24); animation:tk-process-approve-button 7s ease-in-out infinite; }
.tk-process-proof__actions i { font-size:.72rem; }
.tk-process-approved { position:absolute; z-index:6; right:7%; bottom:6%; display:flex; align-items:center; gap:.25rem; padding:.42rem .55rem; border-radius:999px; background:#fff; color:#0b805c; font-size:.59rem; font-weight:850; box-shadow:0 8px 18px rgba(0,0,0,.23); animation:tk-process-approved 7s ease-in-out infinite; }
.tk-process-approved i { font-size:.9rem; }

.tk-process-crystal--final { top:7%; left:50%; width:55%; aspect-ratio:1; transform:translateX(-50%); }
.tk-process-crystal--final > img,.tk-process-engraving-layer,.tk-process-engraving-layer img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tk-process-color-layer { animation:tk-process-color-fade 7s ease-in-out infinite; }
.tk-process-engraving-layer { z-index:2; overflow:hidden; clip-path:inset(0 100% 0 0); animation:tk-process-engraving-reveal 7s ease-in-out infinite; }
.tk-process-engraving-layer img { filter:grayscale(1) contrast(1.55) brightness(1.28); opacity:.78; mix-blend-mode:screen; }
.tk-process-engraving-scan { position:absolute; z-index:5; top:4%; bottom:4%; left:0; width:3px; background:#9ffff5; box-shadow:0 0 8px #30fff1,0 0 19px #30fff1; animation:tk-process-engraving-scan 7s ease-in-out infinite; }
.tk-process-engraving-scan::after { content:""; position:absolute; top:52%; left:50%; width:9px; height:9px; border-radius:50%; background:#fff; box-shadow:0 0 11px 5px #69fff3; transform:translate(-50%,-50%); }
.tk-process-wood-base--final { right:20%; bottom:6%; left:20%; min-height:18%; }
.tk-process-before,.tk-process-after { position:absolute; z-index:6; top:8%; padding:.3rem .48rem; border-radius:999px; font-size:.55rem; font-weight:850; }
.tk-process-before { left:6%; background:rgba(255,255,255,.92); color:#31586c; animation:tk-process-label-before 7s ease-in-out infinite; }
.tk-process-after { right:6%; background:#dffcff; color:#086f9e; animation:tk-process-label-after 7s ease-in-out infinite; }
.tk-process-spark { position:absolute; z-index:6; color:#c8fff9; text-shadow:0 0 8px #60fff0; animation:tk-process-spark 1.8s ease-in-out infinite; }.tk-process-spark--one { top:21%; right:14%; }.tk-process-spark--two { bottom:28%; left:14%; animation-delay:.7s; }

@keyframes tk-process-phone { 0%,100% { transform:rotate(-3deg) scale(.96); } 20%,70% { transform:rotate(-1deg) scale(1); } }
@keyframes tk-process-data { 0% { left:0; opacity:0; transform:scale(.7); } 20% { opacity:1; } 78% { opacity:1; } 100% { left:82%; opacity:0; transform:scale(1.15); } }
@keyframes tk-process-arrow { 0%,100% { transform:translateX(-2px); opacity:.65; } 50% { transform:translateX(3px); opacity:1; } }
@keyframes tk-process-receive { 0%,14%,100% { opacity:.4; transform:scale(.86); } 36%,78% { opacity:1; transform:scale(1); } }
@keyframes tk-process-status { 0%,34%,100% { opacity:0; transform:translateY(9px); } 48%,83% { opacity:1; transform:translateY(0); } }
@keyframes tk-process-text-engrave { 0%,18%,100% { clip-path:inset(0 100% 0 0); } 62%,86% { clip-path:inset(0 0 0 0); } }
@keyframes tk-process-base-laser { 0%,13% { left:9%; opacity:0; } 24% { opacity:1; } 61% { left:89%; opacity:1; } 72%,100% { left:89%; opacity:0; } }
@keyframes tk-process-pencil { 0%,12%,100% { opacity:.45; transform:translateY(-5px); } 28%,75% { opacity:1; transform:translateY(0); } }
@keyframes tk-process-proof { 0%,14%,100% { transform:translateY(8px) scale(.96); opacity:.7; } 30%,84% { transform:translateY(0) scale(1); opacity:1; } }
@keyframes tk-process-approve-button { 0%,36%,100% { transform:scale(1); } 48%,61% { transform:scale(.94); box-shadow:0 0 0 4px rgba(19,169,117,.2); } }
@keyframes tk-process-approved { 0%,52%,100% { opacity:0; transform:translateY(8px); } 66%,87% { opacity:1; transform:translateY(0); } }
@keyframes tk-process-color-fade { 0%,20% { opacity:1; } 67%,88% { opacity:.16; } 100% { opacity:1; } }
@keyframes tk-process-engraving-reveal { 0%,18%,100% { clip-path:inset(0 100% 0 0); } 67%,88% { clip-path:inset(0 0 0 0); } }
@keyframes tk-process-engraving-scan { 0%,14% { left:0; opacity:0; } 24% { opacity:1; } 67% { left:99%; opacity:1; } 78%,100% { left:99%; opacity:0; } }
@keyframes tk-process-label-before { 0%,28% { opacity:1; } 62%,100% { opacity:.28; } }
@keyframes tk-process-label-after { 0%,30% { opacity:.25; } 65%,88% { opacity:1; } 100% { opacity:.25; } }
@keyframes tk-process-spark { 0%,100% { opacity:.2; transform:scale(.7) rotate(0); } 50% { opacity:1; transform:scale(1.25) rotate(28deg); } }

.page-index .ps-newproducts { padding: clamp(4rem,7vw,6.5rem) max(1rem,calc((100vw - 1320px)/2)); background: #fff; }
.page-index .ps-newproducts .section-title { color: var(--tk-navy); font-size: clamp(2rem,3.2vw,2.8rem); letter-spacing: -.03em; }
.product-miniature { border-radius: 1rem; overflow: hidden; border-color: var(--tk-line) !important; box-shadow: 0 8px 28px rgba(8,42,67,.06); }
.product-miniature:hover { transform: translateY(-4px); box-shadow: var(--tk-shadow); }
.product-miniature img { background: #f3f7f9; }

.page-product .product__container { gap: clamp(2rem,5vw,5rem); padding-top: 1.5rem; }
.page-product .product__name { color: var(--tk-navy); font-size: clamp(1.75rem,3vw,2.55rem); letter-spacing: -.03em; }
.page-product .product__price { color: var(--tk-blue); font-weight: 800; }
.page-product .product__images { padding: .85rem; border: 1px solid var(--tk-line); border-radius: 1.25rem; background: #fff; box-shadow: 0 15px 45px rgba(8,42,67,.09); }
.page-product .wk-product-customization .card { margin-top: 1.4rem; padding: 1.35rem; border: 2px dashed #9bcddd; border-radius: 1rem; background: linear-gradient(135deg,#f5fbfd,#eaf7fb); box-shadow: none; }
.page-product .wk-product-customization .card-title { color: var(--tk-navy); font-size: 1.15rem; font-weight: 800; }
.page-product .wk-product-customization .card-title span { color: var(--tk-blue); }
.tk-how-to-order { margin: 1.25rem 0; overflow: hidden; border: 1px solid #bdd8e4; border-radius: .9rem; background: #fff; box-shadow: 0 8px 24px rgba(8,42,67,.06); }
.tk-how-to-order summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 58px; padding: .85rem 1rem; cursor: pointer; list-style: none; color: var(--tk-navy); font-size: 1.05rem; font-weight: 800; transition: background-color .2s ease,color .2s ease; }
.tk-how-to-order summary::-webkit-details-marker { display: none; }
.tk-how-to-order summary > span { display: inline-flex; align-items: center; gap: .55rem; }
.tk-how-to-order summary > span .material-icons { color: var(--tk-blue); font-size: 1.25rem; }
.tk-how-to-order summary:hover,.tk-how-to-order summary:focus-visible { background: var(--tk-ice); outline: none; }
.tk-how-to-order__arrow { flex: 0 0 auto; color: var(--tk-blue); transition: transform .2s ease; }
.tk-how-to-order[open] .tk-how-to-order__arrow { transform: rotate(180deg); }
.tk-how-to-order__content { padding: .95rem 1rem 1rem; border-top: 1px solid var(--tk-line); color: #314b5d; }
.tk-how-to-order__content > :first-child { margin-top: 0; }
.tk-how-to-order__content > :last-child { margin-bottom: 0; }
.tk-how-to-order__content ol { margin-bottom: .85rem; padding-left: 1.35rem; }
.tk-how-to-order__content li + li { margin-top: .35rem; }
.page-product .product-customization-item { margin-top: 1rem; list-style: none; }
.page-product .product-customization-item label { margin-bottom: .45rem; color: var(--tk-navy); font-weight: 700; }
.page-product .custom-file { min-height: 50px; border: 1px solid #b9d7e2; border-radius: .65rem; background: #fff; overflow: hidden; }
.page-product .custom-file .btn { border-radius: .55rem; }
.page-product .product-message { min-height: 92px; border-color: #b9d7e2; border-radius: .65rem; background: #fff; }
.tk-dedication-step { padding: 1rem; border: 1px solid #b9d7e2; border-radius: .85rem; background: #f8fcfd; }
.tk-dedication-step > label { display: block; font-size: 1rem; }
.tk-dedication-help { display: flex; align-items: flex-start; gap: .5rem; margin: .65rem 0 0; color: #425d6e; font-size: .8rem; line-height: 1.45; }
.tk-dedication-help .material-icons { flex: 0 0 auto; color: var(--tk-blue); font-size: 1.05rem; }
.tk-dedication-preview { display: grid; gap: .45rem; margin-top: .85rem; padding: .8rem; border: 1px solid #c8dce5; border-radius: .75rem; background: #fff; }
.tk-dedication-preview > span { color: var(--tk-navy); font-size: .76rem; font-weight: 800; }
.tk-dedication-preview > small { color: var(--tk-muted); font-size: .7rem; line-height: 1.4; }
.tk-dedication-preview__base { position: relative; display: grid; place-items: center; min-height: 58px; padding: .85rem 1.25rem .65rem; overflow: hidden; border-radius: 45% 45% 14px 14px; background: linear-gradient(90deg,#1b100a,#765038 18%,#b9855b 50%,#69442e 82%,#1a0f09); box-shadow: inset 0 7px 8px rgba(255,228,190,.24),0 9px 18px rgba(8,42,67,.18); }
.tk-dedication-preview__base::before { content: ''; position: absolute; top: 0; left: 4%; width: 92%; height: 12px; border-radius: 50%; background: radial-gradient(ellipse,#fff7c8 0%,#dbaa68 35%,#50301f 72%); box-shadow: 0 0 18px rgba(255,230,151,.38); }
.tk-dedication-preview__base strong { position: relative; z-index: 1; max-width: 100%; overflow: hidden; color: #f4dcc0; font-family: Georgia,serif; font-size: clamp(.8rem,3.5vw,1rem); font-weight: 500; line-height: 1.15; text-align: center; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.7); }
.tk-dedication-preview--touch .tk-dedication-preview__base { min-height: 68px; padding: .6rem 3.1rem .65rem 1rem; border: 1px solid #334657; border-radius: 10px 10px 16px 16px; background: linear-gradient(155deg,#283440 0%,#080d12 48%,#1a222b 100%); box-shadow: inset 0 8px 14px rgba(255,255,255,.08),0 10px 22px rgba(8,42,67,.24); }
.tk-dedication-preview--touch .tk-dedication-preview__base::before { top: 0; left: 3%; width: 94%; height: 7px; border-radius: 8px; background: linear-gradient(90deg,#166caa,#54e7f2 48%,#5e8fff); box-shadow: 0 0 16px rgba(62,221,244,.75); }
.tk-dedication-preview--touch .tk-dedication-preview__base::after { content: 'power_settings_new'; position: absolute; top: 50%; right: 1rem; color: #c8f9ff; font-family: 'Material Icons'; font-size: 1.45rem; text-shadow: 0 0 10px rgba(76,226,245,.8); transform: translateY(-44%); }
.tk-dedication-preview--touch .tk-dedication-preview__base strong { color: #f4f8fa; font-family: inherit; font-size: clamp(.76rem,3.2vw,.95rem); font-weight: 700; text-shadow: 0 1px 3px #000; }
.tk-crystal-base__engraving { position: absolute; z-index: 3; top: 26px; right: 12%; left: 12%; overflow: hidden; color: #f3d8b8; font-family: Georgia,serif; font-size: clamp(.45rem,1.8vw,.68rem); font-weight: 500; line-height: 1; text-align: center; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.8); }
.tk-crystal-base__engraving.is-placeholder { opacity: .46; }
.page-product .product__add-to-cart-button { min-height: 52px; padding-inline: 1.5rem; border-radius: .7rem; font-size: 1rem; font-weight: 800; }
.tk-configurator-purchase .product__actions-qty-add,
.tk-configurator-purchase .product-add-to-cart,
.tk-configurator-purchase .product__add-to-cart { display: none !important; }
.tk-upload-help { display: flex; gap: .5rem; align-items: flex-start; margin-top: .65rem; color: var(--tk-muted); font-size: .78rem; line-height: 1.45; }.tk-upload-help .material-icons { color: var(--tk-blue); font-size: 1rem; }
.tk-upload-preview { display: grid; grid-template-columns: 76px 1fr; align-items: center; gap: .8rem; margin-top: .8rem; padding: .7rem; border: 1px solid #b8dce6; border-radius: .7rem; background: #fff; }
.tk-upload-preview img { width: 76px; height: 76px; object-fit: cover; border-radius: .5rem; }.tk-upload-preview strong,.tk-upload-preview span { display: block; }.tk-upload-preview strong { color: var(--tk-navy); }.tk-upload-preview span { margin-top: .2rem; color: var(--tk-muted); font-size: .78rem; }
.tk-crystal-configurator { margin-top: 1rem; overflow: hidden; border: 1px solid #a9d7e4; border-radius: 1rem; background: #fff; box-shadow: 0 12px 34px rgba(8,42,67,.09); }
.tk-crystal-configurator__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border-bottom: 1px solid #d9ebf1; background: linear-gradient(135deg,#f7fcfd,#eaf7fb); }
.tk-crystal-configurator__heading > div { display: grid; gap: .12rem; }.tk-crystal-configurator__heading span { color: var(--tk-blue); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.tk-crystal-configurator__heading strong { color: var(--tk-navy); font-size: 1rem; }
.tk-crystal-info { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .3rem; min-height: 38px; padding: .45rem .65rem; border: 1px solid #a9d7e4; border-radius: .6rem; background: #fff; color: var(--tk-blue); font-size: .72rem; font-weight: 800; }.tk-crystal-info:hover { border-color: var(--tk-blue); background: var(--tk-ice); }.tk-crystal-info .material-icons { font-size: 1.05rem; }
.tk-crystal-stage { position: relative; display: grid; place-items: center; min-height: 390px; padding: 1.25rem 1rem 3rem; overflow: hidden; background: radial-gradient(circle at 50% 32%,rgba(64,194,226,.3),transparent 29%),linear-gradient(155deg,#061a2b 0%,#0a3551 55%,#071725 100%); }
.tk-crystal-stage::before { content: ''; position: absolute; inset: 0; opacity: .22; background-image: radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 75% 35%,#8feeff 0 1px,transparent 1.5px); background-size: 58px 58px,82px 82px; }
.tk-crystal-sphere { position: relative; z-index: 1; width: min(76%,300px); aspect-ratio: 1; border: 2px solid rgba(210,248,255,.72); border-radius: 50%; background: radial-gradient(circle at 34% 25%,rgba(255,255,255,.65),rgba(97,213,235,.25) 15%,rgba(13,93,131,.34) 55%,rgba(3,25,43,.76) 100%); box-shadow: inset -24px -28px 42px rgba(0,7,17,.45),inset 14px 16px 28px rgba(255,255,255,.16),0 0 32px rgba(75,218,244,.3),0 30px 40px rgba(0,0,0,.38); }
.tk-crystal-sphere::before { content: ''; position: absolute; z-index: 4; top: 8%; left: 16%; width: 32%; height: 17%; border-radius: 50%; background: radial-gradient(ellipse,rgba(255,255,255,.82),rgba(255,255,255,0) 70%); transform: rotate(-32deg); pointer-events: none; }
.tk-crystal-sphere::after { content: ''; position: absolute; z-index: 4; inset: 4%; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; box-shadow: inset 8px 4px 20px rgba(255,255,255,.14); pointer-events: none; }
.tk-crystal-sphere__photo { position: absolute; z-index: 2; inset: 10%; overflow: hidden; border-radius: 50%; touch-action: none; cursor: grab; -webkit-user-select: none; user-select: none; }.tk-crystal-sphere__photo.is-dragging { cursor: grabbing; }
.tk-crystal-sphere__photo img { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; max-width: none; object-fit: cover; opacity: 0; filter: grayscale(1) contrast(1.45) brightness(1.65); mix-blend-mode: screen; pointer-events: none; transition: opacity .25s ease,filter .25s ease; will-change: transform; }
.tk-crystal-sphere__empty { position: absolute; z-index: 3; inset: 0; display: grid; place-content: center; justify-items: center; gap: .35rem; color: rgba(229,250,255,.78); text-align: center; pointer-events: none; }.tk-crystal-sphere__empty .material-icons { font-size: 2.35rem; }.tk-crystal-sphere__empty span { font-size: .78rem; font-weight: 750; }
.tk-crystal-configurator.is-ready .tk-crystal-sphere__photo img { opacity: .83; }.tk-crystal-configurator.is-ready .tk-crystal-sphere__empty { display: none; }
.tk-crystal-file-picker { display: grid; gap: .55rem; padding: 1rem; border-top: 1px solid #d9ebf1; background: #fff; }
.tk-crystal-file-picker > label { margin: 0; color: var(--tk-navy); font-size: .85rem; font-weight: 800; }
.tk-crystal-file-picker .custom-file { width: 100%; }
.tk-crystal-file-picker .float-xs-right { justify-self: end; color: var(--tk-muted); font-size: .68rem; }
.tk-crystal-file-picker .tk-upload-help { margin-top: .15rem; }
.tk-crystal-file-picker .tk-photo-quality,.tk-crystal-file-picker .tk-upload-preview { margin-top: .2rem; }
.tk-crystal-configurator--natural .tk-crystal-sphere__photo img { opacity: .74; filter: saturate(.86) contrast(1.08) brightness(1.08); mix-blend-mode: screen; }
.tk-shape-rectangle .tk-crystal-sphere { width: min(60%,240px); aspect-ratio: 3 / 4; border-radius: 0; clip-path: polygon(8% 0,92% 0,100% 6%,100% 94%,92% 100%,8% 100%,0 94%,0 6%); background: linear-gradient(145deg,rgba(255,255,255,.66),rgba(64,188,219,.25) 26%,rgba(4,38,63,.84)); }
.tk-shape-rectangle .tk-crystal-sphere::before { top: 5%; left: 9%; width: 42%; height: 12%; border-radius: 70%; }
.tk-shape-rectangle .tk-crystal-sphere::after { inset: 4%; border-radius: 0; clip-path: polygon(7% 0,93% 0,100% 5%,100% 95%,93% 100%,7% 100%,0 95%,0 5%); }
.tk-shape-rectangle .tk-crystal-sphere__photo { inset: 8%; border-radius: 0; clip-path: polygon(6% 0,94% 0,100% 4%,100% 96%,94% 100%,6% 100%,0 96%,0 4%); }
.tk-shape-rectangle .tk-crystal-base { bottom: 1.2rem; width: min(48%,180px); height: 54px; border-radius: 8px 8px 12px 12px; }
.tk-shape-rectangle .tk-crystal-base::before { top: -6px; left: 3%; width: 94%; height: 13px; border-radius: 8px 8px 45% 45%; }
.tk-shape-heart .tk-crystal-sphere { width: min(74%,290px); aspect-ratio: 1; border-radius: 0; clip-path: polygon(50% 96%,39% 85%,24% 72%,12% 58%,5% 43%,6% 29%,13% 17%,25% 11%,37% 13%,50% 25%,63% 13%,75% 11%,87% 17%,94% 29%,95% 43%,88% 58%,76% 72%,61% 85%); background: radial-gradient(circle at 35% 24%,rgba(255,255,255,.7),rgba(94,207,229,.25) 25%,rgba(5,45,71,.86) 76%); }
.tk-shape-heart .tk-crystal-sphere::before { top: 15%; left: 18%; width: 28%; height: 13%; border-radius: 70%; }
.tk-shape-heart .tk-crystal-sphere::after { inset: 5%; border-radius: 0; clip-path: polygon(50% 96%,39% 85%,24% 72%,12% 58%,5% 43%,6% 29%,13% 17%,25% 11%,37% 13%,50% 25%,63% 13%,75% 11%,87% 17%,94% 29%,95% 43%,88% 58%,76% 72%,61% 85%); }
.tk-shape-heart .tk-crystal-sphere__photo { inset: 10% 11% 13%; border-radius: 0; clip-path: polygon(50% 96%,39% 85%,24% 72%,12% 58%,5% 43%,6% 29%,13% 17%,25% 11%,37% 13%,50% 25%,63% 13%,75% 11%,87% 17%,94% 29%,95% 43%,88% 58%,76% 72%,61% 85%); }
.tk-shape-cube .tk-crystal-sphere { width: min(70%,275px); aspect-ratio: 1; border-radius: .7rem; clip-path: polygon(8% 0,92% 0,100% 8%,100% 92%,92% 100%,8% 100%,0 92%,0 8%); background: linear-gradient(145deg,rgba(255,255,255,.62),rgba(64,188,219,.24) 32%,rgba(4,38,63,.82)); }
.tk-shape-cube .tk-crystal-sphere::after { inset: 5%; border-radius: .35rem; }
.tk-shape-cube .tk-crystal-sphere__photo { inset: 11%; border-radius: .35rem; }
.tk-crystal-base { position: absolute; z-index: 2; bottom: 1.05rem; left: 50%; width: min(55%,220px); height: 58px; border-radius: 45% 45% 18px 18px; background: linear-gradient(90deg,#120b07,#78513a 18%,#bb8b60 50%,#69452f 82%,#110b08); box-shadow: inset 0 7px 7px rgba(255,228,190,.25),0 18px 24px rgba(0,0,0,.48); transform: translateX(-50%); }.tk-crystal-base::before { content: ''; position: absolute; top: -8px; left: 4%; width: 92%; height: 18px; border-radius: 50%; background: radial-gradient(ellipse,#fff7c8 0%,#dbaa68 35%,#50301f 72%); box-shadow: 0 0 25px rgba(255,230,151,.48); }.tk-crystal-base span { position: absolute; inset: 17px 12% auto; height: 3px; border-radius: 99px; background: rgba(255,226,185,.25); }
.tk-crystal-base__power { display: none; }
.tk-shape-rectangle .tk-crystal-base,.tk-shape-heart .tk-crystal-base { width: min(58%,220px); height: 58px; border: 1px solid #35495a; border-radius: 10px 10px 16px 16px; background: linear-gradient(155deg,#2d3b47 0%,#080d12 48%,#18222b 100%); box-shadow: inset 0 9px 15px rgba(255,255,255,.08),0 18px 28px rgba(0,0,0,.5); }
.tk-shape-rectangle .tk-crystal-base::before,.tk-shape-heart .tk-crystal-base::before { top: -7px; left: 3%; width: 94%; height: 14px; border-radius: 9px; background: linear-gradient(90deg,#1466a8,#4ce4ef 48%,#687cff); box-shadow: 0 0 22px rgba(62,221,244,.72),inset 0 2px 4px rgba(255,255,255,.85); }
.tk-shape-rectangle .tk-crystal-base span,.tk-shape-heart .tk-crystal-base span { inset: 13px 10% auto; height: 2px; background: linear-gradient(90deg,transparent,rgba(187,245,255,.55),transparent); }
.tk-shape-rectangle .tk-crystal-base__power,.tk-shape-heart .tk-crystal-base__power { position: absolute; right: .75rem; bottom: .65rem; display: block; color: #c8f9ff; font-size: 1.05rem; text-shadow: 0 0 10px rgba(76,226,245,.8); }
.tk-shape-rectangle .tk-crystal-base__engraving,.tk-shape-heart .tk-crystal-base__engraving { top: 28px; right: 2.6rem; left: .7rem; color: #f4f8fa; font-family: inherit; font-size: clamp(.43rem,1.7vw,.64rem); font-weight: 700; text-shadow: 0 1px 3px #000; }

.quickview .tk-configurator-internal-field { display: none !important; }
.tk-quickview-crystal-preview { display: none; margin: 0; overflow: hidden; border: 1px solid #c6e1eb; border-radius: 1.1rem; background: #f4fbfd; }
.tk-quickview-crystal-preview.is-visible { display: block; }
.tk-quickview-crystal-preview .tk-crystal-stage { min-height: clamp(360px,46vw,620px); border-radius: 1rem; }
.tk-quickview-crystal-preview .tk-crystal-sphere { width: min(72%,430px); }
.tk-quickview-crystal-preview.tk-shape-rectangle .tk-crystal-sphere { width: min(54%,310px); }
.tk-quickview-crystal-preview .tk-crystal-base { bottom: 2rem; }
.tk-quickview-crystal-preview__badge { position: absolute; z-index: 4; right: 1rem; bottom: 1rem; left: 1rem; display: flex; align-items: center; justify-content: center; gap: .45rem; padding: .65rem 1rem; border: 1px solid rgba(155,226,239,.65); border-radius: .8rem; background: rgba(6,37,57,.82); color: #fff; font-size: .78rem; font-weight: 800; text-align: center; backdrop-filter: blur(8px); }
.tk-quickview-crystal-preview__badge .material-icons { color: #55d8e7; font-size: 1rem; }
.tk-crystal-controls { display: grid; gap: .85rem; padding: 1rem; border-top: 1px solid #d9ebf1; }.tk-crystal-controls[hidden] { display: none; }.tk-crystal-controls label { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .8rem; margin: 0; color: var(--tk-navy); font-size: .78rem; font-weight: 750; }.tk-crystal-zoom { width: 100%; accent-color: var(--tk-blue); }
.tk-crystal-controls__buttons { display: grid; grid-template-columns: repeat(2,1fr); gap: .55rem; }.tk-crystal-controls button { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-height: 42px; padding: .55rem .7rem; border: 1px solid #b9d7e2; border-radius: .6rem; background: #fff; color: var(--tk-navy); font-size: .74rem; font-weight: 750; }.tk-crystal-controls button:hover { border-color: var(--tk-blue); }.tk-crystal-controls button.is-active { border-color: var(--tk-blue); background: var(--tk-ice); }.tk-crystal-controls button .material-icons { font-size: 1rem; }
.tk-crystal-size-picker { display: grid; min-width: 0; gap: .65rem; padding-top: .9rem; border-top: 1px solid #d9ebf1; }.tk-crystal-size-picker__title { display: grid; min-width: 0; grid-template-columns: auto minmax(0,1fr); align-items: center; column-gap: .55rem; }.tk-crystal-size-picker__title > span { grid-row: 1 / 3; align-self: stretch; display: grid; place-items: center; min-width: 54px; border-radius: .55rem; background: var(--tk-navy); color: #fff; font-size: .68rem; font-weight: 800; text-transform: uppercase; }.tk-crystal-size-picker__title strong { min-width: 0; color: var(--tk-navy); font-size: .92rem; }.tk-crystal-size-picker__title small { min-width: 0; color: var(--tk-muted); font-size: .7rem; }
.tk-crystal-size-step { display: block; margin: 0 0 1rem; padding: 1rem; border: 1px solid #b9d7e2; border-radius: .9rem; background: linear-gradient(135deg,#f7fbfd,#eef8fb); list-style: none; }
.tk-crystal-size-step .tk-crystal-size-picker { padding-top: 0; border-top: 0; }
.tk-crystal-upload-step { position: relative; margin-top: 0; padding-top: 0; }
.tk-crystal-upload-step__title { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: .55rem; margin: 0 0 .85rem; padding: .8rem; border-radius: .75rem; background: #f3f8fa; }
.tk-crystal-upload-step__title > span { grid-row: 1 / 3; align-self: stretch; display: grid; place-items: center; min-width: 54px; border-radius: .55rem; background: var(--tk-navy); color: #fff; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.tk-crystal-upload-step__title strong { color: var(--tk-navy); font-size: .92rem; }
.tk-crystal-upload-step__title small { color: var(--tk-muted); font-size: .7rem; }
.tk-dedication-disabled { display: none !important; }
.tk-product-help { display: grid; grid-template-columns: 58px minmax(0,1fr); gap: 1rem; margin-top: 1rem; padding: 1.1rem; border: 1px solid #b9d7e2; border-radius: .9rem; background: linear-gradient(135deg,#fff,#f1f9fb); box-shadow: 0 10px 28px rgba(8,42,67,.08); }
.tk-product-help__icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #e7f7fb; color: var(--tk-blue); font-size: 2rem; }
.tk-product-help > div { min-width: 0; }
.tk-product-help strong { display: block; color: var(--tk-navy); font-size: 1rem; }
.tk-product-help p { margin: .25rem 0 .55rem; color: var(--tk-muted); font-size: .76rem; line-height: 1.45; }
.tk-product-help ul { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: 0 0 .75rem; padding: 0; list-style: none; color: var(--tk-navy); font-size: .7rem; }
.tk-product-help li::before { content: '✓'; margin-right: .3rem; color: var(--tk-blue); font-weight: 900; }
.tk-product-help .btn { display: inline-flex; align-items: center; gap: .35rem; min-height: 42px; border-radius: .6rem; font-weight: 800; }
.tk-product-help .btn .material-icons { font-size: 1rem; }

/* 2026-08-27: skupiony, spójny obszar kreatora. */
.tk-creator-workspace { display: block; margin: 1rem 0 1.4rem; padding: 1rem; border: 1px solid #a9d7e4; border-radius: 1.1rem; background: linear-gradient(145deg,#f8fcfd,#edf8fb); box-shadow: 0 18px 46px rgba(8,42,67,.1); list-style: none; }
.tk-creator-workspace__intro { display: grid; gap: .18rem; margin: -.1rem 0 1rem; padding: .9rem 1rem; border-radius: .85rem; background: #082a43; color: #fff; list-style: none; }
.tk-creator-workspace__intro span { color: #79d8e9; font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tk-creator-workspace__intro strong { font-size: 1.15rem; }
.tk-creator-workspace__intro small { color: rgba(255,255,255,.78); font-size: .76rem; line-height: 1.45; }
.tk-creator-workspace > .product-customization-item:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
  .tk-creator-workspace { margin-inline: -.25rem; padding: .65rem; border-radius: .9rem; }
  .tk-creator-workspace__intro { padding: .75rem; }
}
.tk-photo-quality { display: flex; align-items: flex-start; gap: .55rem; margin-top: .75rem; padding: .75rem .8rem; border: 1px solid transparent; border-radius: .7rem; font-size: .72rem; line-height: 1.4; }
.tk-photo-quality[hidden] { display: none; }
.tk-photo-quality .material-icons { flex: 0 0 auto; font-size: 1.1rem; }
.tk-photo-quality > div { display: grid; gap: .12rem; }
.tk-photo-quality strong { color: inherit; font-size: .78rem; }
.tk-photo-quality span { color: inherit; }
.tk-photo-quality--good { border-color: #a8d7ba; background: #edf9f1; color: #17633a; }
.tk-photo-quality--medium { border-color: #d7c58d; background: #fff8df; color: #715400; }
.tk-photo-quality--low { border-color: #e5a9ae; background: #fff1f2; color: #9f1239; }
.tk-original-size-select { display: none !important; }
.tk-crystal-size-options { display: grid; min-width: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }.tk-crystal-size-option { display: grid !important; min-width: 0; grid-template-columns: auto minmax(0,1fr) auto; justify-content: stretch !important; align-items: center; gap: .6rem !important; min-height: 72px !important; padding: .7rem !important; text-align: left; }.tk-crystal-size-option__check { display: grid; place-items: center; width: 26px; height: 26px; border: 2px solid #9db6c3; border-radius: 50%; color: transparent; }.tk-crystal-size-option__check .material-icons { font-size: .95rem !important; }.tk-crystal-size-option > span:nth-child(2) { display: grid; min-width: 0; gap: .1rem; }.tk-crystal-size-option strong { min-width: 0; color: var(--tk-navy); font-size: .9rem; }.tk-crystal-size-option small { min-width: 0; overflow-wrap: anywhere; color: var(--tk-muted); font-size: .65rem; }.tk-crystal-size-option b { color: var(--tk-blue); font-size: .92rem; white-space: nowrap; }.tk-crystal-size-option.is-selected { border: 2px solid var(--tk-blue) !important; background: var(--tk-ice) !important; }.tk-crystal-size-option.is-selected .tk-crystal-size-option__check { border-color: var(--tk-blue); background: var(--tk-blue); color: #fff; }
.tk-shape-picker-step { display: grid; gap: .8rem; margin: 0 0 1rem; padding: 1rem; border: 1px solid #b9d7e2; border-radius: .9rem; background: linear-gradient(135deg,#f7fbfd,#eef8fb); list-style: none; }
.tk-shape-picker__heading { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; column-gap: .55rem; }
.tk-shape-picker__heading > span { grid-row: 1 / 3; align-self: stretch; display: grid; place-items: center; min-width: 54px; border-radius: .55rem; background: var(--tk-navy); color: #fff; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.tk-shape-picker__heading strong { color: var(--tk-navy); font-size: .92rem; }
.tk-shape-picker__heading small { color: var(--tk-muted); font-size: .7rem; }
.tk-shape-picker__options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; }
.tk-shape-picker__option { display: grid; justify-items: center; gap: .45rem; min-width: 0; min-height: 106px; padding: .8rem .55rem; border: 1px solid #b9d7e2; border-radius: .8rem; background: #fff; color: var(--tk-navy); text-align: center; text-decoration: none; }
.tk-shape-picker__option:hover { border-color: var(--tk-blue); color: var(--tk-navy); transform: translateY(-2px); }
.tk-shape-picker__option.is-selected { border: 2px solid var(--tk-blue); background: var(--tk-ice); box-shadow: 0 0 0 3px rgba(35,145,190,.12); }
.tk-shape-picker__option strong { font-size: .78rem; line-height: 1.2; }
.tk-shape-picker__option small { color: var(--tk-muted); font-size: .58rem; line-height: 1.2; }
.tk-shape-picker__image { width: 100%; height: 66px; object-fit: cover; border-radius: .55rem; background: #edf6f8; }
.tk-shape-picker__icon { position: relative; display: block; width: 42px; height: 48px; border: 2px solid var(--tk-blue); background: linear-gradient(145deg,rgba(255,255,255,.95),rgba(116,213,235,.24)); box-shadow: inset 5px 5px 12px rgba(255,255,255,.75); }
.tk-shape-picker__option--rectangle .tk-shape-picker__icon { border-radius: .28rem; clip-path: polygon(8% 0,92% 0,100% 7%,100% 93%,92% 100%,8% 100%,0 93%,0 7%); }
.tk-shape-picker__option--heart .tk-shape-picker__icon { width: 50px; border: 0; clip-path: polygon(50% 96%,39% 85%,24% 72%,12% 58%,5% 43%,6% 29%,13% 17%,25% 11%,37% 13%,50% 25%,63% 13%,75% 11%,87% 17%,94% 29%,95% 43%,88% 58%,76% 72%,61% 85%); background: linear-gradient(145deg,#fff,rgba(77,185,218,.38)); box-shadow: inset 0 0 0 2px var(--tk-blue); }
.tk-shape-picker__option--sphere .tk-shape-picker__icon { width: 48px; height: 48px; border-radius: 50%; background: radial-gradient(circle at 32% 25%,#fff 0 10%,rgba(112,215,235,.35) 27%,rgba(13,93,131,.25) 70%,rgba(3,25,43,.5)); }
.tk-size-guide { margin-top: .8rem; overflow: hidden; border: 1px solid #b9d7e2; border-radius: .78rem; background: #fff; }
.tk-size-guide summary { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; column-gap: .5rem; padding: .8rem .9rem; color: var(--tk-navy); cursor: pointer; list-style: none; }
.tk-size-guide summary::-webkit-details-marker { display: none; }
.tk-size-guide summary .material-icons { grid-row: 1 / 3; color: var(--tk-blue); font-size: 1.35rem; }
.tk-size-guide summary span { font-size: .82rem; font-weight: 850; }
.tk-size-guide summary small { color: var(--tk-muted); font-size: .66rem; }
.tk-size-guide[open] summary { border-bottom: 1px solid #d9ebf1; background: #f6fbfd; }
.tk-size-guide__scroll { overflow-x: auto; }
.tk-size-guide table { width: 100%; min-width: 480px; border-collapse: collapse; font-size: .72rem; }
.tk-size-guide th,.tk-size-guide td { padding: .7rem .8rem; border-bottom: 1px solid #e3eef2; text-align: left; }
.tk-size-guide thead th { background: #f6f9fa; color: #526674; font-size: .64rem; letter-spacing: .035em; text-transform: uppercase; }
.tk-size-guide tbody th { color: var(--tk-navy); font-weight: 850; }
.tk-size-guide > p { margin: 0; padding: .75rem .85rem; color: var(--tk-muted); font-size: .66rem; line-height: 1.45; }
.tk-shape-offer .tk-crystal-size-option { grid-template-columns: auto minmax(0,1fr); min-height: 104px !important; }
.tk-shape-offer .tk-crystal-size-option__check { grid-row: 1 / 3; }
.tk-shape-offer .tk-crystal-size-option b { grid-column: 2; justify-self: start; }
.tk-shape-offer .tk-crystal-size-option.has-size-visual { grid-template-columns: auto 76px minmax(0,1fr); min-height: 122px !important; }
.tk-shape-offer .tk-crystal-size-option.has-size-visual .tk-crystal-size-option__check { grid-row: 1 / 3; }
.tk-shape-offer .tk-crystal-size-option.has-size-visual > span:nth-of-type(3) { display: grid; min-width: 0; grid-column: 3; gap: .1rem; }
.tk-shape-offer .tk-crystal-size-option.has-size-visual b { grid-column: 3; }
.tk-shape-offer .tk-crystal-size-options { grid-template-columns: minmax(0,1fr); }
.tk-shape-offer .tk-crystal-size-option.has-size-visual > span:nth-of-type(3),
.tk-shape-offer .tk-crystal-size-option.has-size-visual strong,
.tk-shape-offer .tk-crystal-size-option.has-size-visual small { overflow-wrap: normal; word-break: normal; }
.tk-crystal-size-option__visual { grid-row: 1 / 3; display: grid; place-items: center; width: 76px; height: 76px; overflow: hidden; border: 1px solid #d4e8ef; border-radius: .65rem; background: #fff; }
.tk-crystal-size-option__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.tk-crystal-size-option__image--small { transform: scale(.78); }
.tk-crystal-size-option__image--large { transform: scale(.96); }
.tk-offer-preview .product__actions-qty-add,.tk-offer-preview .product-add-to-cart,.tk-offer-preview .product__add-to-cart { display: none !important; }
.tk-shape-placeholder { display: grid; gap: .8rem; margin: 0; }
.tk-shape-placeholder > div { position: relative; display: grid; place-items: center; min-height: 520px; overflow: hidden; border-radius: .9rem; background: radial-gradient(circle at 50% 38%,rgba(96,206,232,.35),transparent 28%),linear-gradient(155deg,#061a2b,#0a4267 58%,#071725); }
.tk-shape-placeholder > div > span { position: relative; display: block; width: 210px; height: 280px; overflow: hidden; border: 3px solid rgba(220,250,255,.78); background: linear-gradient(145deg,rgba(255,255,255,.48),rgba(64,188,219,.17) 35%,rgba(4,38,63,.62)); box-shadow: inset -20px -24px 35px rgba(0,7,17,.32),inset 12px 14px 22px rgba(255,255,255,.18),0 0 34px rgba(75,218,244,.28),0 30px 40px rgba(0,0,0,.32); }
.tk-shape-placeholder--rectangle > div > span { clip-path: polygon(8% 0,92% 0,100% 6%,100% 94%,92% 100%,8% 100%,0 94%,0 6%); }
.tk-shape-placeholder--heart > div > span { width: 280px; height: 260px; border: 0; clip-path: polygon(50% 96%,39% 85%,24% 72%,12% 58%,5% 43%,6% 29%,13% 17%,25% 11%,37% 13%,50% 25%,63% 13%,75% 11%,87% 17%,94% 29%,95% 43%,88% 58%,76% 72%,61% 85%); }
.tk-shape-placeholder > div > .material-icons { position: absolute; color: rgba(225,251,255,.75); font-size: 3rem; }
.tk-shape-placeholder figcaption { padding: 0 .4rem .2rem; color: #526b79; font-size: .7rem; line-height: 1.45; text-align: center; }
.tk-live-gallery-preview::after { content: ''; position: absolute; z-index: 2; inset: 0; border: 1px solid rgba(255,255,255,.25); background: linear-gradient(145deg,rgba(255,255,255,.24),transparent 32%,rgba(7,46,70,.16)); box-shadow: inset -20px -24px 35px rgba(0,7,17,.28),inset 12px 14px 22px rgba(255,255,255,.18); pointer-events: none; }
.tk-live-gallery-preview__image { position: absolute; z-index: 1; top: 50%; left: 50%; width: 100%; height: 100%; max-width: none; object-fit: cover; opacity: 0; filter: grayscale(1) contrast(1.45) brightness(1.55); mix-blend-mode: screen; transform-origin: center; pointer-events: none; transition: opacity .25s ease,filter .25s ease; will-change: transform; }
.tk-shape-placeholder.is-ready .tk-live-gallery-preview__image { opacity: .88; }
.tk-live-gallery-preview.is-natural .tk-live-gallery-preview__image { opacity: .78; filter: saturate(.86) contrast(1.08) brightness(1.08); }
.tk-shape-placeholder.is-ready > div > .material-icons { opacity: 0; }
.tk-gem-product .tk-crystal-size-options { grid-template-columns: minmax(0,1fr); }
.tk-gem-product .tk-crystal-size-option { grid-template-columns: auto minmax(0,1fr); min-height: 96px !important; }
.tk-gem-product .tk-crystal-size-option__check { grid-row: 1 / 3; }
.tk-gem-product .tk-crystal-size-option b { grid-column: 2; justify-self: start; white-space: normal; }
.tk-gem-product .tk-crystal-size-option small { overflow-wrap: normal; }
.tk-3d-dialog { width: min(92vw,860px); max-width: 860px; padding: 0; overflow: hidden; border: 0; border-radius: 1.25rem; background: transparent; box-shadow: 0 30px 90px rgba(0,13,25,.42); }.tk-3d-dialog::backdrop { background: rgba(2,18,31,.76); backdrop-filter: blur(4px); }.tk-3d-dialog__card { position: relative; display: grid; grid-template-columns: minmax(280px,.9fr) 1.1fr; background: #fff; }.tk-3d-dialog__close { position: absolute; z-index: 2; top: .75rem; right: .75rem; display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--tk-navy); }.tk-3d-dialog__visual { display: grid; place-content: center; justify-items: center; gap: .85rem; min-height: 430px; padding: 2rem; background: radial-gradient(circle at 50% 42%,rgba(85,200,220,.36),transparent 30%),linear-gradient(145deg,#061f33,#0a4267 60%,#0b6d9f); color: #fff; text-align: center; }.tk-3d-dialog__visual .material-icons { font-size: 7rem; color: #b9eff6; filter: drop-shadow(0 12px 25px rgba(0,0,0,.25)); }.tk-3d-dialog__visual span { font-weight: 800; }.tk-3d-dialog__copy { align-self: center; padding: 3.25rem; }.tk-3d-dialog__copy > span { color: var(--tk-blue); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.tk-3d-dialog__copy h2 { margin: .45rem 0 1rem; color: var(--tk-navy); font-size: clamp(1.65rem,3vw,2.35rem); }.tk-3d-dialog__copy p,.tk-3d-dialog__copy li { color: var(--tk-muted); line-height: 1.55; }.tk-3d-dialog__copy ul { margin: 1rem 0 1.5rem; padding-left: 1.15rem; }.tk-3d-dialog__accept { min-height: 48px; padding-inline: 1rem; font-weight: 800; }
.tk-3d-sample { position: relative; width: min(100%,360px); aspect-ratio: 1; perspective: 1100px; cursor: grab; touch-action: none; user-select: none; outline: none; }
.tk-3d-sample:active { cursor: grabbing; }
.tk-3d-sample:focus-visible { border-radius: 1rem; box-shadow: 0 0 0 3px rgba(126,231,240,.78); }
.tk-3d-sample__card { width: 100%; height: 100%; transform-style: preserve-3d; will-change: transform; animation: tk-3d-sample-float 7s ease-in-out infinite; }
.tk-3d-sample.is-interactive .tk-3d-sample__card { animation: none; transition: transform .08s linear; }
.tk-3d-sample__card img { display: block; width: 100%; height: 100%; border-radius: 1rem; object-fit: cover; box-shadow: 0 22px 48px rgba(0,0,0,.36); pointer-events: none; }
.tk-3d-sample__hint { position: absolute; z-index: 3; right: 8%; bottom: 5%; left: 8%; display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(4,27,45,.78); color: #fff; font-size: .7rem; font-weight: 800; backdrop-filter: blur(7px); pointer-events: none; }
.tk-3d-sample__hint .material-icons { color: #8deaf3; font-size: 1.1rem; filter: none; }
@keyframes tk-3d-sample-float { 0%,100% { transform:rotateX(-4deg) rotateY(-8deg) scale(1); } 50% { transform:rotateX(3deg) rotateY(9deg) scale(1.025); } }
.tk-crystal-tip { display: flex; gap: .5rem; align-items: flex-start; margin: 0; padding: 0 1rem 1rem; color: var(--tk-muted); font-size: .7rem; line-height: 1.45; }.tk-crystal-tip .material-icons { flex: 0 0 auto; color: var(--tk-blue); font-size: 1rem; }
.tk-configurator-internal-field { display: none !important; }
.tk-crystal-save-status { display: flex; align-items: center; gap: .45rem; margin: 0 1rem 1rem; padding: .65rem .75rem; border-radius: .65rem; background: #edf9f1; color: #17633a; font-size: .72rem; font-weight: 750; }.tk-crystal-save-status .material-icons { font-size: 1rem; }.tk-crystal-configurator--save-warning .tk-crystal-save-status { background: #fff7df; color: #7c5700; }
.tk-crystal-buy-now { display: flex; align-items: center; justify-content: center; gap: .75rem; width: calc(100% - 2rem); min-height: 64px; margin: 0 1rem 1rem; padding: .75rem 1rem; border: 0; border-radius: .78rem; background: linear-gradient(135deg,#0b6d9f,#07547e); color: #fff; box-shadow: 0 12px 28px rgba(8,83,126,.22); text-align: left; cursor: pointer; }
.tk-crystal-buy-now[hidden] { display: none !important; }
.tk-crystal-buy-now:hover,.tk-crystal-buy-now:focus-visible { background: linear-gradient(135deg,#0d7db6,#07547e); color: #fff; outline: 3px solid rgba(74,193,226,.28); outline-offset: 2px; }
.tk-crystal-buy-now:disabled { cursor: wait; opacity: .7; }
.tk-crystal-buy-now > .material-icons { flex: 0 0 auto; font-size: 1.6rem; }
.tk-crystal-buy-now > span { display: grid; gap: .08rem; }
.tk-crystal-buy-now strong { color: inherit; font-size: 1.05rem; line-height: 1.15; }
.tk-crystal-buy-now small { color: rgba(255,255,255,.82); font-size: .67rem; line-height: 1.3; }
.tk-crystal-buy-now.is-loading > .material-icons { animation: tk-buy-spin .8s linear infinite; }
@keyframes tk-buy-spin { to { transform: rotate(360deg); } }
.tk-gift-packaging { position: relative; display: grid; grid-template-columns: minmax(150px,40%) 1fr; align-items: center; gap: .8rem; margin: 0 1rem 1rem; overflow: hidden; border: 1px solid #b8d8cf; border-radius: .9rem; background: linear-gradient(135deg,#f7fbf9 0%,#edf7f3 100%); }
.tk-gift-packaging::after { content: ''; position: absolute; right: -42px; bottom: -58px; width: 150px; height: 150px; border-radius: 50%; background: rgba(12,75,54,.06); pointer-events: none; }
.tk-gift-packaging__visual { align-self: stretch; display: grid; place-items: center; min-height: 178px; padding: .45rem; background: radial-gradient(circle at 50% 52%,rgba(255,255,255,.98),rgba(229,242,237,.68) 62%,rgba(218,236,228,.88) 100%); }
.tk-gift-packaging__visual img { display: block; width: 100%; max-width: 230px; height: auto; filter: drop-shadow(0 14px 18px rgba(5,46,32,.18)); }
.tk-gift-packaging__copy { position: relative; z-index: 1; display: grid; align-content: center; gap: .42rem; padding: 1rem 1rem 1rem .1rem; }
.tk-gift-packaging__badge { display: inline-flex; justify-self: start; align-items: center; gap: .25rem; padding: .28rem .5rem; border-radius: 99px; background: #0c6b49; color: #fff; font-size: .65rem; font-weight: 850; letter-spacing: .06em; }
.tk-gift-packaging__badge .material-icons { font-size: .9rem; }
.tk-gift-packaging__copy strong { color: var(--tk-navy); font-size: 1rem; line-height: 1.25; }
.tk-gift-packaging__copy p { margin: 0; color: #3e5968; font-size: .73rem; line-height: 1.45; }
.tk-gift-packaging__copy small { display: flex; align-items: flex-start; gap: .3rem; color: #17633a; font-size: .65rem; font-weight: 750; line-height: 1.35; }
.tk-gift-packaging__copy small .material-icons { flex: 0 0 auto; font-size: .9rem; }
.tk-shipping-deadline { display: flex; gap: .8rem; align-items: center; margin: 1rem 0 .6rem; padding: 1rem 1.05rem; border: 1px solid #9ed4e2; border-radius: .8rem; background: var(--tk-ice); color: var(--tk-navy); }.tk-shipping-deadline .material-icons { color: var(--tk-blue); font-size: 1.35rem; }.tk-shipping-deadline > div { display: grid; gap: .18rem; line-height: 1.35; }.tk-shipping-deadline strong { color: var(--tk-navy); font-size: 1rem; font-weight: 800; }.tk-shipping-deadline span { color: #36586a; font-size: .84rem; }
.tk-repeat-discount { display: flex; gap: .8rem; align-items: center; margin: 0 0 1rem; padding: .9rem 1.05rem; border: 1px solid #e7cc7a; border-radius: .8rem; background: #fff9e8; color: var(--tk-navy); }.tk-repeat-discount .material-icons { color: #a66a00; font-size: 1.35rem; }.tk-repeat-discount > div { display: grid; gap: .18rem; line-height: 1.35; }.tk-repeat-discount strong { font-size: .95rem; font-weight: 800; }.tk-repeat-discount span { color: #6a5530; font-size: .8rem; }
.tk-sphere-design-picker { min-width: 0; margin: 1rem 0; padding: 1rem; overflow: hidden; border: 1px solid #b9d7e2; border-radius: .95rem; background: linear-gradient(145deg,#f8fcfd,#edf8fb); box-shadow: 0 12px 30px rgba(8,42,67,.07); }
.tk-sphere-design-picker__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.tk-sphere-design-picker__header > div { min-width: 0; }
.tk-sphere-design-picker__header span { display: inline-block; margin-bottom: .18rem; color: var(--tk-blue); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tk-sphere-design-picker__header h2 { margin: 0; color: var(--tk-navy); font-size: 1.12rem; line-height: 1.2; }
.tk-sphere-design-picker__header p { margin: .3rem 0 0; color: var(--tk-muted); font-size: .78rem; line-height: 1.4; }
.tk-sphere-design-picker__header > a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .25rem; color: var(--tk-blue); font-size: .76rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.tk-sphere-design-picker__header > a .material-icons { font-size: 1rem; }
.tk-sphere-design-picker__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(138px,158px); gap: .65rem; max-width: 100%; padding: .15rem .1rem .65rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-color: #86b7ca transparent; scrollbar-width: thin; }
.tk-sphere-design-card { position: relative; display: grid; grid-template-rows: auto minmax(2.4em,auto) auto; gap: .42rem; min-width: 0; padding: .5rem; scroll-snap-align: start; border: 1px solid #c9dde6; border-radius: .8rem; background: #fff; color: var(--tk-navy); text-decoration: none; box-shadow: 0 5px 14px rgba(8,42,67,.05); }
.tk-sphere-design-card:hover, .tk-sphere-design-card:focus-visible { border-color: var(--tk-blue); color: var(--tk-navy); transform: translateY(-2px); box-shadow: 0 8px 18px rgba(8,42,67,.12); }
.tk-sphere-design-card.is-selected { border: 2px solid var(--tk-blue); background: #f7fcfe; box-shadow: 0 0 0 3px rgba(11,103,165,.12); }
.tk-sphere-design-card__image { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: .58rem; background: #eef5f7; }
.tk-sphere-design-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tk-sphere-design-card__image em { position: absolute; top: .38rem; left: .38rem; padding: .22rem .42rem; border-radius: 999px; background: var(--tk-blue); color: #fff; font-size: .6rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.tk-sphere-design-card strong { display: -webkit-box; overflow: hidden; color: inherit; font-size: .76rem; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.tk-sphere-design-card small { color: #647a88; font-size: .62rem; font-weight: 650; letter-spacing: .02em; }
.tk-product-trust { display: grid; grid-template-columns: repeat(3,1fr); gap: .5rem; margin-top: 1rem; }.tk-product-trust span, .tk-product-trust button { display: flex; align-items: center; gap: .35rem; min-width: 0; padding: .65rem; border: 0; border-radius: .65rem; background: #f3f8fa; color: var(--tk-muted); font: inherit; font-size: .72rem; line-height: 1.3; text-align: left; }.tk-product-trust button { border: 1px solid #c9e2ea; color: var(--tk-navy); cursor: pointer; }.tk-product-trust button:hover, .tk-product-trust button:focus-visible { border-color: var(--tk-blue); background: #e8f6fa; color: var(--tk-blue); }.tk-product-trust .material-icons { flex: 0 0 auto; color: var(--tk-blue); font-size: 1rem; }

/* Prostokąt Gem — autorska karta premium inspirowana prostotą wyboru ArtPix. */
.tk-gem-product .product__container { align-items: start; }
.tk-gem-product .product__right { min-width: 0; padding: clamp(1rem,2.1vw,1.45rem); border: 1px solid var(--tk-line); border-radius: 1.25rem; background: #fff; box-shadow: 0 16px 45px rgba(8,42,67,.09); }
.tk-gem-product .product__name { margin-bottom: .55rem; font-size: clamp(1.55rem,2.25vw,2.15rem); line-height: 1.15; }
.tk-gem-product .product__prices { margin-bottom: .25rem; }
.tk-gem-product .product__images { background: radial-gradient(circle at 50% 42%,#eefaff 0%,#e2f2f7 45%,#d7e8ee 100%); }
.tk-gem-placeholder { display: grid; gap: .65rem; margin: 0; }
.tk-gem-placeholder img { display: block; width: 100%; height: auto; border-radius: .85rem; }
.tk-gem-placeholder figcaption { padding: 0 .4rem .25rem; color: #526b79; font-size: .7rem; line-height: 1.45; text-align: center; }
.tk-gem-visualization-note { display: flex; align-items: flex-start; gap: .5rem; margin: .7rem .35rem 0; padding: .7rem .8rem; border: 1px solid #b9dce6; border-radius: .75rem; background: #f3fbfd; color: #395967; font-size: .7rem; line-height: 1.45; }
.tk-gem-visualization-note .material-icons { flex: 0 0 auto; color: var(--tk-blue); font-size: 1rem; }
.tk-gem-visualization-note strong { color: var(--tk-navy); }
.tk-gem-eyebrow { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .7rem; }
.tk-gem-eyebrow span { display: inline-flex; align-items: center; gap: .28rem; min-height: 30px; padding: .32rem .62rem; border: 1px solid #a9d7e4; border-radius: 99px; background: #f1fbfd; color: var(--tk-blue); font-size: .7rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.tk-gem-eyebrow span + span { border-color: #e8d2a9; background: #fff8ec; color: #80520b; }
.tk-gem-eyebrow .material-icons { font-size: 1rem; }
.tk-gem-quickstart { display: grid; gap: .7rem; margin: .75rem 0 1rem; }
.tk-gem-quickstart__button { display: flex; align-items: center; justify-content: center; gap: .55rem; width: 100%; min-height: 54px; padding: .8rem 1rem; border: 0; border-radius: .78rem; background: linear-gradient(135deg,var(--tk-blue),#095a8a); box-shadow: 0 10px 24px rgba(10,111,164,.22); color: #fff; font-size: 1rem; font-weight: 850; transition: transform .18s ease,box-shadow .18s ease; }
.tk-gem-quickstart__button:hover { transform: translateY(-1px); box-shadow: 0 13px 28px rgba(10,111,164,.28); }
.tk-gem-quickstart__button:focus-visible { outline: 3px solid rgba(73,193,226,.45); outline-offset: 3px; }
.tk-gem-quickstart__button .material-icons { font-size: 1.25rem; }
.tk-gem-quickstart__trust { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .4rem; }
.tk-gem-quickstart__trust span { display: flex; align-items: center; gap: .32rem; min-width: 0; padding: .55rem .48rem; border-radius: .62rem; background: #f3f8fa; color: #3f5967; font-size: .66rem; font-weight: 750; line-height: 1.25; }
.tk-gem-quickstart__trust .material-icons { flex: 0 0 auto; color: var(--tk-blue); font-size: .95rem; }
.tk-gem-preview-status { display: flex; align-items: flex-start; gap: .75rem; margin: 1rem 0; padding: .9rem 1rem; border: 1px solid #e7cc7a; border-radius: .85rem; background: linear-gradient(135deg,#fffdf5,#fff6dc); color: #4f3a10; }
.tk-gem-preview-status > .material-icons { flex: 0 0 auto; color: #a66a00; font-size: 1.35rem; }
.tk-gem-preview-status div { display: grid; gap: .18rem; }
.tk-gem-preview-status strong { color: #3e2d0d; font-size: .92rem; }
.tk-gem-preview-status span { font-size: .76rem; line-height: 1.45; }
.tk-gem-preview .product__actions-qty-add,
.tk-gem-preview .product-add-to-cart,
.tk-gem-preview .product__add-to-cart { display: none !important; }
.tk-gem-product .wk-product-customization .card { margin-top: 1rem; padding: 1rem; border: 1px solid #c7dce5; border-radius: 1rem; background: #fff; box-shadow: none; }
.tk-variant-gem-rectangle .tk-crystal-stage { background: radial-gradient(circle at 50% 34%,rgba(255,216,132,.34),transparent 31%),linear-gradient(155deg,#061a2b 0%,#0a3551 54%,#071725 100%); }
.tk-variant-gem-rectangle .tk-crystal-sphere { border-color: rgba(255,242,205,.82); box-shadow: inset -24px -28px 42px rgba(0,7,17,.4),inset 14px 16px 28px rgba(255,255,255,.2),0 0 34px rgba(255,209,118,.33),0 30px 40px rgba(0,0,0,.38); }
.tk-variant-gem-rectangle .tk-crystal-base { background: linear-gradient(90deg,#150b05,#70472a 17%,#bb8050 49%,#6c4128 82%,#130a05); }
.tk-gem-story { width: min(calc(100% - 2rem),1320px); margin: clamp(3rem,7vw,6rem) auto; color: var(--tk-ink); }
.tk-gem-story__intro { max-width: 820px; margin: 0 auto 2.2rem; text-align: center; }
.tk-gem-story__intro > span, .tk-gem-process__heading > span, .tk-gem-photo-guide > div > span, .tk-gem-faq > span { display: block; margin-bottom: .5rem; color: var(--tk-blue); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tk-gem-story h2 { margin: 0; color: var(--tk-navy); font-size: clamp(1.65rem,3vw,2.55rem); letter-spacing: -.035em; line-height: 1.12; }
.tk-gem-story__intro p { max-width: 720px; margin: 1rem auto 0; color: #486273; font-size: 1rem; line-height: 1.7; }
.tk-gem-benefits { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.tk-gem-benefits article { min-height: 220px; padding: 1.35rem; border: 1px solid var(--tk-line); border-radius: 1.15rem; background: linear-gradient(155deg,#fff,#f3f9fb); box-shadow: 0 14px 38px rgba(8,42,67,.07); }
.tk-gem-benefits .material-icons { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 1rem; border-radius: .8rem; background: var(--tk-navy); color: #8be2ed; font-size: 1.45rem; }
.tk-gem-benefits strong { display: block; color: var(--tk-navy); font-size: 1rem; line-height: 1.3; }
.tk-gem-benefits p { margin: .65rem 0 0; color: #526b79; font-size: .78rem; line-height: 1.58; }
.tk-gem-included { display: grid; grid-template-columns: minmax(240px,.72fr) minmax(0,1.4fr); gap: clamp(1.5rem,4vw,3.5rem); align-items: center; margin-top: 1.25rem; padding: clamp(1.35rem,3vw,2.3rem); border: 1px solid #d7e9ef; border-radius: 1.35rem; background: #f7fbfc; }
.tk-gem-included__heading > span { display: block; margin-bottom: .45rem; color: var(--tk-blue); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tk-gem-included ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin: 0; padding: 0; list-style: none; }
.tk-gem-included li { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: .65rem; padding: .85rem; border-radius: .85rem; background: #fff; box-shadow: 0 8px 22px rgba(8,42,67,.05); }
.tk-gem-included li > .material-icons { display: grid; place-items: center; width: 38px; height: 38px; border-radius: .65rem; background: #e8f7fb; color: var(--tk-blue); font-size: 1.15rem; }
.tk-gem-included li div { display: grid; gap: .2rem; }
.tk-gem-included li strong { color: var(--tk-navy); font-size: .82rem; line-height: 1.25; }
.tk-gem-included li span { color: #526b79; font-size: .7rem; line-height: 1.45; }
.tk-gem-sizes { margin-top: 1.25rem; overflow: hidden; border: 1px solid var(--tk-line); border-radius: 1.1rem; background: #fff; box-shadow: 0 10px 28px rgba(8,42,67,.05); }
.tk-gem-sizes summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; color: var(--tk-navy); font-weight: 850; cursor: pointer; list-style: none; }
.tk-gem-sizes summary::-webkit-details-marker { display: none; }
.tk-gem-sizes summary span { display: inline-flex; align-items: center; gap: .5rem; }
.tk-gem-sizes summary .material-icons { color: var(--tk-blue); }
.tk-gem-sizes summary small { color: #667d89; font-size: .7rem; font-weight: 650; }
.tk-gem-sizes__table { border-top: 1px solid var(--tk-line); }
.tk-gem-sizes__row { display: grid; grid-template-columns: .7fr 1fr 1fr; gap: .75rem; padding: .8rem 1.2rem; border-top: 1px solid #e8f0f3; color: #405966; font-size: .76rem; }
.tk-gem-sizes__row:first-child { border-top: 0; }
.tk-gem-sizes__row--head { background: #f3f8fa; color: #5a7180; font-size: .67rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.tk-gem-sizes__row strong { color: var(--tk-navy); }
.tk-gem-process { display: grid; grid-template-columns: minmax(260px,.78fr) minmax(0,1.7fr); gap: clamp(2rem,5vw,5rem); align-items: center; margin-top: 1.25rem; padding: clamp(1.5rem,4vw,3rem); border-radius: 1.35rem; background: radial-gradient(circle at 15% 15%,rgba(72,204,226,.22),transparent 33%),var(--tk-navy); color: #fff; }
.tk-gem-process__heading > span { color: #8be2ed; }
.tk-gem-process__heading h2 { color: #fff; }
.tk-gem-process ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.tk-gem-process li { display: grid; grid-template-columns: 38px 1fr; gap: .65rem; min-height: 104px; padding: .95rem; border: 1px solid rgba(255,255,255,.13); border-radius: .9rem; background: rgba(255,255,255,.065); }
.tk-gem-process li b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #58d1df; color: var(--tk-navy); font-size: .82rem; }
.tk-gem-process li div { display: grid; align-content: start; gap: .3rem; }
.tk-gem-process li strong { color: #fff; font-size: .88rem; }
.tk-gem-process li span { color: #cde1ea; font-size: .72rem; line-height: 1.48; }
.tk-gem-photo-guide { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); gap: 2rem; align-items: center; margin-top: 1.25rem; padding: clamp(1.5rem,4vw,2.5rem); border: 1px solid #d7e9ef; border-radius: 1.35rem; background: #f5fafc; }
.tk-gem-photo-guide p { max-width: 690px; margin: .85rem 0 0; color: #526b79; line-height: 1.65; }
.tk-gem-photo-guide ul { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.tk-gem-photo-guide li { display: flex; gap: .5rem; align-items: flex-start; color: var(--tk-navy); font-size: .82rem; font-weight: 700; line-height: 1.4; }
.tk-gem-photo-guide .material-icons { color: #0d9361; font-size: 1.1rem; }
.tk-gem-faq { max-width: 940px; margin: clamp(2.5rem,6vw,5rem) auto 0; }
.tk-gem-faq > span, .tk-gem-faq > h2 { text-align: center; }
.tk-gem-faq details { margin-top: .7rem; border: 1px solid var(--tk-line); border-radius: .85rem; background: #fff; box-shadow: 0 8px 24px rgba(8,42,67,.05); }
.tk-gem-faq summary { position: relative; padding: 1rem 3rem 1rem 1.1rem; color: var(--tk-navy); font-size: .9rem; font-weight: 800; cursor: pointer; list-style: none; }
.tk-gem-faq summary::-webkit-details-marker { display: none; }
.tk-gem-faq summary::after { content: '+'; position: absolute; top: 50%; right: 1rem; color: var(--tk-blue); font-size: 1.35rem; transform: translateY(-50%); }
.tk-gem-faq details[open] summary::after { content: '−'; }
.tk-gem-faq details p { margin: 0; padding: 0 1.1rem 1.1rem; color: #526b79; font-size: .8rem; line-height: 1.6; }
.tk-gem-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: clamp(2.5rem,6vw,5rem); padding: clamp(1.4rem,3vw,2.3rem); border-radius: 1.25rem; background: linear-gradient(135deg,var(--tk-navy),#0a4d72); color: #fff; }
.tk-gem-final-cta > div { max-width: 720px; }
.tk-gem-final-cta span { display: block; margin-bottom: .35rem; color: #8be2ed; font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tk-gem-final-cta h2 { color: #fff; }
.tk-gem-final-cta p { margin: .65rem 0 0; color: #d4e6ed; font-size: .82rem; line-height: 1.55; }
.tk-gem-final-cta__button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; flex: 0 0 auto; min-height: 50px; padding: .75rem 1.15rem; border: 0; border-radius: .75rem; background: #fff; color: var(--tk-navy); font-weight: 850; }

.footer-container, footer { background: var(--tk-navy); color: #cfe0e9; }.footer-container a, footer a { color: #eaf5f8; }.footer-container a:hover, footer a:hover { color: #7fe0ed; }

/* Compact premium footer: three clear cards instead of a loose wall of links. */
.footer__main {
  position: relative;
  padding: 2rem 0 1rem !important;
  border-top: 1px solid rgba(126,224,237,.24);
  background:
    radial-gradient(circle at 88% 0, rgba(17,126,171,.18), transparent 34%),
    linear-gradient(180deg,#092f48 0%,#06283d 100%) !important;
}
.footer__main .container { max-width: 1320px; }
.footer__main .footer__main-top { align-items: stretch; }
.footer__main .footer-block {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 1.35rem 1.45rem !important;
  border: 1px solid rgba(179,225,235,.14);
  border-radius: 1rem;
  background: rgba(255,255,255,.045);
  box-shadow: 0 14px 34px rgba(0,17,29,.16);
}
.footer__main .footer-block__title {
  margin: 0 0 1rem;
  color: #fff;
  font-size: .82rem;
  font-weight: 850;
  letter-spacing: .09em;
  line-height: 1.3;
  text-transform: uppercase;
}
.footer__main .footer-block__title a { color: #fff; }
.footer__main .footer-block__list {
  display: grid;
  gap: .58rem 1.1rem;
  margin: 0;
  padding: 0;
}
.footer__main .footer-block__list li { margin: 0; }
.footer__main .footer-block__list a,
.footer__main .ps-contactinfo {
  color: #d7e6ed;
  font-size: .84rem;
  line-height: 1.4;
}
.footer__main .footer-block__list a {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  transition: color .18s ease, transform .18s ease;
}
.footer__main .footer-block__list a:hover { color: #7fe0ed; transform: translateX(3px); }
.footer__main .tk-footer-contact .footer-block__content { line-height: 1.5; }
.footer__main .tk-footer-contact address { margin: 0 0 .8rem; color: #d7e6ed; font-size: .84rem; line-height: 1.5; }
.footer__main .tk-footer-contact .ps-contactinfo__phone,
.footer__main .tk-footer-contact .ps-contactinfo__email,
.footer__main .tk-footer-contact .ps-contactinfo__blog {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-top: .5rem;
}
.footer__main .tk-footer-contact .material-icons { color: #78d9e7; font-size: 1.05rem; }
.footer__main .tk-footer-made-in-poland {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-top: 1rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(179,225,235,.13);
  color: #d7e6ed;
  font-size: .76rem;
  line-height: 1.4;
}
.footer__main .tk-footer-made-in-poland__flag {
  display: inline-block;
  flex: 0 0 auto;
  width: 1.5rem;
  height: 1rem;
  border-radius: .18rem;
  background: linear-gradient(#fff 0 50%,#dc143c 50% 100%);
  box-shadow: 0 0 0 1px rgba(255,255,255,.18);
}
.footer__main .copyright {
  margin: 1.15rem 0 0 !important;
  padding: 1rem 0 0 !important;
  border-top: 1px solid rgba(179,225,235,.12);
  text-align: center;
}
.footer__main .copyright a {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: .55rem;
  color: #d7e6ed;
  font-size: .76rem;
  line-height: 1.4;
}
.footer__main .copyright small { color: #87a7b7; font-size: inherit; }

@media (min-width: 992px) {
  .footer__main .footer__main-top {
    display: grid !important;
    grid-template-columns: minmax(0, 1.45fr) minmax(220px, .82fr) minmax(260px, 1fr);
    gap: 1rem;
  }
  .footer__main .tk-footer-info .footer-block__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .footer__main .footer__main-top {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
  .footer__main .tk-footer-info { grid-column: 1 / -1; }
  .footer__main .tk-footer-info .footer-block__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .footer__main { padding: .85rem 0 !important; }
  .footer__main .footer-block {
    margin-bottom: .65rem;
    padding: 0 1rem !important;
    border: 1px solid rgba(179,225,235,.14);
  }
  .footer__main .footer-block__title { margin: 0; padding: .9rem 0; }
  .footer__main .footer-block__content { padding-bottom: 1rem; }
  .footer__main .tk-footer-info .footer-block__list { grid-template-columns: 1fr; }
  .footer__main .copyright { margin-top: .35rem !important; }
  .footer__main .copyright a { flex-direction: column; gap: .12rem; }
}

/* Newsletter lives in Hummingbird's footer and must not inherit pale footer
   text while keeping Bootstrap's light tertiary background. */
.footer__before .ps-emailsubscription {
  color: #fff;
  background:
    radial-gradient(circle at 78% 18%, rgba(85, 200, 220, .24), transparent 30%),
    linear-gradient(125deg, #061f33 0%, #0a4267 56%, #0b6d9f 100%) !important;
  border-top: 1px solid rgba(255, 255, 255, .1);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.footer__before .ps-emailsubscription p,
.footer__before .ps-emailsubscription label,
.footer__before .ps-emailsubscription .form-check-label,
.footer__before .ps-emailsubscription .psgdpr_consent_message,
.footer__before .ps-emailsubscription .small {
  color: #e7f4f8 !important;
}
.footer__before .ps-emailsubscription .h2,
.footer__before .ps-emailsubscription .h3,
.footer__before .ps-emailsubscription .block-title,
.footer__before .ps-emailsubscription .block_title {
  color: #fff !important;
}
.footer__before .ps-emailsubscription a {
  color: #b9eff6;
  text-decoration-color: rgba(185, 239, 246, .58);
}
.footer__before .ps-emailsubscription a:hover,
.footer__before .ps-emailsubscription a:focus {
  color: #fff;
}
.footer__before .ps-emailsubscription input[type="email"] {
  min-height: 46px;
  border-color: rgba(255, 255, 255, .58);
  background: #fff;
  color: var(--tk-ink);
  box-shadow: 0 10px 28px rgba(2, 20, 34, .2);
}
.footer__before .ps-emailsubscription input[type="email"]::placeholder {
  color: #637684;
  opacity: 1;
}
.footer__before .ps-emailsubscription .btn-primary,
.footer__before .ps-emailsubscription button[type="submit"] {
  min-height: 46px;
  border-color: #1681c3;
  background: #1681c3;
  color: #fff;
  box-shadow: 0 10px 24px rgba(2, 20, 34, .22);
}
.footer__before .ps-emailsubscription .btn-primary:hover,
.footer__before .ps-emailsubscription .btn-primary:focus,
.footer__before .ps-emailsubscription button[type="submit"]:hover,
.footer__before .ps-emailsubscription button[type="submit"]:focus {
  border-color: #0e69a2;
  background: #0e69a2;
}
.footer__before .ps-emailsubscription .form-check-input {
  border-color: rgba(255, 255, 255, .72);
  background-color: rgba(255, 255, 255, .08);
}
.footer__before .ps-emailsubscription .form-check-input:checked {
  border-color: #55c8dc;
  background-color: #1681c3;
}
.footer__before .ps-emailsubscription form > p.fs-6.text-body-secondary { display: none; }
.footer__before .ps-emailsubscription .gdpr-consent .form-check-label { line-height: 1.45; }
.footer__before .ps-emailsubscription .gdpr-consent .form-check-label a { color: #bcecf6; text-decoration: underline; text-underline-offset: .15em; }

@media (min-width: 1200px) {
  :root { --tk-product-sticky-top: 173px; }
  .header-bottom { padding-block: 0 !important; }
  .header-bottom__container { width: min(calc(100% - 2rem), 1400px); max-width: 1400px; }
  .header-bottom__row { display: grid !important; grid-template-columns: auto minmax(1rem,1fr) minmax(280px,328px) auto; align-items: center !important; }
  .header-bottom__logo { grid-column: 1; grid-row: 1; min-height: 56px; }
  .header-bottom__row > #_desktop_ps_searchbar { grid-column: 3; grid-row: 1; height: 56px; }
  .header-bottom__row > .tk-header-actions { grid-column: 4; grid-row: 1; height: 56px; }
  .header-bottom__row > .ps-mainmenu--desktop { grid-column: 1 / -1; grid-row: 2; width: 100%; border-top: 1px solid var(--tk-line); }
  .ps-mainmenu__desktop { width: 100%; }
  .ps-mainmenu__tree { justify-content: center; flex-wrap: nowrap; }
  .ps-mainmenu__tree-link { padding: .55rem .9rem; color: var(--tk-ink); font-size: .92rem; font-weight: 650; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .header-bottom { padding-block: 0 !important; }
  .header-bottom__container { width: calc(100% - 1.5rem); max-width: none; min-height: 60px; }
  .header-bottom__row { display: grid !important; grid-template-columns: auto auto minmax(1rem,1fr) minmax(220px,304px) auto; align-items: center !important; min-height: 60px; }
  .header-bottom__row > .ps-mainmenu--desktop { grid-column: 1; grid-row: 1; width: auto; }
  .header-bottom__logo { grid-column: 2; grid-row: 1; min-width: 0; }
  .header-bottom__row > #_desktop_ps_searchbar { grid-column: 4; grid-row: 1; height: 60px; }
  .header-bottom__row > .tk-header-actions { grid-column: 5; grid-row: 1; height: 60px; }
  .header-bottom__row .ps-searchbar { margin-block: 4px; }
  .tk-header-actions { margin-left: .2rem; }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .header-bottom__row { grid-template-columns: auto auto minmax(.5rem,1fr) minmax(190px,260px) auto; }
  .tk-header-actions .header-block__title { max-width: 0; overflow: hidden; visibility: hidden; }
  .tk-header-actions .header-block__action-btn { padding-inline: .45rem; }
}

@media (max-width: 991.98px) {
  .tk-announcement__inner { display: flex; justify-content: flex-start; overflow: auto; padding: 0; scrollbar-width: none; }
  .tk-announcement__inner::-webkit-scrollbar { display: none; }
  .tk-announcement__item { flex: 0 0 auto; min-width: 220px; min-height: 40px; justify-content: flex-start; }
  .tk-announcement__item > span { white-space: nowrap; }
  .tk-hero__grid { grid-template-columns: 1fr 360px; gap: 2rem; min-height: 560px; }
  .tk-trust__grid, .tk-occasions__grid, .tk-ready__grid { grid-template-columns: repeat(2,1fr); }
  .tk-trust article:nth-child(2), .tk-trust article:nth-child(-n+2) { border: 0; }
  .tk-gem-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tk-gem-process { grid-template-columns: 1fr; }
  .tk-shape-bar__inner { grid-template-columns: 1fr; gap: .65rem; }
  .tk-shape-bar__intro { display: flex; align-items: baseline; gap: .7rem; }
  .tk-shape-bar__intro strong { margin-top: 0; }
}

@media (max-width: 767.98px) {
  .tk-header-actions { display: none; }
  .tk-shape-bar { padding: .75rem 0 .8rem; }
  .tk-shape-bar__inner { width: 100%; padding-inline: 1rem; }
  .tk-shape-bar__intro { display: block; }
  .tk-shape-bar__intro strong { margin-top: .2rem; font-size: 1.05rem; }
  .tk-shape-bar__items { display: flex; gap: .65rem; overflow-x: auto; padding: .1rem .1rem .35rem; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #8fc5d6 transparent; }
  .tk-shape-bar__item { flex: 0 0 min(82vw,285px); grid-template-columns: 76px minmax(0,1fr) auto; min-height: 88px; scroll-snap-align: start; }
  .tk-shape-bar__item img { width: 76px; height: 76px; }
  .tk-hero { width: 100%; }
  .header-bottom { padding-block: 0 !important; }
  .header-bottom__container { min-height: 60px; padding-inline: .5rem !important; }
  .header-bottom__row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    min-height: 60px;
  }
  .header-bottom__row > .ps-mainmenu--desktop {
    flex: 0 0 47px !important;
    width: 47px;
  }
  .header-bottom__logo {
    flex: 1 1 158px !important;
    width: auto !important;
    min-width: 0;
    margin-right: 0 !important;
  }
  .header-bottom__logo .navbar-brand {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
  }
  .header-bottom__logo .navbar-brand img {
    display: block;
    max-width: min(150px,100%);
    max-height: 42px;
  }
  .header-bottom__row > .ps-searchbar--mobile,
  .header-bottom__row > #_mobile_ps_customersignin,
  .header-bottom__row > #_mobile_ps_shoppingcart {
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px;
  }
  #_mobile_ps_customersignin .header-block__icon,
  #_mobile_ps_shoppingcart .header-block__icon { margin-right: 0; }
  #mobileMenu.ps-mainmenu--mobile {
    width: min(88vw, 320px);
    max-width: calc(100vw - 38px);
  }
  .offcanvas-backdrop.show { opacity: .46; }
  .tk-announcement { font-size: .74rem; }
  .tk-announcement__item { min-width: 205px; padding-inline: .85rem; }
  .tk-hero-slide { min-height: 0; }
  .tk-hero-slide--custom { min-height: 610px; background: #f5fbfd; }
  .tk-hero-slide--custom::before { background: linear-gradient(180deg,rgba(249,253,254,.99) 0%,rgba(249,253,254,.96) 50%,rgba(249,253,254,.18) 70%,rgba(249,253,254,0) 100%); }
  .tk-hero-slide--custom .tk-hero__background { top: auto; bottom: 0; height: 220px; object-position: 76% center; }
  .tk-hero-slide--custom .tk-hero__grid { min-height: 610px; padding-top: 1.2rem; padding-bottom: 235px; }
  .tk-hero-slide--custom .tk-hero__content { max-width: none; }
  .tk-hero-slide--custom .tk-hero__title { font-size: clamp(1.9rem,8.5vw,2.25rem); }
  .tk-hero-slide--sphere-light { min-height: 610px; background: #f5fbfd; }
  .tk-hero-slide--sphere-light::before { background: linear-gradient(180deg,rgba(250,253,254,.99) 0%,rgba(250,253,254,.97) 49%,rgba(250,253,254,.22) 70%,rgba(250,253,254,0) 100%); }
  .tk-hero-slide--sphere-light .tk-hero__background { top: auto; bottom: 0; height: 235px; object-position: 74% center; }
  .tk-hero-slide--sphere-light .tk-hero__grid { min-height: 610px; padding-top: 1.2rem; padding-bottom: 248px; }
  .tk-hero-slide--sphere-light .tk-hero__content { max-width: none; }
  .tk-hero-slide--sphere-light .tk-hero__title { font-size: clamp(1.9rem,8.5vw,2.25rem); }
  .tk-hero-slide--rectangle { min-height: 610px; background: #f5fbfd; }
  .tk-hero-slide--rectangle::before { background: linear-gradient(180deg,rgba(249,253,254,.99) 0%,rgba(249,253,254,.96) 50%,rgba(249,253,254,.18) 70%,rgba(249,253,254,0) 100%); }
  .tk-hero-slide--rectangle .tk-hero__background { top: auto; bottom: 0; height: 220px; object-position: 76% center; }
  .tk-hero-slide--rectangle .tk-hero__grid { min-height: 610px; padding-top: 1.2rem; padding-bottom: 235px; }
  .tk-hero-slide--rectangle .tk-hero__content { max-width: none; }
  .tk-hero-slide--rectangle .tk-hero__title { font-size: clamp(1.9rem,8.5vw,2.25rem); }
  .tk-hero__grid { grid-template-columns: 1fr; min-height: 0; padding-top: 2rem; padding-bottom: 3.8rem; }
  .tk-eyebrow { padding: .38rem .68rem; font-size: .68rem; }
  .tk-hero__title { margin: .7rem 0 .55rem; font-size: clamp(2rem,9vw,2.5rem); line-height: 1.04; }
  .tk-hero__lead { font-size: .92rem; line-height: 1.5; }
  .tk-hero__actions { display: grid; max-width: 100%; grid-template-columns: 1fr; gap: .5rem; margin-top: .85rem; }
  .tk-hero__actions .btn { width: 100%; padding: .72rem 1rem; font-size: .92rem; }
  .tk-hero__actions .btn-outline-light { display: none; }
  .tk-hero__points { display: grid; gap: .35rem; margin-top: .75rem; font-size: .8rem; }
  .tk-hero__visual { min-height: 200px; }.tk-hero__image-link { width: min(72%,280px); }.tk-hero__note { right: 2%; bottom: 3%; }
  .tk-hero-slide--heart .tk-hero__image-link { width: min(78%,280px); }
  .tk-hero-slide--heart .tk-hero__note { right: 1%; bottom: 1%; }
  .tk-hero-slider__arrow { display: none; }
  .tk-hero-slider__controls { bottom: .7rem; }
  .tk-trust__grid { grid-template-columns: 1fr; }.tk-trust article { min-height: 86px; flex-direction: row; align-items: center; justify-content: flex-start; border: 0; }.tk-trust article:last-child { border: 0; }
  .tk-paths__grid, .tk-occasions__grid { grid-template-columns: 1fr; }.tk-occasion { min-height: 220px; }
  .tk-how .tk-section__heading p { margin-inline: 0; font-size: .9rem; }
  .tk-how__grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(268px,82vw); gap: .75rem; max-width: none; margin-right: -.75rem; padding: .15rem .75rem .65rem 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; }
  .tk-how__grid::before { display: none; }
  .tk-how-card { scroll-snap-align: start; }
  .tk-how-card__scene { aspect-ratio: 1.32; }
  .tk-how-card__copy { min-height: 132px; padding: 1rem; }
  .tk-paths { padding-top: 1.4rem; padding-bottom: 1.5rem; }
  .tk-paths .tk-section__heading { margin-bottom: 1rem; }
  .tk-paths .tk-section__heading h2 { font-size: 1.65rem; }
  .tk-path { min-height: 0; padding: 2.6rem .95rem .95rem; }
  .tk-path__number { top: .72rem; left: .95rem; }
  .tk-path__icon { width: 46px; height: 46px; }
  .tk-feature-heart__card { grid-template-columns: 1fr; gap: 1.35rem; padding: .75rem .75rem 1.35rem; border-radius: 1.25rem; }
  .tk-feature-heart__media { border-radius: .95rem; }
  .tk-feature-heart__badge { top: .75rem; left: .75rem; }
  .tk-feature-heart__content { padding: 0 .35rem; }
  .tk-feature-heart__content h2 { font-size: 2rem; }
  .tk-feature-heart__content > p { font-size: .92rem; }
  .tk-feature-heart__actions { align-items: stretch; }
  .tk-feature-heart__actions .btn { width: 100%; }
  .tk-feature-heart__actions > span { width: 100%; text-align: center; }
  .tk-ready__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
  .tk-ready__grid--stories { display: flex; gap: .8rem; }
  .tk-ready__grid--stories .tk-ready-card { flex-basis: min(78vw,290px); }
  .tk-ready-carousel__arrow { width: 40px; height: 40px; }
  .tk-ready-carousel__arrow--prev { left: -10px; }
  .tk-ready-carousel__arrow--next { right: -10px; }
  .tk-ready-card__body { padding: .9rem; }
  .tk-ready-card h3 { min-height: 0; font-size: .92rem; }
  .tk-ready-card__meta { display: grid; }
  .tk-shape-series__heading { display: block; }
  .tk-shape-series__heading > a { margin-top: .45rem; }
  .tk-shape-series__rail { gap: .8rem; margin-right: -.75rem; padding-right: .75rem; }
  .tk-shape-series__rail .tk-shape-story-card { flex-basis: min(78vw,290px); }
  .tk-shape-story-card .tk-ready-card__body { padding: .9rem; }
  .tk-shape-story-card h3 { font-size: .95rem; }
  .tk-shape-series__note { text-align: left; }
  .tk-section { padding: 4rem 0; }.tk-section__heading { text-align: left; }.tk-section__heading h2 { font-size: 2rem; }
  .page-index .ps-newproducts { padding-inline: .75rem; }
  .page-product .product__images { padding: .45rem; }.page-product .wk-product-customization .card { padding: 1rem; }
  .page-product .product__actions-qty-add { align-items: stretch; }.page-product .product__add-to-cart { flex: 1; }.page-product .product__add-to-cart-button { width: 100%; }
  .tk-product-trust { grid-template-columns: 1fr; }
  .tk-gem-benefits { grid-template-columns: 1fr; }
  .tk-gem-benefits article { min-height: 0; }
  .tk-gem-process ol { grid-template-columns: 1fr; }
  .tk-gem-included { grid-template-columns: 1fr; gap: 1.2rem; }
  .tk-gem-photo-guide { grid-template-columns: 1fr; gap: 1.25rem; }
  .tk-gem-story { width: min(calc(100% - 1.5rem),1320px); }
  .tk-gem-story__intro { text-align: left; }
  .tk-gem-faq > span, .tk-gem-faq > h2 { text-align: left; }
  .tk-shipping-deadline, .tk-repeat-discount { padding: .85rem .9rem; }
  .tk-sphere-design-picker { margin-inline: 0; padding: .85rem; border-radius: .8rem; }
  .tk-sphere-design-picker__header { align-items: flex-start; }
  .tk-sphere-design-picker__header h2 { font-size: 1rem; }
  .tk-sphere-design-picker__header p { font-size: .72rem; }
  .tk-sphere-design-picker__header > a { font-size: 0; }
  .tk-sphere-design-picker__header > a .material-icons { font-size: 1.25rem; }
  .tk-sphere-design-picker__track { grid-auto-columns: 126px; gap: .55rem; }
  .tk-crystal-stage { min-height: 330px; }.tk-crystal-sphere { width: min(82%,255px); }.tk-crystal-base { width: min(58%,190px); }
  .tk-crystal-controls__buttons { grid-template-columns: 1fr; }
  .tk-crystal-configurator__heading { align-items: flex-start; }.tk-crystal-info { min-width: 42px; padding-inline: .55rem; }.tk-crystal-info:not(:focus) { font-size: 0; }.tk-crystal-info .material-icons { font-size: 1.1rem; }
  .tk-crystal-size-options { grid-template-columns: 1fr; }.tk-crystal-size-option { min-height: 68px !important; }
  .tk-crystal-size-step { padding: .8rem; }
  .tk-crystal-upload-step__title { padding: .7rem; }
  .tk-gift-packaging { grid-template-columns: 1fr; text-align: center; }.tk-gift-packaging__visual { min-height: 210px; }.tk-gift-packaging__visual img { max-width: 245px; }.tk-gift-packaging__copy { padding: 0 1rem 1.1rem; }.tk-gift-packaging__badge { justify-self: center; }.tk-gift-packaging__copy small { justify-content: center; }
  .tk-3d-dialog { width: calc(100vw - 1rem); max-height: calc(100vh - 1rem); }.tk-3d-dialog__card { grid-template-columns: 1fr; }.tk-3d-dialog__visual { min-height: 190px; padding: 1.25rem; }.tk-3d-dialog__visual .material-icons { font-size: 4.5rem; }.tk-3d-dialog__copy { padding: 1.5rem; }.tk-3d-dialog__copy h2 { padding-right: 2rem; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* Audit 2026-08-12: accessibility, CMS and safe upload feedback. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(85,200,220,.7) !important;
  outline-offset: 3px;
}
.page-cms .page-content, .page-contact .page-content { max-width: 960px; margin-inline: auto; }
.page-cms .page-content h2, .page-cms .page-content h3 { color: var(--tk-navy); }
.page-cms .page-content ul, .page-cms .page-content ol { padding-left: 1.25rem; }
.tk-upload-error { margin-top: .75rem; padding: .75rem; border-radius: .7rem; background: #fff1f2; color: #9f1239; font-weight: 650; }
.footer-container .footer-block__list a:focus-visible, footer .footer-block__list a:focus-visible { color: #fff; }

.page-cms .page-content:has(.tk-faq-page) { max-width: 1120px; padding: 0; overflow: visible; background: transparent; }
.tk-faq-page { --faq-bg: #f3fafc; --faq-card: #fff; --faq-line: #cfe3eb; color: var(--tk-ink); }
.tk-faq-hero { padding: clamp(2rem,5vw,4.5rem) clamp(1rem,5vw,4.5rem); border: 1px solid var(--faq-line); border-radius: 1.5rem; background: radial-gradient(circle at 90% 10%,rgba(85,200,220,.22),transparent 34%),linear-gradient(135deg,#f9fdfe 0%,#eaf7fb 100%); text-align: center; box-shadow: 0 18px 50px rgba(8,42,67,.08); }
.tk-faq-kicker { display: inline-flex; margin-bottom: .85rem; padding: .45rem .8rem; border: 1px solid #b9dfe9; border-radius: 999px; background: rgba(255,255,255,.8); color: var(--tk-blue); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.tk-faq-hero h2 { margin: 0; color: var(--tk-navy); font-size: clamp(2rem,5vw,3.6rem); line-height: 1.04; }
.tk-faq-hero > p { max-width: 720px; margin: 1rem auto 1.5rem; color: #506977; font-size: clamp(.95rem,1.7vw,1.12rem); line-height: 1.65; }
.tk-faq-search { position: relative; display: flex; align-items: center; max-width: 720px; min-height: 58px; margin: 0 auto; border: 1px solid #b8d5df; border-radius: 1rem; background: #fff; box-shadow: 0 10px 30px rgba(8,42,67,.09); }
.tk-faq-search .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.tk-faq-search > i { margin-left: 1rem; color: var(--tk-blue); font-size: 1.6rem; }
.tk-faq-search input { flex: 1; min-width: 0; height: 56px; padding: 0 3rem 0 .8rem; border: 0; outline: 0; background: transparent; color: var(--tk-navy); font-size: 1rem; }
.tk-faq-search input::placeholder { color: #708590; }
.tk-faq-search:focus-within { border-color: var(--tk-blue); box-shadow: 0 0 0 4px rgba(16,121,176,.14),0 12px 32px rgba(8,42,67,.1); }
.tk-faq-search button { position: absolute; right: .7rem; display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 50%; background: #eef7fa; color: var(--tk-navy); cursor: pointer; }
.tk-faq-search button i { font-size: 1.15rem; }
.tk-faq-filters { display: flex; gap: .65rem; margin: 1.5rem 0 2rem; padding: .25rem 0 .5rem; overflow-x: auto; scrollbar-width: thin; }
.tk-faq-filters button { flex: 0 0 auto; min-height: 44px; padding: .65rem 1rem; border: 1px solid var(--faq-line); border-radius: 999px; background: #fff; color: var(--tk-navy); font-size: .82rem; font-weight: 800; cursor: pointer; transition: .18s ease; }
.tk-faq-filters button:hover { border-color: #8ccada; background: #f2fbfd; }
.tk-faq-filters button.is-active { border-color: var(--tk-blue); background: var(--tk-blue); color: #fff; box-shadow: 0 8px 20px rgba(16,121,176,.22); }
.tk-faq-status { margin: 0 0 1rem; color: #526b79; font-size: .82rem; font-weight: 750; }
.tk-faq-groups { display: grid; gap: 2rem; }
.tk-faq-group { min-width: 0; }
.tk-faq-group__heading { display: flex; gap: .9rem; align-items: center; margin-bottom: 1rem; padding: 0 .2rem; }
.tk-faq-group__heading > i { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; border-radius: 50%; background: #e6f6fa; color: var(--tk-blue); }
.tk-faq-group__heading span { display: block; color: var(--tk-blue); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.tk-faq-group__heading h3 { margin: .1rem 0 0; color: var(--tk-navy); font-size: clamp(1.15rem,2.5vw,1.55rem); }
.tk-faq-item { margin-top: .7rem; border: 1px solid var(--faq-line); border-radius: 1rem; background: var(--faq-card); box-shadow: 0 8px 26px rgba(8,42,67,.05); overflow: clip; }
.tk-faq-item[hidden], .tk-faq-group[hidden] { display: none !important; }
.tk-faq-item summary { position: relative; padding: 1.05rem 3.4rem 1.05rem 1.2rem; color: var(--tk-navy); font-size: clamp(.9rem,1.8vw,1rem); font-weight: 800; line-height: 1.45; cursor: pointer; list-style: none; }
.tk-faq-item summary::-webkit-details-marker { display: none; }
.tk-faq-item summary::after { content: '+'; position: absolute; top: 50%; right: 1.1rem; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #e9f7fa; color: var(--tk-blue); font-size: 1.35rem; transform: translateY(-50%); }
.tk-faq-item[open] { border-color: #9fd2de; box-shadow: 0 12px 32px rgba(8,42,67,.08); }
.tk-faq-item[open] summary::after { content: '−'; background: var(--tk-blue); color: #fff; }
.tk-faq-item > div { padding: 0 1.2rem 1.15rem; border-top: 1px solid #edf4f6; }
.tk-faq-item p { margin: 1rem 0 0; color: #526b79; font-size: .9rem; line-height: 1.7; }
.tk-faq-item a { color: #086f9e; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.tk-faq-empty { padding: 3rem 1rem; border: 1px dashed #b8d5df; border-radius: 1rem; background: #f7fcfd; text-align: center; }
.tk-faq-empty i { color: #78a8b8; font-size: 2.4rem; }
.tk-faq-empty strong, .tk-faq-empty p { display: block; }
.tk-faq-empty strong { margin-top: .6rem; color: var(--tk-navy); font-size: 1.15rem; }
.tk-faq-empty p { margin: .35rem 0 0; color: #607785; }
.tk-faq-contact { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 1rem; align-items: center; margin-top: 2.5rem; padding: clamp(1.25rem,3vw,2rem); border-radius: 1.2rem; background: linear-gradient(135deg,var(--tk-navy),#0d7199); color: #fff; box-shadow: 0 18px 45px rgba(8,42,67,.17); }
.tk-faq-contact span, .tk-faq-contact strong { display: block; }
.tk-faq-contact span { margin-bottom: .2rem; color: #9be8f3; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.tk-faq-contact strong { font-size: clamp(1rem,2vw,1.25rem); line-height: 1.35; }
.tk-faq-contact .btn { min-height: 46px; white-space: nowrap; }
.tk-faq-contact .btn-primary { border-color: #fff; background: #fff; color: var(--tk-navy); }
.tk-faq-contact .btn-outline-primary { border-color: rgba(255,255,255,.65); color: #fff; }

@media (max-width: 767.98px) {
  .page-cms .page-content:has(.tk-faq-page) { margin-inline: -.25rem; }
  .tk-faq-hero { padding: 1.75rem 1rem; border-radius: 1.15rem; text-align: left; }
  .tk-faq-hero > p { margin-inline: 0; }
  .tk-faq-search { min-height: 54px; }
  .tk-faq-search input { height: 52px; font-size: .9rem; }
  .tk-faq-filters { margin-bottom: 1.5rem; scroll-snap-type: x proximity; }
  .tk-faq-filters button { scroll-snap-align: start; }
  .tk-faq-group__heading > i { width: 42px; height: 42px; flex-basis: 42px; }
  .tk-faq-item summary { padding: .95rem 3rem .95rem 1rem; }
  .tk-faq-item > div { padding-inline: 1rem; }
  .tk-faq-contact { grid-template-columns: minmax(0,1fr); }
  .tk-faq-contact .btn { width: 100%; }
}

/* Category 505: original guide for personalized 3D crystals. */
body.category-id-505 #left-column { display: none; }
body.category-id-505 .center-column { width: 100%; max-width: none; flex: 0 0 100%; }
body.category-id-505 #js-product-list-header { margin-bottom: 0; }
.tk-crystal-guide { --guide-navy: #082a43; --guide-blue: #0879b0; --guide-cyan: #55c8dc; color: var(--guide-navy); }
.tk-crystal-guide--top { margin: 1.5rem 0 2.5rem; }
.tk-crystal-guide__hero { display: grid; grid-template-columns: minmax(340px,.95fr) minmax(0,1.05fr); min-height: 500px; overflow: hidden; border: 1px solid #c9e2ea; border-radius: 1.65rem; background: linear-gradient(135deg,#f9fdfe,#eaf7fb); box-shadow: 0 20px 55px rgba(8,42,67,.1); }
.tk-crystal-guide__hero-copy { z-index: 1; align-self: center; padding: clamp(2rem,3vw,3rem); }
.tk-crystal-guide__eyebrow { display: inline-flex; width: fit-content; margin-bottom: .8rem; padding: .42rem .75rem; border: 1px solid #b9dfe9; border-radius: 999px; background: rgba(255,255,255,.78); color: var(--guide-blue); font-size: .7rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.tk-crystal-guide h2 { color: var(--guide-navy); }
.tk-crystal-guide__hero h2 { max-width: 650px; margin: 0; font-size: clamp(2.15rem,3vw,3.15rem); line-height: 1.04; letter-spacing: -.035em; }
.tk-crystal-guide__hero-copy > p { max-width: 580px; margin: 1rem 0 1.25rem; color: #4f6877; font-size: clamp(.95rem,1.35vw,1.08rem); line-height: 1.6; }
.tk-crystal-guide__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.tk-crystal-guide__actions .btn { min-height: 50px; padding-inline: 1.35rem; border-radius: .8rem; font-weight: 800; }
.tk-crystal-guide__trust { display: flex; flex-wrap: wrap; gap: .8rem 1rem; margin-top: 1.1rem; color: #476270; font-size: .78rem; font-weight: 750; }
.tk-crystal-guide__trust span { display: inline-flex; gap: .35rem; align-items: center; }
.tk-crystal-guide__trust i { color: var(--guide-blue); font-size: 1.05rem; }
.tk-crystal-guide__hero-visual { position: relative; min-width: 0; background: #e9f7fb; }
.tk-crystal-guide__hero-visual::before { content: ''; position: absolute; inset: 0 auto 0 0; z-index: 1; width: 35%; background: linear-gradient(90deg,#edf8fb,transparent); pointer-events: none; }
.tk-crystal-guide__hero-visual img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; object-position: 72% center; }
.tk-crystal-guide__hero-visual > span { position: absolute; right: 1.25rem; bottom: 1.25rem; z-index: 2; max-width: 245px; padding: .85rem 1rem; border: 1px solid rgba(255,255,255,.75); border-radius: 1rem; background: rgba(8,42,67,.84); color: #fff; font-size: .82rem; line-height: 1.35; backdrop-filter: blur(8px); }
.tk-crystal-guide__hero-visual strong { display: block; color: #a8eff6; font-size: .95rem; }
.tk-crystal-guide__intro { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(2rem,6vw,5rem); align-items: end; margin: 0 auto 2rem; max-width: 1080px; }
.tk-crystal-guide__intro h2 { margin: 0; font-size: clamp(1.8rem,3.2vw,2.8rem); line-height: 1.1; }
.tk-crystal-guide__intro > p { margin: 0; color: #526b79; font-size: 1.05rem; line-height: 1.8; }
.tk-crystal-guide__benefits { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.tk-crystal-guide__benefits article { min-width: 0; padding: 1.45rem; border: 1px solid #d1e6ed; border-radius: 1.15rem; background: #fff; box-shadow: 0 12px 32px rgba(8,42,67,.055); }
.tk-crystal-guide__benefits i { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: #e9f8fb; color: var(--guide-blue); }
.tk-crystal-guide__benefits h3 { margin: 1rem 0 .45rem; color: var(--guide-navy); font-size: 1.05rem; }
.tk-crystal-guide__benefits p { margin: 0; color: #5b707c; font-size: .88rem; line-height: 1.65; }
.tk-crystal-guide--bottom { margin: clamp(3rem,7vw,6rem) auto 0; padding: clamp(3rem,7vw,6rem) max(1rem,calc((100% - 1240px)/2)); background: linear-gradient(180deg,#f3fafc 0%,#fff 52%,#eef9fc 100%); }
.tk-crystal-guide__section-head { max-width: 760px; margin: clamp(4rem,8vw,7rem) auto 2.25rem; text-align: center; }
.tk-crystal-guide__section-head h2 { margin: 0; font-size: clamp(2rem,4vw,3.3rem); line-height: 1.08; }
.tk-crystal-guide__section-head p { margin: 1rem auto 0; color: #586f7d; font-size: 1.02rem; line-height: 1.7; }
.tk-crystal-guide__steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.tk-crystal-guide__steps li { position: relative; min-width: 0; padding: 1.35rem; border: 1px solid #cde4ec; border-radius: 1.15rem; background: #fff; }
.tk-crystal-guide__steps li > span { position: absolute; top: 1rem; right: 1rem; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--guide-navy); color: #fff; font-size: .78rem; font-weight: 850; }
.tk-crystal-guide__steps li > i { color: var(--guide-blue); font-size: 2.1rem; }
.tk-crystal-guide__steps h3 { margin: 1.1rem 0 .4rem; color: var(--guide-navy); font-size: 1.05rem; }
.tk-crystal-guide__steps p { margin: 0; color: #5a707c; font-size: .86rem; line-height: 1.65; }
.tk-crystal-guide__package { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(2rem,6vw,5rem); align-items: center; margin: clamp(4rem,8vw,7rem) 0; padding: clamp(1.5rem,4vw,3.5rem); overflow: hidden; border: 1px solid #cde4ec; border-radius: 1.5rem; background: #fff; box-shadow: 0 18px 50px rgba(8,42,67,.075); }
.tk-crystal-guide__package-visual { display: grid; min-height: 390px; place-items: center; overflow: hidden; border-radius: 1.15rem; background: radial-gradient(circle at 50% 80%,rgba(255,194,97,.34),transparent 27%),linear-gradient(145deg,#f5fcfd,#dff3f7); }
.tk-crystal-guide__package-visual img { width: 100%; height: 100%; max-height: 500px; object-fit: cover; }
.tk-crystal-guide__package-copy h2 { margin: 0 0 1.2rem; font-size: clamp(2rem,3.4vw,3rem); line-height: 1.08; }
.tk-crystal-guide__package-copy ul { display: grid; gap: .9rem; margin: 0; padding: 0; list-style: none; }
.tk-crystal-guide__package-copy li { display: flex; gap: .7rem; color: #526b79; line-height: 1.55; }
.tk-crystal-guide__package-copy li i { flex: 0 0 auto; color: #1699b4; }
.tk-crystal-guide__package-copy li strong { color: var(--guide-navy); }
.tk-crystal-guide__shape-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: 1.4rem; }
.tk-crystal-guide__shape-links a { display: grid; grid-template-columns: 1fr auto; gap: .2rem .5rem; align-items: center; padding: 1rem; border: 1px solid #badde6; border-radius: .9rem; background: #f5fbfd; color: var(--guide-navy); text-decoration: none; }
.tk-crystal-guide__shape-links span { font-size: .76rem; font-weight: 700; }
.tk-crystal-guide__shape-links strong { font-size: .95rem; }
.tk-crystal-guide__shape-links i { grid-column: 2; grid-row: 1 / 3; color: var(--guide-blue); }
.tk-crystal-guide__proof { text-align: center; }
.tk-crystal-guide__proof header { max-width: 720px; margin: 0 auto 2rem; }
.tk-crystal-guide__proof h2 { margin: 0; font-size: clamp(2rem,3.5vw,3rem); line-height: 1.1; }
.tk-crystal-guide__quotes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; text-align: left; }
.tk-crystal-guide__quotes blockquote { margin: 0; padding: 1.5rem; border: 1px solid #cee4eb; border-radius: 1.1rem; background: #fff; box-shadow: 0 10px 28px rgba(8,42,67,.05); }
.tk-crystal-guide__quotes blockquote > span { color: #f7b500; letter-spacing: .08em; }
.tk-crystal-guide__quotes p { margin: .8rem 0; color: var(--guide-navy); font-size: 1rem; font-weight: 700; line-height: 1.55; }
.tk-crystal-guide__quotes cite { color: #68808c; font-size: .78rem; font-style: normal; }
.tk-crystal-guide__text-link { display: inline-flex; gap: .35rem; align-items: center; margin-top: 1.5rem; color: var(--guide-blue); font-weight: 850; }
.tk-crystal-guide__text-link i { font-size: 1.15rem; }
.tk-crystal-guide__final { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: center; margin-top: clamp(4rem,8vw,7rem); padding: clamp(1.5rem,4vw,3rem); border-radius: 1.35rem; background: linear-gradient(135deg,var(--guide-navy),#0d7199); color: #fff; }
.tk-crystal-guide__final .tk-crystal-guide__eyebrow { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.1); color: #a7edf5; }
.tk-crystal-guide__final h2 { margin: 0; color: #fff; font-size: clamp(1.6rem,3vw,2.5rem); }
.tk-crystal-guide__final p { margin: .65rem 0 0; color: #d7edf2; }
.tk-crystal-guide__final > div:last-child { display: flex; gap: .75rem; }
.tk-crystal-guide__final .btn { min-height: 48px; white-space: nowrap; }
.tk-crystal-guide__final .btn-primary { border-color: #fff; background: #fff; color: var(--guide-navy); }
.tk-crystal-guide__final .btn-outline-primary { border-color: rgba(255,255,255,.65); color: #fff; }

@media (max-width: 991.98px) {
  .tk-crystal-guide__hero { grid-template-columns: 1fr; }
  .tk-crystal-guide__hero-visual { min-height: 320px; order: -1; }
  .tk-crystal-guide__hero-visual::before { inset: auto 0 0; width: auto; height: 30%; background: linear-gradient(0deg,#edf8fb,transparent); }
  .tk-crystal-guide__hero-visual img { min-height: 320px; }
  .tk-crystal-guide__benefits, .tk-crystal-guide__steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tk-crystal-guide__package { grid-template-columns: 1fr; }
  .tk-crystal-guide__package-visual { min-height: 330px; }
  .tk-crystal-guide__final { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
  body.category-id-505 .columns-container.container { padding-inline: .5rem; }
  .tk-crystal-guide--top { margin-top: 1rem; }
  .tk-crystal-guide__hero { min-height: 0; border-radius: 1.2rem; }
  .tk-crystal-guide__hero-copy { padding: 1.5rem 1rem 1.75rem; }
  .tk-crystal-guide__hero h2 { font-size: 2.15rem; }
  .tk-crystal-guide__hero-visual, .tk-crystal-guide__hero-visual img { min-height: 235px; }
  .tk-crystal-guide__hero-visual img { object-position: 72% center; }
  .tk-crystal-guide__hero-visual > span { right: .75rem; bottom: .75rem; max-width: 210px; padding: .65rem .75rem; font-size: .72rem; }
  .tk-crystal-guide__actions { display: grid; }
  .tk-crystal-guide__actions .btn { width: 100%; }
  .tk-crystal-guide__trust { display: grid; grid-template-columns: 1fr 1fr; }
  .tk-crystal-guide__intro { grid-template-columns: 1fr; gap: 1rem; margin-top: 3rem; }
  .tk-crystal-guide__benefits { display: flex; margin-right: -.5rem; padding: .15rem .5rem 1rem 0; overflow-x: auto; scroll-snap-type: x mandatory; }
  .tk-crystal-guide__benefits article { min-width: min(78vw,275px); scroll-snap-align: start; }
  .tk-crystal-guide--bottom { margin-top: 3rem; padding: 3rem .5rem; }
  .tk-crystal-guide__steps { grid-template-columns: 1fr; }
  .tk-crystal-guide__package { margin-block: 3.5rem; padding: .8rem; }
  .tk-crystal-guide__package-visual { min-height: 260px; }
  .tk-crystal-guide__package-copy { padding: .5rem; }
  .tk-crystal-guide__shape-links, .tk-crystal-guide__quotes { grid-template-columns: 1fr; }
  .tk-crystal-guide__final { margin-top: 3.5rem; padding: 1.5rem 1rem; }
  .tk-crystal-guide__final > div:last-child { display: grid; }
  .tk-crystal-guide__final .btn { width: 100%; }
}

.tk-mobile-cta { display: none; }

@media (max-width: 767.98px) {
  .tk-mobile-cta {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1028;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .7rem max(.75rem, env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));
    border-top: 1px solid rgba(12, 50, 72, .14);
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 -12px 30px rgba(2, 20, 34, .16);
    transform: translateY(calc(100% + 1rem));
    transition: transform .2s ease;
  }
  .tk-mobile-cta.is-visible { transform: translateY(0); }
  .tk-mobile-cta__summary { min-width: 0; }
  .tk-mobile-cta__summary span,
  .tk-mobile-cta__summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .tk-mobile-cta__summary span { color: #526674; font-size: .72rem; }
  .tk-mobile-cta__summary strong { color: var(--tk-navy); font-size: 1rem; }
  .tk-mobile-cta__button { min-height: 46px; border-radius: .7rem; font-size: .86rem; font-weight: 800; white-space: nowrap; }
  .tk-mobile-cta--preview .tk-mobile-cta__button { background: var(--tk-navy); border-color: var(--tk-navy); }
  .page-product.tk-mobile-cta-visible { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
  .tk-mobile-cta-target { border-radius: .8rem; box-shadow: 0 0 0 4px rgba(85, 200, 220, .35); }
}

@media (min-width: 992px) {
  .tk-gem-product .product__container { grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr) !important; gap: clamp(1.5rem,3vw,2.5rem); }
  .tk-gem-product .product__left,
  .tk-shape-offer .product__left { position: static; align-self: stretch; width: 100%; min-width: 0; }
  .tk-gem-product .product__images,
  .tk-shape-offer .product__images {
    position: sticky;
    z-index: 3;
    top: var(--tk-product-sticky-top);
    align-self: start;
    transition: box-shadow .2s ease;
  }
  .tk-gem-product .product__right,
  .tk-shape-offer .product__right { width: 100%; min-width: 0; }
}

@media (max-width: 991.98px) {
  .tk-gem-product .product__container { grid-template-columns: minmax(0, 1fr) !important; }
  .tk-gem-product .product__left,
  .tk-gem-product .product__right { width: 100%; min-width: 0; }
  .tk-gem-product .product__images,
  .tk-shape-offer .product__images { position: static; top: auto; }
}

@media (max-width: 600px) {
  .tk-gem-quickstart__trust { grid-template-columns: minmax(0,1fr); }
  .tk-gem-quickstart__trust span { min-height: 42px; font-size: .72rem; }
  .tk-gem-included ul { grid-template-columns: 1fr; }
  .tk-gem-sizes summary { align-items: flex-start; }
  .tk-gem-sizes summary small { display: none; }
  .tk-gem-sizes__row { grid-template-columns: .7fr 1fr 1fr; gap: .45rem; padding-inline: .75rem; font-size: .66rem; }
  .tk-gem-final-cta { align-items: stretch; flex-direction: column; gap: 1rem; }
  .tk-gem-final-cta__button { width: 100%; }
  .tk-shape-picker__options { grid-template-columns: repeat(3,minmax(84px,1fr)); overflow-x: auto; }
  .tk-shape-picker__option { min-height: 94px; padding-inline: .4rem; }
  .tk-shape-offer .tk-crystal-size-options { grid-template-columns: minmax(0,1fr); }
  .tk-shape-placeholder > div { min-height: 380px; }
  .tk-shape-placeholder > div > span { width: 160px; height: 215px; }
  .tk-shape-placeholder--heart > div > span { width: 210px; height: 195px; }
}

@media (max-width: 767.98px) {
  .tk-protection-modal { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); border-radius: 1rem; }
  .tk-protection-modal__shell { padding: 1rem; }
  .tk-protection-modal__header { gap: .7rem; }
  .tk-protection-modal__header h2 { font-size: 1.75rem; }
  .tk-protection-modal__header p { font-size: .86rem; line-height: 1.55; }
  .tk-protection-modal__close { width: 38px; height: 38px; }
  .tk-protection-modal__preview { grid-template-columns: 1fr; padding: 1rem; }
  .tk-protection-modal__preview-icon { width: 42px; height: 42px; }
  .tk-protection-modal__columns { grid-template-columns: 1fr; }
  .tk-protection-modal__columns section { padding: 1rem; }
  .tk-protection-modal__footer { grid-template-columns: 1fr; }
  .tk-protection-modal__footer > div { display: grid; }
  .tk-protection-modal__footer .btn { width: 100%; }
}

/* Category SEO / blog mobile guard — 2026-08-27. */
@media (max-width: 767.98px) {
  body.ybc_blog,
  body.ybc_blog #wrapper,
  body.ybc_blog #content-wrapper,
  body.ybc_blog .ybc-blog-wrapper {
    max-width: 100%;
    overflow-x: hidden !important;
  }

  body.ybc_blog .ybc-blog-wrapper-detail,
  body.ybc_blog .post-details,
  body.ybc_blog .blog_description,
  body.ybc_blog .blog-extra,
  body.ybc_blog .table_content {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
  }

  body.ybc_blog .blog_description img,
  body.ybc_blog .ybc_item_img img {
    height: auto;
    max-width: 100% !important;
  }

  body.ybc_blog .title_blog,
  body.ybc_blog .blog_description,
  body.ybc_blog .blog_description * {
    overflow-wrap: anywhere;
  }
}

/* Home: siatka kart "Najnowsze posty" na kazdej szerokosci — 2026-09-19.
   Zastepuje poprawke z 2026-08-27 ograniczona do @media (max-width: 767.98px).
   Powod: modul ybc_blog wywoluje new BlazeSlider() na markupie bez .blaze-track,
   konstruktor rzuca TypeError i karuzela nigdy sie nie inicjalizuje. Bez slidera
   kafle maja bootstrapowe klasy col-* w rodzicu, ktory nie jest .row, wiec stoja
   jeden pod drugim przy lewej krawedzi okna, a sekcja wychodzi poza kontener.
   Ten blok daje deterministyczna siatke kart, niezalezna od JavaScriptu. */
body#index .ybc_block_latest.page_home,
body.page-index .ybc_block_latest.page_home {
  box-sizing: border-box;
  width: min(100% - 2rem, 1320px);
  max-width: 100%;
  margin: 0 auto 2rem;
  padding: 0;
  overflow: visible;
}

body#index .ybc_block_latest.page_home .title_blog,
body.page-index .ybc_block_latest.page_home .title_blog {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  margin: 0 0 1.15rem;
  padding: 0;
  font-size: clamp(1.55rem, 3.2vw, 2rem);
  line-height: 1.15;
  overflow-wrap: anywhere;
}

body#index .ybc_block_latest.page_home .block_content,
body#index .ybc_block_latest.page_home .ybc_blog_content_block,
body.page-index .ybc_block_latest.page_home .block_content,
body.page-index .ybc_block_latest.page_home .ybc_blog_content_block {
  box-sizing: border-box;
  float: none !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body#index .ybc_block_latest.page_home .ybc_blog_content_block,
body.page-index .ybc_block_latest.page_home .ybc_blog_content_block {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 1.25rem;
}

body#index .ybc_block_latest.page_home .ybc_blog_content_block_item,
body.page-index .ybc_block_latest.page_home .ybc_blog_content_block_item {
  box-sizing: border-box;
  display: flex !important;
  float: none !important;
  flex: 0 1 100%;
  flex-direction: column;
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #c7e1eb;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 10px 26px rgba(8, 42, 67, .07);
}

body#index .ybc_block_latest.page_home .ybc_item_img,
body.page-index .ybc_block_latest.page_home .ybc_item_img {
  display: block !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10;
  margin: 0 !important;
  overflow: hidden;
  background: #f4fafc;
}

body#index .ybc_block_latest.page_home .ybc_item_img img,
body.page-index .ybc_block_latest.page_home .ybc_item_img img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
}

body#index .ybc_block_latest.page_home .ybc-blog-latest-post-content,
body.page-index .ybc_block_latest.page_home .ybc-blog-latest-post-content {
  box-sizing: border-box;
  display: flex !important;
  float: none !important;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1rem !important;
  position: static !important;
  background: #fff;
}

body#index .ybc_block_latest.page_home .ybc_title_block,
body.page-index .ybc_block_latest.page_home .ybc_title_block {
  display: block;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 .65rem;
  padding: 0;
  font-size: 1rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

body#index .ybc_block_latest.page_home .ybc-blog-sidear-post-meta,
body#index .ybc_block_latest.page_home .blog_description,
body.page-index .ybc_block_latest.page_home .ybc-blog-sidear-post-meta,
body.page-index .ybc_block_latest.page_home .blog_description {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 .7rem;
  padding: 0;
  font-size: .88rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

body#index .ybc_block_latest.page_home .read_more,
body.page-index .ybc_block_latest.page_home .read_more {
  align-self: flex-start;
  margin-top: auto;
}

@media (min-width: 576px) {
  body#index .ybc_block_latest.page_home .ybc_blog_content_block_item,
  body.page-index .ybc_block_latest.page_home .ybc_blog_content_block_item {
    flex: 0 1 calc((100% - 1.25rem) / 2);
  }
}

@media (min-width: 992px) {
  body#index .ybc_block_latest.page_home .ybc_blog_content_block_item,
  body.page-index .ybc_block_latest.page_home .ybc_blog_content_block_item {
    flex: 0 1 calc((100% - 2.5rem) / 3);
  }
}

@media (min-width: 1200px) {
  body#index .ybc_block_latest.page_home .ybc_blog_content_block_item,
  body.page-index .ybc_block_latest.page_home .ybc_blog_content_block_item {
    flex: 0 1 calc((100% - 3.75rem) / 4);
  }
}

/* Uniform mobile hero frame + Polish production trust mark — 2026-08-27. */
.tk-product-trust > .tk-product-trust__poland {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 0;
  padding: .72rem .85rem;
  border-color: #e4dce0;
  background: linear-gradient(90deg,#fff 0%,#fff 62%,#fff5f6 100%);
  color: var(--tk-navy);
  font-weight: 700;
}
.tk-product-trust__poland .tk-polish-flag {
  display: block;
  flex: 0 0 34px;
  width: 34px;
  height: 22px;
  margin: 0;
  border: 1px solid #d9dfe3;
  border-radius: 4px;
  background: linear-gradient(to bottom,#fff 0 50%,#dc143c 50% 100%);
  box-shadow: 0 2px 7px rgba(8,42,67,.12);
}

/* 2026-08-29 UX P0: pojedyncze kategorie, mobilny zakup i czytelne opinie. */
body.tk-single-product-category #left-column {
  display: none !important;
}

body.tk-single-product-category #center-column {
  width: 100% !important;
  max-width: none !important;
  flex: 0 0 100% !important;
}

body.tk-single-product-category #js-product-list-top,
body.tk-single-product-category .products__pagination {
  display: none !important;
}

body.tk-single-product-category #products > .products {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
  margin-top: 1rem;
}

body.tk-single-product-category #products .product-miniature {
  flex: 0 1 400px !important;
  min-width: min(100%, 340px);
  width: 100% !important;
  max-width: 400px;
}

.tk-mobile-product-summary {
  display: none;
}

.tk-reviews-final-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: center;
  max-width: 1120px;
  margin: clamp(2rem, 6vw, 4.5rem) auto 1rem;
  padding: clamp(1.25rem, 3vw, 2.25rem);
  border-radius: 1.2rem;
  background: linear-gradient(135deg, var(--tk-navy), #0b719f);
  color: #fff;
  box-shadow: 0 18px 44px rgba(8, 42, 67, .18);
}

.tk-reviews-final-cta span {
  color: #8ce7f4;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.tk-reviews-final-cta h2 {
  margin: .25rem 0 .35rem;
  color: #fff;
  font-size: clamp(1.45rem, 3vw, 2.2rem);
}

.tk-reviews-final-cta p {
  margin: 0;
  color: rgba(255, 255, 255, .82);
}

.tk-reviews-final-cta > div:last-child {
  display: flex;
  gap: .65rem;
}

.tk-reviews-final-cta .btn {
  min-height: 48px;
  white-space: nowrap;
}

.tk-reviews-final-cta .btn-outline-primary {
  border-color: rgba(255, 255, 255, .7);
  color: #fff;
}

@media (max-width: 767.98px) {
  body.tk-single-product-category .columns-container.container {
    padding-inline: .75rem;
  }

  body.tk-single-product-category #products > .products {
    display: flex !important;
    width: 100%;
  }

  body.tk-single-product-category #products .product-miniature {
    flex: 1 1 100% !important;
    min-width: 100%;
    max-width: none;
  }

  .page-product.tk-shape-offer .product__container {
    display: flex !important;
    flex-direction: column;
    gap: 1rem !important;
  }

  .page-product.tk-shape-offer .tk-mobile-product-summary {
    display: grid;
    gap: .75rem;
    order: 1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .page-product.tk-shape-offer .tk-mobile-product-summary .product__name {
    margin: 0;
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.55rem, 7.2vw, 1.85rem) !important;
    line-height: 1.08;
    overflow-wrap: anywhere;
    white-space: normal !important;
  }

  .page-product.tk-shape-offer .tk-mobile-product-summary .product__prices,
  .page-product.tk-shape-offer .tk-mobile-product-summary .tk-gem-quickstart,
  .page-product.tk-shape-offer .tk-mobile-product-summary .tk-shipping-deadline,
  .page-product.tk-shape-offer .tk-mobile-product-summary .tk-repeat-discount {
    margin: 0;
  }

  .page-product.tk-shape-offer .product__left {
    order: 2;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .page-product.tk-shape-offer .product__right {
    display: flex;
    flex-direction: column;
    order: 3;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .page-product.tk-shape-offer .product__right > .wk-product-customization { order: 1; }
  .page-product.tk-shape-offer .product__right > .product__actions { order: 2; }
  .page-product.tk-shape-offer .product__right > .tk-sphere-design-picker { order: 3; }
  .page-product.tk-shape-offer .product__right > .product__description-short { order: 4; }

  .page-product.tk-shape-offer .product__images {
    max-width: 100%;
    padding: .45rem;
  }

  .page-product.tk-shape-offer .product__carousel .carousel-inner,
  .page-product.tk-shape-offer .product__carousel .carousel-item {
    max-height: 430px;
  }

  .page-product.tk-shape-offer .product__carousel .carousel-item img {
    display: block;
    width: 100%;
    max-height: 430px;
    object-fit: contain;
  }

  .page-product.tk-shape-offer .tk-gem-quickstart__trust {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-product.tk-shape-offer .tk-gem-quickstart__trust span {
    min-height: 0;
    min-width: 0;
    padding: .45rem .35rem;
    font-size: .61rem;
    overflow-wrap: anywhere;
    white-space: normal;
    overflow: hidden;
  }

  .page-product.tk-shape-offer .tk-gem-quickstart__button {
    max-width: 100%;
    padding-inline: .65rem;
    font-size: .88rem;
    line-height: 1.2;
    white-space: normal !important;
  }

  .page-product.tk-shape-offer .tk-gem-quickstart__button span {
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .page-product.tk-shape-offer .tk-shipping-deadline > div,
  .page-product.tk-shape-offer .tk-repeat-discount > div {
    min-width: 0;
  }

  .page-product.tk-shape-offer .tk-shipping-deadline strong,
  .page-product.tk-shape-offer .tk-shipping-deadline span,
  .page-product.tk-shape-offer .tk-repeat-discount strong,
  .page-product.tk-shape-offer .tk-repeat-discount span {
    overflow-wrap: anywhere;
    white-space: normal !important;
  }

  .page-product.tk-shape-offer .wk-product-customization .card,
  .page-product.tk-shape-offer .tk-creator-workspace {
    padding: .7rem;
  }

  .page-product.tk-shape-offer .tk-creator-workspace__intro {
    margin-bottom: .7rem;
    padding: .7rem;
  }

  .page-product.tk-shape-offer .tk-shape-picker-step,
  .page-product.tk-shape-offer .tk-crystal-size-step {
    margin-bottom: .7rem;
    padding: .7rem;
  }

  .page-product.tk-shape-offer .tk-crystal-size-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-product.tk-shape-offer .tk-crystal-size-option {
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: .35rem !important;
    min-height: 92px !important;
    padding: .55rem !important;
  }

  .page-product.tk-shape-offer .tk-crystal-size-option b {
    grid-column: 2;
  }

  .page-product.tk-shape-offer .tk-crystal-upload-step,
  .page-product.tk-shape-offer .tk-shape-picker-step,
  .page-product.tk-shape-offer .tk-crystal-size-step {
    scroll-margin-top: 120px;
  }

  .tk-reviews-final-cta {
    grid-template-columns: minmax(0, 1fr);
    margin-inline: .75rem;
    padding: 1.25rem 1rem;
  }

  .tk-reviews-final-cta > div:last-child {
    display: grid;
  }

  .tk-reviews-final-cta .btn {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .tk-hero-slider__track,
  .tk-hero-slide,
  .tk-hero-slide--custom,
  .tk-hero-slide--sphere-light,
  .tk-hero-slide--rectangle,
  .tk-hero-slide--heart {
    height: 640px;
    min-height: 640px;
    max-height: 640px;
  }

  .tk-hero-slide .tk-hero__grid,
  .tk-hero-slide--custom .tk-hero__grid,
  .tk-hero-slide--sphere-light .tk-hero__grid,
  .tk-hero-slide--rectangle .tk-hero__grid {
    display: block;
    height: 640px;
    min-height: 640px;
    padding: 1rem 1.25rem 250px;
  }

  .tk-hero-slide .tk-hero__content { max-width: none; }

  .tk-hero-slide--custom .tk-hero__background,
  .tk-hero-slide--sphere-light .tk-hero__background,
  .tk-hero-slide--rectangle .tk-hero__background {
    top: auto;
    bottom: 0;
    width: 100%;
    height: 240px;
    object-fit: cover;
  }

  .tk-hero-slide--heart .tk-hero__visual {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 240px;
    min-height: 240px;
  }
  .tk-hero-slide--heart .tk-hero__glow { width: 250px; }
  .tk-hero-slide--heart .tk-hero__image-link {
    width: 240px;
    height: 240px;
    padding: 0;
    border: 0;
    border-radius: 1.2rem;
  }
  .tk-hero-slide--heart .tk-hero__image-link img {
    width: 100%;
    height: 100%;
    border-radius: .95rem;
    object-fit: cover;
  }
  .tk-hero-slide--heart .tk-hero__note { right: .75rem; bottom: 1rem; }
  .tk-hero-slider__controls { bottom: .55rem; }
}

/* Ads readiness P0 (2026-09-04): keep internal address identifiers out of the
   customer-facing checkout and restore the intended single custom checkbox. */
body#checkout .checkout-block .form-group.id_address {
  display: none !important;
}

body#checkout .checkout-block .custom-checkbox {
  position: relative;
}

body#checkout .checkout-block .custom-checkbox > input[type="checkbox"] {
  position: absolute !important;
  z-index: 2 !important;
  width: 1rem !important;
  height: 1rem !important;
  margin: 0 !important;
  opacity: 0 !important;
  cursor: pointer;
}


/* 2026-09-20 TK: pasek platnosci i dostawy w stopce (hook displayFooterAfter). */
.footer__main-bottom .tk-paybar,
.tk-paybar {
  box-sizing: border-box;
  width: 100%;
  padding: 1.5rem 0 0.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  text-align: center;
}

.tk-paybar__title {
  margin: 0 0 1.25rem;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.tk-paybar__group {
  margin: 0 0 1.25rem;
}

.tk-paybar__label {
  display: block;
  margin: 0 0 0.6rem;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.6;
}

.tk-paybar__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.75rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tk-paybar__list li {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
}

.tk-paybar__list img {
  display: block;
  width: auto;
  height: 34px;
  max-width: 110px;
  object-fit: contain;
  opacity: 0.85;
  transition: opacity 0.2s ease;
}

.tk-paybar__list img:hover {
  opacity: 1;
}

@media (max-width: 575.98px) {
  .tk-paybar {
    padding-top: 1.25rem;
  }

  .tk-paybar__list {
    gap: 0.6rem 0.9rem;
  }

  .tk-paybar__list img {
    height: 28px;
    max-width: 90px;
  }
}

/* Ten sam pasek osadzony w tresci strony CMS /platnosci. */
.cms-id-2 .tk-paybar,
.tk-paybar--cms {
  border-top: 0;
  padding-top: 0;
}

/* ==========================================================================
   TK 2026-09-22 — mocniejsze CTA + komunikacja rabatu "drugi krysztal -50%"
   ========================================================================== */

/* 1. Glowny przycisk zakupu: pelne nasycenie granatu marki zamiast jasnego blekitu */
.tk-crystal-buy-now {
  background: linear-gradient(135deg, #0d3f63 0%, #082a43 100%) !important;
  border-color: #082a43 !important;
  box-shadow: 0 14px 34px rgba(8, 42, 67, .34) !important;
}

.tk-crystal-buy-now:hover,
.tk-crystal-buy-now:focus-visible {
  background: linear-gradient(135deg, #10527f 0%, #0a3552 100%) !important;
  box-shadow: 0 18px 42px rgba(8, 42, 67, .42) !important;
  transform: translateY(-1px);
}

.tk-crystal-buy-now:active {
  transform: translateY(0);
  box-shadow: 0 8px 20px rgba(8, 42, 67, .3) !important;
}

.page-product .product__add-to-cart-button.btn-primary,
.quickview .product__add-to-cart-button.btn-primary {
  background: linear-gradient(135deg, #0d3f63 0%, #082a43 100%);
  border-color: #082a43;
  box-shadow: 0 12px 28px rgba(8, 42, 67, .28);
}

.page-product .product__add-to-cart-button.btn-primary:hover,
.quickview .product__add-to-cart-button.btn-primary:hover {
  background: linear-gradient(135deg, #10527f 0%, #0a3552 100%);
  border-color: #0a3552;
}

/* 2. Pasek rabatu przy wyborze rozmiaru (karta produktu) */
.tk-second-promo {
  display: flex;
  gap: .85rem;
  align-items: center;
  margin: 1rem 0 .25rem;
  padding: .85rem 1rem;
  border: 1px solid #cfe6ef;
  border-left: 5px solid var(--tk-cyan, #55c8dc);
  border-radius: .85rem;
  background: linear-gradient(135deg, #f2fbfd 0%, #e7f6fa 100%);
  color: var(--tk-ink, #142534);
  font-size: .95rem;
  line-height: 1.35;
}

.tk-second-promo__badge {
  flex: 0 0 auto;
  padding: .35rem .6rem;
  border-radius: .55rem;
  background: var(--tk-navy, #082a43);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.02em;
  white-space: nowrap;
}

.tk-second-promo__text strong { font-weight: 800; }
.tk-second-promo__text small {
  display: block;
  margin-top: .15rem;
  color: var(--tk-muted, #5b6d79);
  font-size: .82rem;
}

/* 3. Blok rabatu w koszyku i w podsumowaniu zamowienia */
.tk-cart-promo {
  margin: 0 0 1rem;
  padding: .9rem 1rem;
  border: 1px solid #cfe6ef;
  border-radius: .85rem;
  background: linear-gradient(135deg, #f2fbfd 0%, #e7f6fa 100%);
  font-size: .92rem;
  line-height: 1.4;
}

.tk-cart-promo--active {
  border-color: #b9e3c6;
  background: linear-gradient(135deg, #f1fbf4 0%, #e6f6ec 100%);
}

.tk-cart-promo__title {
  display: flex;
  gap: .5rem;
  align-items: center;
  margin-bottom: .2rem;
  font-weight: 800;
  color: var(--tk-navy, #082a43);
}

.tk-cart-promo__title .material-icons { font-size: 1.15rem; }
.tk-cart-promo--active .tk-cart-promo__title { color: #1c7a43; }
.tk-cart-promo__text { color: var(--tk-muted, #5b6d79); }

@media (max-width: 575.98px) {
  .tk-second-promo { flex-direction: column; align-items: flex-start; gap: .55rem; }
}

/* TK 2026-09-22 — dane sprzedawcy w pasku platnosci (wymog weryfikacji Przelewy24) */
.tk-paybar__seller {
  margin: 1.1rem 0 0;
  color: var(--tk-muted, #5b6d79);
  font-size: .82rem;
  line-height: 1.5;
  text-align: center;
}

/* Audit 2026-09-23: reserve separate grid cells for size image, label and price. */
@media (max-width: 767.98px) {
  .page-product.tk-shape-offer .tk-crystal-size-options {
    grid-template-columns: minmax(0, 1fr);
  }
  .page-product.tk-shape-offer .tk-crystal-size-option.has-size-visual {
    grid-template-columns: 26px 64px minmax(0, 1fr) !important;
    grid-template-rows: auto auto;
    column-gap: .55rem !important;
  }
  .page-product.tk-shape-offer .tk-crystal-size-option.has-size-visual .tk-crystal-size-option__check {
    grid-column: 1;
    grid-row: 1 / 3;
  }
  .page-product.tk-shape-offer .tk-crystal-size-option.has-size-visual .tk-crystal-size-option__visual {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 64px;
    height: 64px;
  }
  .page-product.tk-shape-offer .tk-crystal-size-option.has-size-visual > span:nth-of-type(3) {
    grid-column: 3;
    grid-row: 1;
  }
  .page-product.tk-shape-offer .tk-crystal-size-option.has-size-visual b {
    grid-column: 3;
    grid-row: 2;
  }
}

/* Home process polish 2026-09-25: softer premium cards without changing content or animation. */
.tk-how {
  position: relative;
  background:
    radial-gradient(circle at 10% 4%, rgba(67, 199, 224, .16), transparent 30rem),
    radial-gradient(circle at 92% 96%, rgba(9, 73, 112, .10), transparent 31rem),
    linear-gradient(180deg, #f9fdfe 0%, #edf8fb 48%, #fff 100%);
}

.tk-how::before,
.tk-how::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.tk-how::before {
  top: 8%;
  left: -110px;
  width: 250px;
  height: 250px;
  border: 1px solid rgba(58, 183, 211, .13);
}

.tk-how::after {
  right: -80px;
  bottom: 4%;
  width: 190px;
  height: 190px;
  background: rgba(111, 215, 232, .08);
}

.tk-how > .container {
  position: relative;
  z-index: 1;
}

.tk-how__grid {
  gap: clamp(1rem, 1.45vw, 1.4rem);
  max-width: 1360px;
}

.tk-how__grid::before {
  top: 34px;
  right: 6%;
  left: 6%;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(47, 179, 211, .08), rgba(38, 154, 194, .62) 15%, rgba(70, 204, 220, .62) 85%, rgba(47, 179, 211, .08));
  opacity: .72;
}

.tk-how-card {
  border: 1px solid rgba(128, 190, 212, .38);
  border-radius: 1.65rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, .99), #f9fcfd 100%);
  box-shadow: 0 24px 58px rgba(8, 42, 67, .10), 0 4px 14px rgba(8, 42, 67, .055);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.tk-how-card__top {
  height: 70px;
  gap: .75rem;
  padding: 0 1.2rem;
  color: #164f70;
  font-size: .73rem;
  letter-spacing: .13em;
}

.tk-how-card__number {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, .78);
  background: linear-gradient(145deg, #0d6d9d, #20b6db);
  box-shadow: 0 0 0 6px rgba(229, 247, 251, .96), 0 9px 22px rgba(10, 111, 153, .22);
  font-size: .84rem;
}

.tk-how-card__scene {
  margin: 0 .72rem;
  overflow: hidden;
  border: 1px solid rgba(190, 233, 241, .46);
  border-radius: 1.3rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 13px 30px rgba(7, 54, 79, .12);
}

.tk-how-card__copy {
  min-height: 148px;
  padding: 1.2rem 1.35rem 1.45rem;
}

.tk-how-card__copy h3 {
  margin-bottom: .55rem;
  font-size: 1.04rem;
  letter-spacing: -.012em;
  line-height: 1.3;
}

.tk-how-card__copy p {
  color: #58717f;
  font-size: .83rem;
  line-height: 1.62;
}

@media (hover: hover) and (pointer: fine) {
  .tk-how-card:hover {
    border-color: rgba(71, 175, 208, .58);
    box-shadow: 0 30px 70px rgba(8, 42, 67, .14), 0 7px 18px rgba(8, 42, 67, .07);
    transform: translateY(-6px);
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .tk-how__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
    max-width: 880px;
  }

  .tk-how__grid::before {
    display: none;
  }

  .tk-how-card__top {
    height: 66px;
    padding-inline: 1.15rem;
  }

  .tk-how-card__scene {
    margin-inline: .72rem;
    aspect-ratio: 1.28;
  }

  .tk-how-card__copy {
    min-height: 126px;
    padding: 1.1rem 1.25rem 1.35rem;
  }

  .tk-how-card__copy h3 {
    font-size: 1rem;
  }

  .tk-how-card__copy p {
    font-size: .82rem;
  }
}

@media (max-width: 767.98px) {
  .tk-how::before {
    top: 3%;
    left: -155px;
  }

  .tk-how::after {
    right: -125px;
  }

  .tk-how__grid {
    grid-auto-columns: minmax(278px, 86vw);
    gap: .9rem;
    padding-top: .3rem;
    padding-bottom: 1rem;
  }

  .tk-how-card {
    border-radius: 1.45rem;
    box-shadow: 0 18px 44px rgba(8, 42, 67, .105), 0 3px 10px rgba(8, 42, 67, .05);
  }

  .tk-how-card__top {
    height: 62px;
    padding-inline: 1rem;
  }

  .tk-how-card__number {
    width: 36px;
    height: 36px;
    box-shadow: 0 0 0 5px rgba(229, 247, 251, .96), 0 8px 18px rgba(10, 111, 153, .20);
  }

  .tk-how-card__scene {
    margin-inline: .62rem;
    border-radius: 1.12rem;
    aspect-ratio: 1.28;
  }

  .tk-how-card__copy {
    min-height: 124px;
    padding: 1.05rem 1.15rem 1.3rem;
  }
}


/* Home video showcase 2026-09-25: lightweight, user-initiated product films. */
.tk-video-showcase {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 12%, rgba(61, 195, 224, .14), transparent 27rem),
    radial-gradient(circle at 92% 86%, rgba(21, 90, 132, .10), transparent 29rem),
    linear-gradient(180deg, #fbfeff 0%, #eef8fb 100%);
}
.tk-video-showcase__heading { max-width: 760px; margin-inline: auto; text-align: center; }
.tk-video-showcase__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  max-width: 1120px;
  margin: clamp(1.5rem, 3vw, 2.25rem) auto 0;
}
.tk-video-card {
  overflow: hidden;
  border: 1px solid rgba(115, 185, 208, .34);
  border-radius: 1.75rem;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 22px 52px rgba(8, 49, 75, .11), 0 4px 13px rgba(8, 49, 75, .05);
}
.tk-video-card__media {
  position: relative;
  margin: .7rem .7rem 0;
  overflow: hidden;
  border-radius: 1.25rem;
  aspect-ratio: 9 / 16;
  background: #dceff4;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55);
}
.tk-video-card__media video { display: block; width: 100%; height: 100%; object-fit: cover; background: #dceff4; }
.tk-video-card__body { padding: 1.15rem 1.25rem 1.4rem; }
.tk-video-card__body > span {
  display: inline-flex;
  margin-bottom: .65rem;
  padding: .35rem .68rem;
  border-radius: 999px;
  background: #e7f7fb;
  color: #0e7097;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tk-video-card__body h3 { margin: 0 0 .55rem; color: #143f5b; font-size: clamp(1.08rem, 1.45vw, 1.28rem); line-height: 1.3; }
.tk-video-card__body p { margin: 0 0 1rem; color: #5b7482; font-size: .9rem; line-height: 1.62; }
.tk-video-card__body a { display: inline-flex; align-items: center; gap: .35rem; color: #0b75a0; font-weight: 800; text-decoration: none; }
.tk-video-card__body a .material-icons { font-size: 1.1rem; transition: transform .2s ease; }
@media (hover: hover) and (pointer: fine) {
  .tk-video-card { transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
  .tk-video-card:hover { border-color: rgba(52, 164, 199, .52); box-shadow: 0 28px 64px rgba(8, 49, 75, .15), 0 6px 16px rgba(8, 49, 75, .07); transform: translateY(-5px); }
  .tk-video-card__body a:hover .material-icons { transform: translateX(3px); }
}
@media (max-width: 767.98px) {
  .tk-video-showcase__heading { text-align: left; }
  .tk-video-showcase__grid {
    grid-auto-columns: minmax(278px, 83vw);
    grid-template-columns: none;
    grid-auto-flow: column;
    gap: .9rem;
    max-width: none;
    margin-right: calc(var(--container-gutter, 1rem) * -1);
    padding: .25rem var(--container-gutter, 1rem) 1.1rem 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .tk-video-card { border-radius: 1.5rem; scroll-snap-align: start; }
  .tk-video-card__media { margin: .58rem .58rem 0; border-radius: 1.08rem; }
  .tk-video-card__body { padding: 1rem 1.08rem 1.25rem; }
}