
/* LOGO - transparent on dark header */
.rs-logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    position: relative;
    z-index: 50;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.rs-logo img,
.rs-logo .rs-logo__img {
    height: 55px !important;
    width: auto !important;
    max-width: 220px !important;
    object-fit: contain !important;
    display: block;
    filter: none !important;
}
.rs-footer__logo {
    height: 55px !important;
    width: auto !important;
    object-fit: contain !important;
    filter: none !important;
    background: none;
}

/* =============================================================================
   RAMSTONE THEME - COMBINED CSS
   Premium WooCommerce theme for stone & tile store
   Accent: ORANGE #E87E04 (matching Ramstone logo)
   ============================================================================= */

/* =============================================================================
   CSS CUSTOM PROPERTIES
   ============================================================================= */
:root {
    /* Brand colors */
    --rs-orange: #E87E04;
    --rs-orange-hover: #d06f00;
    --rs-orange-light: rgba(232, 126, 4, 0.1);
    --rs-orange-glow: rgba(232, 126, 4, 0.25);

    /* Dark palette */
    --rs-dark: #1a1a2e;
    --rs-darker: #12122a;
    --rs-darkest: #0c0c1d;
    --rs-dark-surface: #222240;

    /* Neutral palette */
    --rs-text: #2c2c2c;
    --rs-text-secondary: #555;
    --rs-text-muted: #888;
    --rs-text-light: #bbb;

    /* Background */
    --rs-bg: #f7f7f9;
    --rs-bg-alt: #ffffff;
    --rs-bg-warm: #faf8f5;

    /* Borders */
    --rs-border: #e2e2e8;
    --rs-border-light: #f0f0f4;

    /* Status */
    --rs-success: #28a745;
    --rs-danger: #dc3545;
    --rs-info: #0077cc;
    --rs-warning: #ffc107;

    /* Badges */
    --rs-promo-bg: #dc3545;
    --rs-new-bg: #0077cc;

    /* Layout */
    --rs-container: 1440px;
    --rs-radius: 8px;
    --rs-radius-lg: 12px;
    --rs-radius-xl: 16px;

    /* Shadows */
    --rs-shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
    --rs-shadow: 0 2px 12px rgba(0,0,0,0.08);
    --rs-shadow-md: 0 4px 20px rgba(0,0,0,0.1);
    --rs-shadow-lg: 0 8px 40px rgba(0,0,0,0.12);
    --rs-shadow-hover: 0 8px 30px rgba(0,0,0,0.15);

    /* Typography */
    --rs-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    /* Transitions */
    --rs-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    --rs-transition-slow: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}


/* =============================================================================
   RESET & BASE
   ============================================================================= */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
}

body {
    font-family: var(--rs-font);
    font-size: 15px;
    color: var(--rs-text);
    background: var(--rs-bg);
    line-height: 1.65;
    overflow-x: hidden;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--rs-transition);
}

a:hover { color: var(--rs-orange); }

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

ul, ol { list-style: none; }

button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
    border: none;
    outline: none;
}

button { cursor: pointer; }

h1, h2, h3, h4, h5, h6 {
    line-height: 1.3;
    font-weight: 700;
}


/* =============================================================================
   CONTAINER
   ============================================================================= */
.rs-container {
    max-width: var(--rs-container);
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}


/* =============================================================================
   BUTTONS
   ============================================================================= */
.rs-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    font-weight: 700;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border-radius: var(--rs-radius);
    border: 2px solid transparent;
    cursor: pointer;
    transition: all var(--rs-transition);
    text-align: center;
    white-space: nowrap;
}

.rs-btn--primary {
    background: var(--rs-orange);
    color: #fff;
    border-color: var(--rs-orange);
}
.rs-btn--primary:hover {
    background: var(--rs-orange-hover);
    border-color: var(--rs-orange-hover);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px var(--rs-orange-glow);
}

.rs-btn--lg {
    padding: 16px 40px;
    font-size: 1rem;
}

.rs-btn--outline {
    background: transparent;
    border-color: var(--rs-border);
    color: var(--rs-text);
}
.rs-btn--outline:hover {
    border-color: var(--rs-orange);
    color: var(--rs-orange);
}

.rs-btn--dark {
    background: var(--rs-dark);
    color: #fff;
    border-color: var(--rs-dark);
}
.rs-btn--dark:hover {
    background: var(--rs-darker);
    color: #fff;
}


/* =============================================================================
   TOP BAR
   ============================================================================= */
.rs-topbar {
    background: var(--rs-darkest);
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8rem;
    padding: 6px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.rs-topbar__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.rs-topbar__left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rs-topbar__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, 0.7);
    transition: color var(--rs-transition);
}
.rs-topbar__link:hover {
    color: var(--rs-orange);
}
.rs-topbar__link svg {
    opacity: 0.6;
}

.rs-topbar__right {
    display: flex;
    align-items: center;
    gap: 6px;
    color: rgba(255,255,255,0.7);
}
.rs-topbar__right strong {
    color: var(--rs-orange);
}
.rs-topbar__right svg {
    color: var(--rs-orange);
}


/* =============================================================================
   HEADER (Main row: logo LEFT | search CENTER | actions RIGHT)
   ============================================================================= */
.rs-header {
    background: var(--rs-dark);
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

.rs-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 12px 0;
    min-height: 70px;
}

/* Logo */
.rs-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.rs-logo__img {
    height: 42px;
    width: auto;
    /* natural logo colors */
    transition: opacity var(--rs-transition);
}
.rs-logo:hover .rs-logo__img {
    opacity: 0.85;
}

/* Search */
.rs-search {
    flex: 1;
    max-width: 560px;
    margin: 0 auto;
}

.rs-search__form {
    display: flex;
    align-items: center;
    background: var(--rs-dark-surface);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 50px;
    overflow: hidden;
    transition: border-color var(--rs-transition), box-shadow var(--rs-transition);
}
.rs-search__form:focus-within {
    border-color: var(--rs-orange);
    box-shadow: 0 0 0 3px var(--rs-orange-glow);
}

.rs-search__input {
    flex: 1;
    background: transparent;
    color: #fff;
    padding: 10px 20px;
    font-size: 0.9rem;
}
.rs-search__input::placeholder {
    color: rgba(255,255,255,0.35);
}

.rs-search__btn {
    background: var(--rs-orange);
    color: #fff;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    transition: background var(--rs-transition);
}
.rs-search__btn:hover {
    background: var(--rs-orange-hover);
}

/* Header Actions */
.rs-header__actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.rs-header__action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    color: rgba(255,255,255,0.8);
    padding: 6px 12px;
    border-radius: var(--rs-radius);
    transition: all var(--rs-transition);
    position: relative;
}
.rs-header__action:hover {
    color: var(--rs-orange);
    background: rgba(255,255,255,0.05);
}

.rs-header__action-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.7;
}

/* Cart count badge */
.rs-cart-count {
    position: absolute;
    top: 0;
    right: 4px;
    background: var(--rs-orange);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    line-height: 1;
}


/* =============================================================================
   HAMBURGER (Mobile)
   ============================================================================= */
.rs-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 36px;
    height: 36px;
    background: transparent;
    padding: 6px;
}
.rs-hamburger span {
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: all var(--rs-transition);
}
.rs-hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
.rs-hamburger.active span:nth-child(2) {
    opacity: 0;
}
.rs-hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}


/* =============================================================================
   NAVIGATION BAR (centered items, depth 1)
   ============================================================================= */
.rs-nav {
    background: var(--rs-darker);
    border-top: 1px solid rgba(255,255,255,0.06);
}

.rs-nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
}

.rs-nav__list li {
    position: relative;
}

.rs-nav__list li a {
    display: block;
    padding: 12px 16px;
    color: rgba(255,255,255,0.8);
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all var(--rs-transition);
    white-space: nowrap;
    border-bottom: 2px solid transparent;
}

.rs-nav__list li a:hover,
.rs-nav__list li.current-menu-item > a,
.rs-nav__list li.current-menu-ancestor > a {
    color: var(--rs-orange);
    border-bottom-color: var(--rs-orange);
}


/* =============================================================================
   MAIN CONTENT AREA
   ============================================================================= */
.rs-main {
    min-height: 50vh;
}

.rs-content {
    padding: 3rem 0;
}


/* =============================================================================
   HERO SLIDER
   ============================================================================= */
.rs-hero {
    position: relative;
    overflow: hidden;
}

.rs-hero-slider {
    width: 100%;
}

.rs-hero__slide {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
}

.rs-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.3) 100%);
    display: flex;
    align-items: center;
    width: 100%;
}

.rs-hero__content {
    max-width: 680px;
    padding: 40px 0;
}

.rs-hero__title {
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 16px;
    line-height: 1.15;
    text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}

.rs-hero__subtitle {
    font-size: clamp(1rem, 2vw, 1.25rem);
    color: rgba(255,255,255,0.85);
    margin-bottom: 32px;
    font-weight: 400;
    line-height: 1.5;
}

/* Swiper overrides */
.rs-hero .swiper-button-prev,
.rs-hero .swiper-button-next {
    color: #fff;
    width: 50px;
    height: 50px;
    background: rgba(0,0,0,0.3);
    border-radius: 50%;
    backdrop-filter: blur(4px);
    transition: background var(--rs-transition);
}
.rs-hero .swiper-button-prev:hover,
.rs-hero .swiper-button-next:hover {
    background: var(--rs-orange);
}
.rs-hero .swiper-button-prev::after,
.rs-hero .swiper-button-next::after {
    font-size: 18px;
    font-weight: 700;
}

.rs-hero .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: rgba(255,255,255,0.5);
    opacity: 1;
    transition: all var(--rs-transition);
}
.rs-hero .swiper-pagination-bullet-active {
    background: var(--rs-orange);
    transform: scale(1.2);
}


/* =============================================================================
   SECTION LAYOUT
   ============================================================================= */
.rs-section {
    padding: 4rem 0;
}

.rs-section--alt {
    background: var(--rs-bg-alt);
}

.rs-section-title {
    font-size: 1.6rem;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 0.75rem;
    color: var(--rs-text);
    position: relative;
}

.rs-section-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: var(--rs-orange);
    margin: 12px auto 0;
    border-radius: 2px;
}

.rs-section-subtitle {
    text-align: center;
    color: var(--rs-text-secondary);
    font-size: 1rem;
    margin-bottom: 2.5rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}


/* =============================================================================
   MAIN CATEGORY CARDS (5 cols, big image backgrounds)
   ============================================================================= */
.rs-categories__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.rs-cat-card {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 280px;
    border-radius: var(--rs-radius-lg);
    overflow: hidden;
    background: var(--rs-dark);
    transition: transform var(--rs-transition), box-shadow var(--rs-transition);
}

.rs-cat-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--rs-shadow-lg);
}

.rs-cat-card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--rs-transition-slow);
}
.rs-cat-card:hover .rs-cat-card__img {
    transform: scale(1.08);
}

.rs-cat-card__overlay {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 24px 20px;
    background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.2) 60%, transparent 100%);
}

.rs-cat-card__title {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.rs-cat-card__cta {
    font-size: 0.75rem;
    color: var(--rs-orange);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}


/* =============================================================================
   SAMPLES SECTION (5 dashed cards)
   ============================================================================= */
.rs-samples__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.rs-sample-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 28px 16px;
    border: 2px dashed var(--rs-border);
    border-radius: var(--rs-radius-lg);
    background: var(--rs-bg-alt);
    transition: all var(--rs-transition);
    min-height: 160px;
    gap: 10px;
}

