/*
Theme Name: RasterStock Pro Gallery
Author: WesternGhats
Description: A high-speed, ultra-modern responsive masonry stock image & visual gallery theme designed for rasterstock.com. Uses WordPress medium thumbnails for fast grid loading, centered brand typography, and a bright, luminous studio aesthetic.
Version: 2.0.0
*/

/*! normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* ==========================================================================
   RASTERSTOCK LUMINOUS STUDIO PALETTE (NO DARK COLORS, NO GREEN)
   ========================================================================== */
:root {
    --rs-bg-canvas: #F8FAFF;
    --rs-bg-surface: #FFFFFF;
    --rs-bg-subtle: #F1F5FD;
    --rs-text-primary: #334155;
    --rs-text-secondary: #64748B;
    --rs-text-muted: #94A3B8;
    --rs-accent-cobalt: #2563EB;
    --rs-accent-violet: #7C3AED;
    --rs-accent-coral: #F43F5E;
    --rs-accent-amber: #F59E0B;
    --rs-accent-sky: #0EA5E9;
    --rs-accent-pink: #EC4899;
    --rs-border-light: #E2E8F0;
    --rs-border-soft: #EEF2FF;
    --rs-gradient-primary: linear-gradient(135deg, #2563EB 0%, #7C3AED 55%, #F43F5E 100%);
    --rs-gradient-button: linear-gradient(135deg, #2563EB 0%, #6D28D9 100%);
    --rs-gradient-button-hover: linear-gradient(135deg, #F43F5E 0%, #7C3AED 100%);
    --rs-shadow-sm: 0 4px 14px rgba(37, 99, 235, 0.06);
    --rs-shadow-md: 0 12px 32px rgba(37, 99, 235, 0.09);
    --rs-shadow-lg: 0 20px 48px rgba(37, 99, 235, 0.14);
    --rs-radius-lg: 20px;
    --rs-radius-md: 14px;
    --rs-radius-pill: 999px;
}

#pastel-data {
    --p1: #2563EB; --p2: #F43F5E; --p3: #7C3AED; --p4: #0EA5E9;
    --p5: #F59E0B; --p6: #EC4899; --p7: #3B82F6; --p8: #8B5CF6;
    position: absolute; width: 0; height: 0; visibility: hidden; pointer-events: none;
}

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

html, body {
    background-color: var(--rs-bg-canvas);
    background-image:
        radial-gradient(circle at 12% 8%, rgba(59, 130, 246, 0.09) 0%, transparent 40%),
        radial-gradient(circle at 88% 6%, rgba(244, 63, 94, 0.08) 0%, transparent 42%),
        radial-gradient(circle at 50% 35%, rgba(124, 58, 237, 0.05) 0%, transparent 50%);
    background-attachment: fixed;
    color: var(--rs-text-primary);
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    margin: 0;
    padding: 0;
    overflow-wrap: break-word;
    -webkit-font-smoothing: antialiased;
}

a {
    text-decoration: none;
    color: var(--rs-accent-cobalt);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

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

.main-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 28px;
}

/* ==========================================================================
   EXTREME CENTERED STOCK MARKETPLACE HERO HEADER
   ========================================================================== */
.main-header {
    position: relative;
    text-align: center !important;
    padding: 56px 24px 36px;
    margin: 0 auto 28px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 255, 0.75) 100%);
    border-bottom: 1px solid var(--rs-border-light);
    box-shadow: 0 10px 40px rgba(37, 99, 235, 0.05);
    overflow: hidden;
}

.main-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    background: var(--rs-gradient-primary);
}

.header-widget {
    max-width: 920px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center !important;
}

.stock-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    margin-bottom: 16px;
    border-radius: var(--rs-radius-pill);
    background: #EEF2FF;
    border: 1px solid #DBEAFE;
    color: var(--rs-accent-cobalt);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.stock-hero-badge span.dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rs-accent-coral);
    display: inline-block;
}

