/* Базовые стили для купонов с адаптивными единицами */
.coupon-box-list { 
    filter: drop-shadow(rgba(0, 0, 0, 0.15) 0.125rem 0.25rem 0.5rem); 
    margin-bottom: 1rem;
} 
        
.cmd-list-layout { 
    position: relative; 
    overflow: hidden; 
    border-radius: clamp(0.75rem, 1.5vw, 1rem); 
    background: #fff; 
    -webkit-mask: radial-gradient(circle at left center, transparent clamp(1.25rem, 2vw, 1.625rem), black clamp(1.375rem, 2.1vw, 1.6875rem)), radial-gradient(circle at right center, transparent clamp(1.25rem, 2vw, 1.625rem), black clamp(1.375rem, 2.1vw, 1.6875rem)), linear-gradient(black, black); 
    -webkit-mask-composite: destination-in; 
    mask: radial-gradient(circle at left center, transparent clamp(1.25rem, 2vw, 1.625rem), black clamp(1.375rem, 2.1vw, 1.6875rem)), radial-gradient(circle at right center, transparent clamp(1.25rem, 2vw, 1.625rem), black clamp(1.375rem, 2.1vw, 1.6875rem)), linear-gradient(black, black); 
    mask-composite: exclude; 
} 
        
.coupon-badge { 
    border-right: clamp(0.125rem, 0.2vw, 0.1875rem) dashed #ddd; 
    -webkit-mask: radial-gradient(circle at left center, transparent clamp(1.75rem, 2.5vw, 2.1875rem), black clamp(1.875rem, 2.6vw, 2.25rem)); 
    -webkit-mask-composite: destination-in; 
    mask: radial-gradient(circle at left center, transparent clamp(1.75rem, 2.5vw, 2.1875rem), black clamp(1.875rem, 2.6vw, 2.25rem)); 
    mask-composite: exclude; 
} 
        
.cmd-badge-text { 
    border-top-left-radius: clamp(0.75rem, 1.5vw, 1rem); 
    border-bottom-left-radius: clamp(0.75rem, 1.5vw, 1rem); 
    box-shadow: inset 0 0 clamp(2rem, 3vw, 3.125rem) clamp(0.5rem, 0.8vw, 0.625rem) rgba(0, 0, 0, 0.15); 
    min-height: clamp(5rem, 12vw, 8rem);
    padding: clamp(0.5rem, 1vw, 0.75rem) clamp(0.75rem, 1.5vw, 1rem);
} 

.cmd-badge-text h3 {
    font-size: clamp(1rem, 2vw, 1.5rem) !important;
    line-height: 1.2;
    margin: 0;
    word-break: break-word;
}
        
.coupon-content { 
    -webkit-mask: radial-gradient(circle at right center, transparent clamp(1.75rem, 2.5vw, 2.1875rem), black clamp(1.875rem, 2.6vw, 2.25rem)); 
    -webkit-mask-composite: destination-in; 
    mask: radial-gradient(circle at right center, transparent clamp(1.75rem, 2.5vw, 2.1875rem), black clamp(1.875rem, 2.6vw, 2.25rem)); 
    mask-composite: exclude; 
    border-radius: 0 clamp(0.75rem, 1.5vw, 1rem) clamp(0.75rem, 1.5vw, 1rem) 0; 
    padding: clamp(0.5rem, 1vw, 0.75rem);
}

.entry-content .promo-code,
.coupon-content .card-title a {
    text-decoration: none!important;
    color:#2c4660!important;
}

.coupon-content .card-title {
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.3;
    margin-bottom: clamp(0.5rem, 1vw, 0.75rem);
}

.coupon-content .card-text {
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    line-height: 1.5;
    margin-top: clamp(0.5rem, 1vw, 0.75rem);
}
        
.coupon-content .btn { 
    border-radius: clamp(0.5rem, 1vw, 0.75rem); 
    font-weight: 500; 
    width: 100%;
    max-width: 100%;
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    padding: clamp(0.5rem, 1vw, 0.625rem) clamp(0.75rem, 1.5vw, 1rem);
} 
        