.rs-sample-card:hover {
    border-color: var(--rs-orange);
    background: var(--rs-orange-light);
    transform: translateY(-4px);
    box-shadow: var(--rs-shadow-md);
}

.rs-sample-card__icon {
    color: var(--rs-orange);
}

.rs-sample-card__label {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 2px;
    color: var(--rs-orange);
    text-transform: uppercase;
}

.rs-sample-card__name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--rs-text);
    line-height: 1.4;
}


/* =============================================================================
   CATEGORY TILES (generic - used in multiple sections)
   ============================================================================= */
.rs-tiles {
    display: grid;
    gap: 16px;
}

.rs-tiles--2 { grid-template-columns: repeat(2, 1fr); }
.rs-tiles--3 { grid-template-columns: repeat(3, 1fr); }
.rs-tiles--4 { grid-template-columns: repeat(4, 1fr); }
.rs-tiles--5 { grid-template-columns: repeat(5, 1fr); }

.rs-tile {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 160px;
    padding: 24px 16px;
    background: var(--rs-bg-alt);
    border: 1px solid var(--rs-border);
    border-radius: var(--rs-radius-lg);
    overflow: hidden;
    transition: all var(--rs-transition);
}

.rs-tile--tall {
    min-height: 220px;
}

.rs-tile:hover {
    border-color: var(--rs-orange);
    transform: translateY(-4px);
    box-shadow: var(--rs-shadow-md);
}

.rs-tile img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--rs-transition-slow);
}
.rs-tile:hover img {
    transform: scale(1.06);
}

.rs-tile__label {
    position: relative;
    z-index: 2;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--rs-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.5;
}

/* When tile has image, add overlay for readability */
.rs-tile img + .rs-tile__label {
    color: #fff;
    text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.rs-tile:has(img)::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.15) 100%);
    z-index: 1;
}
.rs-tile:has(img) .rs-tile__label {
    color: #fff;
    z-index: 2;
}

.rs-tile__label strong {
    display: block;
    font-size: 1.1rem;
    margin-bottom: 4px;
}

.rs-tile__label small {
    display: block;
    font-weight: 400;
    font-size: 0.8rem;
    opacity: 0.8;
    text-transform: none;
    letter-spacing: 0;
}


/* =============================================================================
   FEATURED PRODUCTS GRID (homepage)
   ============================================================================= */
.rs-products-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}


/* =============================================================================
   PRODUCT CARD (used in shop loop AND homepage)
   ============================================================================= */
.rs-product-card {
    list-style: none;
}

.rs-product-card__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: var(--rs-radius-lg);
    overflow: hidden;
    border: 1px solid var(--rs-border-light);
    transition: all var(--rs-transition);
}

.rs-product-card__inner:hover {
    border-color: var(--rs-border);
    box-shadow: var(--rs-shadow-hover);
    transform: translateY(-4px);
}

.rs-product-card__image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background: #f9f9f9;
}

.rs-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--rs-transition-slow);
}
.rs-product-card__inner:hover .rs-product-card__image img {
    transform: scale(1.06);
}

/* Badges */
.rs-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
    padding: 4px 10px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 4px;
    color: #fff;
    line-height: 1.4;
}

.rs-badge--promo {
    background: var(--rs-promo-bg);
}

.rs-badge--new {
    background: var(--rs-new-bg);
    top: auto;
    bottom: 10px;
}

/* If both badges present, stack them */
.rs-badge--promo + .rs-badge--new {
    left: 10px;
}

.rs-product-card__info {
    padding: 14px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
}

.rs-product-card__title {
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--rs-text);
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color var(--rs-transition);
}
.rs-product-card__title:hover {
    color: var(--rs-orange);
}

.rs-product-card__price {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--rs-text);
    margin-top: auto;
}

.rs-product-card__price del {
    color: var(--rs-text-muted);
    font-weight: 400;
    font-size: 0.82rem;
    margin-right: 6px;
}

.rs-product-card__price ins {
    text-decoration: none;
    color: var(--rs-promo-bg);
    font-weight: 700;
}

.rs-price-m2 {
    display: block;
    font-size: 0.75rem;
    color: var(--rs-text-muted);
    font-weight: 400;
    margin-top: 2px;
}

.rs-product-card__actions {
    margin-top: 0;
}

.rs-product-card__actions .button,
.rs-product-card__actions .add_to_cart_button {
    display: block;
    width: 100%;
    text-align: center;
    padding: 8px 12px;
    background: var(--rs-dark);
    color: #fff;
    border-radius: var(--rs-radius);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all var(--rs-transition);
    border: none;
}
.rs-product-card__actions .button:hover,
.rs-product-card__actions .add_to_cart_button:hover {
    background: var(--rs-orange);
    color: #fff;
}


/* =============================================================================
   TRUST BAR
   ============================================================================= */
.rs-trust {
    background: var(--rs-dark);
    padding: 4rem 0;
}

.rs-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

.rs-trust__item {
    text-align: center;
    color: rgba(255,255,255,0.85);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.rs-trust__icon {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(232, 126, 4, 0.12);
    color: var(--rs-orange);
    margin-bottom: 4px;
}

.rs-trust__item strong {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
}

.rs-trust__item span {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.55);
    line-height: 1.5;
    max-width: 260px;
}


/* =============================================================================
   SEO TEXT
   ============================================================================= */
.rs-seo-text {
    background: var(--rs-bg-warm);
}

.rs-seo-text__content {
    max-width: 900px;
    margin: 0 auto;
}

.rs-seo-text__content h2 {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: var(--rs-text);
    text-align: center;
}

.rs-seo-text__content p {
    margin-bottom: 1rem;
    color: var(--rs-text-secondary);
    font-size: 0.92rem;
    line-height: 1.75;
}


/* =============================================================================
   SHOP ARCHIVE LAYOUT (sidebar + product grid)
   ============================================================================= */
.rs-shop {
    padding: 2rem 0 4rem;
}

.rs-shop__layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    align-items: start;
}

.rs-shop__title {
    font-size: 1.5rem;
    font-weight: 800;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rs-shop__toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--rs-border-light);
}

/* WC product list override to 6 columns */
.rs-shop__content .products,
.rs-shop__content ul.products {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 14px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* WC ordering dropdown style */
.rs-shop .woocommerce-ordering select {
    padding: 8px 14px;
    border: 1px solid var(--rs-border);
    border-radius: var(--rs-radius);
    background: #fff;
    font-size: 0.85rem;
    color: var(--rs-text);
}

/* WC result count */
.rs-shop .woocommerce-result-count {
    color: var(--rs-text-muted);
    font-size: 0.85rem;
}

/* WC pagination */
.rs-shop .woocommerce-pagination {
    margin-top: 2rem;
    text-align: center;
}
.rs-shop .woocommerce-pagination ul {
    display: inline-flex;
    gap: 4px;
}
.rs-shop .woocommerce-pagination ul li a,
.rs-shop .woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: var(--rs-radius);
    font-size: 0.85rem;
    font-weight: 600;
    border: 1px solid var(--rs-border);
    transition: all var(--rs-transition);
}
.rs-shop .woocommerce-pagination ul li a:hover {
    border-color: var(--rs-orange);
    color: var(--rs-orange);
}
.rs-shop .woocommerce-pagination ul li span.current {
    background: var(--rs-orange);
    color: #fff;
    border-color: var(--rs-orange);
}


/* =============================================================================
   SIDEBAR (Shop filters)
   ============================================================================= */
.rs-sidebar {
    background: #fff;
    border-radius: var(--rs-radius-lg);
    padding: 20px;
    border: 1px solid var(--rs-border-light);
    position: sticky;
    top: 90px;
}

.rs-widget {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--rs-border-light);
}
.rs-widget:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.rs-widget__title {
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
    color: var(--rs-text);
    position: relative;
    padding-bottom: 8px;
}
.rs-widget__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background: var(--rs-orange);
}

.rs-widget ul li {
    margin-bottom: 6px;
}
.rs-widget ul li a {
    font-size: 0.85rem;
    color: var(--rs-text-secondary);
    transition: all var(--rs-transition);
    display: flex;
    justify-content: space-between;
    padding: 4px 0;
}
.rs-widget ul li a:hover {
    color: var(--rs-orange);
    padding-left: 4px;
}
.rs-widget ul li .count {
    color: var(--rs-text-muted);
    font-size: 0.8rem;
}


/* =============================================================================
   PARAPET CONFIGURATOR
   ============================================================================= */
.rs-configurator {
    background: var(--rs-bg);
    border: 2px solid var(--rs-border);
    border-radius: var(--rs-radius-lg);
    padding: 24px;
    margin: 20px 0;
}

.rs-configurator__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--rs-border);
    color: var(--rs-text);
}
.rs-configurator__title svg {
    color: var(--rs-orange);
}

.rs-configurator__fields {
    display: grid;
    gap: 18px;
}

.rs-configurator__field label {
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    color: var(--rs-text);
}

.rs-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--rs-border);
    border-radius: var(--rs-radius);
    font-size: 0.95rem;
    background: #fff;
    transition: border-color var(--rs-transition), box-shadow var(--rs-transition);
}
.rs-input:focus {
    border-color: var(--rs-orange);
    box-shadow: 0 0 0 3px var(--rs-orange-glow);
}

.rs-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.rs-radio,
.rs-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.9rem;
    padding: 8px 14px;
    background: #fff;
    border: 1px solid var(--rs-border);
    border-radius: var(--rs-radius);
    transition: all var(--rs-transition);
}
.rs-radio:hover,
.rs-checkbox:hover {
    border-color: var(--rs-orange);
}

.rs-radio input:checked + *,
.rs-radio:has(input:checked) {
    border-color: var(--rs-orange);
    background: var(--rs-orange-light);
}

.rs-radio__note {
    font-size: 0.75rem;
    color: var(--rs-orange);
    font-weight: 600;
}

.rs-checkbox {
    margin-bottom: 6px;
}
.rs-checkbox small {
    color: var(--rs-text-muted);
    font-size: 0.8rem;
}

.rs-configurator__summary {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 2px solid var(--rs-border);
}

.rs-configurator__price {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1rem;
}
.rs-configurator__price strong {
    font-size: 1.4rem;
    color: var(--rs-orange);
}


/* =============================================================================
   FOOTER
   ============================================================================= */
.rs-footer {
    background: var(--rs-dark);
    color: rgba(255,255,255,0.75);
    padding: 4rem 0 0;
    margin-top: 0;
}

.rs-footer__grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 3rem;
}

.rs-footer__logo {
    height: 36px;
    width: auto;
    /* natural logo colors */
    margin-bottom: 16px;
}

.rs-footer__desc {
    font-size: 0.85rem;
    line-height: 1.7;
    margin-bottom: 16px;
    color: rgba(255,255,255,0.55);
}

.rs-footer__contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.rs-footer__contact a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.7);
    transition: color var(--rs-transition);
}
.rs-footer__contact a:hover {
    color: var(--rs-orange);
}
.rs-footer__contact svg {
    color: var(--rs-orange);
    flex-shrink: 0;
}

.rs-footer__col h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(232, 126, 4, 0.3);
}

.rs-footer__col ul li {
    margin-bottom: 8px;
}

.rs-footer__col ul li a {
    font-size: 0.85rem;
    color: rgba(255,255,255,0.6);
    transition: all var(--rs-transition);
}
.rs-footer__col ul li a:hover {
    color: var(--rs-orange);
    padding-left: 4px;
}

