/* Základ kupónu */
.rox-coupon {
    --rc-blue: #11457e;
    --rc-red: #e30613;
    --rc-ink: #10243a;

    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    flex: 0 0 100%;
    height: auto !important;
    margin: 12px 0 0 !important;
    padding: 12px 14px !important;
    overflow: hidden !important;
    border: 1px dashed #9db9d7 !important;
    border-radius: 10px !important;
    background: #edf4fc !important;
    color: var(--rc-ink) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer;
    isolation: isolate;
    transition: background .18s, border-color .18s;
    -webkit-tap-highlight-color: transparent;
}

.rox-coupon,
.rox-coupon * {
    box-sizing: border-box;
}

.rox-coupon:after,
.rox-coupon__price:before {
    content: none !important;
}

/* Česká vlajka v pozadí */
.rox-coupon:before {
    content: "" !important;
    position: absolute !important;
    display: block !important;
    inset: auto !important;
    left: -12px !important;
    top: 50% !important;
    width: 100px !important;
    height: 67px !important;
    transform: translateY(-50%) rotate(-14deg) !important;
    z-index: -1 !important;
    border-radius: 3px !important;
    pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 120'%3E%3Cpath fill='%23fff' d='M0 0h180v60H0z'/%3E%3Cpath fill='%23e30613' d='M0 60h180v60H0z'/%3E%3Cpath fill='%2311457e' d='M0 0l90 60L0 120z'/%3E%3C/svg%3E") center / cover no-repeat !important;
    opacity: .18 !important;
    -webkit-mask-image: linear-gradient(to right, #000 25%, transparent 100%) !important;
    mask-image: linear-gradient(to right, #000 25%, transparent 100%) !important;
}

/* Cena a kód společně na středu */
.rox-coupon__label {
    position: relative;
    z-index: 1;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    transition: opacity .15s;
}

.rox-coupon__price {
    display: block !important;
    flex: 0 1 auto;
    min-width: 0;
    margin: 0 !important;
    color: var(--rc-blue) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: -.2px !important;
    text-align: center !important;
    overflow-wrap: anywhere;
}

.rox-coupon__amount {
    font-weight: 700 !important;
}

.rox-coupon__caption {
    font-weight: 400 !important;
    white-space: nowrap;
}

/* Bílý štítek se slevovým kódem */
.rox-coupon__code {
    position: relative;
    display: inline-flex !important;
    flex: 0 1 auto;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 0;
    max-width: 100%;
    min-height: 32px;
    margin: 0 !important;
    padding: 6px 9px !important;
    border: 1px solid #e3061326;
    border-radius: 6px;
    background: #fff !important;
    color: var(--rc-red) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: .65px !important;
    overflow-wrap: anywhere;
    box-shadow: 0 1px 2px #10243a04;
}

/* Ikona kopírování */
.rox-coupon__icon {
    position: relative;
    display: block !important;
    flex: 0 0 14px;
    width: 14px;
    height: 16px;
    margin: 0 !important;
    color: var(--rc-red);
    opacity: .7;
}

.rox-coupon__icon:before,
.rox-coupon__icon:after {
    content: "";
    position: absolute;
    display: block;
    width: 9px;
    height: 11px;
    border: 1.3px solid currentColor;
    border-radius: 2px;
    background: #fff;
}

.rox-coupon__icon:before {
    top: 0;
    left: 0;
    opacity: .5;
}

.rox-coupon__icon:after {
    top: 4px;
    left: 4px;
}

/* Volitelná podmínka slevy */
.rox-coupon__condition {
    display: block;
    flex: 0 0 100%;
    margin: 0 !important;
    color: #506882 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

/* Potvrzení kopírování bez změny rozměrů */
.rox-coupon__feedback {
    position: absolute !important;
    inset: 0;
    z-index: 1;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px;
    border-radius: inherit;
    color: var(--rc-blue) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
    text-align: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s;
}

.rox-coupon[data-copied] .rox-coupon__label {
    opacity: 0;
}

.rox-coupon[data-copied] .rox-coupon__feedback {
    opacity: 1;
}

.rox-coupon[data-copied] .rox-coupon__feedback:before {
    content: "";
    display: block;
    width: 7px;
    height: 12px;
    margin-top: -3px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}

.rox-coupon:focus-visible {
    outline: 2px solid var(--rc-blue) !important;
    outline-offset: 3px;
}

/* Detail produktu */
.rox-coupon--detail {
    margin-top: 14px !important;
    padding: 14px 16px !important;
}

.rox-coupon--detail .rox-coupon__price {
    font-size: 16px !important;
}

.rox-coupon--detail .rox-coupon__code {
    min-height: 34px;
    padding: 7px 11px !important;
    font-size: 14px !important;
}

.rox-coupon--detail .rox-coupon__condition {
    font-size: 12px !important;
}

/* Najetí myší */
@media (hover: hover) {
    .rox-coupon:hover {
        border-color: #6088b3 !important;
        background: #e5effb !important;
    }

    .rox-coupon:hover .rox-coupon__icon {
        opacity: 1;
    }
}

/* Mobil */
@media (max-width: 767px) {
    .rox-coupon {
        padding: 10px 11px !important;
        margin-top: 10px !important;
    }

    .rox-coupon__price {
        font-size: 14px !important;
    }

    .rox-coupon__code {
        min-height: 30px;
        padding: 5px 8px !important;
        font-size: 12px !important;
    }

    .rox-coupon--detail {
        padding: 13px 14px !important;
        margin-top: 14px !important;
    }

    .rox-coupon--detail .rox-coupon__price {
        font-size: 15px !important;
    }

    .rox-coupon--detail .rox-coupon__code {
        min-height: 32px;
        padding: 6px 10px !important;
        font-size: 13px !important;
    }
}

/* Omezení animací podle nastavení zařízení */
@media (prefers-reduced-motion: reduce) {
    .rox-coupon,
    .rox-coupon__label,
    .rox-coupon__feedback {
        transition: none !important;
    }
}