/**
 * Editorial Home - Radical Magazine Layout
 * A designer-crafted, visually stunning home page
 */

/* ============================================
   CSS Variables & Base
   ============================================ */
:root {
    --editorial-cream: #faf8f3;
    --editorial-sage: #8b9a7d;
    --editorial-terracotta: #c4846c;
    --editorial-dusty-rose: #d4a5a5;
    --editorial-charcoal: #2d2d2d;
    --editorial-gold: #c9a962;
    --editorial-light: #f5f2eb;
    --editorial-dark: #1a1a1a;
    --editorial-spacing: clamp(40px, 8vw, 120px);
    --editorial-radius: 20px;
    --editorial-transition: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   Editorial Home Container
   ============================================ */
.editorial-home {
    position: relative;
    overflow: hidden;
    background: var(--editorial-cream);
}

/* ============================================
   Decorative Elements
   ============================================ */
.editorial-decor {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    opacity: 0.4;
    z-index: 1;
}

.decor-leaf {
    width: 200px;
    height: 200px;
    top: 15%;
    right: 5%;
    transform: rotate(15deg);
    animation: floatDecor 8s ease-in-out infinite;
}

.decor-blob {
    width: 300px;
    height: 300px;
    top: 60%;
    left: -5%;
    opacity: 0.2;
    animation: floatDecor 12s ease-in-out infinite reverse;
}

.decor-leaf-bottom {
    width: 180px;
    height: 180px;
    bottom: 5%;
    left: 10%;
    transform: rotate(-20deg) scaleX(-1);
    animation: floatDecor 10s ease-in-out infinite;
}

@keyframes floatDecor {
    0%, 100% { transform: translateY(0) rotate(15deg); }
    50% { transform: translateY(-20px) rotate(18deg); }
}

/* ============================================
   Hero Section
   ============================================ */
.editorial-hero {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--editorial-spacing);
    position: relative;
}

.hero-content {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: clamp(40px, 6vw, 100px);
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    width: 100%;
}

.hero-text {
    position: relative;
    z-index: 2;
}

.hero-issue {
    display: inline-block;
    font-family: 'Karla', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--editorial-terracotta);
    margin-bottom: 20px;
    position: relative;
    padding-left: 50px;
}

.hero-issue::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 35px;
    height: 1px;
    background: var(--editorial-terracotta);
}

.hero-number {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(120px, 15vw, 220px);
    font-weight: 400;
    line-height: 0.8;
    color: transparent;
    -webkit-text-stroke: 1px var(--editorial-charcoal);
    opacity: 0.15;
    position: absolute;
    top: -40px;
    left: -30px;
    z-index: -1;
    pointer-events: none;
}

.hero-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(36px, 5vw, 72px);
    font-weight: 500;
    line-height: 1.1;
    color: var(--editorial-charcoal);
    margin-bottom: 30px;
    letter-spacing: -1px;
}

.hero-title a {
    color: inherit;
    text-decoration: none;
    background-image: linear-gradient(var(--editorial-terracotta), var(--editorial-terracotta));
    background-size: 0% 2px;
    background-position: 0 95%;
    background-repeat: no-repeat;
    transition: background-size 0.4s var(--editorial-transition);
}

.hero-title a:hover {
    background-size: 100% 2px;
}

.hero-excerpt {
    font-family: 'Karla', sans-serif;
    font-size: 18px;
    line-height: 1.8;
    color: #666;
    margin-bottom: 40px;
    max-width: 500px;
}

.hero-cta {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    font-family: 'Karla', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--editorial-charcoal);
    text-decoration: none;
    padding: 18px 35px;
    border: 2px solid var(--editorial-charcoal);
    border-radius: 50px;
    transition: all 0.4s var(--editorial-transition);
    position: relative;
    overflow: hidden;
}

.hero-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--editorial-charcoal);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.4s var(--editorial-transition);
    z-index: -1;
}

.hero-cta:hover {
    color: #fff;
}