.main-header h1 {
    margin: 0 auto 12px auto !important;
    font-size: clamp(2.6rem, 5vw, 4.25rem);
    font-family: 'Outfit', sans-serif !important;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.08;
    text-align: center !important;
    display: block;
    width: 100%;
}

.main-header h1 a {
    background: var(--rs-gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: var(--rs-accent-cobalt);
    display: inline-block;
    transition: transform 0.3s ease, filter 0.3s ease;
}

.main-header h1 a:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
}

.main-header p {
    color: var(--rs-text-secondary);
    margin: 0 auto 12px auto;
    font-size: clamp(1rem, 1.8vw, 1.22rem);
    font-weight: 500;
    max-width: 680px;
    line-height: 1.5;
    text-align: center !important;
}

/* ==========================================================================
   COMMAND-CENTER STOCK SEARCH SECTION
   ========================================================================== */
.search-section {
    width: 100%;
    max-width: 880px;
    margin: -10px auto 42px auto;
    clear: both;
    display: block;
    position: relative;
    z-index: 10;
}

.search-section .widget {
    background: var(--rs-bg-surface);
    padding: 12px 14px;
    border-radius: var(--rs-radius-pill);
    border: 2px solid #DBEAFE;
    box-shadow: 0 18px 45px rgba(37, 99, 235, 0.11), 0 2px 10px rgba(244, 63, 94, 0.05);
    margin-bottom: 20px;
    width: 100%;
    transition: all 0.3s ease;
}

.search-section .widget:focus-within {
    border-color: var(--rs-accent-cobalt);
    box-shadow: 0 22px 50px rgba(37, 99, 235, 0.18), 0 0 0 4px rgba(37, 99, 235, 0.10);
    transform: translateY(-2px);
}

.search-section h2 {
    font-family: 'Outfit', sans-serif;
    color: var(--rs-text-primary);
    margin-top: 0;
    margin-bottom: 14px;
    font-size: 1.35em;
    text-align: center;
}

.widget_search .screen-reader-text,
.wp-block-search__label {
    display: none !important;
}

.search-section .widget form,
.widget_search form,
.wp-block-search__inside-wrapper {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 auto !important;
    align-items: center !important;
}

.search-section .widget form .search-input,
.widget_search form label {
    flex: 1 1 0% !important;
    width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    position: relative;
}

.search-section .widget form input[type="search"],
.widget_search form input[type="search"],
.widget_search form input[type="text"],
.wp-block-search__input {
    flex: 1 1 100% !important;
    width: 100% !important;
    padding: 15px 24px !important;
    border: 1px solid transparent !important;
    border-radius: var(--rs-radius-pill) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--rs-text-primary) !important;
    font-family: inherit !important;
    background-color: #F8FAFF !important;
    transition: all 0.25s ease !important;
    margin: 0 !important;
}

.search-section .widget form input::placeholder {
    color: var(--rs-text-muted);
}

.search-section .widget form input:focus,
.widget_search form input:focus,
.wp-block-search__input:focus {
    background-color: #FFFFFF !important;
    outline: none !important;
}

.search-section .widget form input[type="submit"],
.widget_search form input[type="submit"],
.widget_search form button[type="submit"],
.wp-block-search__button {
    flex-shrink: 0 !important;
    padding: 15px 36px !important;
    background: var(--rs-gradient-button) !important;
    color: #FFFFFF !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    border: none !important;
    border-radius: var(--rs-radius-pill) !important;
    cursor: pointer !important;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.25) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    white-space: nowrap !important;
    width: auto !important;
    margin: 0 !important;
}

