/*
WordPress-specific styles for LedgerLabs Theme
This file contains styles specific to WordPress functionality
that are not found in the base input CSS files.

This file maximizes reuse of styles from style.css and animations.css
by leveraging existing CSS custom properties, utility classes, and animations.
*/

/* WordPress Theme Header */
.site-header {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%);
    box-shadow: var(--shadow-md);
    border: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all 0.3s ease;
    padding: 1rem 0;
}

.site-header .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 60px;
}

.site-branding {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.site-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: white;
    text-decoration: none;
    letter-spacing: -0.025em;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    margin-bottom: 0.25rem;
}

.site-title:hover {
    color: white;
    transform: translateY(-1px);
}

.site-title img {
    vertical-align: middle;
    margin-right: 0.5rem;
}

.site-description {
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
    line-height: 1.2;
    font-weight: 400;
}

/* WordPress Navigation */
.main-navigation {
    position: relative;
}

.main-navigation ul {
    list-style: none;
    display: flex;
    gap: 0;
    margin: 0;
    padding: 0;
}

.main-navigation .nav-menu {
    display: flex;
    align-items: center;
    gap: 0;
}

.main-navigation .nav-item {
    position: relative;
}

.main-navigation .nav-link {
    color: white;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
    padding: 0.75rem 1.25rem;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    position: relative;
    height: 100%;
    min-height: 48px;
}

.main-navigation .nav-link:hover {
    color: white;
    transform: translateY(-1px);
    background-color: rgba(255, 255, 255, 0.1);
}

/* Dropdown Menu Styles */
.main-navigation .dropdown {
    position: relative;
}

.main-navigation .dropdown::before {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 5px;
    background: transparent;
    z-index: 999;
}

.main-navigation .dropdown-toggle::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0.4rem;
    vertical-align: 0.2em;
    border-top: 0.25em solid;
    border-right: 0.25em solid transparent;
    border-bottom: 0;
    border-left: 0.25em solid transparent;
    transition: transform 0.15s ease;
    opacity: 0.8;
}

.main-navigation .dropdown:hover .dropdown-toggle::after {
    transform: rotate(180deg);
}

.main-navigation .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    min-width: 200px;
    padding: 0.5rem 0;
    margin: 0;
    background: white;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 0 0 6px 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    opacity: 0;
    transform: translateY(-5px);
    transition: all 0.3s ease;
    transition-delay: 0.2s;
    list-style: none;
}

.main-navigation .dropdown:hover .dropdown-menu {
    display: block;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.1s;
}

.main-navigation .dropdown-item {
    position: relative;
    display: flex;
    align-items: center;
}

.main-navigation .dropdown-item .nav-link {
    color: #4a5568;
    padding: 0.75rem 1.25rem;
    border-radius: 0;
    transition: all 0.15s ease;
    display: flex;
    align-items: center;
    width: 100%;
    font-weight: 400;
    font-size: 0.875rem;
    min-height: 44px;
}

.main-navigation .dropdown-item .nav-link:hover {
    color: var(--primary-color);
    background-color: rgba(145, 152, 204, 0.1);
    transform: none;
    transition: all 0.15s ease;
}

/* Mobile Menu Toggle */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    padding: 0.5rem;
    border-radius: var(--border-radius-sm);
    transition: all 0.2s ease;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
}

.menu-toggle:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.menu-toggle-icon {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 20px;
    height: 16px;
}

