.sinigold-carousel {
    --sg-card-width: 340px;
    --sg-card-limit: calc((100% - 50px) / 3);
    --sg-center-scale: 1;
    --sg-side-scale: .94;
    --sg-side-opacity: .86;
    --sg-side-blur: 0px;
    --sg-side-gray: 0;
    --sg-side-overlap: 0;
    --sg-gap: 25px;
    --sg-depth: 65;
    --sg-tilt: 8;
    --sg-lift: -8;
    --sg-perspective: 1200px;
    --sg-duration: 750;
    --sg-border-color: #d4af37;
    --sg-border-width: 1.5px;
    --sg-glow-size: 280px;
    --sg-glow-opacity: .95;
    --sg-glow-softness: 18px;
    --sg-description-ratio: 2;
    --sg-shine-color: #fff;
    --sg-shine-opacity: .2;
    --sg-shine-angle: 45deg;
    --sg-shine-speed: 1200ms;
    --sg-shine-width: 24%;
    position: relative;
    width: 100%;
    min-width: 0;
    direction: rtl;
}
.sinigold-carousel *, .sinigold-carousel *::before, .sinigold-carousel *::after { box-sizing: border-box; }
.sinigold-cards-wrapper {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    padding: calc(35px + var(--sg-scale-inset, 0px)) 0 calc(30px + var(--sg-scale-inset, 0px));
    perspective: var(--sg-perspective);
    isolation: isolate;
    touch-action: pan-y pinch-zoom;
    outline-offset: -2px;
}
.sinigold-card {
    grid-area: 1 / 1;
    position: relative;
    align-self: center;
    width: min(var(--sg-card-width), var(--sg-card-limit), calc((100% - 8px) / max(1, var(--sg-center-scale))));
    min-width: 0;
    min-height: var(--sg-card-height, 0px);
    padding: 30px 20px 25px;
    background: linear-gradient(180deg, #0d3228 0%, #071f18 100%);
    border: var(--sg-border-width) solid var(--sg-border-color);
    border-color: color-mix(in srgb, var(--sg-border-color) 40%, transparent);
    border-radius: 20px;
    text-align: center;
    box-shadow: 0 15px 35px rgba(0, 0, 0, .4), inset 0 0 15px rgba(212, 175, 55, .08);
    backface-visibility: hidden;
    overflow: hidden;
    overflow-wrap: anywhere;
    transform-origin: center;
}
.sinigold-carousel:not(.is-ready) .sinigold-card:not(:first-child) { visibility: hidden; }
.sinigold-carousel.is-single { --sg-card-limit: 100%; }
.sinigold-card.is-active { border-color: color-mix(in srgb, var(--sg-border-color) 70%, transparent); box-shadow: 0 20px 45px rgba(0, 0, 0, .5), inset 0 0 20px rgba(212, 175, 55, .12); }
.sinigold-card::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: var(--sg-border-width);
    border-radius: inherit;
    background: radial-gradient(circle var(--sg-glow-size) at var(--sg-pointer-x, 50%) var(--sg-pointer-y, 50%), var(--sg-border-color) 0%, transparent 70%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    opacity: 0;
    pointer-events: none;
    transition: opacity 250ms;
    z-index: 3;
}
.sinigold-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 var(--sg-glow-softness) var(--sg-border-color);
    -webkit-mask-image: radial-gradient(circle var(--sg-glow-size) at var(--sg-pointer-x, 50%) var(--sg-pointer-y, 50%), #000, transparent 70%);
    mask-image: radial-gradient(circle var(--sg-glow-size) at var(--sg-pointer-x, 50%) var(--sg-pointer-y, 50%), #000, transparent 70%);
    opacity: 0;
    pointer-events: none;
    transition: opacity 250ms;
}
.sinigold-carousel.has-pointer:not(.glow-disabled) .sinigold-card::before { opacity: var(--sg-glow-opacity); }
.sinigold-carousel.has-pointer:not(.glow-disabled) .sinigold-card::after { opacity: calc(var(--sg-glow-opacity) * .25); }
.sinigold-card-image-wrap { position: relative; margin-bottom: 25px; min-height: 140px; display: flex; justify-content: center; align-items: center; }
.sinigold-card-image-wrap img {
    display: block;
    width: var(--sg-image-width, auto);
    height: var(--sg-image-height, auto);
    max-width: 100%;
    object-fit: contain;
    filter: drop-shadow(0 10px 15px rgba(0, 0, 0, .4));
    user-select: none;
    -webkit-user-drag: none;
}
.sinigold-card-title { color: #fff; font-size: 24px; font-weight: 700; margin: 0 0 12px; }
.sinigold-card-desc { color: #b0c4bc; font-size: 14px; line-height: 1.6; margin: 0 0 25px; }
.sinigold-card-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    direction: ltr;
    width: 42px;
    min-height: 42px;
    padding: 0;
    background: linear-gradient(135deg, #f3e5ab 0%, #d4af37 100%);
    color: #071f18;
    border-radius: 50%;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
    box-shadow: 0 4px 10px rgba(212, 175, 55, .3);
}
.sinigold-card-btn.has-text { width: auto; padding: 10px 18px; border-radius: 24px; }
.sinigold-card-btn:hover { transform: scale(1.1); background: #fff; color: #071f18; }
.sinigold-card-btn:focus-visible, .sinigold-cards-wrapper:focus-visible { outline: 2px solid var(--sg-border-color); outline-offset: 4px; }
.sinigold-button-icon { display: inline-flex; flex: 0 0 auto; color: var(--sg-button-icon-color, currentColor); font-size: var(--sg-button-icon-size, 20px); }
.sinigold-button-icon svg { width: 1em; height: 1em; }
.sinigold-button-icon svg:not(.sinigold-default-arrow) { fill: currentColor; }
.sinigold-card-btn.icon-right { flex-direction: row-reverse; }
.sinigold-button-text { direction: rtl; }
.sinigold-description {
    display: grid;
    width: min(100%, calc(var(--sg-current-width, 340px) * var(--sg-center-scale) * var(--sg-description-ratio)));
    margin: var(--sg-description-top, 12px) auto var(--sg-description-bottom, 0px);
    padding: 0 12px;
    text-align: center;
    color: #b0c4bc;
    font-size: 15px;
    line-height: 1.9;
    overflow: hidden;
}
.sinigold-description-item { grid-area: 1 / 1; align-self: start; margin: 0; visibility: hidden; white-space: pre-line; overflow-wrap: anywhere; }
.sinigold-description-item.is-current { visibility: visible; }
.sinigold-drag-cursor { display: none; position: absolute; left: 0; top: 0; pointer-events: none; z-index: 10; color: var(--sg-cursor-color, #d4af37); font-size: var(--sg-cursor-size, 28px); line-height: 1; }
.sinigold-drag-cursor svg { width: 1em; height: 1em; }
.sinigold-drag-cursor svg:not(.sinigold-default-cursor) { fill: currentColor; }
@media (hover: hover) and (pointer: fine) {
    .sinigold-carousel.has-custom-cursor.has-pointer .sinigold-drag-cursor { display: block; }
    .sinigold-carousel.has-custom-cursor .sinigold-cards-wrapper,
    .sinigold-carousel.has-custom-cursor .sinigold-card-btn { cursor: none; }
}
.sinigold-carousel.is-dragging { user-select: none; }
.sinigold-shine { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; z-index: 2; }
.sinigold-shine::before {
    content: "";
    position: absolute;
    inset: -150%;
    background: linear-gradient(var(--sg-shine-angle), transparent calc(50% - var(--sg-shine-width) / 2), var(--sg-shine-color) 50%, transparent calc(50% + var(--sg-shine-width) / 2));
    opacity: var(--sg-shine-opacity);
    transform: translateX(-100%);
}
.sinigold-card.is-shining .sinigold-shine::before { animation: sinigold-shine var(--sg-shine-speed) ease-in-out both; }
@keyframes sinigold-shine { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
.sinigold-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1024px) { .sinigold-carousel { --sg-card-limit: 48%; --sg-side-overlap: 18; --sg-tilt: 12; --sg-depth: 80; } }
@media (max-width: 767px) {
    .sinigold-carousel { --sg-card-limit: 64%; --sg-side-overlap: 30; --sg-gap: 0px; --sg-side-scale: .9; --sg-side-opacity: .78; --sg-tilt: 18; --sg-depth: 100; --sg-description-ratio: 1.35; }
    .sinigold-cards-wrapper { padding-top: calc(30px + var(--sg-scale-inset, 0px)); padding-bottom: calc(25px + var(--sg-scale-inset, 0px)); }
    .sinigold-card { padding: 25px 16px 22px; }
}
@media (prefers-reduced-motion: reduce) { .sinigold-carousel *, .sinigold-carousel *::before, .sinigold-carousel *::after { animation: none !important; transition: none !important; } }