.hero-cta:hover::before {
    transform: scaleX(1);
    transform-origin: left;
}

.hero-cta svg {
    transition: transform 0.3s var(--editorial-transition);
}

.hero-cta:hover svg {
    transform: translateX(5px);
}

/* Hero Image */
.hero-image {
    position: relative;
}

.hero-image-frame {
    position: relative;
    border-radius: var(--editorial-radius);
    overflow: hidden;
    box-shadow: 0 40px 80px -20px rgba(0,0,0,0.2);
}

.hero-image-frame::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: var(--editorial-radius);
    z-index: 2;
    pointer-events: none;
}

.hero-img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.8s var(--editorial-transition);
}

.hero-image-frame:hover .hero-img {
    transform: scale(1.03);
}

.hero-image-accent {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 30px;
    left: 30px;
    border: 2px solid var(--editorial-terracotta);
    border-radius: var(--editorial-radius);
    z-index: -1;
    opacity: 0.5;
}

/* Scroll Indicator */
.hero-scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.hero-scroll-indicator span {
    font-family: 'Karla', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--editorial-charcoal);
    opacity: 0.5;
}

.scroll-line {
    width: 1px;
    height: 60px;
    background: linear-gradient(to bottom, var(--editorial-charcoal), transparent);
    animation: scrollPulse 2s ease-in-out infinite;
}

@keyframes scrollPulse {
    0%, 100% { opacity: 0.3; transform: scaleY(1); }
    50% { opacity: 0.8; transform: scaleY(1.2); }
}

/* ============================================
   Bento Grid Section
   ============================================ */
.editorial-bento {
    padding: var(--editorial-spacing);
    padding-top: 0;
    max-width: 1400px;
    margin: 0 auto;
}

.bento-header {
    text-align: center;
    margin-bottom: 60px;
    position: relative;
}

.bento-star {
    width: 60px;
    height: 60px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin: 0 auto 20px;
    animation: rotateStar 20s linear infinite;
}

@keyframes rotateStar {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.section-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(32px, 4vw, 52px);
    font-weight: 500;
    color: var(--editorial-charcoal);
    margin-bottom: 15px;
}

.section-subtitle {
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    color: #888;
    letter-spacing: 1px;
}

.bento-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(2, 300px);
    gap: 25px;
}

.bento-item {
    position: relative;
    border-radius: var(--editorial-radius);
    overflow: hidden;
}

.bento-item-1 {
    grid-column: span 7;
    grid-row: span 2;
}

.bento-item-2 {
    grid-column: span 5;
}

.bento-item-3 {
    grid-column: span 3;
}

.bento-item-4 {
    grid-column: span 2;
}

/* Ensure smaller bento items have proper text handling */
.bento-item-3 .bento-content,
.bento-item-4 .bento-content {
    padding: 20px;
}

.bento-item-3 .bento-title,
.bento-item-4 .bento-title {
    font-size: 16px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bento-item-3 .bento-cat,
.bento-item-4 .bento-cat {
    font-size: 9px;
    padding: 4px 10px;
    margin-bottom: 10px;
}

.bento-item-3 .bento-number,
.bento-item-4 .bento-number {
    font-size: 32px;
    top: 12px;
    right: 15px;
}

.bento-link {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    text-decoration: none;
}

.bento-image {
    position: absolute;
    inset: 0;
}

.bento-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s var(--editorial-transition);
}

.bento-item:hover .bento-image img {
    transform: scale(1.08);
}

.bento-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 60%);
    transition: opacity 0.4s var(--editorial-transition);
}

.bento-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px;
    z-index: 2;
}

.bento-number {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 48px;
    font-weight: 400;
    color: rgba(255,255,255,0.2);
    position: absolute;
    top: 20px;
    right: 25px;
    line-height: 1;
}

.bento-cat {
    display: inline-block;
    font-family: 'Karla', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--editorial-terracotta);
    background: rgba(255,255,255,0.95);
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 15px;
}