.menu-toggle-icon span {
    display: block;
    height: 2px;
    width: 100%;
    background-color: white;
    border-radius: 1px;
    transition: all 0.3s ease;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) {
    opacity: 0;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

.menu-toggle-text {
    font-size: 0.875rem;
    font-weight: 500;
}

/* Mobile Navigation */
@media (max-width: 768px) {
    .menu-toggle {
        display: flex;
    }
    
    .main-navigation .nav-menu {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        border: 1px solid rgba(0, 0, 0, 0.08);
        border-radius: 6px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        flex-direction: column;
        padding: 0.5rem 0;
        margin-top: 0.5rem;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-5px);
        transition: all 0.2s ease;
    }
    
    .main-navigation.active .nav-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    
    .main-navigation .nav-item {
        width: 100%;
    }
    
    .main-navigation .nav-link {
        color: #4a5568;
        padding: 0.75rem 1.25rem;
        border-radius: 0;
        width: 100%;
        justify-content: flex-start;
        font-weight: 400;
    }
    
    .main-navigation .nav-link:hover {
        color: var(--primary-color);
        background-color: rgba(145, 152, 204, 0.1);
        transform: none;
    }
    
    .main-navigation .dropdown-menu {
        position: static;
        display: none;
        opacity: 1;
        transform: none;
        box-shadow: none;
        border: none;
        background: rgba(145, 152, 204, 0.03);
        margin: 0;
        padding: 0;
        border-radius: 0;
    }
    
    .main-navigation .dropdown.active .dropdown-menu {
        display: block;
    }
    
    .main-navigation .dropdown-item .nav-link {
        padding-left: 2rem;
        font-size: 0.8rem;
        color: #6b7280;
    }
    
    .main-navigation .dropdown-toggle::after {
        margin-left: auto;
        transform: rotate(-90deg);
    }
    
    .main-navigation .dropdown.active .dropdown-toggle::after {
        transform: rotate(0deg);
    }
}

/* Main content */
.site-main {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 0 1rem;
    background: var(--light-bg);
    padding: 2rem;
}

/* WordPress-specific card styling - reuses existing card styles */
.post-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.post-card .card-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.post-card .entry-content {
    flex-grow: 1;
    margin-bottom: 1rem;
}

.post-card .entry-footer {
    margin-top: auto;
}

/* Apply existing card hover effects and animations */
.post-card:hover {
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-1px) !important;
}

/* Add animation classes for WordPress elements */
.post-card {
    /* Reuse existing animation utilities */
    transition: all 0.3s ease;
}

.post-card.fade-in {
    opacity: 0;
    animation: fadeIn 0.4s ease-out forwards;
}

.post-card.fade-in-up {
    opacity: 0;
    transform: translateY(10px);
    animation: fadeInUp 0.4s ease-out forwards;
}

/* Entry Meta Styling */
.entry-meta {
    font-size: 0.875rem;
    color: var(--text-muted);
}

.entry-meta i {
    color: var(--primary-color);
}

/* Entry Thumbnail */
.entry-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: var(--border-radius-sm);
    transition: transform 0.3s ease;
}

.entry-thumbnail img:hover {
    transform: scale(1.02);
}

/* Tags Styling */
.entry-tags .badge {
    font-size: 0.75rem;
    padding: 0.375rem 0.75rem;
    border-radius: var(--border-radius-sm);
}

/* Social Sharing */
.social-sharing {
    border-top: 1px solid var(--border-color);
    padding-top: 1rem;
    margin-top: 1rem;
}

.social-sharing .btn-group {
    display: inline-flex;
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.social-sharing .btn-group .btn {
    border-radius: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 0.875rem;
    padding: 0.5rem 1rem;
    /* Reuse existing button transition */
    transition: var(--btn-transition);
}

.social-sharing .btn-group .btn:first-child {
    border-top-left-radius: var(--border-radius-sm);
    border-bottom-left-radius: var(--border-radius-sm);
}

.social-sharing .btn-group .btn:last-child {
    border-top-right-radius: var(--border-radius-sm);
    border-bottom-right-radius: var(--border-radius-sm);
    border-right: none;
}

.social-sharing .btn-group .btn:hover {
    /* Reuse existing button hover effects */
    transform: var(--btn-hover-transform);
    box-shadow: var(--btn-hover-shadow);
}

/* Posts Navigation */
.posts-navigation {
    margin-top: 2rem;
}

.posts-navigation .nav-links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.posts-navigation .nav-previous,
.posts-navigation .nav-next {
    flex: 1;
}

.posts-navigation .nav-previous {
    text-align: left;
}

.posts-navigation .nav-next {
    text-align: right;
}

.posts-navigation a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    /* Reuse existing button base styles */
    font-weight: 500;
    border-radius: var(--border-radius-sm);
    transition: var(--btn-transition);
    border: none;
    padding: 0.75rem 1.5rem;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%);
    color: white;
}

.posts-navigation a:hover {
    transform: var(--btn-hover-transform);
    box-shadow: var(--btn-hover-shadow);
    background: linear-gradient(135deg, var(--primary-hover) 0%, var(--primary-color) 100%);
    color: white;
    text-decoration: none;
}