.search-section .widget form input[type="submit"]:hover,
.widget_search form input[type="submit"]:hover,
.wp-block-search__button:hover {
    background: var(--rs-gradient-button-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 26px rgba(244, 63, 94, 0.30) !important;
}

@media screen and (max-width: 600px) {
    .search-section .widget {
        border-radius: 20px;
        padding: 14px;
    }
    .search-section .widget form,
    .widget_search form,
    .wp-block-search__inside-wrapper {
        flex-direction: column !important;
        gap: 10px !important;
    }
    .search-section .widget form input[type="submit"],
    .widget_search form input[type="submit"],
    .widget_search form button[type="submit"],
    .wp-block-search__button {
        width: 100% !important;
        padding: 14px 20px !important;
    }
}

/* ==========================================================================
   VERTICAL WIDGET AREAS (Header, Below Search, Middle, Bottom)
   ========================================================================== */
.custom-widget-area {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto 32px auto;
    clear: both;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.custom-widget-area .widget {
    background: var(--rs-bg-surface);
    padding: 26px 30px;
    border-radius: var(--rs-radius-lg);
    border: 1px solid var(--rs-border-light);
    border-top: 4px solid var(--rs-accent-cobalt);
    box-shadow: var(--rs-shadow-sm);
    width: 100%;
}

.custom-widget-area .widget h2 {
    font-family: 'Outfit', sans-serif;
    color: var(--rs-text-primary);
    margin-top: 0;
    margin-bottom: 18px;
    font-size: 1.4em;
    font-weight: 700;
    text-align: center;
}

.custom-widget-area .widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.custom-widget-area .widget ul li {
    margin-bottom: 10px;
    border-bottom: 1px solid var(--rs-border-soft);
    padding-bottom: 10px;
}

/* CATEGORY DROPDOWN (SELECT) STYLING */
select, .widget select, .widget_categories select, .widget_archive select {
    width: 100% !important;
    padding: 14px 42px 14px 18px !important;
    border: 1px solid var(--rs-border-light) !important;
    border-radius: var(--rs-radius-md) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    font-family: inherit !important;
    background-color: #F8FAFF !important;
    color: var(--rs-text-primary) !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%232563EB" viewBox="0 0 16 16"><path d="M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: calc(100% - 16px) center !important;
    background-size: 13px !important;
    transition: all 0.25s ease !important;
}

select:focus, .widget select:focus {
    border-color: var(--rs-accent-cobalt) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
    background-color: #FFFFFF !important;
}

/* ==========================================================================
   CURATED COLLECTIONS / GALLERY MASONRY WIDGETS
   ========================================================================== */
#gallery-container {
    width: 100%;
    margin: 0 auto 40px auto;
    position: relative;
}

div:has(> .widget.GalleryWidget) {
    display: block !important;
    width: 100% !important;
    position: relative !important;
}

.widget.GalleryWidget {
    width: calc(25% - 18px) !important;
    margin-bottom: 24px !important;
    background: var(--rs-bg-surface) !important;
    border: 1px solid var(--rs-border-light) !important;
    border-top: 4px solid var(--card-accent, var(--rs-accent-cobalt)) !important;
    border-radius: var(--rs-radius-lg) !important;
    box-shadow: var(--rs-shadow-sm) !important;
    padding: 20px !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s ease !important;
}

.widget.GalleryWidget:hover {
    transform: translateY(-4px);
    box-shadow: var(--rs-shadow-md) !important;
}

.widget.GalleryWidget h2 {
    text-align: center !important;
    font-family: 'Outfit', sans-serif !important;
    color: var(--rs-text-primary) !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em;
}

.GalleryWidget ul {
    display: block !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid var(--rs-border-soft) !important;
    border-radius: 12px !important;
    counter-reset: widget-counter !important;
    overflow: hidden !important;
    background: #FAFBFD !important;
}

.GalleryWidget li {
    display: block !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--rs-border-soft) !important;
}

.GalleryWidget li:last-child {
    border-bottom: none !important;
}

.GalleryWidget li a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 11px 14px 11px 46px !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    text-decoration: none !important;
    color: var(--rs-text-primary) !important;
    counter-increment: widget-counter !important;
    transition: all 0.2s ease !important;
}