.rs-footer__col p {
    font-size: 0.85rem;
    line-height: 1.7;
    color: rgba(255,255,255,0.55);
}

/* Copyright bar */
.rs-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    border-top: 1px solid rgba(255,255,255,0.08);
    font-size: 0.8rem;
    color: rgba(255,255,255,0.4);
}

.rs-footer__legal {
    display: flex;
    gap: 20px;
}
.rs-footer__legal a {
    color: rgba(255,255,255,0.4);
}
.rs-footer__legal a:hover {
    color: var(--rs-orange);
}


/* =============================================================================
   PAGE TEMPLATES
   ============================================================================= */
.rs-page {
    max-width: 860px;
    margin: 0 auto;
}

.rs-page__title {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    text-align: center;
}

.rs-page__content {
    font-size: 1rem;
    line-height: 1.8;
    color: var(--rs-text-secondary);
}
.rs-page__content p {
    margin-bottom: 1.2rem;
}
.rs-page__content h2 {
    font-size: 1.4rem;
    margin: 2rem 0 0.75rem;
}
.rs-page__content h3 {
    font-size: 1.2rem;
    margin: 1.5rem 0 0.5rem;
}
.rs-page__content ul,
.rs-page__content ol {
    padding-left: 1.5rem;
    margin-bottom: 1.2rem;
    list-style: disc;
}
.rs-page__content img {
    border-radius: var(--rs-radius-lg);
    margin: 1.5rem 0;
}

.rs-post-meta {
    text-align: center;
    color: var(--rs-text-muted);
    font-size: 0.85rem;
    margin-bottom: 2rem;
}

/* 404 */
.rs-404 {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 50vh;
}
.rs-404__inner {
    text-align: center;
}
.rs-404__code {
    font-size: 6rem;
    font-weight: 900;
    color: var(--rs-orange);
    line-height: 1;
    margin-bottom: 16px;
}
.rs-404__text {
    font-size: 1.2rem;
    color: var(--rs-text-secondary);
    margin-bottom: 2rem;
}

/* Posts list */
.rs-posts {
    display: grid;
    gap: 24px;
}
.rs-post-card {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    background: #fff;
    border-radius: var(--rs-radius-lg);
    overflow: hidden;
    border: 1px solid var(--rs-border-light);
    transition: box-shadow var(--rs-transition);
}
.rs-post-card:hover {
    box-shadow: var(--rs-shadow-md);
}
.rs-post-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rs-post-card__body {
    padding: 24px;
}
.rs-post-card__body h2 {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
}
.rs-post-card__body h2 a:hover {
    color: var(--rs-orange);
}


/* =============================================================================
   WC NOTICES
   ============================================================================= */
.woocommerce-message,
.woocommerce-info {
    background: var(--rs-orange-light) !important;
    border-top-color: var(--rs-orange) !important;
    color: var(--rs-text) !important;
    border-radius: var(--rs-radius);
    padding: 14px 20px !important;
}
.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--rs-orange) !important;
}

.woocommerce-error {
    border-top-color: var(--rs-danger) !important;
}


/* =============================================================================
   RESPONSIVE BREAKPOINTS
   ============================================================================= */

/* Tablet landscape / small desktop */
@media (max-width: 1200px) {
    .rs-categories__grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .rs-samples__grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .rs-tiles--5 {
        grid-template-columns: repeat(3, 1fr);
    }
    .rs-products-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .rs-shop__content .products,
    .rs-shop__content ul.products {
        grid-template-columns: repeat(4, 1fr) !important;
    }
    .rs-trust__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    .rs-footer__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }
}

/* Tablet portrait */
@media (max-width: 992px) {
    .rs-shop__layout {
        grid-template-columns: 1fr;
    }
    .rs-sidebar {
        position: static;
        margin-bottom: 1.5rem;
    }
    .rs-shop__content .products,
    .rs-shop__content ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    .rs-products-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .rs-tiles--4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .woocommerce div.product div.images {
        position: static;
    }
    .woocommerce-checkout .col2-set {
        grid-template-columns: 1fr;
    }
    .rs-topbar__right {
        display: none;
    }
}

/* Mobile landscape */
@media (max-width: 768px) {
    .rs-hamburger {
        display: flex;
    }
    .rs-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--rs-darker);
        z-index: 999;
        box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    }
    .rs-nav.active {
        display: block;
    }
    .rs-nav__list {
        flex-direction: column;
        padding: 12px 0;
    }
    .rs-nav__list li {
        width: 100%;
    }
    .rs-nav__list li a {
        padding: 12px 24px;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }

    .rs-header__inner {
        flex-wrap: wrap;
    }
    .rs-search {
        order: 3;
        flex-basis: 100%;
        max-width: 100%;
        margin: 8px 0 0;
    }
    .rs-header__action-label {
        display: none;
    }

    .rs-categories__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .rs-cat-card {
        min-height: 200px;
    }
    .rs-samples__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .rs-tiles--5,
    .rs-tiles--4,
    .rs-tiles--3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .rs-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .rs-shop__content .products,
    .rs-shop__content ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .rs-hero__slide {
        min-height: 380px;
    }
    .rs-hero__title {
        font-size: 1.6rem;
    }
    .rs-footer__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .rs-footer__bottom {
        flex-direction: column;
        gap: 8px;
        text-align: center;
    }
    .rs-post-card {
        grid-template-columns: 1fr;
    }
}

/* Mobile portrait */
@media (max-width: 480px) {
    html { font-size: 15px; }

    .rs-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .rs-categories__grid,
    .rs-samples__grid,
    .rs-tiles--2 {
        grid-template-columns: 1fr;
    }

    .rs-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .rs-shop__content .products,
    .rs-shop__content ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .rs-hero__slide {
        min-height: 300px;
    }

    .rs-section {
        padding: 2.5rem 0;
    }

    .rs-trust__grid {
        grid-template-columns: 1fr;
    }

    .woocommerce div.product form.cart {
        flex-direction: column;
    }
    .woocommerce div.product form.cart button.single_add_to_cart_button {
        width: 100%;
    }
}


/* ============================================================
   FIXES - Sidebar, Archive, Product Cards
   ============================================================ */

/* Shop header with description */
.rs-shop__header {
    margin-bottom: 1.5rem;
}
.rs-shop__header .term-description,
.rs-shop__header .woocommerce-products-header__description {
    font-size: 0.82rem;
    line-height: 1.5;
    color: var(--rs-muted, #666);
    max-height: 80px;
    overflow: hidden;
    position: relative;
    margin-top: 0.5rem;
}

/* Toolbar (result count + ordering) */
.rs-shop__toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid #e5e5e5;
}
.rs-shop__toolbar .woocommerce-result-count {
    font-size: 0.82rem;
    color: #888;
    margin: 0;
}
.rs-shop__toolbar .woocommerce-ordering select {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 0.82rem;
}

/* Sidebar filter list */
.rs-filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.rs-filter-list li {
    margin-bottom: 4px;
}
.rs-filter-list li a {
    display: flex;
    justify-content: space-between;
    padding: 6px 8px;
    font-size: 0.82rem;
    color: #444;
    border-radius: 4px;
    transition: background 0.2s;
}
.rs-filter-list li a:hover,
.rs-filter-list li.active a {
    background: #f0f0f0;
    color: var(--rs-orange, #E87E04);
}
.rs-filter-list li a span {
    color: #aaa;
    font-size: 0.75rem;
}

/* Product card images - ensure they show */
.rs-product-card__image {
    position: relative;
    overflow: hidden;
    background: #f5f5f5;
    aspect-ratio: 1;
}
.rs-product-card__image img,
.rs-product-card__image .woocommerce-placeholder,
.rs-product-card__image .wp-post-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.rs-product-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.rs-product-card__link:hover .rs-product-card__image img {
    transform: scale(1.05);
    transition: transform 0.3s;
}
.rs-product-card__actions {
    padding: 0 10px 10px;
}
.rs-product-card__actions .button,
.rs-product-card__actions .add_to_cart_button {
    display: block;
    width: 100%;
    text-align: center;
    background: var(--rs-dark, #1a1a2e) !important;
    color: #fff !important;
    border: none !important;
    padding: 8px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 4px !important;
    cursor: pointer;
    transition: background 0.2s !important;
}
.rs-product-card__actions .button:hover {
    background: var(--rs-orange, #E87E04) !important;
}

/* WC Price filter widget */
.rs-widget .widget_price_filter .price_slider_wrapper {
    padding: 5px;
}
.rs-widget .price_slider_amount .button {
    font-size: 0.8rem !important;
    padding: 6px 12px !important;
}

/* Fix: ensure WC product images load properly */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    max-height: 250px;
    object-fit: cover;
}

/* MOBILE HEADER FIX */
@media (max-width: 768px) {
    .rs-logo img, .rs-logo .rs-logo__img {
        height: 55px !important;
        width: auto !important;
        top: 0;
    }
    .rs-header__row {
        gap: 0.8rem;
        padding: 0.5rem 0;
    }
    .rs-search {
        display: none;
    }
    .rs-header__actions .rs-header__action span {
        display: none;
    }
    .rs-hamburger {
        display: flex !important;
    }
    .rs-hero__slide {
        height: 320px !important;
    }
    .rs-hero__title {
        font-size: 1.3rem !important;
    }
    .rs-categories__grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .rs-cat-card {
        min-height: 140px !important;
    }
    .rs-footer__grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem;
    }
}

/* Force product images to fill cards */
.woocommerce ul.products li.product .rs-product-card__image img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-height: none !important;
}
.rs-product-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s, transform 0.2s;
}
.rs-product-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}
.rs-product-card__info {
    padding: 10px 12px;
}
.rs-product-card__title {
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    color: #333;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 4px;
    min-height: auto;
}

/* PRODUCT CARD IMAGES - FIXED */
.rs-product-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s, transform 0.2s;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}
.rs-product-card:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    transform: translateY(-2px);
}
.rs-product-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
}
.rs-product-card__image {
    position: relative;
    overflow: hidden;
    background: #f5f5f5;
    height: 0;
    padding-bottom: 100%;
}
.rs-product-card__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}
.rs-product-card__link:hover .rs-product-card__image img {
    transform: scale(1.05);
}
.rs-product-card__info {
    padding: 10px 12px;
}
.rs-product-card__title {
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    color: #333;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 4px;
    min-height: auto;
}
.rs-product-card__price {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--rs-orange, #E87E04);
}
.rs-product-card__price del {
    color: #aaa;
    font-size: 0.8rem;
    font-weight: 400;
}

/* Override any conflicting WC styles */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Fix: ensure toolbar is outside product grid */
.rs-shop__content .woocommerce-notices-wrapper,
.rs-shop__content .woocommerce-result-count,
.rs-shop__content .woocommerce-ordering {
    width: auto;
}
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 15px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
/* Ensure no stray elements inside product grid */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}
.woocommerce ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Second image inside card - hide it (WC outputs image, we have duplicate) */
.rs-product-card__image img + img {
    display: none !important;
}

/* ============================================================
   CHECKOUT & CART - v3.0
   ============================================================ */
.woocommerce-cart .rs-page__title,
.woocommerce-checkout .rs-page__title { margin-bottom: 1.5rem; }
.woocommerce-cart .rs-page__content,
.woocommerce-checkout .rs-page__content { max-width: none; }