.posts-navigation a:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* Comments Section */
.comments-area {
    margin-top: 2rem;
}

.comments-area .card {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
}

/* WordPress Footer */
.site-footer {
    color: var(--text-muted);
    padding: 2rem 0;
    margin-top: 4rem;
    border-top: 1px solid var(--secondary-color);
}

.site-footer .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 2rem;
}

.footer-left {
    flex: 1;
    min-width: 300px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 120px;
}

.footer-logo {
    margin-bottom: 0.5rem;
}

.footer-logo img {
    height: 32px;
    width: auto;
    opacity: 0.8;
    transition: opacity 0.2s ease;
}

.footer-logo img:hover {
    opacity: 1;
}

.footer-right {
    flex: 1;
    min-width: 300px;
}

.copyright {
    margin: 0;
    font-size: 0.875rem;
    color: var(--text-muted);
    font-weight: 400;
    line-height: 1.6;
}

.legal-links {
    margin-left: 1rem;
}

.legal-links a {
    color: var(--text-muted);
    text-decoration: none;
    font-size: 0.875rem;
    margin-right: 1rem;
    transition: color 0.2s ease;
}

.legal-links a:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

.company-info {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: right;
}

.company-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0;
}

.company-address {
    font-style: normal;
    font-size: 0.875rem;
    color: var(--text-muted);
    line-height: 1.5;
    margin: 0;
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-end;
}

.contact-details p {
    margin: 0;
    font-size: 0.875rem;
}

.contact-link {
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.2s ease;
}

.contact-link:hover {
    color: var(--primary-hover);
    text-decoration: underline;
}

.vat-number {
    color: var(--text-muted);
    font-size: 0.8rem;
}

.footer-links ul {
    list-style: none;
    display: flex;
    gap: 2rem;
    margin: 0;
    padding: 0;
}

.footer-links a {
    color: var(--text-muted);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    transition: all 0.2s ease;
    position: relative;
}

.footer-links a:hover {
    color: var(--primary-color);
    background-color: rgba(145, 152, 204, 0.1);
    transform: translateY(-1px);
    text-decoration: none;
}

.footer-links a:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* WordPress Block Styles */
.wp-block-ledgerlabs-quote-block {
    margin: 2rem 0;
}

.wp-block-ledgerlabs-quote-block .card {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
    background: white;
    transition: all 0.3s ease;
}

.wp-block-ledgerlabs-quote-block .card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.wp-block-ledgerlabs-quote-block blockquote {
    font-size: 1.25rem;
    font-style: italic;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

.wp-block-ledgerlabs-quote-block cite {
    font-style: normal;
    font-weight: 600;
    color: var(--text-dark);
}

.wp-block-ledgerlabs-quote-block small {
    font-size: 0.875rem;
    color: var(--text-muted);
}

/* Card Variants - reuse existing color variables */
.wp-block-ledgerlabs-card-block.card-primary,
.wp-block-ledgerlabs-quote-block.card-primary {
    border-left-color: var(--primary-color) !important;
}

.wp-block-ledgerlabs-card-block.card-secondary,
.wp-block-ledgerlabs-quote-block.card-secondary {
    border-left-color: var(--secondary-color) !important;
}

.wp-block-ledgerlabs-card-block.card-accent,
.wp-block-ledgerlabs-quote-block.card-accent {
    border-left-color: var(--accent-color) !important;
}

.wp-block-ledgerlabs-card-block.card-success,
.wp-block-ledgerlabs-quote-block.card-success {
    border-left-color: var(--accent-color) !important;
}


/* Quote Block Icon Colors - reuse existing color variables */
.wp-block-ledgerlabs-quote-block .text-blue {
    color: var(--primary-color) !important;
}

.wp-block-ledgerlabs-quote-block .text-brown {
    color: var(--secondary-color) !important;
}

.wp-block-ledgerlabs-quote-block .text-green {
    color: var(--accent-color) !important;
}

/* Legacy support - map to existing color variables */
.wp-block-ledgerlabs-quote-block .text-primary {
    color: var(--primary-color) !important;
}

.wp-block-ledgerlabs-quote-block .text-secondary {
    color: var(--secondary-color) !important;
}

.wp-block-ledgerlabs-quote-block .text-success {
    color: var(--accent-color) !important;
}

/* Card Hover Effects - reuses existing color variables */
.card:hover .card-title {
    color: var(--primary-color);
    transition: color 0.2s ease;
}


/* New Block Styles */
.ledgerlabs-paragraph {
    margin: 1rem 0;
}

.ledgerlabs-paragraph.highlighted {
    background: rgba(145, 152, 204, 0.1);
    padding: 1rem;
    border-radius: var(--border-radius-sm);
    border-left: 4px solid var(--primary-color);
}

.ledgerlabs-paragraph.highlighted.text-brown {
    background: rgba(207, 156, 132, 0.1);
    border-left-color: var(--secondary-color);
}

.ledgerlabs-paragraph.highlighted.text-green {
    background: rgba(78, 205, 196, 0.1);
    border-left-color: var(--accent-color);
}

.ledgerlabs-paragraph.text-center {
    text-align: center;
}

.ledgerlabs-paragraph.text-right {
    text-align: right;
}

.quote-content {
    font-size: 1.25rem;
    font-style: italic;
    line-height: 1.6;
    margin: 0;
}

.quote-footer {
    margin-top: 1rem;
    font-size: 0.875rem;
    color: var(--text-muted);
}

.quote-author {
    display: block;
    font-weight: 600;
    font-style: normal;
}

.quote-source {
    display: block;
    margin-top: 0.25rem;
    font-style: normal;
}

/* Button Block Editor Styles */
.ledgerlabs-button-block {
    margin: 1rem 0;
}

.button-text-editor {
    border: 1px dashed #ccc;
    padding: 0.5rem;
    border-radius: var(--border-radius-sm);
    background: #f9f9f9;
    margin-bottom: 0.5rem;
    /* Reuse existing form control focus styles */
    transition: all 0.2s ease;
}

.button-text-editor:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 0 3px rgba(145, 152, 204, 0.1);
}

