:root {
    --primary: #E11D48;
    --primary-hover: #BE123C;
    --primary-light: #FFF1F2;
    --background: #FFFFFF;
    --surface: #F9FAFB;
    --surface-alt: #F3F4F6;
    --text-primary: #111827;
    --text-secondary: #4B5563;
    --text-muted: #9CA3AF;
    --border-color: #E5E7EB;
    --accent-crimson: #FB7185;
    --shadow-color: rgba(225, 29, 72, 0.08);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    color: var(--text-primary);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Lora', serif;
    font-weight: 600;
}

.text-muted {
    color: #9CA3AF !important;
}

.premium-shadow {
    box-shadow: 0 4px 20px var(--shadow-color);
}

.hover-scale {
    transition: transform 0.3s ease-in-out;
}

.hover-scale:hover {
    transform: scale(1.05);
}

.editorial-underline {
    position: relative;
    text-decoration: none;
}

.editorial-underline::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 1px;
    background-color: var(--primary);
    transition: width 0.3s ease;
}

.editorial-underline:hover::after {
    width: 100%;
}

/* ===== nagwek ===== */
.vorv-header {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.vorv-header .js-mobile-menu.active {
    transform: translateX(0);
}

/* ===== najnowszewiadomoci ===== */
.vorv-hero .vorv-ticker-scroll {
    animation: ticker 40s linear infinite;
}

@keyframes ticker {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.vorv-hero .vorv-main-card {
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.3);
}

.vorv-hero .vorv-side-card,
.vorv-hero .vorv-bottom-card {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.vorv-hero .vorv-bottom-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 20px -8px rgba(225, 29, 72, 0.15);
}

/* ===== wiadomocizewiata ===== */
.world-news-grid .world-news-grid-card {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

.world-news-grid .line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.world-news-grid h2,
.world-news-grid h3 {
    color: #111827;
}

.world-news-grid article:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(225, 29, 72, 0.05);
}

/* ===== modaistyl ===== */
.fashion-grid-block .font-headings {
    font-family: 'Lora', serif;
}

.fashion-grid-block .font-body {
    font-family: 'Inter', sans-serif;
}

.fashion-grid-block .fashion-card-featured,
.fashion-grid-block .fashion-card-secondary,
.fashion-grid-block .fashion-card-small {
    border-bottom: 1px solid #E5E7EB;
    transition: box-shadow 0.3s ease;
}

.fashion-grid-block .fashion-card-featured:hover,
.fashion-grid-block .fashion-card-secondary:hover,
.fashion-grid-block .fashion-card-small:hover {
    box-shadow: 0 10px 25px -5px rgba(225, 29, 72, 0.08);
}

.fashion-grid-block .fashion-all-link i {
    transition: transform 0.3s ease;
}

.fashion-grid-block .fashion-all-link:hover i {
    transform: translateX(5px);
}

.fashion-grid-block .fashion-content {
    border-left: 1px solid transparent;
    transition: border-color 0.3s ease;
}

.fashion-grid-block .group:hover .fashion-content {
    border-left-color: #E11D48;
}

@media (max-width: 767px) {
    .fashion-grid-block .fashion-grid-layout {
        display: flex;
        flex-direction: column;
    }

    .fashion-grid-block .fashion-card-secondary {
        flex-direction: column;
    }

    .fashion-grid-block .fashion-card-secondary .md\:w-1\/2 {
        width: 100%;
    }
}

/* ===== kulturaikino ===== */
.culture-cinema-grid .culture-card {
    height: 100%;
    transition: transform 0.3s ease;
}

.culture-cinema-grid .culture-card:hover {
    transform: translateY(-4px);
}

.culture-cinema-grid h2,
.culture-cinema-grid h3 {
    color: #111827;
}

.culture-cinema-grid .container {
    max-width: 1280px;
}

/* ===== zapiszsidonewslettera ===== */
.newsletter-section .newsletter-card {
    position: relative;
    z-index: 1;
}

.newsletter-section .newsletter-input::placeholder {
    color: #9CA3AF;
    opacity: 1;
}

.newsletter-section .newsletter-input:focus::placeholder {
    color: #D1D5DB;
}

.newsletter-section .newsletter-submit {
    min-width: 160px;
}

.newsletter-section .newsletter-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(225, 29, 72, 0.2);
}

.newsletter-section .newsletter-submit:active {
    transform: translateY(0);
}

@media (max-width: 767px) {
    .newsletter-section .newsletter-heading {
        font-size: 18px;
    }

    .newsletter-section .newsletter-desc {
        font-size: 14px;
    }

    .newsletter-section .newsletter-submit {
        width: 100%;
    }
}