/* CART TABLE */
.rs-cart-table { width:100%; border-collapse:collapse; border:1px solid #eee; border-radius:8px; overflow:hidden; }
.rs-cart-table thead th { color:#E87E04; font-size:0.8rem; font-weight:700; text-transform:uppercase; padding:12px 15px; text-align:left; border-bottom:2px solid #E87E04; background:#fff; }
.rs-cart-table td { padding:15px; vertical-align:middle; border-bottom:1px solid #f0f0f0; }
.rs-cart-table .product-thumbnail img { width:80px; height:80px; object-fit:cover; border-radius:6px; }
.rs-cart-table .product-name a { color:#333; font-weight:600; font-size:0.9rem; text-decoration:none; }
.rs-cart-table .product-name a:hover { color:#E87E04; }
.rs-cart-table .product-remove a { color:#e74c3c; font-size:1.2rem; text-decoration:none; }
.rs-cart-table .quantity .qty { width:60px; padding:8px; border:1px solid #ddd; border-radius:6px; text-align:center; }
.rs-cart-actions { padding:15px 0; text-align:right; }
.rs-cart-actions .button { background:#1a1a2e; color:#fff; border:none; padding:10px 20px; border-radius:6px; font-weight:600; cursor:pointer; }
.rs-cart-actions .button:hover { background:#E87E04; }
.woocommerce-cart .cart-collaterals { margin-top:2rem; }
.woocommerce-cart .cart_totals { float:right; width:420px; max-width:100%; background:#fff; border:1px solid #eee; border-radius:8px; padding:1.5rem; }
.woocommerce-cart .cart_totals h2 { font-size:1.1rem; font-weight:700; margin-bottom:1rem; padding-bottom:0.8rem; border-bottom:2px solid #E87E04; text-transform:uppercase; }
.woocommerce-cart .cart_totals table { width:100%; }
.woocommerce-cart .cart_totals table th { font-weight:600; padding:10px 0; }
.woocommerce-cart .cart_totals table td { text-align:right; padding:10px 0; }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { font-size:1.1rem; font-weight:700; border-top:2px solid #eee; padding-top:15px; }
.woocommerce-cart .wc-proceed-to-checkout { margin-top:1.5rem; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display:block; width:100%; background:#E87E04; color:#fff; font-size:1rem; font-weight:700; padding:14px; border:none; border-radius:6px; text-transform:uppercase; text-align:center; cursor:pointer; text-decoration:none; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background:#CC6D03; }
.woocommerce-cart .woocommerce-shipping-methods { list-style:none; padding:0; }
.woocommerce-cart .woocommerce-shipping-methods li { padding:6px 0; font-size:0.85rem; }

/* CHECKOUT GRID */
.rs-checkout { display:grid; grid-template-columns:1fr 420px; gap:2.5rem; align-items:start; }
.rs-checkout__left { min-width:0; }
.rs-checkout__right { position:sticky; top:100px; background:#fafafa; border:1px solid #eee; border-radius:8px; padding:1.5rem; }
.rs-checkout__section { background:#fff; border:1px solid #eee; border-radius:8px; padding:1.5rem; margin-bottom:1.5rem; }
.rs-checkout__section h3 { font-size:1rem; font-weight:700; margin:0 0 1rem; padding-bottom:0.5rem; border-bottom:2px solid #E87E04; text-transform:uppercase; }

/* BILLING/SHIPPING FIELDS GRID */
.rs-checkout .woocommerce-billing-fields__field-wrapper,
.rs-checkout .woocommerce-shipping-fields__field-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rs-checkout .woocommerce-billing-fields__field-wrapper .form-row,
.rs-checkout .woocommerce-shipping-fields__field-wrapper .form-row { grid-column:1/-1; margin:0; padding:0; }
.rs-checkout #billing_first_name_field,
.rs-checkout #shipping_first_name_field { grid-column:1; }
.rs-checkout #billing_last_name_field,
.rs-checkout #shipping_last_name_field { grid-column:2; }

/* ALL INPUTS 100% */
.rs-checkout .woocommerce-input-wrapper { display:block; width:100%; }
.rs-checkout input.input-text,
.rs-checkout select,
.rs-checkout textarea,
.rs-checkout .select2-container { width:100% !important; box-sizing:border-box; }
.rs-checkout input.input-text,
.rs-checkout select,
.rs-checkout textarea { padding:10px 12px; border:1px solid #ddd; border-radius:6px; font-size:0.9rem; }
.rs-checkout input.input-text:focus,
.rs-checkout select:focus,
.rs-checkout textarea:focus { border-color:#E87E04; outline:none; box-shadow:0 0 0 3px rgba(232,126,4,0.1); }
.rs-checkout label { font-weight:600; font-size:0.85rem; color:#333; display:block; margin-bottom:4px; }
.rs-checkout label .required { color:#E87E04; }

/* ORDER REVIEW */
.rs-checkout__right h3 { font-size:1rem; font-weight:700; margin:0 0 1rem; text-transform:uppercase; }
.rs-checkout .woocommerce-checkout-review-order-table { width:100%; border-collapse:collapse; }
.rs-checkout .woocommerce-checkout-review-order-table th,
.rs-checkout .woocommerce-checkout-review-order-table td { padding:8px 0; border-bottom:1px solid #eee; font-size:0.85rem; }
.rs-checkout .woocommerce-checkout-review-order-table .order-total th,
.rs-checkout .woocommerce-checkout-review-order-table .order-total td { font-size:1.1rem; font-weight:700; border-top:2px solid #ddd; }

/* PAYMENT */
.rs-checkout #payment { background:#fff; border:1px solid #eee; border-radius:8px; padding:1rem; margin-top:1rem; }
.rs-checkout #payment ul.payment_methods { list-style:none; padding:0; margin:0 0 1rem; }
.rs-checkout #payment ul.payment_methods li { padding:10px 12px; border:1px solid #eee; border-radius:6px; margin-bottom:6px; }
.rs-checkout #payment ul.payment_methods li:hover { border-color:#E87E04; }
.rs-checkout #payment ul.payment_methods li label { font-weight:600; cursor:pointer; }
.rs-checkout #payment .payment_box { padding:10px; background:#f9f9f9; border-radius:4px; font-size:0.85rem; margin-top:8px; }

/* TERMS */
.rs-checkout .woocommerce-terms-and-conditions-wrapper { margin:1rem 0; padding:1rem; background:#fff8f0; border:1px solid #fde0b0; border-radius:6px; }
.rs-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox { display:inline-flex; align-items:flex-start; gap:8px; cursor:pointer; font-size:0.85rem; }
.rs-checkout .woocommerce-terms-and-conditions-wrapper input[type=checkbox] { width:auto !important; margin-top:3px; flex-shrink:0; }

/* PLACE ORDER */
.rs-checkout #place_order { width:100%; background:#E87E04; color:#fff; border:none; padding:16px; font-size:1.1rem; font-weight:700; border-radius:6px; text-transform:uppercase; letter-spacing:1px; cursor:pointer; margin-top:1rem; }
.rs-checkout #place_order:hover { background:#CC6D03; }

/* RESPONSIVE */
@media (max-width:768px) {
    .rs-checkout { grid-template-columns:1fr; }
    .rs-checkout__right { position:static; }
    .rs-checkout .woocommerce-billing-fields__field-wrapper,
    .rs-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns:1fr; }
    .rs-checkout #billing_first_name_field,
    .rs-checkout #billing_last_name_field { grid-column:1/-1; }
    .woocommerce-cart .cart_totals { float:none; width:100%; }
}

/* FIX v5.1.3 */

/* 1. Cart totals - clearfix so footer doesn't overlap */
.woocommerce-cart .cart-collaterals::after { content:""; display:table; clear:both; }
.woocommerce-cart .cart-collaterals { overflow:hidden; margin-bottom:3rem; }

/* 2. Checkout FULL WIDTH - remove ALL max-width constraints */
.woocommerce-checkout .rs-container { max-width:1400px !important; padding:0 20px !important; }
.woocommerce-checkout .rs-page { max-width:100% !important; }
.woocommerce-checkout .rs-page__content { max-width:none !important; }
.woocommerce-cart .rs-container { max-width:1200px !important; }

/* 3. H1 margin */
.woocommerce-cart .rs-page__title,
.woocommerce-checkout .rs-page__title { margin-top:1.5rem !important; margin-bottom:1.5rem !important; }

/* 4. Checkout inputs - brute force every input type */
.woocommerce-checkout form input[type="text"],
.woocommerce-checkout form input[type="email"],
.woocommerce-checkout form input[type="tel"],
.woocommerce-checkout form input[type="password"],
.woocommerce-checkout form input[type="number"],
.woocommerce-checkout form select,
.woocommerce-checkout form textarea {
    width:100% !important; max-width:100% !important; box-sizing:border-box !important;
    padding:10px 12px !important; border:1px solid #ddd !important; border-radius:6px !important;
}
.woocommerce-checkout form .woocommerce-input-wrapper {
    display:block !important; width:100% !important;
}
.woocommerce-checkout form .select2-container {
    width:100% !important;
}

/* Shipping radio buttons spacing */
.woocommerce-shipping-methods li { display:flex; align-items:flex-start; gap:8px; padding:8px 0 !important; }
.woocommerce-shipping-methods li input[type=radio] { margin-top:4px; flex-shrink:0; }
.woocommerce-shipping-methods li label { cursor:pointer; }

/* Payment methods + Stripe iframe fix */
.rs-checkout #payment ul.payment_methods { list-style:none !important; padding:0 !important; margin:0 !important; }
.rs-checkout #payment ul.payment_methods li { list-style:none !important; padding:12px !important; border:1px solid #eee !important; border-radius:6px !important; margin-bottom:8px !important; }
.rs-checkout #payment ul.payment_methods li label { display:inline-flex; align-items:center; gap:8px; font-weight:600; cursor:pointer; }
.rs-checkout #payment ul.payment_methods li input[type=radio] { margin-right:8px; flex-shrink:0; }
.rs-checkout #payment .payment_box { padding:12px !important; margin-top:8px; border-radius:6px; }
.rs-checkout #payment .payment_box fieldset { border:none !important; padding:0 !important; width:100% !important; }
.rs-checkout #payment .payment_box .wc-payment-form { width:100% !important; }
.rs-checkout #payment .payment_box iframe { min-width:100% !important; }
/* Checkout radio buttons in shipping too */
.rs-checkout .woocommerce-shipping-methods { list-style:none !important; padding:0 !important; }
.rs-checkout .woocommerce-shipping-methods li { display:flex !important; align-items:flex-start !important; gap:8px !important; padding:8px 0 !important; list-style:none !important; }
.rs-checkout .woocommerce-shipping-methods li input[type=radio] { margin-top:4px; flex-shrink:0; }

/* Porady grid */
.rs-porady-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.rs-porada-card { background:#fff; border:1px solid #eee; border-radius:8px; overflow:hidden; text-decoration:none; color:#333; transition:box-shadow 0.3s,transform 0.2s; }
.rs-porada-card:hover { box-shadow:0 4px 15px rgba(0,0,0,0.1); transform:translateY(-2px); }
.rs-porada-card__img img { width:100%; height:160px; object-fit:cover; }
.rs-porada-card__info { padding:12px; }
.rs-porada-card__info h3 { font-size:0.85rem; font-weight:600; line-height:1.3; margin:0 0 4px; }
.rs-porada-card__date { font-size:0.75rem; color:#999; }
.rs-btn--outline { display:inline-block; padding:10px 24px; border:2px solid #ddd; border-radius:6px; font-weight:600; font-size:0.85rem; color:#333; text-decoration:none; transition:all 0.2s; }
.rs-btn--outline:hover { border-color:#E87E04; color:#E87E04; }

/* Footer bottom links */
.rs-footer__bottom { display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(255,255,255,0.1); margin-top:2rem; padding-top:1.5rem; }
.rs-footer__bottom p { font-size:0.8rem; color:#777; margin:0; }
.rs-footer__bottom-links { display:flex; gap:1.5rem; }
.rs-footer__bottom-links a { font-size:0.8rem; color:#888; text-decoration:none; }
.rs-footer__bottom-links a:hover { color:#E87E04; }
.rs-footer__logo { max-height:60px; width:auto; margin-bottom:1rem; filter:none; }
.rs-footer__contact { margin-top:1rem; }
.rs-footer__contact p { display:flex; align-items:center; gap:6px; margin:4px 0; font-size:0.85rem; }
.rs-footer__contact a { color:#ccc; }
.rs-footer__contact a:hover { color:#E87E04; }
.rs-footer__contact svg { flex-shrink:0; stroke:#E87E04; }

@media (max-width:768px) {
    .rs-porady-grid { grid-template-columns:repeat(2,1fr); }
    .rs-footer__bottom { flex-direction:column; gap:0.5rem; text-align:center; }
}

/* ============================================================
   ARTICLE TEMPLATE - BEAUTIFUL
   ============================================================ */

/* Hero image - full width banner */
.rs-article-hero {
    position: relative;
    width: 100%;
    height: 560px;
    overflow: hidden;
    margin-bottom: -80px;
}
.rs-article-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.rs-article-hero__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 200px;
    background: linear-gradient(transparent, #f5f5f7);
}

/* Article container */
.rs-article {
    position: relative;
    z-index: 1;
    padding-bottom: 3rem;
}
.rs-article .rs-container {
    max-width: 800px;
}

/* Header */
.rs-article__header {
    background: #fff;
    border-radius: 12px;
    padding: 2rem 2.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.rs-article__meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}
.rs-article__cat {
    background: #E87E04;
    color: #fff;
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
}
.rs-article__cat:hover {
    background: #CC6D03;
    color: #fff;
}
.rs-article__date {
    font-size: 0.82rem;
    color: #999;
}
.rs-article__title {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.2;
    color: #1a1a2e;
    margin: 0;
}

/* Body */
.rs-article__body {
    background: #fff;
    border-radius: 12px;
    padding: 2rem 2.5rem;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    font-size: 1rem;
    line-height: 1.85;
    color: #444;
}
.rs-article__body p {
    margin-bottom: 1.2rem;
}
.rs-article__body h2 {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 2.5rem 0 1rem;
    color: #1a1a2e;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #E87E04;
}
.rs-article__body h3 {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 2rem 0 0.8rem;
    color: #1a1a2e;
}
.rs-article__body h4 {
    font-size: 1rem;
    font-weight: 700;
    margin: 1.5rem 0 0.5rem;
}
.rs-article__body img {
    border-radius: 8px;
    margin: 1.5rem 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.rs-article__body a {
    color: #E87E04;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.rs-article__body a:hover {
    color: #CC6D03;
}
.rs-article__body blockquote {
    border-left: 4px solid #E87E04;
    padding: 1.2rem 1.5rem;
    margin: 2rem 0;
    background: #fafafa;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: #555;
}
.rs-article__body ul, .rs-article__body ol {
    margin: 1rem 0 1.5rem;
    padding-left: 1.5rem;
}
.rs-article__body li {
    margin-bottom: 0.5rem;
    line-height: 1.7;
}
.rs-article__body strong {
    color: #1a1a2e;
}

/* Footer (tags + share) */
.rs-article__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
    padding: 1.5rem 0;
    border-top: 1px solid #eee;
    font-size: 0.85rem;
    color: #888;
    flex-wrap: wrap;
    gap: 1rem;
}
.rs-article__tag-label {
    font-weight: 600;
    color: #555;
}
.rs-article__tags a {
    color: #E87E04;
    text-decoration: none;
}
.rs-article__share {
    display: flex;
    align-items: center;
    gap: 8px;
}
.rs-share-btn {
    background: #1a1a2e;
    color: #fff;
    padding: 6px 16px;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
}
.rs-share-btn:hover {
    background: #E87E04;
    color: #fff;
}

/* Related articles */
.rs-article__related {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 2px solid #eee;
}
.rs-article__related h2 {
    font-size: 1.3rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    color: #1a1a2e;
}
.rs-porady-grid--3 {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 768px) {
    .rs-article-hero { height: 250px; margin-bottom: -50px; }
    .rs-article__header { padding: 1.5rem; }
    .rs-article__title { font-size: 1.5rem; }
    .rs-article__body { padding: 1.5rem; }
    .rs-article .rs-container { max-width: 100%; }
    .rs-porady-grid--3 { grid-template-columns: 1fr; }
}

/* ============================================================
   DROPDOWN MENU
   ============================================================ */
.rs-nav__list > li { position: relative; }

/* Dropdown arrow for items with children */
.rs-nav__list > li.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid currentColor;
    margin-left: 6px;
    vertical-align: middle;
    transition: transform 0.2s;
}
.rs-nav__list > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

/* Dropdown panel */
.rs-nav__list .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 260px;
    background: #fff;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    padding: 8px 0;
    z-index: 100;
    list-style: none;
}
.rs-nav__list > li:hover > .sub-menu {
    display: block;
    animation: rs-dropdown-in 0.2s ease;
}
@keyframes rs-dropdown-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Dropdown items */
.rs-nav__list .sub-menu li { padding: 0; }
.rs-nav__list .sub-menu li a {
    display: block;
    padding: 8px 20px;
    color: #333;
    font-size: 0.85rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.rs-nav__list .sub-menu li a:hover {
    background: #f5f5f5;
    color: #E87E04;
}

/* Nested sub-menu (level 3 if needed) */
.rs-nav__list .sub-menu .sub-menu {
    top: 0;
    left: 100%;
    border-radius: 8px;
}

/* Mobile dropdown */
@media (max-width: 768px) {
    .rs-nav__list .sub-menu {
        position: static;
        box-shadow: none;
        border-radius: 0;
        background: rgba(0,0,0,0.2);
        display: none;
        min-width: auto;
        animation: none;
    }
    .rs-nav__list > li.menu-item-has-children.open > .sub-menu {
        display: block;
    }
    .rs-nav__list .sub-menu li a {
        color: #ccc;
        padding: 10px 30px;
        font-size: 0.82rem;
    }
    .rs-nav__list .sub-menu li a:hover {
        background: rgba(255,255,255,0.05);
        color: #E87E04;
    }
}



/* ============================================================
   SINGLE PRODUCT - BEAUTIFUL v3
   ============================================================ */
.rs-sp { padding:1rem 0 3rem; }
.rs-sp .woocommerce-breadcrumb { font-size:0.8rem; color:#888; margin-bottom:1.2rem; }
.rs-sp .woocommerce-breadcrumb a { color:#E87E04; text-decoration:none; }

/* Layout */
.rs-sp__layout { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; margin-bottom:2.5rem; }

/* Gallery */
.rs-sp__gallery { position:relative; }
.rs-sp__main-img { border-radius:10px; overflow:hidden; background:#f5f5f5; box-shadow:0 4px 20px rgba(0,0,0,0.08); }
.rs-sp__main-img img { width:100%; height:auto; display:block; transition:opacity 0.3s; }
.rs-sp__thumbs { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
.rs-sp__thumb { width:72px; height:72px; border-radius:6px; overflow:hidden; border:2px solid #e0e0e0; cursor:pointer; transition:all 0.2s; }
.rs-sp__thumb.active { border-color:#E87E04; box-shadow:0 0 0 2px rgba(232,126,4,0.2); }
.rs-sp__thumb:hover { border-color:#E87E04; }
.rs-sp__thumb img { width:100%; height:100%; object-fit:cover; }

/* Summary */
.rs-sp__summary { }
.rs-sp__title { font-size:1.6rem; font-weight:800; line-height:1.25; color:#1a1a2e; margin:0 0 0.5rem; }
.rs-sp__summary .price { font-size:1.7rem; font-weight:700; color:#E87E04; margin:0.8rem 0 1rem; padding-bottom:0.8rem; border-bottom:1px solid #eee; }
.rs-sp__summary .price del { font-size:1rem; color:#999; }
.rs-sp__summary .price ins { text-decoration:none; }

/* Sizes */
.rs-sp__summary .rs-sizes { margin:0.8rem 0; padding:0.8rem 0; border-top:1px solid #eee; }

/* Delivery */
.rs-sp__summary .rs-delivery { margin:10px 0; }
.rs-sp__summary .rs-installments { margin:8px 0; }

/* Add to cart */
.rs-sp__summary form.cart { display:flex; align-items:center; gap:10px; margin:1rem 0; }
.rs-sp__summary .quantity .qty { width:65px; padding:11px; font-size:1rem; border:2px solid #e0e0e0; border-radius:8px; text-align:center; font-weight:600; }
.rs-sp__summary .quantity .qty:focus { border-color:#E87E04; outline:none; }
.rs-sp__summary .single_add_to_cart_button {
    flex:1; background:#E87E04; color:#fff; border:none; padding:14px 24px; border-radius:8px;
    font-size:1rem; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; cursor:pointer;
    transition:all 0.2s; box-shadow:0 4px 12px rgba(232,126,4,0.3);
}
.rs-sp__summary .single_add_to_cart_button:hover { background:#CC6D03; box-shadow:0 6px 20px rgba(232,126,4,0.4); transform:translateY(-1px); }

/* Meta */
.rs-sp__summary .product_meta { font-size:0.8rem; color:#888; margin-top:1rem; padding-top:0.8rem; border-top:1px solid #eee; }
.rs-sp__summary .product_meta a { color:#E87E04; text-decoration:none; }

/* Tabs */
.rs-sp__tabs { border-top:2px solid #eee; margin-top:1rem; }
.rs-sp__tabs-nav { display:flex; gap:0; margin-bottom:0; }
.rs-sp__tab-btn {
    background:none; border:none; border-bottom:3px solid transparent; padding:14px 24px;
    font-weight:600; font-size:0.9rem; color:#888; text-transform:uppercase; letter-spacing:0.5px;
    cursor:pointer; transition:all 0.2s;
}
.rs-sp__tab-btn.active { border-bottom-color:#E87E04; color:#E87E04; }
.rs-sp__tab-btn:hover { color:#E87E04; }
.rs-sp__tab-panel { display:none; padding:2rem 0; font-size:0.93rem; line-height:1.8; color:#444; }
.rs-sp__tab-panel.active { display:block; }
.rs-sp__tab-panel h2 { font-size:1.2rem; font-weight:700; margin-bottom:0.8rem; color:#1a1a2e; }
.rs-sp__tab-panel p { margin-bottom:1rem; }
.rs-sp__tab-panel strong { color:#1a1a2e; }
.rs-sp__tab-panel table { width:100%; border-collapse:collapse; margin:1rem 0; }
.rs-sp__tab-panel table th,
.rs-sp__tab-panel table td { padding:10px 14px; border-bottom:1px solid #eee; font-size:0.85rem; text-align:left; }
.rs-sp__tab-panel table th { font-weight:600; background:#fafafa; width:35%; color:#333; }

/* Related */
.rs-sp__related { margin-top:2.5rem; }
.rs-sp__related .related.products { padding-top:1.5rem; border-top:2px solid #eee; }
.rs-sp__related .related.products > h2 { font-size:1.3rem; font-weight:700; margin-bottom:1.2rem; color:#1a1a2e; }
.rs-sp__related .related.products ul.products { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:15px !important; }

/* Responsive */
@media (max-width:768px) {
    .rs-sp__layout { grid-template-columns:1fr; gap:1.5rem; }
    .rs-sp__title { font-size:1.3rem; }
    .rs-sp__related .related.products ul.products { grid-template-columns:repeat(2,1fr) !important; }
    .rs-sp__thumb { width:55px; height:55px; }
}

/* Product page narrower */
.rs-sp > .woocommerce-breadcrumb,
.rs-sp .rs-sp__layout,
.rs-sp .rs-sp__tabs,
.rs-sp .rs-sp__related { max-width: 1100px; margin-left: auto; margin-right: auto; }

/* Highlight card (Lamele NOWOŚĆ) */
.rs-section--highlight { padding:2rem 0; }
.rs-highlight-card { display:flex; align-items:center; gap:2.5rem; background:linear-gradient(135deg, #1a1a2e 0%, #2d2d4e 100%); border-radius:12px; padding:2.5rem; color:#fff; overflow:hidden; }
.rs-highlight-card__text { flex:1; }
.rs-highlight-card__badge { display:inline-block; background:#E87E04; color:#fff; padding:4px 14px; border-radius:20px; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:1rem; }
.rs-highlight-card__text h2 { font-size:1.8rem; font-weight:800; margin:0 0 0.8rem; }
.rs-highlight-card__text p { font-size:0.95rem; line-height:1.6; color:#ccc; margin-bottom:1.5rem; }
.rs-highlight-card__img { width:350px; flex-shrink:0; }
.rs-highlight-card__img img { width:100%; border-radius:8px; }
@media (max-width:768px) {
    .rs-highlight-card { flex-direction:column; padding:1.5rem; }
    .rs-highlight-card__img { width:100%; }
}

/* Cart badge counter */
.rs-header__action { position:relative; }
.rs-cart-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background: #E87E04;
    color: #fff;
    font-size: 0.6rem;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Beautiful content pages */
.rs-page { padding:1.5rem 0 3rem; }
.rs-page .rs-container { max-width:1000px; }
.rs-page__title {
    font-size:2rem; font-weight:800; color:#1a1a2e;
    margin-bottom:1.5rem; padding-bottom:1rem;
    border-bottom:3px solid #E87E04; display:inline-block;
}
.rs-page__content {
    font-size:0.95rem; line-height:1.8; color:#444;
}
.rs-page__content p { margin-bottom:1rem; }
.rs-page__content h2 {
    font-size:1.4rem; font-weight:700; color:#1a1a2e;
    margin:2rem 0 0.8rem; padding-bottom:0.4rem;
    border-bottom:2px solid #eee;
}
.rs-page__content h3 {
    font-size:1.1rem; font-weight:700; color:#1a1a2e;
    margin:1.5rem 0 0.6rem;
}
.rs-page__content a { color:#E87E04; }
.rs-page__content strong { color:#1a1a2e; }
.rs-page__content ul, .rs-page__content ol {
    margin:1rem 0; padding-left:1.5rem;
}
.rs-page__content li { margin-bottom:0.5rem; }
.rs-page__content table {
    width:100%; border-collapse:collapse; margin:1.5rem 0;
}
.rs-page__content table th,
.rs-page__content table td {
    padding:10px 14px; border:1px solid #eee; font-size:0.9rem; text-align:left;
}
.rs-page__content table th { background:#fafafa; font-weight:600; color:#1a1a2e; }
.rs-page__content img { border-radius:8px; margin:1rem 0; max-width:100%; }
.rs-page__content blockquote {
    border-left:4px solid #E87E04; padding:1rem 1.5rem;
    margin:1.5rem 0; background:#fafafa; border-radius:0 8px 8px 0;
    font-style:italic; color:#555;
}

/* Contact page specific */
.rs-page__content .rs-contact-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin:2rem 0;
}
.rs-page__content .rs-contact-card {
    background:#fff; border:1px solid #eee; border-radius:8px; padding:1.5rem;
}
.rs-page__content .rs-contact-card h3 { margin-top:0; }

/* WC pages override - no narrow container */
.woocommerce-cart .rs-page .rs-container,
.woocommerce-checkout .rs-page .rs-container,
.woocommerce-account .rs-page .rs-container { max-width:1400px; }

/* Hero slider bigger */
.rs-hero__slide { min-height: 550px !important; }
.rs-hero-slider { min-height: 550px !important; }
@media (max-width:768px) {
    .rs-hero__slide { min-height: 350px !important; }
    .rs-hero-slider { min-height: 350px !important; }
}

/* Order review table padding */
.rs-checkout .woocommerce-checkout-review-order-table th,
.rs-checkout .woocommerce-checkout-review-order-table td { padding: 10px 12px !important; }
.rs-checkout .woocommerce-checkout-review-order-table { border: 1px solid #eee; border-radius: 6px; overflow: hidden; }
.rs-checkout .woocommerce-checkout-review-order-table thead th { background: #fafafa; font-weight: 600; }

/* EU Logos Bar */
.rs-eu-bar { background:#fff; padding:4px 0; border-bottom:1px solid #eee; }
.rs-eu-bar__inner { display:flex; align-items:center; justify-content:center; gap:12px; }
.rs-eu-bar img { height:50px; width:auto; max-width:100%; }
@media (max-width:768px) {
    .rs-eu-bar img { height:30px; }
    .rs-eu-bar__inner { gap:6px; }
    .rs-eu-bar__inner span { display:none; }
}

/* Temporarily hide Santander raty info */
.rs-installments { display:none !important; }



/* Product calculator v2 */
.rs-calc { background:#f8f9fa; border:1px solid #eee; border-radius:8px; padding:1rem 1.2rem; margin:1rem 0; }
.rs-calc__label { font-size:0.9rem; font-weight:600; color:#555; margin-bottom:0.6rem; }
.rs-calc__fields { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.rs-calc__field { display:flex; align-items:center; gap:0; }
.rs-calc__btn { width:32px; height:38px; border:1px solid #ddd; background:#fff; font-size:1.1rem; font-weight:700; cursor:pointer; color:#333; display:flex; align-items:center; justify-content:center; }
.rs-calc__btn:first-child { border-radius:6px 0 0 6px; border-right:none; }
.rs-calc__btn:last-of-type { border-radius:0 6px 6px 0; border-left:none; }
.rs-calc__btn:hover { background:#E87E04; color:#fff; border-color:#E87E04; }
.rs-calc__input { width:70px; height:38px; border:1px solid #ddd; text-align:center; font-size:0.9rem; font-weight:600; -moz-appearance:textfield; }
.rs-calc__input::-webkit-outer-spin-button,
.rs-calc__input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.rs-calc__unit { font-size:0.8rem; color:#888; margin-left:4px; font-weight:600; }
.rs-calc__total { margin-top:0.8rem; padding-top:0.8rem; border-top:1px solid #eee; font-size:1rem; }
.rs-calc__total strong { color:#333; }
.rs-calc__total span { color:#E87E04; font-weight:700; font-size:1.15rem; }
@media (max-width:768px) {
    .rs-calc__fields { flex-direction:column; }
    .rs-calc__input { width:60px; }
}

/* Attribute filters */
.rs-sidebar__filter-list { list-style:none; padding:0; margin:0; max-height:200px; overflow-y:auto; }
.rs-filter-check { display:flex; align-items:center; gap:6px; padding:4px 0; cursor:pointer; font-size:0.82rem; }
.rs-filter-check input[type=checkbox] { width:auto; flex-shrink:0; accent-color:#E87E04; }
.rs-filter-check__name { color:#333; }
.rs-filter-check__count { color:#aaa; font-size:0.75rem; }
.rs-filter-check:hover .rs-filter-check__name { color:#E87E04; }
.rs-sidebar__filter-list::-webkit-scrollbar { width:4px; }
.rs-sidebar__filter-list::-webkit-scrollbar-thumb { background:#ddd; border-radius:2px; }

/* Hide Stripe card form initially - make it cleaner */
.rs-checkout #payment .payment_method_woocommerce_payments .payment_box { border:1px solid #eee; border-radius:6px; background:#fafafa; }
.rs-checkout #payment .payment_method_woocommerce_payments_p24 .payment_box { background:#fff; }

/* Filter lists - max height + scroll */
.rs-sidebar__filter .rs-sidebar__filter-list {
    max-height: 180px !important;
    overflow-y: auto !important;
    border: 1px solid #eee;
    border-radius: 4px;
    padding: 6px !important;
}
.rs-sidebar__filter {
    margin-bottom: 1rem !important;
    padding-bottom: 0.8rem !important;
    border-bottom: 1px solid #eee;
}
.rs-sidebar__widget {
    margin-bottom: 1rem;
}
.rs-sidebar__title {
    font-size: 0.82rem !important;
    margin-bottom: 0.5rem !important;
}


/* =============================================================================
   HOMEPAGE - PRÓBKI ROW (small cards below category sections)
   ============================================================================= */
.rs-probki-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    margin-top: 1.2rem;
}
.rs-probki-row--single {
    grid-template-columns: repeat(3, 1fr);
    max-width: 400px;
}
.rs-probki-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 8px;
    border: 2px dashed var(--rs-border);
    border-radius: var(--rs-radius);
    text-align: center;
    transition: all 0.25s ease;
    text-decoration: none;
    background: #fff;
}
.rs-probki-card:hover {
    border-color: var(--rs-orange);
    background: var(--rs-orange-light);
    transform: translateY(-2px);
}
.rs-probki-card__badge {
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rs-orange);
    background: var(--rs-orange-light);
    padding: 2px 10px;
    border-radius: 20px;
}
.rs-probki-card__name {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--rs-text);
    line-height: 1.3;
}

/* Banner cards (Tekstury, Architekci, Katalogi) */
.rs-banner-card {
    background: #fff;
    border: 1px solid var(--rs-border);
    border-radius: var(--rs-radius-lg);
    padding: 2.5rem;
    text-align: center;
    transition: box-shadow 0.3s ease;
}
.rs-banner-card:hover {
    box-shadow: var(--rs-shadow-md);
}
.rs-banner-card h3 {
    font-size: 1.4rem;
    margin-bottom: 0.6rem;
    color: var(--rs-text);
}
.rs-banner-card p {
    font-size: 0.95rem;
    color: var(--rs-text-secondary);
    margin-bottom: 1.2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}
.rs-banner-card--dark {
    background: linear-gradient(135deg, #1a1a2e 0%, #2d2d4e 100%);
    border: none;
    color: #fff;
}
.rs-banner-card--dark h3 { color: #fff; }
.rs-banner-card--dark p { color: #ccc; }

/* Responsive for probki row */
@media (max-width: 1024px) {
    .rs-probki-row { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
    .rs-probki-row { grid-template-columns: repeat(2, 1fr); }
    .rs-probki-row--single { grid-template-columns: 1fr; }
    .rs-banner-card { padding: 1.5rem; }
}

/* Size variant buttons */
.rs-sizes { margin:0.8rem 0; padding:0.8rem 0; border-top:1px solid #eee; }
.rs-sizes__label { display:block; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:8px; color:#888; }
.rs-sizes__btns { display:flex; gap:8px; flex-wrap:wrap; }
.rs-size-btn { display:inline-flex; align-items:center; justify-content:center; padding:8px 16px; border:2px solid #ddd; border-radius:6px; font-size:0.82rem; font-weight:600; color:#333; text-decoration:none; transition:all 0.2s; min-width:60px; text-align:center; }
.rs-size-btn:hover { border-color:#E87E04; color:#E87E04; }
.rs-size-btn--active, .rs-size-btn.active { background:#1a1a2e; border-color:#1a1a2e; color:#fff; }

/* Contact form styles */
#rs-contact-form input[type=text],
#rs-contact-form input[type=email],
#rs-contact-form input[type=tel],
#rs-contact-form input[type=number],
#rs-contact-form select,
#rs-contact-form textarea {
    width:100% !important; padding:12px 14px !important; border:1px solid #ddd !important;
    border-radius:8px !important; font-size:0.9rem !important; box-sizing:border-box !important;
    display:block !important; background:#fff !important;
}
#rs-contact-form input:focus,
#rs-contact-form select:focus,
#rs-contact-form textarea:focus { border-color:#E87E04 !important; outline:none !important; box-shadow:0 0 0 3px rgba(232,126,4,0.1) !important; }
#rs-contact-form label { font-weight:600; font-size:0.85rem; color:#333; display:block; margin-bottom:4px; }
#rs-contact-form select { -webkit-appearance:menulist !important; appearance:menulist !important; }
#rs-contact-form textarea { resize:vertical; min-height:120px; }
#rs-contact-form input[type=number] { width:70px !important; text-align:center; font-weight:700; }
#rs-contact-form button[type=submit] { background:#E87E04; color:#fff; border:none; padding:14px 30px; border-radius:8px; font-weight:700; font-size:0.95rem; cursor:pointer; letter-spacing:0.5px; box-shadow:0 4px 12px rgba(232,126,4,0.3); }
#rs-contact-form button[type=submit]:hover { background:#CC6D03; }

/* Kontakt page */
.rs-kontakt-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.rs-kontakt-box { margin-bottom:1.5rem; }
.rs-kontakt-box h3 { font-size:1rem; font-weight:700; border-bottom:2px solid #E87E04; padding-bottom:0.5rem; margin-bottom:0.8rem; }
.rs-kontakt-box a { color:#E87E04; }

#rs-contact-form { display:flex; flex-direction:column; gap:14px; }
#rs-contact-form .rs-form-row { display:flex; flex-direction:column; gap:4px; }
#rs-contact-form label { font-weight:600; font-size:0.85rem; color:#333; }
#rs-contact-form .req { color:#E87E04; }
#rs-contact-form input[type=text],
#rs-contact-form input[type=email],
#rs-contact-form input[type=tel],
#rs-contact-form select,
#rs-contact-form textarea { width:100%; padding:12px 14px; border:1px solid #ddd; border-radius:8px; font-size:0.9rem; background:#fff; box-sizing:border-box; font-family:inherit; }
#rs-contact-form input:focus,
#rs-contact-form select:focus,
#rs-contact-form textarea:focus { border-color:#E87E04; outline:none; box-shadow:0 0 0 3px rgba(232,126,4,0.1); }
#rs-contact-form textarea { resize:vertical; min-height:120px; }
#rs-contact-form .rs-captcha-row { flex-direction:row; align-items:center; gap:10px; background:#f8f9fa; padding:12px; border-radius:8px; }
#rs-contact-form .rs-captcha-row input { width:70px; text-align:center; font-weight:700; font-size:1rem; border:2px solid #ddd; }
#rs-contact-form .rs-rodo-row { flex-direction:row; align-items:flex-start; gap:8px; }
#rs-contact-form .rs-rodo-row input { margin-top:4px; accent-color:#E87E04; flex-shrink:0; width:auto; }
#rs-contact-form .rs-rodo-row label { font-size:0.78rem; color:#666; line-height:1.5; font-weight:400; }
#rs-contact-form .rs-rodo-row a { color:#E87E04; }
.rs-form-submit { background:#E87E04; color:#fff; border:none; padding:14px 30px; border-radius:8px; font-weight:700; font-size:0.95rem; cursor:pointer; align-self:flex-start; letter-spacing:0.5px; box-shadow:0 4px 12px rgba(232,126,4,0.3); font-family:inherit; }
.rs-form-submit:hover { background:#CC6D03; }
@media (max-width:768px) { .rs-kontakt-grid { grid-template-columns:1fr; } }



/* Probki rows match tile grid */
.rs-probki-row { display:grid !important; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:12px; }
.rs-tiles--3 + .rs-probki-row { grid-template-columns:repeat(3,1fr); }
.rs-tiles--4 + .rs-probki-row { grid-template-columns:repeat(4,1fr); }


/* Probki card full width in grid cell */
.rs-probki-card { display:flex !important; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:16px 10px; border-radius:8px; text-decoration:none; border:1px solid #eee; background:#f5f5f5; min-height:80px; position:relative; overflow:hidden; transition:all 0.2s; }
.rs-probki-card:hover { border-color:#E87E04; transform:translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,0.1); }
.rs-probki-card__badge { font-size:0.65rem; font-weight:700; color:#E87E04; text-transform:uppercase; letter-spacing:1px; margin-bottom:2px; }
.rs-probki-card__name { font-size:0.78rem; font-weight:600; color:#333; }

/* Cards with background */
.rs-probki-card[style*=background-image] { border-color:transparent; }
.rs-probki-card[style*=background-image]::before { content:''; position:absolute; top:0;left:0;right:0;bottom:0; background:rgba(0,0,0,0.5); z-index:1; }
.rs-probki-card[style*=background-image] .rs-probki-card__badge { color:#E87E04; position:relative; z-index:2; }
.rs-probki-card[style*=background-image] .rs-probki-card__name { color:#fff; position:relative; z-index:2; text-shadow:0 1px 3px rgba(0,0,0,0.5); }

@media (max-width:768px) {
    .rs-probki-row { grid-template-columns:repeat(2,1fr) !important; }
    
}

/* Hide default add-to-cart when plugin calculator is active */



/* Hide default WC add-to-cart when plugin calculator exists on page */




/* Force DODAJ DO KOSZYKA button below calculator on new line */
.rs-sp__summary form .single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    margin-top: 15px !important;
    padding: 14px 24px !important;
    background: #E87E04 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(232,126,4,0.3) !important;
    text-align: center !important;
}
.rs-sp__summary form .single_add_to_cart_button:hover {
    background: #CC6D03 !important;
}

/* Cena koncowa styling */
.rs-sp__summary form .final-price,
.rs-sp__summary form td:last-child {
    font-weight: 700;
    color: #E87E04;
    font-size: 1.1rem;
}

/* +/- buttons in calculator */
.rs-sp__summary form .minus,
.rs-sp__summary form .plus {
    width: 32px !important;
    height: 32px !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    background: #fff !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.rs-sp__summary form .minus:hover,
.rs-sp__summary form .plus:hover {
    background: #E87E04 !important;
    color: #fff !important;
    border-color: #E87E04 !important;
}

/* DODAJ DO KOSZYKA - full width below calculator */
.rs-sp__summary form .single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    margin-top: 15px !important;
    padding: 15px 24px !important;
    background: #E87E04 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(232,126,4,0.3) !important;
    text-align: center !important;
}
.rs-sp__summary form .single_add_to_cart_button:hover {
    background: #CC6D03 !important;
}



/* Checkout layout fix - wider columns */
.rs-checkout { grid-template-columns: 55fr 45fr !important; gap: 2rem !important; }
.woocommerce-checkout .rs-container { max-width: 1300px !important; }
.rs-checkout__right { min-width: 0; }

/* Payment methods cleaner */
.rs-checkout #payment ul.payment_methods li { padding: 14px !important; margin-bottom: 8px !important; }
.rs-checkout #payment ul.payment_methods li label { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
.rs-checkout #payment ul.payment_methods li label img { height: 22px !important; width: auto !important; }

/* Hide duplicate P24 logos - keep only first */
.rs-checkout #payment .payment_method_woocommerce_payments_p24 label .payment-methods--logos div img:not(:first-child) { display: none !important; }
.rs-checkout #payment .payment_method_woocommerce_payments_p24 label .payment-methods--logos-count { display: none !important; }



/* Checkout payment methods - clean */
#payment ul.payment_methods { list-style:none !important; padding:0 !important; margin:0 0 1rem !important; }
#payment ul.payment_methods li {
    padding:14px 16px !important; margin-bottom:8px !important;
    border:1px solid #eee !important; border-radius:8px !important;
    background:#fff !important; transition:all 0.2s !important;
}
#payment ul.payment_methods li:has(input:checked),
#payment ul.payment_methods li.active {
    border-color:#E87E04 !important; background:#fff8f0 !important;
}
#payment ul.payment_methods li label {
    display:flex !important; align-items:center !important; gap:8px !important;
    font-weight:600 !important; font-size:0.9rem !important; cursor:pointer !important;
    flex-wrap:wrap !important;
}
#payment ul.payment_methods li label img {
    height:22px !important; width:auto !important;
}
/* Hide escaped HTML in img alt that creates duplicate logos */
#payment ul.payment_methods li label img[alt*="rs-payment"] { display:none !important; }
#payment ul.payment_methods li label .rs-payment-logos { display:none !important; }
#payment ul.payment_methods li label > img:last-of-type:not([alt="visa"]):not([alt="Visa"]) {
    /* Keep only original WC payment icons */
}

#payment .payment_box {
    padding:12px 16px !important; margin-top:10px !important;
    background:#f9f9f9 !important; border-radius:6px !important;
    font-size:0.85rem !important; color:#555 !important;
}

/* Hide duplicate P24 logos */
.payment_method_woocommerce_payments_p24 label .payment-methods--logos-count { display:none !important; }

/* Place order button */
#place_order {
    width:100% !important; background:#E87E04 !important; color:#fff !important;
    border:none !important; padding:16px !important; font-size:1.1rem !important;
    font-weight:700 !important; border-radius:8px !important; text-transform:uppercase !important;
    letter-spacing:1px !important; cursor:pointer !important; margin-top:1rem !important;
    box-shadow:0 4px 12px rgba(232,126,4,0.3) !important;
}
#place_order:hover { background:#CC6D03 !important; }

/* ============================================================
   MOBILE RESPONSIVENESS FIX
   ============================================================ */
@media (max-width: 768px) {
    /* Products grid - 2 columns on mobile */
    .products.columns-6,
    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    /* Product card text */
    .rs-product-card__title { font-size: 0.75rem !important; line-height: 1.2 !important; }
    .rs-product-card__price { font-size: 0.8rem !important; }

    /* Sidebar - hide by default, show with toggle */
    .rs-sidebar {
        display: none !important;
    }
    .rs-sidebar.mobile-open {
        display: block !important;
    }

    /* Shop layout - single column */
    .rs-shop__layout {
        grid-template-columns: 1fr !important;
    }

    /* Add filter toggle button (visible only on mobile) */
    .rs-filter-toggle {
        display: block !important;
        width: 100%;
        padding: 10px 16px;
        background: #1a1a2e;
        color: #fff;
        border: none;
        border-radius: 6px;
        font-weight: 600;
        font-size: 0.85rem;
        cursor: pointer;
        margin-bottom: 12px;
        text-align: center;
    }
    .rs-filter-toggle:after {
        content: ' ▼';
        font-size: 0.7rem;
    }
    .rs-filter-toggle.open:after {
        content: ' ▲';
    }

    /* Header mobile */
    .rs-eu-bar__inner { gap: 4px !important; }
    .rs-eu-bar img { height: 22px !important; }
    .rs-topbar { font-size: 0.7rem !important; padding: 4px 0 !important; }

    /* Homepage sections */
    .rs-cat-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .rs-tiles--5 { grid-template-columns: repeat(2, 1fr) !important; }
    .rs-tiles--4 { grid-template-columns: repeat(2, 1fr) !important; }
    .rs-tiles--3 { grid-template-columns: 1fr !important; }
    .rs-probki-row { grid-template-columns: repeat(2, 1fr) !important; }
    .rs-samples__grid { grid-template-columns: repeat(2, 1fr) !important; }

    /* Product page */
    .rs-sp__layout { grid-template-columns: 1fr !important; }
    .rs-sp__title { font-size: 1.2rem !important; }
    .rs-size-btn { padding: 5px 10px !important; font-size: 0.75rem !important; }

    /* Checkout */
    .rs-checkout { grid-template-columns: 1fr !important; }
    .rs-checkout__right { position: static !important; }
    .rs-kontakt-grid { grid-template-columns: 1fr !important; }

    /* Footer */
    .rs-footer__grid { grid-template-columns: 1fr !important; gap: 1.5rem !important; }
    .rs-footer__bottom { flex-direction: column !important; gap: 0.5rem !important; text-align: center !important; }

    /* Hero slider */
    .rs-hero__title { font-size: 1.3rem !important; }
    .rs-hero__subtitle { font-size: 0.8rem !important; }
    .rs-hero__slide { min-height: 300px !important; }

    /* Container padding */
    .rs-container { padding-left: 12px !important; padding-right: 12px !important; }

    /* Section titles */
    .rs-section-title { font-size: 1.2rem !important; }

    /* Highlight card (Lamele) */
    .rs-highlight-card { flex-direction: column !important; padding: 1.2rem !important; }
    .rs-highlight-card__text h2 { font-size: 1.2rem !important; }
    .rs-highlight-card__img { width: 100% !important; }

    /* Related products */
    .rs-sp__related .related.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }

    /* Porady grid */
    .rs-porady-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .rs-porady-grid--3 { grid-template-columns: repeat(2, 1fr) !important; }

    /* Category cards on homepage */
    .rs-cat-card { min-height: 120px !important; }

    /* Cart totals */
    .woocommerce-cart .cart_totals { float: none !important; width: 100% !important; }

    /* Calculator */
    .quantity-buttons-container { flex-direction: column !important; }
}

@media (max-width: 480px) {
    /* Very small screens - single column products */
    .products.columns-6,
    ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .rs-hero__slide { min-height: 250px !important; }
    .rs-hero__title { font-size: 1.1rem !important; }
}

/* ============================================================
   MOBILE V2 - DETAILED FIXES
   ============================================================ */
@media (max-width: 768px) {
    /* EU bar - smaller */
    .rs-eu-bar { padding: 2px 0 !important; }
    .rs-eu-bar img { height: 18px !important; }

    /* Top bar - stack email/phone */
    .rs-topbar__left { flex-wrap: wrap !important; gap: 4px !important; font-size: 0.65rem !important; }
    .rs-topbar__right { display: none !important; }
    .rs-topbar { padding: 3px 10px !important; }

    /* Header - logo smaller, icons closer */
    .rs-header__logo img { max-height: 40px !important; }
    .rs-header { padding: 8px 0 !important; }
    .rs-header__actions { gap: 12px !important; }
    .rs-header__action svg { width: 20px !important; height: 20px !important; }
    .rs-header__action-label,
    .rs-header__label { display: none !important; }
    

    /* Slider - center text, bigger */
    .rs-hero__slide { min-height: 280px !important; }
    .rs-hero__content { text-align: center !important; padding: 0 15px !important; }
    .rs-hero__title { font-size: 1.4rem !important; text-align: center !important; }
    .rs-hero__subtitle { font-size: 0.85rem !important; text-align: center !important; }
    .rs-btn--primary.rs-btn--lg { padding: 10px 20px !important; font-size: 0.85rem !important; }
    .swiper-button-prev, .swiper-button-next { display: none !important; }

    /* Main category cards under slider */
    .rs-cat-card { min-height: 100px !important; border-radius: 8px !important; }
    .rs-cat-card__title { font-size: 0.7rem !important; }
    .rs-cat-card__img { border-radius: 8px !important; }

    /* Section titles */
    .rs-section { padding: 1.2rem 0 !important; }
    .rs-section-title { font-size: 1.1rem !important; margin-bottom: 0.8rem !important; }
    .rs-section-subtitle { font-size: 0.8rem !important; }

    /* Sample cards (probki zamow) */
    .rs-sample-card { padding: 12px 8px !important; min-height: auto !important; }
    .rs-sample-card__name { font-size: 0.7rem !important; }
    .rs-sample-card__icon svg { width: 24px !important; height: 24px !important; }

    /* Tiles (Kamien Naturalny, etc) */
    .rs-tile { min-height: 100px !important; border-radius: 8px !important; }
    .rs-tile__label { font-size: 0.75rem !important; padding: 6px 8px !important; }
    .rs-tile img { border-radius: 8px !important; }

    /* Probki cards */
    .rs-probki-card { min-height: 60px !important; padding: 10px 6px !important; }
    .rs-probki-card__badge { font-size: 0.55rem !important; }
    .rs-probki-card__name { font-size: 0.65rem !important; }

    /* Parapety/Schody/Kamien Ogrodowy section */
    .rs-tiles--3 { grid-template-columns: 1fr 1fr !important; }
    .rs-tile { font-size: 0.75rem !important; }

    /* Highlight card (Lamele NOWOSC) */
    .rs-highlight-card { padding: 1rem !important; }
    .rs-highlight-card__badge { font-size: 0.65rem !important; }
    .rs-highlight-card__text h2 { font-size: 1.1rem !important; }
    .rs-highlight-card__text p { font-size: 0.8rem !important; }

    /* Polecane produkty */
    .rs-recommended ul.products,
    section .products { grid-template-columns: repeat(2, 1fr) !important; }

    /* Trust bar */
    .rs-trust { flex-wrap: wrap !important; }
    .rs-trust__item { flex: 0 0 48% !important; font-size: 0.75rem !important; padding: 8px !important; }
    .rs-trust__item svg { width: 28px !important; height: 28px !important; }

    /* Porady */
    .rs-porada-card__img img { height: 120px !important; }
    .rs-porada-card__info h3 { font-size: 0.75rem !important; }

    /* SEO text */
    .rs-seo-text { font-size: 0.8rem !important; }

    /* Banner cards */
    .rs-banner-card { padding: 1.2rem !important; }
    .rs-banner-card h3 { font-size: 1rem !important; }

    /* Dodatki grid */
    .rs-tiles--4 { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
}

/* ============================================================
   MOBILE HEADER V3 - logo, topbar, EU
   ============================================================ */
@media (max-width: 768px) {
    /* EU logos - full width, prominent */
    .rs-eu-bar { padding: 6px 0 !important; background: #fff !important; }
    .rs-eu-bar__inner { justify-content: center !important; padding: 0 10px !important; }
    .rs-eu-bar img { height: 28px !important; width: 100% !important; max-width: 360px !important; object-fit: contain !important; }

    /* Top bar - centered email + phone */
    .rs-topbar { padding: 5px 0 !important; }
    .rs-topbar .rs-container { justify-content: center !important; text-align: center !important; }
    .rs-topbar__left { justify-content: center !important; width: 100% !important; gap: 10px !important; font-size: 0.72rem !important; }
    .rs-topbar__right { display: none !important; }

    /* Header - logo wider, less padding, vertically centered */
    .rs-header { padding: 6px 0 !important; }
    .rs-header .rs-container { align-items: center !important; }
    .rs-logo { background: transparent !important; border-radius: 0 !important; padding: 4px 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; line-height: 0 !important; }
    .rs-logo img { max-height: 38px !important; width: auto !important; max-width: 220px !important; display: block !important; }
}



/* Mobile search - icon trigger + popup overlay */
@media (max-width: 768px) {
    .rs-search { display: none !important; }

    .rs-mobile-search-trigger {
        display: flex !important;
        align-items: center;
        justify-content: center;
        background: none;
        border: none;
        color: #fff;
        cursor: pointer;
        padding: 0;
    }

    .rs-search-overlay {
        display: none;
        position: fixed;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0,0,0,0.7);
        z-index: 9999;
        align-items: flex-start;
        justify-content: center;
        padding-top: 80px;
    }
    .rs-search-overlay.open { display: flex; }
    .rs-search-overlay__inner {
        background: #fff;
        border-radius: 10px;
        padding: 20px;
        width: 90%;
        max-width: 400px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.3);
    }
    .rs-search-overlay__inner form {
        display: flex;
        gap: 0;
    }
    .rs-search-overlay__inner input {
        flex: 1;
        padding: 12px 16px;
        border: 2px solid #ddd;
        border-radius: 8px 0 0 8px;
        font-size: 1rem;
        outline: none;
    }
    .rs-search-overlay__inner input:focus { border-color: #E87E04; }
    .rs-search-overlay__inner button {
        padding: 12px 18px;
        background: #E87E04;
        border: none;
        border-radius: 0 8px 8px 0;
        color: #fff;
        cursor: pointer;
    }
    .rs-search-overlay__close {
        position: absolute;
        top: 20px;
        right: 20px;
        background: none;
        border: none;
        color: #fff;
        font-size: 2rem;
        cursor: pointer;
    }
}
@media (min-width: 769px) {
    .rs-mobile-search-trigger { display: none !important; }
    .rs-search-overlay { display: none !important; }
}

/* Mobile header - logo + icons in one row */
@media (max-width: 768px) {
    .rs-header__inner {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
    }
    .rs-header__actions {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        flex-shrink: 0 !important;
    }
    .rs-mobile-search-trigger svg { width: 20px !important; height: 20px !important; }
}

/* Mobile search trigger - ensure clickable */
@media (max-width: 768px) {
    .rs-mobile-search-trigger {
        position: relative !important;
        z-index: 100 !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
        min-width: 40px !important;
        min-height: 40px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* Tabs and description full width - related products below */
.rs-sp__tabs {
    width: 100% !important;
    clear: both !important;
    max-width: 100% !important;
}
.rs-sp__tabs .rs-sp__tab-panel {
    max-width: 100% !important;
    width: 100% !important;
}
.rs-sp__related {
    width: 100% !important;
    clear: both !important;
}
.rs-sp__related .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 15px !important;
}
@media (max-width: 768px) {
    .rs-sp__related .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* Product images - square crop on archive */
.rs-product-card__image { aspect-ratio: 1/1; overflow: hidden; }
.rs-product-card__image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* Product page main image - square crop */
.rs-sp__main-img { aspect-ratio: 1/1; overflow: hidden; background: #f5f5f5; border-radius: 10px; }
.rs-sp__main-img img { width: 100% !important; height: 100% !important; object-fit: cover !important; }

/* FORCE: no white box on logo */
.rs-logo,
.rs-header .rs-logo,
a.rs-logo {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}
.rs-logo img,
.rs-logo .rs-logo__img {
    filter: none !important;
}
.rs-footer__logo {
    filter: none !important;
}