.bento-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(18px, 2vw, 28px);
    font-weight: 500;
    color: #fff;
    line-height: 1.3;
    margin: 0;
}

.bento-item-1 .bento-title {
    font-size: clamp(24px, 2.5vw, 36px);
}

/* ============================================
   Editorial Divider
   ============================================ */
.editorial-divider {
    padding: 60px var(--editorial-spacing);
    display: flex;
    justify-content: center;
}

.divider-swoosh {
    width: 100%;
    max-width: 600px;
    height: 80px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.6;
}

/* ============================================
   Staggered Cards Section
   ============================================ */
.editorial-staggered {
    padding: var(--editorial-spacing);
    max-width: 1200px;
    margin: 0 auto;
}

.staggered-header {
    text-align: center;
    margin-bottom: 80px;
}

.staggered-label {
    display: inline-block;
    font-family: 'Karla', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--editorial-sage);
    margin-bottom: 15px;
}

.staggered-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 500;
    color: var(--editorial-charcoal);
}

.staggered-grid {
    display: flex;
    flex-direction: column;
    gap: 100px;
}

.staggered-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.staggered-card.stagger-right {
    direction: rtl;
}

.staggered-card.stagger-right > * {
    direction: ltr;
}

.staggered-image {
    position: relative;
}

.stagger-left .staggered-image {
    transform: translateX(-30px);
}

.stagger-right .staggered-image {
    transform: translateX(30px);
}

.staggered-image img {
    width: 100%;
    height: auto;
    border-radius: var(--editorial-radius);
    box-shadow: 0 30px 60px -15px rgba(0,0,0,0.15);
    transition: transform 0.6s var(--editorial-transition);
}

.staggered-card:hover .staggered-image img {
    transform: scale(1.02);
}

.staggered-accent {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: var(--editorial-radius);
    z-index: -1;
}

.stagger-left .staggered-accent {
    top: 20px;
    left: 20px;
    background: var(--editorial-dusty-rose);
    opacity: 0.3;
}

.stagger-right .staggered-accent {
    top: 20px;
    right: 20px;
    left: auto;
    background: var(--editorial-sage);
    opacity: 0.3;
}

.staggered-content {
    padding: 20px 0;
}

.staggered-meta {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.staggered-num {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 60px;
    font-weight: 400;
    color: var(--editorial-light);
    line-height: 1;
}

.staggered-cat {
    font-family: 'Karla', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--editorial-terracotta);
}

.staggered-card-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(24px, 2.5vw, 34px);
    font-weight: 500;
    line-height: 1.3;
    color: var(--editorial-charcoal);
    margin-bottom: 20px;
}

.staggered-card-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.staggered-card-title a:hover {
    color: var(--editorial-terracotta);
}

.staggered-excerpt {
    font-family: 'Karla', sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #777;
    margin-bottom: 30px;
}

.staggered-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Karla', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--editorial-charcoal);
    text-decoration: none;
    transition: all 0.3s ease;
}

.staggered-link svg {
    transition: transform 0.3s ease;
}

.staggered-link:hover {
    color: var(--editorial-terracotta);
}

.staggered-link:hover svg {
    transform: translateX(5px);
}

/* ============================================
   Category Showcase
   ============================================ */
.editorial-categories {
    position: relative;
    padding: var(--editorial-spacing);
    margin-top: 60px;
}

.categories-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--editorial-charcoal) 0%, #3d3d3d 100%);
    clip-path: polygon(0 10%, 100% 0, 100% 90%, 0 100%);
}

.categories-content {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 0;
}

.categories-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 500;
    color: #fff;
    text-align: center;
    margin-bottom: 60px;
}

.categories-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.category-card {
    background: rgba(255,255,255,0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--editorial-radius);
    padding: 40px 30px;
    text-align: center;
    text-decoration: none;
    transition: all 0.4s var(--editorial-transition);
    position: relative;
    overflow: hidden;
}