.flex-column { 
    display: flex; 
    flex-direction: column;
    justify-content: space-between; 
    align-items: center; 
    gap: clamp(0.5rem, 1vw, 0.75rem);
    padding: 20px;
} 
        
.flex-column img { 
    height: auto !important; 
    max-width: clamp(60%, 15vw, 70%) !important;
    width: auto;
    object-fit: contain;
} 

.c-wrap {
    display: flex;
    justify-content: center;
    gap: 20px;
}
        
.coupon-button { 
    background: #277fe2!important; 
    border-color: #267edf!important; 
    text-decoration: none!important; 
    font-size: clamp(0.875rem, 1.5vw, 1rem); 
    border-radius: clamp(0.3125rem, 0.5vw, 0.5rem)!important; 
    padding: clamp(0.5rem, 1vw, 0.625rem) clamp(0.75rem, 1.5vw, 1rem)!important; 
    width: 100%;
    display: block;
    text-align: center;
} 
        
.promo-code { 
    position: relative; 
    border: clamp(0.0625rem, 0.1vw, 0.125rem) solid #cdcdcd; 
    padding: clamp(0.5rem, 1vw, 0.625rem) clamp(1rem, 2vw, 1.5625rem); 
    overflow: hidden; 
    border-radius: clamp(0.3125rem, 0.5vw, 0.5rem); 
    min-width: 100%;
    width: 100%;
    display: flex; 
    text-align: right; 
    align-items: center; 
    justify-content: flex-end; 
    font-size: clamp(0.875rem, 1.5vw, 1rem);
} 
        
.promo-code strong {
    font-size: clamp(0.875rem, 1.5vw, 1rem);
    font-weight: 600;
}
        
.promo-code span { 
    position: absolute; 
    width: 102%; 
    height: 102%; 
    background: #2780e3; 
    color: #fff; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    top: 0; 
    left: clamp(-3rem, -5vw, -3.4375rem); 
    padding-right: clamp(0.5rem, 1vw, 0.625rem); 
    padding-left: 5rem;
    transition: .5s; 
    cursor: pointer; 
    font-weight: 500; 
    font-size: clamp(0.875rem, 1.5vw, 1rem);
} 

.coupon-sidebar {
    background: #fff;
    padding: 21px;
    width: auto;
}
        
.promo-code span::after { 
    content: ''; 
    position: absolute; 
    right: clamp(-1.25rem, -2vw, -1.5625rem); 
    top: 0; 
    width: 0; 
    height: 0; 
    border-style: solid; 
    border-width: 0 0 clamp(4rem, 6vw, 5.375rem) clamp(1.25rem, 2vw, 1.5625rem); 
    border-color: transparent transparent transparent #2780e3; 
} 
        
.promo-code span:hover { 
    left: clamp(-3.5rem, -5.5vw, -4.0625rem); 
}

/* Медиа-запросы для адаптивности */
@media (max-width: 991.98px) {
    .coupon-badge {
        border-right: none;
        border-bottom: clamp(0.125rem, 0.2vw, 0.1875rem) dashed #ddd;
        -webkit-mask: none;
        mask: none;
    }
    
    .cmd-badge-text {
        border-top-left-radius: clamp(0.75rem, 1.5vw, 1rem);
        border-top-right-radius: clamp(0.75rem, 1.5vw, 1rem);
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        min-height: auto;
        padding: clamp(0.75rem, 2vw, 1rem);
    }
    
    .coupon-content {
        border-radius: 0 0 clamp(0.75rem, 1.5vw, 1rem) clamp(0.75rem, 1.5vw, 1rem);
        -webkit-mask: none;
        mask: none;
    }
    
    .cmd-list-layout {
        -webkit-mask: none;
        mask: none;
    }
    
    .flex-column {
        margin-top: clamp(0.75rem, 2vw, 1rem);
    }
    
    .flex-column img {
        max-width: clamp(40%, 20vw, 60%) !important;
    }
    
    .coupon-content .card-body {
        margin-bottom: clamp(0.5rem, 1vw, 0.75rem);
    }
}

