/* Ringg Shop Platforms 1.2.0
   Based on the EXACT HTML/CSS structure supplied by the site owner.
   Every rule is scoped to .ringg-shop-plugin to avoid collisions with theme widgets.
   Intentionally NO aspect-ratio and NO square cards. */
.ringg-store-wrapper.ringg-shop-plugin {
    width: 100% !important;
    padding: 40px 10px !important;
    box-sizing: border-box !important;
}
.ringg-shop-plugin, .ringg-shop-plugin *, .ringg-shop-plugin *::before, .ringg-shop-plugin *::after {
    box-sizing: border-box !important;
}
.ringg-shop-plugin .ringg-card {
    width: 100% !important;
    max-width: var(--ringg-max-width, 1350px) !important;
    margin: 0 auto !important;
    padding: 60px 30px !important;
    background: #ffffff !important;
    border: 1px solid rgba(74, 85, 94, 0.10) !important;
    border-radius: 30px !important;
    text-align: center !important;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.03) !important;
    overflow: visible !important;
}
.ringg-shop-plugin .ringg-logo-stage {
    width: var(--ringg-brand-width, 100px) !important;
    max-width: 100% !important;
    margin: 0 auto 25px auto !important;
    display: block !important;
}
.ringg-shop-plugin .ringg-main-logo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: var(--ringg-brand-height, 100px) !important;
    object-fit: contain !important;
}
.ringg-shop-plugin .ringg-headline {
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    color: #4A555E !important;
    font-size: var(--ringg-heading-size, 60px) !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -2px !important;
    text-align: center !important;
    font-family: inherit !important;
    text-transform: none !important;
    border: 0 !important;
}
.ringg-shop-plugin .ringg-subtext {
    margin: 0 0 var(--ringg-cards-top-gap, 55px) 0 !important;
    padding: 0 !important;
    color: #888888 !important;
    font-size: var(--ringg-subtitle-size, 18px) !important;
    font-weight: 300 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    font-family: inherit !important;
}
/* 12-track grid allows 4 + 4 + 3 cards while filling the ENTIRE third row. */
.ringg-shop-plugin .ringg-retail-grid-fixed {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: var(--ringg-grid-gap, 15px) !important;
    width: 100% !important;
    align-items: stretch !important;
}
.ringg-shop-plugin .ringg-store-card-item {
    grid-column: span 3 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: var(--ringg-card-pad, 35px) 10px !important;
    background: #ffffff !important;
    border: 1px solid #f2f2f2 !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: auto !important;
    color: #4A555E !important;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}
.ringg-shop-plugin a.ringg-store-card-item { cursor: pointer !important; }
.ringg-shop-plugin a.ringg-store-card-item:visited { color: #4A555E !important; }
.ringg-shop-plugin a.ringg-store-card-item:hover,
.ringg-shop-plugin a.ringg-store-card-item:focus-visible {
    border-color: #4A555E !important;
    box-shadow: 0 10px 30px rgba(74, 85, 94, 0.08) !important;
    transform: translateY(-8px) !important;
}
.ringg-shop-plugin .ringg-logo-box {
    width: 100% !important;
    height: var(--ringg-logo-box-height, 50px) !important;
    min-height: var(--ringg-logo-box-height, 50px) !important;
    margin-bottom: 25px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.ringg-shop-plugin .ringg-logo-box img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(100%, var(--ringg-item-logo-width, var(--ringg-logo-width, 155px))) !important;
    max-height: var(--ringg-logo-height, 50px) !important;
    object-fit: contain !important;
    transform: scale(var(--ringg-item-logo-scale, 1)) !important;
}
.ringg-shop-plugin .ringg-fallback-logo {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #4A555E !important;
    line-height: 1.1 !important;
}
.ringg-shop-plugin .ringg-action-btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    color: #4A555E !important;
    font-size: var(--ringg-label-size, 11px) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}
.ringg-shop-plugin .ringg-arrow {
    display: inline-block !important;
    margin-left: 6px !important;
    transition: transform .3s ease !important;
}
.ringg-shop-plugin .ringg-store-card-item:hover .ringg-arrow,
.ringg-shop-plugin .ringg-store-card-item:focus-visible .ringg-arrow {
    transform: translateX(3px) !important;
}
.ringg-shop-plugin .ringg-action-btn::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -4px !important;
    width: 0 !important;
    height: 2px !important;
    background-color: #4A555E !important;
    transition: width .3s ease !important;
}
.ringg-shop-plugin .ringg-store-card-item:hover .ringg-action-btn::after,
.ringg-shop-plugin .ringg-store-card-item:focus-visible .ringg-action-btn::after { width: 100% !important; }
/* Last row fill. No aspect-ratio: all rows retain the original natural card height. */
@media (min-width: 1025px) {
    .ringg-shop-plugin .ringg-retail-grid-fixed.ringg-last-row-3 > .ringg-store-card-item:nth-last-child(-n+3) { grid-column: span 4 !important; }
    .ringg-shop-plugin .ringg-retail-grid-fixed.ringg-last-row-2 > .ringg-store-card-item:nth-last-child(-n+2) { grid-column: span 6 !important; }
    .ringg-shop-plugin .ringg-retail-grid-fixed.ringg-last-row-1 > .ringg-store-card-item:last-child { grid-column: span 12 !important; }
}
@media (max-width: 1024px) {
    .ringg-shop-plugin .ringg-retail-grid-fixed { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .ringg-shop-plugin .ringg-retail-grid-fixed > .ringg-store-card-item { grid-column: span 1 !important; }
    .ringg-shop-plugin .ringg-retail-grid-fixed > .ringg-store-card-item:last-child:nth-child(odd) { grid-column: span 2 !important; }
    .ringg-shop-plugin .ringg-headline { font-size: var(--ringg-heading-tablet, 45px) !important; }
}
@media (max-width: 768px) {
    .ringg-shop-plugin .ringg-card { padding: 45px 20px !important; }
    .ringg-shop-plugin .ringg-retail-grid-fixed { gap: 12px !important; }
    .ringg-shop-plugin .ringg-headline { font-size: var(--ringg-heading-tablet, 45px) !important; letter-spacing: -1.5px !important; }
    .ringg-shop-plugin .ringg-subtext { font-size: var(--ringg-subtitle-tablet, 16px) !important; }
    .ringg-shop-plugin .ringg-store-card-item { padding: 30px 10px !important; }
}
@media (max-width: 480px) {
    .ringg-store-wrapper.ringg-shop-plugin { padding: 20px 10px !important; }
    .ringg-shop-plugin .ringg-card { padding: 35px 15px !important; border-radius: 22px !important; }
    .ringg-shop-plugin .ringg-logo-stage { width: var(--ringg-brand-width-mobile, 90px) !important; margin-bottom: 15px !important; }
    .ringg-shop-plugin .ringg-headline { font-size: var(--ringg-heading-mobile, 32px) !important; letter-spacing: -1px !important; }
    .ringg-shop-plugin .ringg-subtext { margin-bottom: 35px !important; font-size: var(--ringg-subtitle-mobile, 15px) !important; }
    /* User specifically wants TWO cards per row on mobile, not the 1 column in original code. */
    .ringg-shop-plugin .ringg-retail-grid-fixed { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
    .ringg-shop-plugin .ringg-store-card-item { padding: 25px 6px !important; }
    .ringg-shop-plugin .ringg-logo-box { height: 45px !important; min-height: 45px !important; margin-bottom: 16px !important; }
    .ringg-shop-plugin .ringg-logo-box img { max-height: min(45px, var(--ringg-logo-height, 50px)) !important; }
    .ringg-shop-plugin .ringg-action-btn {
        font-size: var(--ringg-label-mobile, 9px) !important;
        letter-spacing: .25px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        text-align: center !important;
    }
    .ringg-shop-plugin .ringg-arrow { margin-left: 4px !important; }
}
@media (prefers-reduced-motion: reduce) {
    .ringg-shop-plugin .ringg-store-card-item,
    .ringg-shop-plugin .ringg-arrow,
    .ringg-shop-plugin .ringg-action-btn::after { transition: none !important; }
}