.category-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.category-card:hover {
    transform: translateY(-10px);
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.2);
}

.category-card:hover::before {
    opacity: 1;
}

.editorial-categories .category-icon,
.categories-grid .category-icon {
    width: 90px !important;
    height: 90px !important;
    margin: 0 auto 25px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.95) !important;
    border-radius: 16px !important;
    padding: 15px !important;
    box-shadow: 0 8px 25px rgba(0,0,0,0.2) !important;
    transition: all 0.4s ease !important;
}

.editorial-categories .category-card:hover .category-icon,
.categories-grid .category-card:hover .category-icon {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 35px rgba(0,0,0,0.3) !important;
}

.editorial-categories .category-icon img,
.categories-grid .category-icon img {
    max-width: 100% !important;
    max-height: 100% !important;
    opacity: 1 !important;
    transition: transform 0.4s ease !important;
    border-radius: 8px !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    filter: none !important;
}

.category-card:hover .category-icon img {
    transform: scale(1.1);
}

.category-name {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 24px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 10px;
}

.category-count {
    font-family: 'Karla', sans-serif;
    font-size: 13px;
    color: rgba(255,255,255,0.5);
    letter-spacing: 1px;
}

.category-arrow {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.4s ease;
}

.category-arrow svg {
    stroke: #fff;
}

.category-card:hover .category-arrow {
    opacity: 1;
    transform: translateX(0);
}

/* ============================================
   Responsive Design
   ============================================ */