@media (max-width: 575.98px) {
    .coupon-box-list {
        padding: clamp(0.5rem, 1vw, 0.75rem) !important;
    }
    
    .cmd-list-layout {
        padding: clamp(0.5rem, 1vw, 0.75rem) !important;
    }
    
    .coupon-content .rounded-4 {
        padding: clamp(0.5rem, 1vw, 0.75rem) !important;
    }
    
    .promo-code {
        min-width: 100%;
        padding: clamp(0.5rem, 1.5vw, 0.625rem) clamp(0.75rem, 2vw, 1rem);
    }
}
        
.hidden-text { 
    display: none; 
} 
        
.toggle-button { 
    background: none; 
    border: none; 
    color: blue; 
    cursor: pointer; 
    text-decoration: underline; 
    font-size: 14px; 
}

.promo-modal {
    display: none; 
    position: fixed !important; 
    z-index: 999999 !important;
    left: 0 !important; 
    top: 0 !important; 
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important; 
    height: 100vh !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    margin: 0 !important;
    padding: clamp(1rem, 2vw, 2rem) !important;
    background-color: rgba(0,0,0,0.6);
    animation: fadeIn .3s ease forwards;
    overflow-y: auto;
    overflow-x: hidden;
    box-sizing: border-box;
}
@keyframes fadeIn { from {opacity:0;} to {opacity:1;} }
.promo-modal-content {
    background: #fff; 
    padding: clamp(1rem, 2vw, 1.5625rem) clamp(1.25rem, 2.5vw, 1.875rem);
    border-radius: clamp(0.5rem, 1vw, 0.75rem); 
    width: clamp(280px, 90vw, 400px); 
    max-width: 90%;
    margin: clamp(5%, 10vh, 10%) auto; 
    text-align: center; 
    position: relative !important;
    z-index: 1000000 !important;
    animation: slideIn .4s ease forwards;
    box-sizing: border-box;
}
@keyframes slideIn { from {transform:translateY(-40px);opacity:0;} to {transform:translateY(0);opacity:1;} }
.promo-modal-close { 
    position: absolute; 
    right: clamp(0.5rem, 1vw, 0.625rem); 
    top: clamp(0.5rem, 1vw, 0.625rem); 
    cursor: pointer; 
    font-size: clamp(1.25rem, 2vw, 1.5rem); 
    color: #555; 
    line-height: 1;
    padding: clamp(0.25rem, 0.5vw, 0.5rem);
}
#promoCodeLogo {
    max-width: clamp(120px, 25vw, 160px) !important; 
    max-height: clamp(40px, 8vw, 60px) !important; 
    margin: clamp(0.5rem, 1vw, 0.625rem) auto; 
    display: block;
}
#promoCodeTitle {
    font-size: clamp(1rem, 2vw, 1.25rem);
    margin-bottom: clamp(0.5rem, 1vw, 0.75rem);
}
#promoCodeDesc {
    font-size: clamp(0.875rem, 1.5vw, 0.95rem);
    color: #555;
    margin-bottom: clamp(0.5rem, 1vw, 0.75rem);
}
#promoCodeBox { 
    margin: clamp(0.75rem, 1.5vw, 0.9375rem) 0; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    gap: clamp(0.5rem, 1vw, 0.625rem); 
    flex-wrap: wrap; 
}
#promoCodeValue {
    font-size: clamp(1rem, 2vw, 1.3rem); 
    font-weight: bold;
    background: #f1f1f1; 
    padding: clamp(0.375rem, 0.75vw, 0.5rem) clamp(0.75rem, 1.5vw, 1rem);
    border-radius: clamp(0.375rem, 0.6vw, 0.5rem); 
    user-select: all;
    word-break: break-all;
}
#copyPromoBtn {
    background: #2780e3; 
    color: #fff;
    border: none; 
    padding: clamp(0.375rem, 0.75vw, 0.5rem) clamp(0.75rem, 1.5vw, 1rem);
    border-radius: clamp(0.3125rem, 0.5vw, 0.5rem); 
    cursor: pointer; 
    transition: 0.3s;
    font-size: clamp(0.875rem, 1.5vw, 1rem);
}
#copyPromoBtn:hover { background: #1e6bc6; }
#copyPromoBtn.copied { background: #2ecc71 !important; }
#promoCodeDate {
    font-size: clamp(0.875rem, 1.5vw, 0.9rem);
    color: #2e7d32; 
    font-weight: 600;
    margin-bottom: clamp(0.5rem, 1vw, 0.75rem);
}
#goAffiliateLink {
    display: inline-block; 
    background: #2780e3;
    color: #fff; 
    border-radius: clamp(0.375rem, 0.6vw, 0.5rem);
    padding: clamp(0.5rem, 1vw, 0.625rem) clamp(1rem, 2vw, 1.25rem); 
    margin-top: clamp(0.5rem, 1vw, 0.625rem);
    text-decoration: none; 
    transition: 0.3s;
    font-size: clamp(0.875rem, 1.5vw, 1rem);
}
#goAffiliateLink:hover { background: #1e6bc6; }

