:root {
    /* Style 1 */
    --Style1borderRadius: 8px;
    --Style1Color1: #7153e4;
    --Style1Color2: #ff2e6c;
    --Style1Color3: #9c27b0;
    --Style1Color4: #ff2e6c;
    --Style1Color5: #ffffff;
    --Style1Color6: #333333;
    --Style1Font1: "Roboto";
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--Style1Font1), sans-serif;
    background: #f6f6f6;
    max-width: 480px;
    margin: 0 auto;
    color: var(--Style1Color6);
    padding-top: 42px;
    padding-bottom: 80px;
}

header,
section {
    background: #fff;
    margin-bottom: 8px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.slider {
    position: relative;
}

.main-slide {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.thumbnails {
    display: flex;
    gap: 8px;
}

.thumbnail {
    width: 60px;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
    border: 2px solid transparent;
}

.thumbnail.active {
    border-color: var(--Style1Color1);
}

h1.title {
    text-wrap: balance;
}

.badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.badge {
    background: var(--Style1Color2);
    color: var(--Style1Color5);
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: 600;
    line-height: 20px;
}

.badge.discount {
    background: var(--Style1Color4);
}

.badge.bestseller {
    background: var(--Style1Color3);
}

.timer-block {
    border: 2px solid var(--Style1Color4);
    padding: 12px;
    border-radius: 8px;
    text-align: center;
    color: var(--Style1Color4);
    font-size: 24px;
    font-weight: bold;
}

.price-block {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.old-price {
    text-decoration: line-through;
    color: #999;
    font-size: 24px;
}

.new-price {
    color: var(--Style1Color1);
    font-size: 30px;
    font-weight: bold;
}

.features {
    background: var(--Style1Color5);
    padding: 16px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    overflow: hidden;
}

.features:before {
    content: '';
    position: absolute;
    background: var(--Style1Color1);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1;
    opacity: 0.05;
}

.features h2 {
    color: var(--Style1Color1);
    z-index: 2;
    position: relative;
}

.features ul {
    display: flex;
    flex-direction: column;
    gap: 12px;
    list-style: none;
    padding: 0;
    position: relative;
    z-index: 2;
}

.features li::before {
    content: '✔ ';
    color: var(--Style1Color1);
    font-weight: bold;
    font-size: 20px;
}

.features ul li {
    display: flex;
    gap: 10px;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    align-content: center;
}

.details-table {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.details-row {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dashed #ccc;
    padding: 6px 0;
    font-size: 15px;
}

.details-row span:first-child {
    text-align: left;
    text-wrap: nowrap;
}

.details-row span:last-child {
    color: var(--Style1Color1);
    font-weight: bold;
    text-align: right;
    text-wrap: balance;
}

.reviews {
    background: var(--Style1Color5);
    padding: 16px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    overflow: hidden;
}

.reviews h2 {
    z-index: 1;
    position: relative;
}

.reviews:before {
    content: '';
    position: absolute;
    background: var(--Style1Color1);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 0;
    opacity: 0.05;
}

.owl-carousel .review {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.owl-carousel .review img {
    width: 100%;
    border-radius: 8px;
}

.owl-carousel .review p {
    margin-top: 8px;
    font-size: 16px;
    color: var(--Style1Color6);
}

.owl-carousel .owl-nav button.owl-next span {
    display: block;
    font-size: 54px;
    height: 48px;
    line-height: 39px;
    width: 48px;
    text-align: center;
    margin: 0 0 0 2px;
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev {
    background: var(--Style1Color1);
    color: var(--Style1Color5);
    border: none;
    font-size: 25px;
    padding: 10px;
    border-radius: 50%;
    cursor: pointer;
    position: absolute;
    top: 50%;
    height: 48px;
    width: 48px;
}

.owl-carousel button.owl-prev {
    display: none !important;
}

.owl-carousel button.owl-next {
    right: 5px;
}

form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

input,
button {
    padding: 14px;
    font-size: 16px;
    border-radius: 6px;
}


select {
    padding: 14px;
    font-size: 16px;
    border-radius: 6px;
    border: 1px solid #ccc;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}



input {
    border: 1px solid #ccc;
}

button {
    background: var(--Style1Color1);
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 20px;
}

button:hover {
    opacity: 0.7;
}

.fixed-order-button {
    border-radius: 6px;
    background: var(--Style1Color1);
    color: var(--Style1Color5);
    font-size: 20px;
    padding: 14px;
    text-align: center;
    z-index: 1000;
    cursor: pointer;

    &:hover {
        opacity: 0.7;
    }
}

.description {
    background: #fff;
    margin-bottom: 8px;
    padding: 16px;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.description-block {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.description-block img {
    width: 100%;
    border-radius: 8px;
}

.description-block p {
    font-size: 15px;
    line-height: 1.5;
}

.order-steps {
    background: #fff;
    padding: 16px;
    margin-bottom: 16px;
    border-radius: 8px;
}

.order-steps h2 {
    text-align: center;
    color: var(--Style1Color1);
}

.steps-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.step {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--Style1Color5);
    padding: 12px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    position: relative;
    overflow: hidden;
}

.step:before {
    content: '';
    position: absolute;
    background: var(--Style1Color1);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 1;
    opacity: 0.05;
}

.step-number {
    background: var(--Style1Color1);
    color: var(--Style1Color5);
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 18px;
    font-weight: bold;
}

.step p {
    font-size: 16px;
    color: var(--Style1Color6);
    text-wrap: balance;
}

.block-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--Style1Color5);
    z-index: 9999;
}

.block-fixed-container {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
}

.block-fixed-container .timer-block {
    font-size: 16px;
}

footer {
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    justify-content: flex-start;
    align-items: flex-start;
    background: #b4b4b4;
    font-size: 14px;
    gap: 10px;
}

footer,
footer a {
    color: #232323;
}

.video_block {
    position: relative;
    width: 100%;
    background: #000;
    border-radius: 8px;
    overflow: hidden;
}

.video_block img {
    margin: 0 0 -5px 0;
}

.video_block iframe {
    width: 100%;
    height: 247.5px;
    margin: 0 0 -8px 0;
}



header .tabs {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
    padding: 4px 6px;
    max-width: 480px;
    margin: 0 auto;
}

header li {
    font-weight: bold;
    list-style-type: none;
}

header li a {
    text-decoration: none;
    color: #051832;
    font-size: 12px;
    padding: 6px 10px 2px 10px;
    display: block;
    border-bottom: 4px solid #ffffff00;
    text-transform: uppercase;
    text-wrap: nowrap;
}

header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 9999;
    padding: 0;
    margin: 0;
}

.tabs li a.active {
    color: var(--Style1Color1);
    font-weight: bold;
}

body.body-style-2 {
    background: #272525;
    color: white;
}

body.body-style-2 header, body.body-style-2 section {
    background: #333333;
}

body.body-style-2 header li a {
    color: white;
}

body.body-style-2 .step {
    background: #4f4c4c;
}

body.body-style-2 .step p {
    color: white;
}

body.body-style-2 input {
    background: #4b4d55;
    border: 1px solid #272525;
}

body.body-style-2 footer {
    background: #232323;
    color: #b4b4b4;
}

body.body-style-2 footer a {
    color: #b4b4b4;
}

body.body-style-2 .block-fixed {
    background: #272525;
}

body.body-style-2 .tabs li a.active {
    color: var(--Style1Color2);
}





/* ізоляція стилів всередині опису гаманця */
.wallet-desc { --wd-accent:#c62828; --wd-bg:#fafafa; --wd-text:#222; }
.wallet-desc .wd-lead{font-size:1.05rem; line-height:1.6; margin:0 0 .5rem; color:var(--wd-text)}
.wallet-desc .wd-sub{margin:0 0 1rem; color:#444}

.wallet-desc .wd-badges{display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1rem}
.wallet-desc .wd-pill{
  display:inline-block; padding:.35rem .7rem; border-radius:999px;
  background:var(--wd-bg); border:1px solid #e6e6e6; font-weight:600; font-size:.9rem;
}

.wallet-desc .wd-features{
  list-style:none; margin:0; padding:.75rem; background:var(--wd-bg);
  border:1px solid #eee; border-radius:10px;
}
.wallet-desc .wd-features li{ padding:.45rem .5rem .45rem 1.6rem; margin:0}
.wallet-desc .wd-features li::before{
  content:"✓"; position:absolute; left:.6rem; top:.45rem; font-weight:700; color:var(--wd-accent);
}

.wallet-desc .wd-size{
  display:flex; align-items:center; gap:.75rem; margin:1rem 0 0;
  padding:.6rem .8rem; background:#fff; border:1px dashed #e4e4e4; border-radius:10px;
}
.wallet-desc .wd-size-title{font-weight:700}
.wallet-desc .wd-size-values{font-weight:600}




.cp-wrap{--cp-gap:10px;--cp-ring:#b30017;--cp-bg:#fafafa;--cp-text:#222}
.cp-wrap .cp-label{display:block;font-weight:700;margin:0 0 .35rem}
.cp-wrap .cp-select-fallback{width:100%;padding:.8rem;border-radius:10px;border:1px solid #ddd;background:#fff;margin-bottom:.5rem}

.cp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--cp-gap)}
.cp-radio{position:absolute;opacity:0;pointer-events:none}
.cp-swatch{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;border:1px solid #e6e6e6;border-radius:12px;background:#fff;cursor:pointer;transition:box-shadow .15s,border-color .15s}
.cp-swatch:hover{border-color:#d7d7d7;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.cp-dot{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(0,0,0,.1);background:var(--cp-color)}
.cp-name{font-weight:600;color:var(--cp-text)}
/* активний */
.cp-radio:checked + .cp-swatch{border-color:var(--cp-ring);box-shadow:0 0 0 3px rgba(179,0,23,.15)}
.cp-radio:checked + .cp-swatch .cp-dot{box-shadow:0 0 0 2px var(--cp-ring) inset}

.cp-chosen{margin:.6rem 0 0;color:#444}
.cp-error{display:none;margin:.4rem 0 0;color:#c62828;font-weight:600}






.ticker{
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  background: transparent;
  padding: 6px 0;
  margin: 8px 0;
  font-weight: 700;
}

.ticker span{
  display: inline-block;
  color: #000;             /* червоний текст */
  text-transform: none;       /* або uppercase, якщо треба */
  padding-left: 100%;         /* старт за межами контейнера */
  animation: ticker-move 12s linear infinite;
}

/* Пауза при наведенні (за бажанням) */
.ticker:hover span{ animation-play-state: paused; }

@keyframes ticker-move{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* трішки повільніше на мобілках */
@media (max-width:480px){
  .ticker span{ animation-duration: 16s; }
}
