/* =============================================
 * САНМАРИНО — ГЛОБАЛЬНЫЕ СТИЛИ
 * global.css
 * 
 * CSS-переменные, фон, типографика, общие компоненты,
 * сброс конфликтов Astra/Elementor/WooCommerce
 * ============================================= */


/* =============================================
 * 1. CSS ПЕРЕМЕННЫЕ
 * ============================================= */

:root {
    /* ЦВЕТА БРЕНДА */
    --brand-dark: #0C2744;
    --brand-action: #EC672E;
    --brand-link: #22688C;
    
    /* СТАТУСЫ */
    --color-success: #27AE60;
    --color-gray: #8899a8;
    --color-danger: #F91155;
    
    /* ФОНЫ */
    --bg-light: #F8FAFC;
    --bg-page: linear-gradient(135deg, #F0F4F8 0%, #D7E1EC 100%);
    
    /* СТЕКЛО (Glassmorphism) */
    --glass-bg: rgba(255, 255, 255, 0.70);
    --glass-bg-strong: rgba(255, 255, 255, 0.85);
    --glass-border: 1px solid rgba(255, 255, 255, 0.6);
    --glass-blur: blur(20px);
    --glass-shadow: 0 8px 32px 0 rgba(12, 39, 68, 0.08);
    --glass-shadow-hover: 0 15px 40px rgba(12, 39, 68, 0.12);
    
    /* СКРУГЛЕНИЯ */
    --radius-lg: 24px;
    --radius-md: 16px;
    --radius-sm: 12px;
    --radius-xs: 8px;
    
    /* КОНТЕЙНЕР */
    --container-width: 1400px;
    --container-padding: 20px;
    
    /* ХЕДЕР */
    --header-height: 100px;
    
    /* АНИМАЦИИ */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
}


/* =============================================
 * 2. ГЛОБАЛЬНЫЙ ФОН И ТИПОГРАФИКА
 * ============================================= */

body {
    background: var(--bg-page) !important;
    background-attachment: fixed !important;
    color: var(--brand-dark);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.sanmarino-theme * {
    box-sizing: border-box;
}


/* =============================================
 * 3. СБРОС КОНФЛИКТОВ ASTRA / ELEMENTOR
 * ============================================= */

/* Ширина контейнера Elementor */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: var(--container-width) !important;
}

/* Убираем стандартные отступы Astra на WC-страницах */
.sanmarino-catalog .site-content > .ast-container,
.sanmarino-product .site-content > .ast-container,
.sanmarino-cart .site-content > .ast-container,
.sanmarino-checkout .site-content > .ast-container,
.sanmarino-account .site-content > .ast-container {
    max-width: var(--container-width);
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}

/* Убираем сайдбар Astra на WC-страницах */
.sanmarino-catalog .ast-container,
.sanmarino-product .ast-container,
.sanmarino-cart .ast-container,
.sanmarino-checkout .ast-container,
.sanmarino-account .ast-container {
    display: block !important;
}

.sanmarino-catalog #secondary,
.sanmarino-product #secondary,
.sanmarino-cart #secondary,
.sanmarino-checkout #secondary,
.sanmarino-account #secondary {
    display: none !important;
}

#primary {
    width: 100% !important;
    float: none !important;
}

/* Убираем стандартный result count и ordering */
.sanmarino-catalog .woocommerce-result-count,
.sanmarino-catalog .woocommerce-ordering {
    display: none;
}


/* =============================================
 * 4. ССЫЛКИ И БАЗОВЫЕ ЭЛЕМЕНТЫ
 * ============================================= */

.sanmarino-theme a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition-fast);
}

.sanmarino-theme a:hover {
    color: var(--brand-action);
}

.sanmarino-theme img {
    max-width: 100%;
    height: auto;
    display: block;
}


/* =============================================
 * 5. ОБЩИЕ КОМПОНЕНТЫ
 * ============================================= */

/* Контейнер */
.sm-container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

/* Стеклянная панель */
.sm-glass {
    background: var(--glass-bg);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: var(--glass-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--glass-shadow);
}

.sm-glass-strong {
    background: var(--glass-bg-strong);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border: var(--glass-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--glass-shadow);
}

/* Белая карточка */
.sm-card {
    background: #fff;
    border-radius: var(--radius-md);
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03);
    border: 1px solid transparent;
    transition: var(--transition-normal);
}

.sm-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--glass-shadow-hover);
}

/* Хлебные крошки */
.sm-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 25px;
    font-size: 13px;
    color: var(--brand-link);
    opacity: 0.8;
}

.sm-breadcrumbs a:hover {
    color: var(--brand-action);
    opacity: 1;
}

.sm-breadcrumbs .separator {
    color: #ccc;
}

/* Заголовок секции */
.sm-section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 30px;
}

.sm-section-title {
    font-size: 32px;
    font-weight: 800;
    color: var(--brand-dark);
    margin: 0;
    position: relative;
    padding-left: 20px;
}