.GalleryWidget li a::before {
    content: counter(widget-counter) !important;
    position: absolute !important;
    left: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 8px !important;
    background-color: var(--num-bg, #EEF2FF) !important;
    color: var(--num-color, #2563EB) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.GalleryWidget li a:hover {
    background-color: #EEF2FF !important;
    color: var(--rs-accent-cobalt) !important;
    padding-left: 50px !important;
}

/* ==========================================================================
   STOCK IMAGE MASONRY GRID (MEDIUM THUMBNAIL OPTIMIZED)
   ========================================================================== */
body:not(.item-view) .blog-posts {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 auto;
}

.gallery-grid-sizer,
.post-grid-sizer {
    width: calc(25% - 18px) !important;
}

body:not(.item-view) .post-outer-container {
    width: calc(25% - 18px) !important;
    margin-bottom: 24px !important;
    background: var(--rs-bg-surface);
    padding: 10px;
    border-radius: var(--rs-radius-lg);
    border: 1px solid var(--rs-border-light);
    box-shadow: var(--rs-shadow-sm);
    text-align: center;
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.32s ease, border-color 0.32s ease;
    overflow: hidden;
}

body:not(.item-view) .post-outer-container:hover {
    transform: translateY(-6px);
    box-shadow: var(--rs-shadow-lg);
    border-color: #BFDBFE;
}

body:not(.item-view) .post-body {
    margin-bottom: 0 !important;
}

body:not(.item-view) .post-body .snippet-thumbnail {
    position: relative;
    margin: 0 auto !important;
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(135deg, #F1F5FD 0%, #FFF1F2 100%);
    display: block !important;
}

body:not(.item-view) .post-body .snippet-thumbnail a.stock-card-link {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 14px;
}

body:not(.item-view) .post-body .snippet-thumbnail img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block;
    border-radius: 14px !important;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

body:not(.item-view) .post-outer-container:hover .snippet-thumbnail img {
    transform: scale(1.05);
}

/* Light-glass Stock Caption Bar on Hover */
.stock-card-overlay {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 10px 4px;
    text-align: left;
}

.stock-card-title {
    font-family: 'Outfit', sans-serif;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--rs-text-primary);
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.stock-card-badge {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: var(--rs-radius-pill);
    background: #EEF2FF;
    color: var(--rs-accent-cobalt);
    transition: all 0.25s ease;
}

body:not(.item-view) .post-outer-container:hover .stock-card-badge {
    background: var(--rs-gradient-button);
    color: #FFFFFF;
}

/* ==========================================================================
   SINGLE ASSET / PAGE VIEW (body.item-view)
   ========================================================================== */
body.item-view .post-outer-container {
    width: 100% !important;
    max-width: 1040px !important;
    margin: 0 auto 40px auto !important;
    clear: both;
    background: var(--rs-bg-surface);
    padding: 44px;
    border-radius: 24px;
    border: 1px solid var(--rs-border-light);
    box-shadow: var(--rs-shadow-md);
}

.post-title {
    font-family: 'Outfit', sans-serif;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 800;
    margin-top: 0;
    margin-bottom: 24px;
    word-break: break-word;
    text-align: center;
    color: var(--rs-text-primary);
}

.post-title a {
    color: var(--rs-text-primary);
}

.post-body {
    line-height: 1.75;
    color: var(--rs-text-primary);
    margin-bottom: 20px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.post-body img {
    max-width: 100%;
    height: auto;
    border-radius: 14px;
}

/* ==========================================================================
   RESPONSIVE MASONRY BREAKPOINTS
   ========================================================================== */
@media screen and (max-width: 1200px) {
    .widget.GalleryWidget,
    .gallery-grid-sizer,
    .post-grid-sizer,
    body:not(.item-view) .post-outer-container {
        width: calc(33.333% - 16px) !important;
    }
}

@media screen and (max-width: 860px) {
    .widget.GalleryWidget,
    .gallery-grid-sizer,
    .post-grid-sizer,
    body:not(.item-view) .post-outer-container {
        width: calc(50% - 12px) !important;
    }
    .main-container {
        padding: 0 18px;
    }
    body.item-view .post-outer-container {
        padding: 28px 20px;
    }
}

@media screen and (max-width: 560px) {
    .widget.GalleryWidget,
    .gallery-grid-sizer,
    .post-grid-sizer,
    body:not(.item-view) .post-outer-container {
        width: 100% !important;
    }
}

/* ==========================================================================
   PAGINATION
   ========================================================================== */
.pagination,
.navigation.pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 48px 0;
    width: 100%;
    clear: both;
}

.pagination .page-numbers {
    margin: 0 !important;
    padding: 11px 20px !important;
    font-family: 'Outfit', sans-serif;
    font-size: 15px !important;
    min-width: 46px;
    text-align: center;
    background: var(--rs-bg-surface);
    color: var(--rs-text-primary);
    border: 1px solid var(--rs-border-light);
    border-radius: var(--rs-radius-pill);
    cursor: pointer;
    transition: all 0.25s ease;
    font-weight: 700;
    text-decoration: none;
    box-shadow: var(--rs-shadow-sm);
}

.pagination .page-numbers:hover {
    background: #EEF2FF;
    color: var(--rs-accent-cobalt);
    border-color: #BFDBFE;
    transform: translateY(-2px);
}

.pagination .current {
    background: var(--rs-gradient-button) !important;
    color: #FFFFFF !important;
    border-color: transparent !important;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.28);
    cursor: default;
}

/* ==========================================================================
   COMMENTS SECTION STYLING
   ========================================================================== */
#comments, #respond {
    margin-top: 44px;
    text-align: left;
    border-top: 1px solid var(--rs-border-light);
    padding-top: 36px;
    width: 100%;
}

.comments-title, #reply-title {
    font-family: 'Outfit', sans-serif;
    color: var(--rs-text-primary);
    font-size: 1.65em;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 24px;
    display: block;
}