@media (max-width: 1024px) {
    .hero-content {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    
    .hero-text {
        order: 2;
        text-align: center;
    }
    
    .hero-issue {
        padding-left: 0;
    }
    
    .hero-issue::before {
        display: none;
    }
    
    .hero-number {
        left: 50%;
        transform: translateX(-50%);
    }
    
    .hero-excerpt {
        margin-left: auto;
        margin-right: auto;
    }
    
    .hero-image {
        order: 1;
    }
    
    .hero-image-accent {
        top: 15px;
        left: 15px;
    }
    
    .bento-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
    
    .bento-item-1 {
        grid-column: span 2;
        min-height: 400px;
    }
    
    .bento-item-2,
    .bento-item-3,
    .bento-item-4 {
        grid-column: span 1;
        min-height: 280px;
    }
    
    .staggered-card {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .staggered-card.stagger-right {
        direction: ltr;
    }
    
    .stagger-left .staggered-image,
    .stagger-right .staggered-image {
        transform: none;
    }
    
    .categories-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .editorial-hero {
        min-height: auto;
        padding-top: 60px;
        padding-bottom: 80px;
    }
    
    .hero-scroll-indicator {
        display: none;
    }
    
    .hero-title {
        font-size: 32px;
    }
    
    .hero-number {
        font-size: 100px;
    }
    
    .bento-grid {
        grid-template-columns: 1fr;
    }
    
    .bento-item-1,
    .bento-item-2,
    .bento-item-3,
    .bento-item-4 {
        grid-column: span 1;
        min-height: 300px;
    }
    
    .staggered-grid {
        gap: 60px;
    }
    
    .staggered-num {
        font-size: 40px;
    }
    
    .categories-bg {
        clip-path: polygon(0 5%, 100% 0, 100% 95%, 0 100%);
    }
    
    .decor-leaf,
    .decor-blob,
    .decor-leaf-bottom {
        display: none;
    }
}

@media (max-width: 480px) {
    :root {
        --editorial-spacing: 25px;
    }
    
    .hero-cta {
        width: auto;
        max-width: 280px;
        justify-content: center;
        padding: 14px 28px;
        font-size: 12px;
    }
    
    .bento-content {
        padding: 20px;
    }
    
    .bento-number {
        font-size: 32px;
        top: 15px;
        right: 15px;
    }
    
    .category-card {
        padding: 30px 20px;
    }
}

/* Fix hero CTA button on all mobile sizes */
@media (max-width: 768px) {
    .hero-cta {
        width: auto !important;
        max-width: 280px;
        padding: 14px 28px !important;
        font-size: 12px !important;
        letter-spacing: 1.5px !important;
    }
    
    .hero-text {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

/* ============================================
   Fix Ezoic Ad Placeholder Whitespace
   ============================================ */
[id*="ezoic-pub-ad-placeholder"],
[class*="ezoic-pub-ad-placeholder"] {
    min-height: 0 !important;
    max-height: 300px !important;
}

@media (max-width: 768px) {
    [id*="ezoic-pub-ad-placeholder"],
    [class*="ezoic-pub-ad-placeholder"] {
        min-height: 0 !important;
        max-height: 250px !important;
    }
}

/* ============================================
   Font Loading
   ============================================ */
@font-face {
	font-family: "Karla";
	font-weight: 400;
	font-style: normal;
	src: local('Karla'), local('Karla-Regular'), url(//casolia.com/wp-content/uploads/sgf-css/qkBbXvYC6trAT7RVLtyU5rZP.woff2) format('woff2'), url(//casolia.com/wp-content/uploads/sgf-css/qkBbXvYC6trAT7RVLto.woff) format('woff');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================
   Editorial Header Styling
   ============================================ */
.main-head {
    background: #faf8f3 !important;
    border-bottom: 1px solid rgba(45, 45, 45, 0.08) !important;
    box-shadow: none !important;
}

.main-head .top-bar,
.main-head .top-bar-content {
    background: transparent !important;
    border: none !important;
}

.main-head .navigation {
    background: transparent !important;
}

.main-head .navigation .menu > li > a {
    font-family: 'Karla', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #2d2d2d !important;
    transition: color 0.3s ease !important;
}

.main-head .navigation .menu > li > a:hover {
    color: #c4846c !important;
}

.main-head .inner {
    background: transparent !important;
    border: none !important;
}

/* ============================================
   Editorial Footer Styling
   ============================================ */
.main-footer,
footer.main-footer {
    background: #2d2d2d !important;
    color: #fff !important;
    margin-top: 0 !important;
}

.main-footer .casolia-footer-wrap,
.casolia-footer-wrap {
    background: transparent !important;
    max-width: 1200px;
    margin: 0 auto;
    padding: 70px 40px 40px !important;
}

.main-footer .footer-content,
.footer-content {
    display: grid !important;
    grid-template-columns: 1.5fr 2fr !important;
    gap: 60px !important;
    align-items: start !important;
    margin-bottom: 50px !important;
}

.footer-logo-section {
    text-align: left !important;
}

.casolia-footer-logo {
    max-width: 150px !important;
    margin-bottom: 15px;
}

.casolia-footer-logo img {
    filter: brightness(0) invert(1);
    opacity: 0.9;
    max-height: 40px;
}

.footer-tagline {
    font-family: 'Karla', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5);
    margin: 0;
}

.footer-sections-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 40px !important;
}

.footer-discover h3,
.footer-casolia-links h3,
.footer-follow-us h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #fff !important;
    margin-bottom: 20px !important;
}

.footer-categories,
.footer-pages {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-categories li,
.footer-pages li {
    margin-bottom: 10px !important;
}

.footer-categories a,
.footer-pages a {
    font-family: 'Karla', sans-serif !important;
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.65) !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.footer-categories a:hover,
.footer-pages a:hover {
    color: #c4846c !important;
}

.footer-follow-us .social-icons {
    display: flex !important;
    gap: 12px !important;
}

.footer-follow-us .pinterest-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    transition: all 0.3s ease;
}

.footer-follow-us .pinterest-icon:hover {
    background: #c4846c;
}

.footer-follow-us .pinterest-icon img {
    width: 22px !important;
    height: 22px !important;
    filter: brightness(0) invert(1);
}

.footer-copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding-top: 25px !important;
    text-align: center !important;
}

.footer-copyright p {
    font-family: 'Karla', sans-serif !important;
    font-size: 13px !important;
    color: rgba(255, 255, 255, 0.4) !important;
    margin: 0 !important;
}

/* Footer Responsive */
@media (max-width: 900px) {
    .footer-content {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
    
    .footer-logo-section {
        text-align: center !important;
    }
    
    .casolia-footer-logo {
        margin: 0 auto 15px !important;
    }
    
    .footer-sections-container {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 768px) {
    .casolia-footer-wrap {
        padding: 50px 25px 30px !important;
    }
    
    .main-footer .footer-content,
    .footer-content {
        display: block !important;
        grid-template-columns: none !important;
    }
    
    .footer-logo-section {
        text-align: center !important;
        width: 100% !important;
        margin-bottom: 40px !important;
    }
    
    .casolia-footer-logo {
        display: flex !important;
        justify-content: center !important;
        margin: 0 auto 15px !important;
    }
    
    .footer-tagline,
    p.footer-tagline {
        text-align: center !important;
    }
    
    .footer-sections-container {
        display: block !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }
    
    .footer-discover,
    .footer-casolia-links,
    .footer-follow-us {
        text-align: center !important;
        width: 100% !important;
        margin-bottom: 35px !important;
    }
    
    .footer-discover h3,
    .footer-casolia-links h3,
    .footer-follow-us h3 {
        text-align: center !important;
    }
    
    .footer-categories,
    .footer-pages {
        text-align: center !important;
    }
    
    .footer-follow-us .social-icons,
    .social-icons {
        justify-content: center !important;
        display: flex !important;
    }
    
    .footer-copyright {
        text-align: center !important;
    }
}

/* ============================================
   Editorial Single Post Redesign
   ============================================ */

/* Single post body class targeting */
.single-post .main-content {
    max-width: 100%;
}

/* Post header - clean layout without overlay */
.single-post .the-post-header {
    position: relative;
    margin-bottom: 40px;
    padding: 0 0 30px 0;
    border-bottom: 1px solid #eee;
}

/* Featured image - simple, below header info */
.single-post .the-post .featured {
    margin: 0 0 40px 0;
    position: relative;
    overflow: hidden;
    border-radius: 12px;
}

.single-post .the-post .featured a.image-link {
    display: block;
    position: relative;
}

.single-post .the-post .featured img {
    width: 100%;
    height: auto;
    max-height: 60vh;
    object-fit: cover;
    display: block;
    border-radius: 12px;
}

/* Post title - dark text, readable */
.single-post .the-post-header .post-title-alt,
.single-post .the-post-header .post-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(32px, 5vw, 48px) !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    color: #2d2d2d !important;
    margin: 20px 0 !important;
    letter-spacing: -0.5px;
}

/* Category label */
.single-post .the-post-header .cat-label a,
.single-post .the-post-header .post-cat a {
    background: #c4846c !important;
    color: #fff !important;
    font-family: 'Karla', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 6px 14px !important;
    border-radius: 3px !important;
    display: inline-block !important;
    transition: background 0.3s ease !important;
}

.single-post .the-post-header .cat-label a:hover,
.single-post .the-post-header .post-cat a:hover {
    background: #2d2d2d !important;
}

/* Post meta styling */
.single-post .the-post-meta,
.single-post .post-meta {
    font-family: 'Karla', sans-serif !important;
    font-size: 14px !important;
    color: #666 !important;
    margin-top: 15px !important;
}

.single-post .the-post-meta a,
.single-post .post-meta a {
    color: #2d2d2d !important;
    font-weight: 500 !important;
}

.single-post .the-post-meta a:hover,
.single-post .post-meta a:hover {
    color: #c4846c !important;
}

/* Content area styling */
.single-post .post-content.entry-content {
    font-family: 'Karla', sans-serif !important;
    font-size: 18px !important;
    line-height: 1.85 !important;
    color: #333 !important;
    max-width: 720px;
    margin: 0 auto;
}

.single-post .post-content p {
    margin-bottom: 1.6em !important;
}

/* Drop cap for first paragraph */
.single-post .post-content > p:first-of-type::first-letter {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 4em;
    float: left;
    line-height: 0.8;
    margin: 0.1em 0.15em 0 0;
    color: #c4846c;
    font-weight: 500;
}

/* Headings in content */
.single-post .post-content h2 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    color: #2d2d2d !important;
    margin: 2em 0 1em !important;
    line-height: 1.3 !important;
}

.single-post .post-content h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    color: #2d2d2d !important;
    margin: 1.8em 0 0.8em !important;
    line-height: 1.4 !important;
}

/* Blockquotes */
.single-post .post-content blockquote {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 24px !important;
    font-style: italic !important;
    color: #2d2d2d !important;
    border-left: 4px solid #8b9a7d !important;
    padding: 20px 30px !important;
    margin: 2em 0 !important;
    background: #faf8f3 !important;
    border-radius: 0 8px 8px 0 !important;
}

.single-post .post-content blockquote p {
    margin-bottom: 0 !important;
}

/* Images in content */
.single-post .post-content img {
    border-radius: 8px;
    margin: 1.5em 0;
}

.single-post .post-content figure {
    margin: 2em 0;
}

.single-post .post-content figcaption {
    font-family: 'Karla', sans-serif;
    font-size: 13px;
    color: #888;
    text-align: center;
    margin-top: 10px;
    font-style: italic;
}

/* Links in content */
.single-post .post-content a {
    color: #c4846c !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(196, 132, 108, 0.3) !important;
    text-underline-offset: 3px !important;
    transition: text-decoration-color 0.3s ease !important;
}

.single-post .post-content a:hover {
    text-decoration-color: #c4846c !important;
}

/* Lists */
.single-post .post-content ul,
.single-post .post-content ol {
    margin: 1.5em 0 !important;
    padding-left: 1.5em !important;
}

.single-post .post-content li {
    margin-bottom: 0.8em !important;
    line-height: 1.7 !important;
}

/* Tags section */
.single-post .post-tags {
    margin: 40px 0 !important;
    padding-top: 30px !important;
    border-top: 1px solid #eee !important;
}

.single-post .post-tags a {
    font-family: 'Karla', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #666 !important;
    background: #f5f2eb !important;
    padding: 6px 14px !important;
    border-radius: 20px !important;
    margin: 0 8px 8px 0 !important;
    display: inline-block !important;
    transition: all 0.3s ease !important;
}

.single-post .post-tags a:hover {
    background: #c4846c !important;
    color: #fff !important;
}

/* Author box */
.single-post .author-box,
.single-post .the-author-box {
    background: #faf8f3 !important;
    border-radius: 12px !important;
    padding: 30px !important;
    margin: 40px 0 !important;
    border: none !important;
}

.single-post .author-box .author-name,
.single-post .the-author-box .author-name {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    color: #2d2d2d !important;
}

.single-post .author-box .author-bio,
.single-post .the-author-box .author-bio {
    font-family: 'Karla', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    color: #666 !important;
}

/* Related posts section */
.single-post .related-posts {
    margin: 60px 0 !important;
    padding-top: 40px !important;
    border-top: 1px solid #eee !important;
}

.single-post .related-posts .block-heading,
.single-post .related-posts h4 {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    color: #2d2d2d !important;
    text-align: center !important;
    margin-bottom: 30px !important;
}

.single-post .related-posts .post-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}