@media (max-width: 575.98px) {
    .promo-modal-content {
        margin: clamp(2rem, 5vh, 5%) auto;
        padding: clamp(0.875rem, 2vw, 1rem) clamp(1rem, 2.5vw, 1.25rem);
    }
}

/* ======= ВИДЖЕТ МАГАЗИНОВ ======= */
.admitad-shops-widget-grid {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(0.75rem, 1.5vw, 1rem);
    margin: 0;
}

.admitad-shop-widget-item {
    flex: 0 0 calc(50% - clamp(0.375rem, 0.75vw, 0.5rem));
    position: relative;
}

.admitad-shop-widget-link {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.admitad-shop-widget-link:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}

.admitad-shop-widget-image-wrap {
    position: relative;
    width: 100%;
    padding-top: 75%; /* Соотношение сторон 4:3 */
    overflow: hidden;
    border-radius: clamp(0.5rem, 1vw, 0.75rem);
    background: #f5f5f5;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.admitad-shop-widget-logo,
.admitad-shop-widget-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: clamp(0.5rem, 1vw, 0.75rem);
}

.admitad-shop-widget-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: bold;
}

.admitad-shop-widget-badge {
    position: absolute;
    bottom: clamp(0.5rem, 1vw, 0.75rem);
    right: clamp(0.5rem, 1vw, 0.75rem);
    background: rgba(39, 128, 227, 0.95);
    color: #fff;
    padding: clamp(0.375rem, 0.75vw, 0.5rem) clamp(0.5rem, 1vw, 0.75rem);
    border-radius: clamp(0.25rem, 0.5vw, 0.375rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: clamp(2.5rem, 5vw, 3rem);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(4px);
}

.admitad-shop-widget-count {
    font-size: clamp(1rem, 2rem, 1rem);
    font-weight: bold;
    line-height: 1;
    margin-bottom: clamp(0.125rem, 0.25vw, 0.25rem);
}

.admitad-shop-widget-label {
    font-size: clamp(0.625rem, 1rem, 0.75rem);
    line-height: 1;
    text-transform: lowercase;
    opacity: 0.9;
}

/* Адаптивность для виджета */
@media (max-width: 767.98px) {
    .admitad-shop-widget-item {
        flex: 0 0 100%;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .admitad-shop-widget-item {
        flex: 0 0 calc(50% - clamp(0.375rem, 0.75vw, 0.5rem));
    }
}

@media (min-width: 992px) {
    .admitad-shop-widget-item {
        flex: 0 0 calc(50% - clamp(0.375rem, 0.75vw, 0.5rem));
    }
}

/* ======= СЕТКА МАГАЗИНОВ (шорткод [admitad_shops], columns через --admitad-shops-cols) ======= */
.admitad-shops-grid {
    --admitad-shops-cols: 3;
    display: grid;
    grid-template-columns: repeat(var(--admitad-shops-cols, 3), minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    margin: clamp(1rem, 2vw, 1.5rem) 0;
}

.admitad-shop-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.75rem, 1.5vw, 1rem);
    padding: clamp(0.75rem, 1.5vw, 1rem);
    border-radius: clamp(1.5rem, 1vw, 0.75rem);
    background: #fff;
    box-shadow: 0 0 20px 5px rgba(19, 27, 68, 0.1);
    transition: all 0.7s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}

.admitad-shop-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 30px 40px -20px rgba(0, 0, 0, 0.2);
    border-color: rgba(59, 130, 246, 0.2);
}