/* ===== stopka ===== */
.vorv-footer {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.vorv-footer .vorv-footer__title {
    position: relative;
    padding-bottom: 8px;
}

.vorv-footer .vorv-footer__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: #E11D48;
}

.vorv-footer .vorv-footer__link {
    text-decoration: none;
    display: inline-block;
}

.vorv-footer .vorv-footer__list li {
    list-style: none;
}

.vorv-footer .vorv-footer__logo {
    filter: grayscale(0);
    transition: filter 0.3s ease;
}

.vorv-footer .vorv-footer__logo:hover {
    filter: brightness(1.1);
}

@media (max-width: 767px) {
    .vorv-footer .vorv-footer__title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .vorv-footer .vorv-footer__nav,
    .vorv-footer .vorv-footer__legal,
    .vorv-footer .vorv-footer__contact,
    .vorv-footer .vorv-footer__info {
        text-align: center;
    }

    .vorv-footer .vorv-footer__logo {
        margin-left: auto;
        margin-right: auto;
    }
}

.vorv-header {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.vorv-header .js-mobile-menu.active {
    transform: translateX(0);
}

.vorv-footer {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.vorv-footer .vorv-footer__title {
    position: relative;
    padding-bottom: 8px;
}

.vorv-footer .vorv-footer__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: #E11D48;
}

.vorv-footer .vorv-footer__link {
    text-decoration: none;
    display: inline-block;
}

.vorv-footer .vorv-footer__list li {
    list-style: none;
}

.vorv-footer .vorv-footer__logo {
    filter: grayscale(0);
    transition: filter 0.3s ease;
}

.vorv-footer .vorv-footer__logo:hover {
    filter: brightness(1.1);
}

@media (max-width: 767px) {
    .vorv-footer .vorv-footer__title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .vorv-footer .vorv-footer__nav,
    .vorv-footer .vorv-footer__legal,
    .vorv-footer .vorv-footer__contact,
    .vorv-footer .vorv-footer__info {
        text-align: center;
    }

    .vorv-footer .vorv-footer__logo {
        margin-left: auto;
        margin-right: auto;
    }
}

.vorv-category-page .vorv-card {
    transition: transform 0.3s ease;
}

.vorv-category-page .line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* ===== PAGE: privacy ===== */
.policy-content-section { padding: 40px 20px; background-color: #FFFFFF; display: flex; justify-content: center; } #policy-wrapper { max-width: 900px; width: 100%; } .policy-inner-content { font-family: 'Inter', sans-serif; color: #4B5563; line-height: 1.6; } .policy-date { font-size: 14px; color: #9CA3AF; margin-bottom: 24px; font-style: italic; } .policy-inner-content h2 { font-family: 'Lora', serif; color: #111827; font-weight: 700; font-size: 22px; margin-top: 32px; margin-bottom: 16px; border-bottom: 2px solid #FFF1F2; padding-bottom: 8px; } .policy-inner-content p { font-size: 16px; margin-bottom: 16px; text-align: justify; hyphens: auto; } .policy-inner-content ul { margin-bottom: 24px; padding-left: 20px; list-style-type: none; } .policy-inner-content li { font-size: 16px; margin-bottom: 12px; position: relative; padding-left: 24px; } .policy-inner-content li::before { content: '→'; position: absolute; left: 0; color: #E11D48; font-weight: bold; } .policy-inner-content strong { color: #111827; font-weight: 600; } .policy-inner-content a { color: #E11D48; text-decoration: none; transition: color 0.3s ease; border-bottom: 1px solid transparent; } .policy-inner-content a:hover { color: #BE123C; border-bottom-color: #BE123C; } @media (min-width: 768px) { .policy-content-section { padding: 80px 40px; } .policy-inner-content h2 { font-size: 32px; margin-top: 48px; } .policy-inner-content p, .policy-inner-content li { font-size: 18px; } }

/* ===== PAGE: terms ===== */
.policy-content-section { padding: 80px 20px; background-color: #FFFFFF; font-family: 'Inter', sans-serif; } #policy-wrapper { max-width: 900px; margin: 0 auto; } .policy-article h1, .policy-article h2 { font-family: 'Lora', serif; } .policy-group h2 { color: #111827; } .policy-text-content p { margin-bottom: 1rem; } .policy-text-content ul li::marker { color: #E11D48; } .policy-text-content a { color: #E11D48; text-decoration: underline; transition: color 0.3s ease; } .policy-text-content a:hover { color: #BE123C; } @media (max-width: 768px) { .policy-content-section { padding: 40px 16px; } }

/* ===== PAGE: disclaimer ===== */
.policy-content-section #policy-wrapper .policy-body h2 { color: #111827; border-left: 4px solid #E11D48; padding-left: 16px; margin-left: -20px; }
@media (max-width: 768px) { .policy-content-section #policy-wrapper .policy-body h2 { margin-left: 0; } }
.policy-content-section #policy-wrapper a { color: #E11D48; text-decoration: underline; transition: color 0.3s ease; }
.policy-content-section #policy-wrapper a:hover { color: #BE123C; }
.policy-content-section #policy-wrapper strong { color: #111827; font-weight: 600; }
.policy-content-section #policy-wrapper .policy-text-block p { margin-bottom: 1.5rem; }
.policy-content-section #policy-wrapper ul li::marker { color: #E11D48; }

/* ===== PAGE: cookies ===== */
.policy-content-section { padding: 40px 16px; background-color: #FFFFFF; font-family: 'Inter', sans-serif; line-height: 1.6; color: #111827; } .policy-content-section #policy-wrapper { max-width: 900px; margin: 0 auto; } .policy-content-section .policy-header { margin-bottom: 40px; border-bottom: 1px solid #E5E7EB; padding-bottom: 24px; } .policy-content-section h1 { font-family: 'Lora', serif; font-size: 18px; font-weight: 700; color: #111827; margin-bottom: 12px; line-height: 1.2; text-transform: none; } @media (min-width: 768px) { .policy-content-section h1 { font-size: 42px; } } .policy-content-section .policy-lead { font-size: 14px; color: #4B5563; font-weight: 500; } @media (min-width: 768px) { .policy-content-section .policy-lead { font-size: 18px; } } .policy-content-section .policy-section { margin-bottom: 32px; } .policy-content-section h2 { font-family: 'Lora', serif; font-size: 16px; font-weight: 600; color: #111827; margin-bottom: 16px; line-height: 1.3; } @media (min-width: 768px) { .policy-content-section h2 { font-size: 32px; } } .policy-content-section p { margin-bottom: 16px; font-size: 14px; color: #4B5563; text-align: justify; hyphens: auto; } @media (min-width: 768px) { .policy-content-section p { font-size: 16px; } } .policy-content-section ul { margin-bottom: 24px; padding-left: 20px; list-style-type: none; } .policy-content-section li { position: relative; margin-bottom: 12px; font-size: 14px; color: #4B5563; } @media (min-width: 768px) { .policy-content-section li { font-size: 16px; } } .policy-content-section li::before { content: ''; position: absolute; left: -20px; top: 10px; width: 6px; height: 6px; background-color: #E11D48; border-radius: 50%; } .policy-content-section a { color: #E11D48; text-decoration: none; font-weight: 500; transition: color 0.3s ease; } .policy-content-section a:hover { color: #BE123C; text-decoration: underline; } .policy-content-section .policy-footer-text { font-size: 12px; color: #9CA3AF; margin-top: 48px; border-top: 1px solid #F3F4F6; padding-top: 16px; }

/* ===== PAGE: about-contacts ===== */
.vorv-about .font-serif { font-family: 'Lora', serif; }
.vorv-about .font-body { font-family: 'Inter', sans-serif; }
.vorv-contact .font-serif { font-family: 'Lora', serif; }
.vorv-contact input::placeholder, .vorv-contact textarea::placeholder {
  color: #9CA3AF;
  opacity: 1;
}
.vorv-contact .js-submit-btn {
  box-shadow: 0 4px 14px 0 rgba(225, 29, 72, 0.25);
}

.comment-container {
    transition: transform 0.300s ease;
}

.comment-container:hover {
    transform: translateX(4px);
}

.comment-avatar {
    width: 48px;
    height: 48px;
    object-fit: cover;
    display: block;
    background-color: #F3F4F6;
}

.reply-container {
    position: relative;
}

.reply-avatar {
    width: 40px;
    height: 40px;
    object-fit: cover;
    display: block;
    border: 2px solid #FFFFFF;
}


/* ===== PAGE TEMPLATE: world-news-posts ===== */
.vorv-header {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.vorv-header .js-mobile-menu.active {
    transform: translateX(0);
}

.vorv-footer {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.vorv-footer .vorv-footer__title {
    position: relative;
    padding-bottom: 8px;
}

.vorv-footer .vorv-footer__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: #E11D48;
}

.vorv-footer .vorv-footer__link {
    text-decoration: none;
    display: inline-block;
}

.vorv-footer .vorv-footer__list li {
    list-style: none;
}

@media (max-width: 767px) {
    .vorv-footer .vorv-footer__title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .vorv-footer .vorv-footer__nav,
    .vorv-footer .vorv-footer__legal,
    .vorv-footer .vorv-footer__contact,
    .vorv-footer .vorv-footer__info {
        text-align: center;
    }

    .vorv-footer .vorv-footer__logo {
        margin-left: auto;
        margin-right: auto;
    }
}

.vorv-content h1,
.vorv-content h2,
.vorv-content h3 {
    color: #111827;
    font-family: 'Lora', serif;
}

.vorv-content h2 {
    font-size: 16px;
}

@media (min-width: 768px) {
    .vorv-content h2 {
        font-size: 32px;
    }
}

.vorv-content h3 {
    font-size: 14px;
}

@media (min-width: 768px) {
    .vorv-content h3 {
        font-size: 26px;
    }
}

.vorv-content p {
    line-height: 1.8;
    margin-bottom: 24px;
}

.vorv-content blockquote {
    position: relative;
    overflow: hidden;
}

.vorv-detail-page .line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.js-like-btn.active i {
    color: #E11D48;
    font-weight: bold;
}

.js-like-btn.active .ri-heart-line::before {
    content: '\ee0e';
}

/* ===== PAGE TEMPLATE: fashion-style-posts ===== */
.vorv-header {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.vorv-header .js-mobile-menu.active {
    transform: translateX(0);
}

.vorv-footer {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.vorv-footer .vorv-footer__title {
    position: relative;
    padding-bottom: 8px;
}

.vorv-footer .vorv-footer__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: #E11D48;
}

.vorv-footer .vorv-footer__link {
    text-decoration: none;
    display: inline-block;
}

.vorv-footer .vorv-footer__list li {
    list-style: none;
}

@media (max-width: 767px) {
    .vorv-footer .vorv-footer__title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .vorv-footer .vorv-footer__nav,
    .vorv-footer .vorv-footer__legal,
    .vorv-footer .vorv-footer__contact,
    .vorv-footer .vorv-footer__info {
        text-align: center;
    }

    .vorv-footer .vorv-footer__logo {
        margin-left: auto;
        margin-right: auto;
    }
}

.vorv-content h1,
.vorv-content h2,
.vorv-content h3 {
    color: #111827;
    font-family: 'Lora', serif;
}

.vorv-content h2 {
    font-size: 16px;
}

@media (min-width: 768px) {
    .vorv-content h2 {
        font-size: 32px;
    }
}

.vorv-content h3 {
    font-size: 14px;
}

@media (min-width: 768px) {
    .vorv-content h3 {
        font-size: 26px;
    }
}

.vorv-content p {
    line-height: 1.8;
    margin-bottom: 24px;
}

.vorv-content blockquote {
    position: relative;
    overflow: hidden;
}

.vorv-detail-page .line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.js-like-btn.active i {
    color: #E11D48;
    font-weight: bold;
}

.js-like-btn.active .ri-heart-line::before {
    content: '\ee0e';
}

/* ===== PAGE TEMPLATE: culture-cinema-posts ===== */
.vorv-header {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.vorv-header .js-mobile-menu.active {
    transform: translateX(0);
}

.vorv-footer {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.vorv-footer .vorv-footer__title {
    position: relative;
    padding-bottom: 8px;
}

.vorv-footer .vorv-footer__title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background-color: #E11D48;
}

.vorv-footer .vorv-footer__link {
    text-decoration: none;
    display: inline-block;
}

.vorv-footer .vorv-footer__list li {
    list-style: none;
}

@media (max-width: 767px) {
    .vorv-footer .vorv-footer__title::after {
        left: 50%;
        transform: translateX(-50%);
    }

    .vorv-footer .vorv-footer__nav,
    .vorv-footer .vorv-footer__legal,
    .vorv-footer .vorv-footer__contact,
    .vorv-footer .vorv-footer__info {
        text-align: center;
    }

    .vorv-footer .vorv-footer__logo {
        margin-left: auto;
        margin-right: auto;
    }
}

.vorv-content h1,
.vorv-content h2,
.vorv-content h3 {
    color: #111827;
    font-family: 'Lora', serif;
}

.vorv-content h2 {
    font-size: 16px;
}

@media (min-width: 768px) {
    .vorv-content h2 {
        font-size: 32px;
    }
}

.vorv-content h3 {
    font-size: 14px;
}

@media (min-width: 768px) {
    .vorv-content h3 {
        font-size: 26px;
    }
}

.vorv-content p {
    line-height: 1.8;
    margin-bottom: 24px;
}

.vorv-content blockquote {
    position: relative;
    overflow: hidden;
}

.vorv-detail-page .line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.js-like-btn.active i {
    color: #E11D48;
    font-weight: bold;
}

.js-like-btn.active .ri-heart-line::before {
    content: '\ee0e';
}