.comment-list {
    list-style: none;
    padding: 0;
    margin: 0 0 36px 0;
}

.comment-list li {
    margin-bottom: 20px;
    padding: 22px;
    background: #F8FAFF;
    border-radius: var(--rs-radius-md);
    border: 1px solid var(--rs-border-light);
    display: block;
}

.comment-list li .comment-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.comment-author {
    font-weight: 700;
    color: var(--rs-text-primary);
    font-size: 1.05em;
    display: flex;
    align-items: center;
    gap: 12px;
}

.comment-author img {
    border-radius: 50%;
    box-shadow: var(--rs-shadow-sm);
}

.comment-meta {
    font-size: 0.85em;
    color: var(--rs-text-muted);
}

.comment-meta a {
    color: var(--rs-text-muted);
}

.comment-content {
    line-height: 1.65;
    color: var(--rs-text-secondary);
    margin-top: 4px;
}

.reply a {
    display: inline-block;
    padding: 6px 16px;
    font-size: 12.5px;
    background: #EEF2FF;
    color: var(--rs-accent-cobalt);
    border-radius: var(--rs-radius-pill);
    font-weight: 700;
    transition: all 0.2s ease;
    margin-top: 8px;
}

.reply a:hover {
    background: var(--rs-accent-cobalt);
    color: #FFFFFF;
}

/* COMMENT & PLUGIN FORM INPUTS */
.comment-form,
.widget form {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
    text-align: left;
}

.comment-notes, .logged-in-as {
    font-size: 14px;
    color: var(--rs-text-secondary);
    margin-bottom: 8px;
}

.comment-form p {
    margin: 0;
    display: flex;
    flex-direction: column;
}