/* Full Width Image Block */
.ledgerlabs-fullwidth-image-block {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    overflow: hidden;
}

/* Remove top margin and padding from site-main when first block is full-width image */
.site-main:has(.wp-block-ledgerlabs-fullwidth-image:first-child) {
    margin-top: 0;
    padding-top: 0;
}

/* Fallback for browsers that don't support :has() */
.site-main > .container > .wp-block-ledgerlabs-fullwidth-image:first-child,
.site-main > .container > .entry-content > .wp-block-ledgerlabs-fullwidth-image:first-child,
.site-main > .container > article > .entry-content > .wp-block-ledgerlabs-fullwidth-image:first-child {
    margin-top: -2rem; /* Counteract site-main top margin */
    margin-left: -1rem; /* Counteract container left padding */
    margin-right: -1rem; /* Counteract container right padding */
    width: calc(100% + 2rem); /* Extend beyond container padding */
}

/* For mobile, adjust the negative margin */
@media (max-width: 768px) {
    .site-main > .container > .wp-block-ledgerlabs-fullwidth-image:first-child,
    .site-main > .container > .entry-content > .wp-block-ledgerlabs-fullwidth-image:first-child,
    .site-main > .container > article > .entry-content > .wp-block-ledgerlabs-fullwidth-image:first-child {
        margin-top: -1.5rem;
        margin-left: -1rem;
        margin-right: -1rem;
        width: calc(100% + 2rem);
    }
}

@media (max-width: 576px) {
    .site-main > .container > .wp-block-ledgerlabs-fullwidth-image:first-child,
    .site-main > .container > .entry-content > .wp-block-ledgerlabs-fullwidth-image:first-child,
    .site-main > .container > article > .entry-content > .wp-block-ledgerlabs-fullwidth-image:first-child {
        margin-top: -1rem;
        margin-left: -0.75rem;
        margin-right: -0.75rem;
        width: calc(100% + 1.5rem);
    }
}

.ledgerlabs-fullwidth-image-block img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.ledgerlabs-fullwidth-image-block .image-caption {
    position: absolute;
    bottom: 10px;
    left: 10px;
    right: 10px;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 10px;
    font-size: 14px;
    z-index: 2;
    border-radius: var(--border-radius-sm);
}

/* Editor styles for the full-width image block */
.wp-block-ledgerlabs-fullwidth-image {
    margin: 20px 0;
}

/* Remove margin for first full-width image block */
.wp-block-ledgerlabs-fullwidth-image:first-child {
    margin-top: 0;
}