.single-post .related-posts .post-title a {
    color: #2d2d2d !important;
    text-decoration: none !important;
}

.single-post .related-posts .post-title a:hover {
    color: #c4846c !important;
}

/* Comments section */
.single-post .comments-area {
    margin-top: 60px !important;
    padding-top: 40px !important;
    border-top: 1px solid #eee !important;
}

.single-post .comments-area .comments-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    color: #2d2d2d !important;
}

/* Sidebar styling for single posts */
.single-post .sidebar .widget {
    background: #faf8f3 !important;
    border-radius: 12px !important;
    padding: 25px !important;
    margin-bottom: 30px !important;
}

.single-post .sidebar .widget-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #2d2d2d !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #c4846c !important;
}

/* Mobile adjustments for single posts */
@media (max-width: 768px) {
    .single-post .the-post-header {
        padding: 0 0 20px 0;
        margin-bottom: 25px;
    }
    
    .single-post .the-post .featured {
        margin: 0 0 25px 0;
        border-radius: 8px;
    }
    
    .single-post .the-post .featured img {
        max-height: 40vh;
        border-radius: 8px;
    }
    
    .single-post .the-post-header .post-title-alt,
    .single-post .the-post-header .post-title {
        font-size: 26px !important;
        margin: 15px 0 !important;
        line-height: 1.3 !important;
    }
    
    .single-post .post-content.entry-content {
        font-size: 16px !important;
        line-height: 1.75 !important;
    }
    
    .single-post .post-content > p:first-of-type::first-letter {
        font-size: 3em;
    }
    
    .single-post .post-content h2 {
        font-size: 22px !important;
    }
    
    .single-post .post-content h3 {
        font-size: 18px !important;
    }
    
    .single-post .post-content blockquote {
        font-size: 18px !important;
        padding: 15px 20px !important;
    }
    
    .single-post .author-box,
    .single-post .the-author-box {
        padding: 20px !important;
    }
}