.comment-form label {
    font-weight: 600;
    color: var(--rs-text-primary);
    margin-bottom: 6px;
    font-size: 14px;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea,
.widget input[type="text"],
.widget input[type="email"],
.widget input[type="url"],
.widget textarea,
.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px 18px !important;
    border: 1px solid var(--rs-border-light) !important;
    border-radius: var(--rs-radius-md) !important;
    font-size: 15px !important;
    font-family: inherit !important;
    background-color: #F8FAFF !important;
    color: var(--rs-text-primary) !important;
    transition: all 0.25s ease !important;
    margin: 0 !important;
}

.comment-form input:focus,
.comment-form textarea:focus,
.widget input:focus,
.widget textarea:focus {
    border-color: var(--rs-accent-cobalt) !important;
    background-color: #FFFFFF !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

.comment-form textarea,
.widget textarea {
    resize: vertical;
    min-height: 130px !important;
}

.comment-form .submit,
.widget input[type="submit"],
.widget button[type="submit"] {
    display: inline-block !important;
    padding: 14px 36px !important;
    background: var(--rs-gradient-button) !important;
    color: #FFFFFF !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border: none !important;
    border-radius: var(--rs-radius-pill) !important;
    cursor: pointer !important;
    box-shadow: 0 8px 20px rgba(37, 99, 235, 0.22) !important;
    transition: all 0.25s ease !important;
    align-self: flex-start;
}

.comment-form .submit:hover,
.widget input[type="submit"]:hover,
.widget button[type="submit"]:hover {
    background: var(--rs-gradient-button-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 26px rgba(244, 63, 94, 0.28) !important;
}

.comment-form-cookies-consent {
    flex-direction: row !important;
    align-items: center;
    gap: 10px;
}

.comment-form-cookies-consent input[type="checkbox"] {
    width: auto !important;
    margin: 0 !important;
}

.comment-form-cookies-consent label {
    margin-bottom: 0 !important;
    font-weight: 400 !important;
}

/* ==========================================================================
   3-COLUMN FOOTER SYSTEM (MASONRY)
   ========================================================================== */
.footer-3-col-wrapper {
    width: 100%;
    clear: both;
    margin: 56px auto 32px auto;
    position: relative;
}

.footer-grid-sizer,
.footer-3-col-wrapper .widget {
    width: calc(33.333% - 16px);
}

.footer-3-col-wrapper .widget {
    margin-bottom: 24px;
    background: var(--rs-bg-surface);
    padding: 28px 24px;
    border-radius: var(--rs-radius-lg);
    border: 1px solid var(--rs-border-light);
    border-top: 4px solid var(--card-accent, var(--rs-accent-cobalt));
    box-shadow: var(--rs-shadow-sm);
    display: flex;
    flex-direction: column;
    text-align: center;
}

.footer-3-col-wrapper .widget h2 {
    font-family: 'Outfit', sans-serif;
    font-size: 1.35em;
    font-weight: 700;
    color: var(--rs-text-primary);
    margin-top: 0;
    margin-bottom: 20px;
    line-height: 1.25;
}

.footer-3-col-wrapper .widget ul {
    list-style: none;
    padding: 0;
    text-align: left;
    margin: 0;
}

.footer-3-col-wrapper .widget ul li {
    margin-bottom: 10px;
    border-bottom: 1px solid var(--rs-border-soft);
    padding-bottom: 10px;
}

@media screen and (max-width: 900px) {
    .footer-grid-sizer,
    .footer-3-col-wrapper .widget {
        width: calc(50% - 12px);
    }
}

@media screen and (max-width: 600px) {
    .footer-grid-sizer,
    .footer-3-col-wrapper .widget {
        width: 100%;
    }
}

.site-footer {
    text-align: center;
    padding: 36px 20px 32px;
    width: 100%;
    clear: both;
    border-top: 1px solid var(--rs-border-light);
    background: rgba(255, 255, 255, 0.8);
    margin-top: 20px;
}

.site-footer p {
    color: var(--rs-text-secondary);
    font-size: 14px;
    margin: 0;
}

.site-footer a {
    color: var(--rs-accent-cobalt);
    font-weight: 700;
}