.wp-block-ledgerlabs-fullwidth-image .ledgerlabs-fullwidth-image-block {
    border: 2px dashed #ccc;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f9f9f9;
}

.wp-block-ledgerlabs-fullwidth-image .ledgerlabs-fullwidth-image-block img {
    max-width: 100%;
    height: auto;
}

/* Responsive adjustments for full-width image */
@media (max-width: 768px) {
    .ledgerlabs-fullwidth-image-block .image-caption {
        font-size: 12px;
        padding: 8px;
        bottom: 5px;
        left: 5px;
        right: 5px;
    }
}

@media (max-width: 576px) {
    .ledgerlabs-fullwidth-image-block .image-caption {
        font-size: 11px;
        padding: 6px;
    }
}

/* Mobile responsive footer */
@media (max-width: 768px) {
    .site-footer {
        padding: 1.5rem 0;
    }
    
    .footer-content {
        flex-direction: column;
        gap: 2rem;
    }
    
    .footer-left {
        text-align: center;
        align-items: center;
        min-height: auto;
        justify-content: flex-start;
        gap: 1rem;
    }
    
    .footer-logo {
        display: flex;
        justify-content: center;
    }
    
    .footer-right {
        text-align: center;
    }
    
    .company-info {
        text-align: center;
        align-items: center;
    }
    
    .contact-details {
        align-items: center;
    }
    
    .legal-links {
        margin-left: 0;
        margin-top: 0.5rem;
        display: block;
    }
    
    .legal-links a {
        margin-right: 1rem;
        margin-left: 0;
    }
}

@media (max-width: 576px) {
    .site-footer {
        padding: 1.25rem 0;
    }
    
    .footer-content {
        gap: 1.25rem;
    }
    
    .footer-links ul {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .footer-links a {
        padding: 0.75rem 1rem;
        text-align: center;
        display: block;
        width: 100%;
        max-width: 200px;
        margin: 0 auto;
    }
}

/* WordPress-specific utility classes that reuse existing styles */
.wp-hover-lift {
    transition: all 0.3s ease;
}

/* Ensure all WordPress buttons don't have underlines */
.wp-block-animated a, .wp-block-animated a:hover, .wp-block-animated a:focus, .wp-block-animated a:active,
.posts-navigation a, .posts-navigation a:hover, .posts-navigation a:focus, .posts-navigation a:active,
.social-sharing a, .social-sharing a:hover, .social-sharing a:focus, .social-sharing a:active {
    text-decoration: none !important;
}

/* Card body spacing for WordPress blocks */
.wp-block-ledgerlabs-card-block .card-body,
.wp-block-ledgerlabs-quote-block .card-body {
    padding: 1.5rem 2.5rem;
}

/* Button spacing for WordPress blocks */
.wp-block-ledgerlabs-card-block .btn,
.wp-block-ledgerlabs-quote-block .btn,
.wp-block-ledgerlabs-button-block .btn {
    margin-bottom: 0.5rem;
}

/* Button block wrapper spacing */
.wp-block-ledgerlabs-button-block {
    margin-bottom: 2rem;
    margin-top: 0.5rem;
}

.wp-hover-lift:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.wp-hover-scale {
    transition: transform 0.2s ease;
}

.wp-hover-scale:hover {
    transform: scale(1.05);
}

/* WordPress block animations */
.wp-block-animated {
    transition: all 0.3s ease;
}

.wp-block-animated:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

/* Mobile responsive main content - reuses existing responsive patterns */
@media (max-width: 768px) {
    body {
        padding-top: 70px; /* Slightly less padding on mobile */
    }
    
    .site-main {
        margin: 1.5rem auto;
        padding: 1rem;
    }
    
    /* Reuse existing card and button responsive styles */
    .card {
        margin-bottom: 1rem;
    }
    
    .btn {
        width: 100%;
        margin-bottom: 0.5rem;
    }
    
    .site-title {
        font-size: 1.1rem;
    }
}

@media (max-width: 576px) {
    body {
        padding-top: 65px; /* Even less padding on small mobile */
    }
    
    .site-main {
        margin: 1rem auto;
        padding: 0.75rem;
    }
    
    /* Reuse existing button responsive styles */
    .btn {
        font-size: 0.875rem;
        padding: 0.5rem 1rem;
    }
}
