/* ============================================================
   PLIK: iris_core.css
   ZASTOSOWANIE: Ustawienia bazowe, typografia, szkielet podstron
   STATUS: NIETYKALNY (Core Architecture)
   ============================================================ */

/* --- 1. ZEWNĘTRZNE BIBLIOTEKI --- */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css');

/* --- 2. USTAWIENIA BAZOWE (Reset) --- */
body {
    font-family: 'Open Sans', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

*, *:before, *:after {
    box-sizing: inherit;
}

a {
    text-decoration: none;
    color: inherit;
}

/* --- 3. GLOBALNY UKŁAD I SIATKI (Szkielet Podstron) --- */

/* Główny kontener (zapobiega rozlewaniu się widoków produktu i dashboardu) */
.shop_preview_container {
    max-width: 1300px;
    margin: 30px auto;
    padding: 20px;
    background-color: #fff;
}

/* Układ siatki karty produktu - MOBILE FIRST */
.shop_preview_product-layout {
    display: grid;
    grid-template-columns: 1fr; /* Na telefonie: 1 kolumna (stos) */
    gap: 20px;
    width: 100%;
    position: relative; 
    padding-top: 25px;
}

.shop_preview_product-details { 
    grid-column: 1 / -1; 
    margin-top: 20px; 
}

/* Układ siatki karty produktu - DESKTOP (Powyżej 992px) */
@media (min-width: 992px) {
    .shop_preview_product-layout {
        grid-template-columns: 280px 1fr 1fr; /* Przywrócenie 3 kolumn */
        gap: 30px;
    }
    .shop_preview_product-layout::before { content: ''; display: block; position: absolute; height: 1px; background-color: #eee; left: calc(280px + 30px); right: 0; top: 10px; }
    .shop_preview_product-layout::after { content: ''; display: block; position: absolute; height: 1px; background-color: #eee; left: 0; width: 280px; top: 10px; }
    
    .shop_preview_product-details { 
        grid-column: 2 / -1; 
    }
}

/* --- 4. ELEMENTY WEWNĘTRZNE PODSTRON (Produkt, Katalog, Dashboard) --- */

/* Nawigacja boczna (Mobile First: Poziomy pasek) */
.shop_preview_product-nav { grid-row: 1 / span 2; border-radius: 5px; padding: 15px 0; background-color: transparent; min-width: 0; }
.shop_preview_product-nav ul { list-style: none; padding-left: 15px; padding-right: 15px; margin-top: 0; display: flex; overflow-x: auto; gap: 10px; scrollbar-width: none; -ms-overflow-style: none; }
.shop_preview_product-nav ul::-webkit-scrollbar { display: none; }
.shop_preview_product-nav li { margin-bottom: 0; flex-shrink: 0; }
.shop_preview_product-nav .shop_preview_product-list a { font-weight: 400; color: #333; padding: 8px 16px; text-decoration: none; display: block; border-radius: 20px; background-color: #f4f4f4; white-space: nowrap; transition: all 0.2s ease-in-out; border: 1px solid transparent; }
.shop_preview_product-nav .shop_preview_product-list a:hover, 
.shop_preview_product-nav .shop_preview_product-list a.active { color: var(--color-primary); font-weight: 600; background-color: #fff; border-color: var(--color-primary); }

/* Nawigacja boczna - Przywrócenie układu pionowego na komputerach (Powyżej 992px) */
@media (min-width: 992px) {
    .shop_preview_product-nav { padding: 15px; }
    .shop_preview_product-nav ul { display: block; padding-left: 0; padding-right: 0; overflow-x: visible; }
    
    .shop_preview_product-nav li { margin-bottom: 5px; border-bottom: 1px solid #eaeaea; padding-bottom: 5px; }
    .shop_preview_product-nav li:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
    
    .shop_preview_product-nav .shop_preview_product-list a { padding: 6px 10px; border-radius: 4px; background-color: transparent; white-space: normal; border: none; }
    .shop_preview_product-nav .shop_preview_product-list a:hover, 
    .shop_preview_product-nav .shop_preview_product-list a.active { background-color: #f9f9f9; border-color: transparent; }
}

/* Zdjęcie produktu */
.shop_preview_product-image { background-color: transparent; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 12px; display: flex; align-items: center; justify-content: center; width: 100%; max-width: 430px; height: auto; aspect-ratio: 1/1; padding: 15px; position: relative; overflow: hidden; margin: 0 auto; }
.shop_preview_product-image img { border-radius: 5px; width: 100%; height: 100%; object-fit: contain; transition: transform 0.3s ease-in-out; z-index: 1; }
.shop_preview_product-image:hover img { transform: scale(1.05); }

/* Informacje i zakup */
.shop_preview_product-info { font-weight: 400; }
.shop_preview_sales-card { background-color: #fdfdfd; padding: 15px; border-radius: 5px; }
.shop_preview_price { font-size: 2.2em; font-weight: 700; color: var(--color-primary); margin-bottom: 15px; }
.shop_preview_buy-button-container { display: flex; flex-direction: row; gap: 10px; }
.shop_preview_buy-button { display: flex; flex-direction: column; justify-content: center; align-items: center; flex: 1; padding: 12px 10px; font-size: 1.1em; font-weight: 600; color: #ffffff; background-color: var(--color-primary); border: none; border-radius: 8px; cursor: pointer; transition: background-color 0.2s; line-height: 1.3; }
.shop_preview_buy-button:hover { filter: brightness(0.85); }

/* Detale, Tytuły i Dostępność */
.shop_preview_title-header-row { display: flex; align-items: baseline; margin-bottom: 10px; flex-wrap: wrap; }
.shop_preview_main-title { font-weight: 500; font-size: clamp(1.4em, 4vw, 1.8em); color: #333; width: auto; min-width: 280px; margin: 0; flex-shrink: 0; }
.shop_preview_product-title-moved { font-weight: 500; font-size: clamp(1.2em, 3vw, 1.5em); color: #333; margin: 0; padding-left: 0; flex-grow: 1; }
@media (min-width: 992px) { .shop_preview_product-title-moved { padding-left: 30px; } }
.shop_preview_availability { margin-bottom: 15px; font-size: 0.9em; color: #333; }
.shop_preview_availability-item span { font-weight: 600; color: #008000; }
.shop_preview_divider { border: 0; height: 1px; background-color: #eee; margin: 20px 0; }

/* Dodatki wizualne (Wstążka, Winieta, Logo) */
.shop_preview_ribbon { position: absolute; top: 25px; left: -40px; transform: rotate(-45deg); background-color: #27ae60; color: #fff; padding: 8px 40px; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; text-align: center; box-shadow: 0 5px 10px rgba(0,0,0,0.2); z-index: 20; pointer-events: none; }
.shop_preview_media-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 2; }
.shop_preview_tenant-logo { position: absolute; bottom: 15px; left: 15px; max-width: 25%; max-height: 25%; pointer-events: none; z-index: 3; mix-blend-mode: multiply; opacity: 0.85; }

/* Nawigacja zakładkowa (Taby: Opis, Użycie, Bezpieczeństwo) */
.shop_preview_tab-nav { border-bottom: 2px solid #eee; margin-bottom: 15px; }
.shop_preview_tab-link { background: none; border: none; padding: 10px 15px; font-size: 1em; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; }
.shop_preview_tab-link.active { border-bottom-color: #555; font-weight: 600; }
.shop_preview_tab-content { display: none; line-height: 1.6; }
.shop_preview_tab-content.active { display: block; }

/* Typografia szczegółów i opisu produktu */
.shop_preview_product-details h3 { font-size: 1.4em; font-weight: 500; color: #333; margin-bottom: 15px; }
.shop_preview_content-subtitle { font-size: 1.1em; font-weight: 600; color: #444; margin-top: 20px; margin-bottom: 8px; }
.shop_preview_inline-title { font-weight: 600; color: #333; margin-bottom: 5px; }
.shop_preview_inline-title span { font-weight: 400; color: #555; }
.shop_preview_small_text { font-size: 0.85em; color: #777; line-height: 1.4; }
.shop_preview_safety-list { list-style-type: disc; padding-left: 20px; font-size: 0.95em; color: #555; }
.shop_preview_safety-list li { margin-bottom: 8px; }