.sm-section-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 32px;
    background: var(--brand-action);
    border-radius: 4px;
}

.sm-section-link {
    color: var(--brand-link);
    font-weight: 600;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.sm-section-link:hover {
    color: var(--brand-action);
}


/* =============================================
 * 6. КНОПКИ
 * ============================================= */

/* CTA (оранжевая) */
.sm-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--brand-action);
    color: #fff;
    border: none;
    padding: 14px 28px;
    border-radius: var(--radius-sm);
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: var(--transition-fast);
    box-shadow: 0 4px 15px rgba(236, 103, 46, 0.3);
    line-height: 1;
}

.sm-btn-primary:hover {
    background: #d65620;
    transform: translateY(-2px);
    color: #fff;
}

/* Тёмная кнопка */
.sm-btn-dark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--brand-dark);
    color: #fff;
    border: none;
    padding: 12px 24px;
    border-radius: var(--radius-xs);
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-fast);
    line-height: 1;
}

.sm-btn-dark:hover {
    background: var(--brand-action);
    color: #fff;
}

/* Кнопка-контур */
.sm-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: transparent;
    color: var(--brand-link);
    border: 1px solid var(--brand-link);
    padding: 10px 20px;
    border-radius: var(--radius-xs);
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition-fast);
    line-height: 1;
}

.sm-btn-outline:hover {
    background: var(--brand-link);
    color: #fff;
}


/* =============================================
 * 7. БЕЙДЖИ
 * ============================================= */

.sm-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    padding: 4px 8px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1;
}

.sm-badge-sale { background: var(--brand-action); }
.sm-badge-new  { background: var(--brand-link); }
.sm-badge-hit  { background: var(--brand-link); }


/* =============================================
 * 8. ФОРМЫ
 * ============================================= */

.sanmarino-theme input[type="text"],
.sanmarino-theme input[type="email"],
.sanmarino-theme input[type="tel"],
.sanmarino-theme input[type="password"],
.sanmarino-theme input[type="number"],
.sanmarino-theme input[type="url"],
.sanmarino-theme input[type="search"],
.sanmarino-theme select,
.sanmarino-theme textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--brand-dark);
    background: #fff;
    transition: var(--transition-fast);
    -webkit-appearance: none;
    appearance: none;
}

.sanmarino-theme input:focus,
.sanmarino-theme select:focus,
.sanmarino-theme textarea:focus {
    border-color: var(--brand-link);
    outline: none;
    box-shadow: 0 0 0 3px rgba(34, 104, 140, 0.1);
}

.sanmarino-theme label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--brand-dark);
}


/* =============================================
 * 9. УВЕДОМЛЕНИЯ WOOCOMMERCE
 * ============================================= */

.woocommerce-message,
.woocommerce-info {
    background: var(--glass-bg) !important;
    backdrop-filter: var(--glass-blur);
    border: var(--glass-border) !important;
    border-radius: var(--radius-sm) !important;
    border-left: 4px solid var(--brand-link) !important;
    color: var(--brand-dark) !important;
    padding: 15px 20px !important;
    font-size: 14px;
    box-shadow: var(--glass-shadow);
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--brand-link) !important;
}

.woocommerce-error {
    background: #FFF5F5 !important;
    border: 1px solid rgba(249, 17, 85, 0.2) !important;
    border-radius: var(--radius-sm) !important;
    border-left: 4px solid var(--color-danger) !important;
    color: var(--brand-dark) !important;
    padding: 15px 20px !important;
    list-style: none !important;
}

.woocommerce-error::before {
    color: var(--color-danger) !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
    background: var(--brand-link) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--radius-xs) !important;
    padding: 8px 16px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}


/* =============================================
 * 10. СТАНДАРТНЫЕ ЭЛЕМЕНТЫ WC — ПЕРЕСТИЛИВАНИЕ
 * ============================================= */

.sanmarino-theme .select2-container {
    width: 100% !important;
}

.sanmarino-theme .select2-container--default .select2-selection--single {
    height: 44px;
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 8px 12px;
}

.sanmarino-theme .woocommerce form .form-row .required {
    color: var(--brand-action);
    font-weight: 400;
}

/* Sale badge */
.sanmarino-theme .onsale {
    background: var(--brand-action) !important;
    color: #fff !important;
    border-radius: 6px !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.5 !important;
}


/* =============================================
 * 11. АДАПТИВНОСТЬ
 * ============================================= */

@media (max-width: 1024px) {
    :root {
        --container-padding: 20px;
    }
    .sm-section-title {
        font-size: 26px;
    }
}

@media (max-width: 768px) {
    :root {
        --container-padding: 15px;
        --radius-lg: 16px;
        --radius-md: 12px;
    }
    .sm-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .sm-section-title {
        font-size: 22px;
    }
}

@media (max-width: 480px) {
    .sm-btn-primary {
        width: 100%;
        justify-content: center;
    }
}