.admitad-shop-logo-wrap {
    flex: 0 0 clamp(4.5rem, 9vw, 5.5rem);
    width: 100%;
    max-width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.admitad-shop-logo {
    max-width: 100%;
    max-height: clamp(3rem, 6vw, 3.5rem);
    width: auto;
    height: auto;
    object-fit: contain;
}

.admitad-shop-logo-placeholder {
    width: 100%;
    padding-top: 100%;
    border-radius: 50%;
    background: #e4edf8;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.admitad-shop-logo-placeholder span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: #2c4660;
}

.admitad-shop-info {
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
}

.admitad-shop-title {
    font-size: clamp(1rem, 2vw, 1.125rem);
    margin: 0 0 clamp(0.25rem, 0.5vw, 0.5rem);
}

.admitad-shop-title a {
    color: #2c4660;
    text-decoration: none;
}

.admitad-shop-title a:hover {
    text-decoration: underline;
}

.admitad-shop-meta {
    font-size: clamp(0.875rem, 1.6vw, 0.95rem);
    margin: 0 0 clamp(0.5rem, 1vw, 0.75rem);
    color: #6c757d;
}

.admitad-shop-meta strong {
    color: #2c4660;
}

.admitad-shop-btn {
    font-size: clamp(0.875rem, 1.6vw, 1rem);
    padding: clamp(0.4rem, 0.8vw, 0.5rem) clamp(0.9rem, 1.8vw, 1.2rem);
    border-radius: clamp(0.375rem, 0.75vw, 0.5rem);
    text-decoration: none!important;
}

/* Цвет из настроек плагина (--admitad-main-color в wp_add_inline_style) */
.admitad-shops-grid .admitad-shop-btn.btn-primary {
    background-color: var(--admitad-main-color, #2780e3);
    border-color: var(--admitad-main-color, #2780e3);
    color: #fff;
}

.admitad-shops-grid .admitad-shop-btn.btn-primary:hover,
.admitad-shops-grid .admitad-shop-btn.btn-primary:focus,
.admitad-shops-grid .admitad-shop-btn.btn-primary:active {
    background-color: color-mix(in srgb, var(--admitad-main-color, #2780e3) 88%, #000);
    border-color: color-mix(in srgb, var(--admitad-main-color, #2780e3) 88%, #000);
    color: #fff;
}

@media (max-width: 767.98px) {
    .admitad-shops-grid {
        grid-template-columns: 1fr;
    }
}

.admitad-shops-pagination {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: clamp(1rem, 2vw, 1.5rem) 0;
    text-align: center;
}

.admitad-shops-pagination ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.admitad-shops-pagination ul.page-numbers li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.admitad-shops-pagination ul.page-numbers a,
.admitad-shops-pagination ul.page-numbers span {
    display: inline-block;
    padding: 0.35rem 0.65rem;
    border-radius: 0.35rem;
    text-decoration: none;
    border: 1px solid rgba(44, 70, 96, 0.15);
    color: #2c4660;
    background: #fff;
}

.admitad-shops-pagination ul.page-numbers span.current,
.admitad-shops-pagination ul.page-numbers a:hover,
.admitad-shops-pagination ul.page-numbers a:focus {
    background: var(--admitad-main-color, #2780e3);
    border-color: var(--admitad-main-color, #2780e3);
    color: #fff;
}

.admitad-shops-load-more-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: clamp(1rem, 2vw, 1.5rem) 0;
    text-align: center;
}

.admitad-shops-load-more-btn {
    background: var(--admitad-main-color, #2780e3);
    border-color: var(--admitad-main-color, #2780e3);
    color: #fff;
}

.admitad-shops-load-more-btn:hover {
    background: #fff;
    border-color: var(--admitad-main-color, #2780e3);
    color: var(--admitad-main-color, #2780e3);
}