.single-creative .featured,
.single-cover .featured {
    height: auto !important;
    min-height: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

.single-creative .featured:before,
.single-cover .featured:before {
    display: none !important;
}

.single-creative .featured .image-link,
.single-cover .featured .image-link {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

.single-creative .featured .wp-post-image,
.single-cover .featured .wp-post-image {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    max-height: 60vh !important;
    object-fit: cover !important;
    display: block !important;
}

.single-creative .featured .overlay,
.single-cover .overlay {
    position: static !important;
    max-width: 720px !important;
    width: auto !important;
    margin: 18px auto 0 !important;
    padding: 18px 22px !important;
    background: rgba(250, 248, 243, 0.97) !important;
    color: #2d2d2d !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.12) !important;
    text-align: left !important;
}

.single-creative .featured .overlay .post-title,
.single-cover .overlay .post-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    font-size: clamp(28px, 4vw, 44px) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: #2d2d2d !important;
    text-shadow: none !important;
    margin: 14px 0 12px !important;
    max-width: none !important;
}

.single-creative .featured .overlay .post-cat a,
.single-cover .overlay .post-cat a,
.single-creative .featured .overlay .category,
.single-cover .overlay .category {
    background: #c4846c !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 6px 14px !important;
    line-height: 1 !important;
    font-family: 'Karla', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    display: inline-flex !important;
    align-items: center !important;
}

.single-creative .featured .overlay time,
.single-cover .overlay time,
.single-creative .featured .overlay .post-by,
.single-cover .overlay .post-by,
.single-creative .featured .overlay .meta-item,
.single-cover .overlay .meta-item {
    color: rgba(45,45,45,0.75) !important;
    font-family: 'Karla', sans-serif !important;
    font-size: 13px !important;
}

.single-creative .featured .overlay .post-by a,
.single-cover .overlay .post-by a {
    color: #2d2d2d !important;
}

@media (max-width: 768px) {
    .single-creative .featured .wp-post-image,
    .single-cover .featured .wp-post-image {
        max-height: 42vh !important;
    }

    .single-creative .featured .overlay,
    .single-cover .overlay {
        margin-top: 14px !important;
        padding: 16px 18px !important;
        border-radius: 14px !important;
    }

    .single-creative .featured .overlay .post-title,
    .single-cover .overlay .post-title {
        font-size: 26px !important;
    }
}
