/*
Theme Name: Bosa Driving School Child
Theme URI: https://bosathemes.com/bosa-driving-school
Template: bosa-driving-school
Author: Bosa Themes
Author URI: https://bosathemes.com
Description: Bosa Driving School is a modern, multipurpose WordPress theme crafted specifically for driving school websites. It’s fast, lightweight, responsive, and beautifully designed—perfect for driving academies, instructor training centers, car driving schools, motorcycle training institutes, defensive driving programs, traffic safety schools, online driving, driving license training centers, road test preparation schools, and more. The Bosa Driving School theme is built to work seamlessly with the Elementor page builder, allowing you to easily design pages using drag-and-drop functionality, including Header &amp; Footer Builder and Mega Menu support. With powerful features accessible via the live WordPress Customizer, you can personalize your site with ease. Bosa Driving School includes pre-designed home and inner pages, supports one-click demo import, and offers flexibility to adapt the layout as needed. The Bosa Driving School theme is optimized for speed and SEO and is fully compatible with major plugins like WooCommerce, ElementsKit, YITH, Yoast SEO, Contact Form 7, Mailchimp, bbPress, Loco Translate, and more. Explore the demo and see why Bosa Driving School is the ideal theme for your driving school website: https://demo.bosathemes.com/bosa/driving-school/
Tags: blog,portfolio,news,grid-Layout,one-column,two-columns,three-columns,flexible-header,left-sidebar,right-sidebar,custom-background,custom-colors,custom-logo,custom-menu,featured-images,footer-widgets,full-width-template,post-formats,rtl-language-support,theme-options,sticky-post,threaded-comments,translation-ready,block-styles,wide-blocks
Version: 1.0.0.1768397958
Updated: 2026-01-14 13:39:18

*/

.site-content {
  padding-bottom: 15px !important;
  padding-top: 10px !important;
}

/* Main statistics table styling */
.wp-block-table table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.2rem 0;
    background: linear-gradient(135deg, #d4e8d4 0%, #e8f5e8 100%);
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), 
                inset 0 1px 0 rgba(255, 255, 255, 0.5);
    border: 2px dashed rgba(45, 90, 61, 0.3);
    position: relative;
}

/* Decorative corner leaf elements */
.wp-block-table table::before {
    content: '🌿';
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 1.2rem;
    opacity: 0.2;
    pointer-events: none;
    z-index: 1;
}

.wp-block-table table::after {
    content: '🌿';
    position: absolute;
    bottom: 8px;
    right: 8px;
    font-size: 1.2rem;
    opacity: 0.2;
    pointer-events: none;
    transform: rotate(180deg);
    z-index: 1;
}

/* Statistics cells - 3-column layout */
.wp-block-table table tbody tr td {
    padding: 2.5rem 2rem;
    text-align: center;
    border: none;
    position: relative;
}

/* Add vertical dividers between cells with gradient */
.wp-block-table table tbody tr td:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 15%;
    height: 70%;
    width: 2px;
    background: linear-gradient(to bottom, 
        transparent, 
        rgba(45, 90, 61, 0.2) 10%,
        rgba(45, 90, 61, 0.4) 50%, 
        rgba(45, 90, 61, 0.2) 90%,
        transparent
    );
}

/* Strong numbers in statistics */
.wp-block-table table strong {
    display: block;
    font-size: 2.2rem;
    font-weight: 700;
    color: #2d5a3d;
    margin-bottom: 0.1rem;
    letter-spacing: -0.02em;
    line-height: 1;
    text-shadow: 2px 2px 4px rgba(45, 90, 61, 0.08);
    position: relative;
}

/* Description text under numbers */
.wp-block-table table tbody tr td {
    font-size: 0.95rem;
    color: #4a6b4f;
    font-weight: 500;
    line-height: 1.4;
}

.mod table tbody tr td {
  font-size: 0.92rem !important;
}

/* ============================================
   TIMELINE BLOCKS (Dark green + Light green)
   ============================================ */

/* Timeline table with two columns */
.wp-block-table.has-fixed-layout table {
    display: table;
    width: 100%;
    background: transparent;
    box-shadow: none;
    border-collapse: separate;
    border-spacing: 0 0.5rem;
    border: none;
}

/* Remove decorative elements from timeline tables */
.wp-block-table.has-fixed-layout table::before,
.wp-block-table.has-fixed-layout table::after {
    display: none;
}

/* Timeline rows */
.wp-block-table.has-fixed-layout tbody tr {
    display: table-row;
}

/* Timeline cells */
.wp-block-table.has-fixed-layout tbody tr td {
    display: table-cell;
    padding: 1.2rem 1.5rem;
    vertical-align: middle;
}

/* First column - Year/Date (Dark green) */
.wp-block-table.has-fixed-layout tbody tr td:first-child {
    background: linear-gradient(135deg, #2d5a3d 0%, #3a6b4d 100%);
    color: #fff;
    font-weight: 700;
    font-size: 1.5rem;
    width: 150px;
    text-align: center;
    border-radius: 8px 0 0 8px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

/* Second column - Description (Light green) */
.wp-block-table.has-fixed-layout tbody tr td:last-child {
    background: linear-gradient(135deg, #d4e8d4 0%, #e0f0e0 100%);
    color: #2d5a3d;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 0 8px 8px 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

/* Smaller font size for .modifyed timeline blocks */
.wp-block-table.modifyed.has-fixed-layout tbody tr td:first-child {
    font-size: 1.2rem;
}

.wp-block-table.modifyed.has-fixed-layout tbody tr td:first-child strong {
    font-size: 1.2rem;
}

/* Reduce padding for .modifyed blocks */
.wp-block-table.modifyed tbody tr td {
    padding: 1rem 1.2rem;
}

/* ============================================
   SINGLE DATA BLOCKS (Large Date/Info)
   ============================================ */

/* Single-cell data blocks */
.wp-block-table table tbody tr td[colspan],
.wp-block-table table tbody tr:has(td:only-child) td {
    padding: 2rem 2.5rem;
    text-align: center;
    background: linear-gradient(135deg, #d4e8d4 0%, #e8f5e8 100%);
    border-radius: 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.wp-block-table table tbody tr td[colspan] strong,
.wp-block-table table tbody tr:has(td:only-child) td strong {
    font-size: 2.2rem;
    color: #2d5a3d;
    display: block;
    margin-bottom: 0.4rem;
}

/* ============================================
   STYLED LISTS WITH ICONS
   ============================================ */

.styled-list {
    list-style: none;
    padding: 0;
    margin: 2rem 0;
}

.styled-list li {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 1rem;
    font-size: 1.05rem;
    line-height: 1.6;
    color: #333;
}

/* Checkmark icon before each list item */
.styled-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    width: 1.5rem;
    height: 1.5rem;
    background: #2d5a3d;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
}

/* ============================================
   SITE NOTE BOX
   ============================================ */

.site-note {
    background: #f8f9fa;
    border-left: 4px solid #2d5a3d;
    padding: 1rem 2.5rem;
    margin: 3rem 0;
    border-radius: 0 8px 8px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.site-note p:first-child strong {
    color: #2d5a3d;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    display: inline-block;
    margin-bottom: 0.5rem;
}

.site-note p {
    margin: 0.8rem 0;
    font-size: 0.95rem;
    line-height: 1.7;
    color: #555;
}

.site-note p:last-child {
    margin-bottom: 0;
}

.site-note em {
    font-style: italic;
    color: #666;
}

/* ============================================
   HEADINGS IMPROVEMENTS
   ============================================ */

.entry-content h2.wp-block-heading {
    color: #2d5a3d;
    font-size: 2rem;
    font-weight: 700;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    line-height: 1.3;
    position: relative;
    padding-bottom: 0.8rem;
    padding-left: 3rem;
}

.entry-content h2.wp-block-heading::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 3rem;
    width: 60px;
    height: 3px;
    background: #2d5a3d;
}

/* Icon before H2 headings */
.entry-content h2.wp-block-heading::before {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.8rem;
    color: #2d5a3d;
    line-height: 1;
}

/* Cannabis themed icons for different sections */
/* First H2 - Leaf icon */
.entry-content h2.wp-block-heading:nth-of-type(1)::before {
    content: '🌿';
}

/* Second H2 - Clock/History icon */
.entry-content h2.wp-block-heading:nth-of-type(2)::before {
    content: '🕰️';
}

/* Third H2 - Document/Law icon */
.entry-content h2.wp-block-heading:nth-of-type(3)::before {
    content: '📋';
}

/* Fourth H2 - Store icon */
.entry-content h2.wp-block-heading:nth-of-type(4)::before {
    content: '🏪';
}

/* Fifth H2 - Broken heart icon */
.entry-content h2.wp-block-heading:nth-of-type(5)::before {
    content: '💔';
}

/* Sixth H2 - Chart up icon */
.entry-content h2.wp-block-heading:nth-of-type(6)::before {
    content: '📈';
}

/* Seventh H2 - Question icon */
.entry-content h2.wp-block-heading:nth-of-type(7)::before {
    content: '❓';
}

.entry-content h3.wp-block-heading {
    color: #3a7350;
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 2.5rem;
    margin-bottom: 1rem;
}

/* ============================================
   IMAGES WITH CAPTIONS
   ============================================ */

.wp-block-image {
    margin: 2.5rem 0;
}

.wp-block-image img {
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    width: 100%;
    height: auto;
}

/* ============================================
   COLUMNS LAYOUT IMPROVEMENTS
   ============================================ */

.wp-block-columns {
    margin: 2.5rem 0;
    gap: 2.5rem;
}

.wp-block-column {
    display: flex;
    flex-direction: column;
}

/* ============================================
   PARAGRAPHS
   ============================================ */

.entry-content p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #333;
    margin-bottom: 1.5rem;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 768px) {
    /* Stack statistics blocks vertically on mobile */
    .wp-block-table:not(.has-fixed-layout) table tbody tr {
        display: flex;
        flex-direction: column;
    }
    
    .wp-block-table:not(.has-fixed-layout) table tbody tr td {
        display: block;
        width: 100%;
        border-bottom: 1px solid rgba(45, 90, 61, 0.1);
        padding: 1.5rem 1.5rem !important;
    }
    
    .wp-block-table:not(.has-fixed-layout) table tbody tr td:not(:last-child)::after {
        display: none;
    }
    
    .wp-block-table:not(.has-fixed-layout) table tbody tr td:last-child {
        border-bottom: none;
    }
    
    .wp-block-table:not(.has-fixed-layout) table strong {
        font-size: 2rem;
    }
    
    /* Timeline blocks on mobile */
    .wp-block-table.has-fixed-layout {
        display: block;
        width: 100%;
    }
    
    .wp-block-table.has-fixed-layout table {
        display: block;
        width: 100%;
    }
    
    .wp-block-table.has-fixed-layout tbody {
        display: block;
        width: 100%;
    }
    
    .wp-block-table.has-fixed-layout tbody tr {
        display: block;
        width: 100%;
        margin-bottom: 0.8rem;
    }
    
    .wp-block-table.has-fixed-layout tbody tr td {
        display: block;
        width: 100%;
    }
    
    .wp-block-table.has-fixed-layout tbody tr td:first-child {
        width: 100%;
        border-radius: 8px 8px 0 0;
        padding: 0.8rem 1rem;
        font-size: 1.2rem;
    }
    
    .wp-block-table.has-fixed-layout tbody tr td:last-child {
        border-radius: 0 0 8px 8px;
        padding: 1rem 1.2rem;
    }
    
    /* Modified blocks on mobile - even smaller */
    .wp-block-table.modifyed.has-fixed-layout tbody tr td:first-child {
        font-size: 1.1rem;
        padding: 0.7rem 1rem;
    }
    
    .wp-block-table.modifyed.has-fixed-layout tbody tr td:last-child {
        padding: 0.9rem 1.2rem;
        font-size: 0.95rem;
    }
    
    /* Headings on mobile */
    .entry-content h1.wp-block-heading {
        font-size: 1.8rem;
        line-height: 1.2;
    }
    
    .entry-content h2.wp-block-heading {
        font-size: 1.5rem;
        margin-top: 2.5rem;
        padding-left: 2.5rem;
    }
    
    .entry-content h2.wp-block-heading::before {
        font-size: 1.4rem;
    }
    
    .entry-content h2.wp-block-heading::after {
        left: 2.5rem;
        width: 50px;
    }
    
    .entry-content h3.wp-block-heading {
        font-size: 1.25rem;
        margin-top: 2rem;
    }
    
    /* Site note on mobile */
    .site-note {
        padding: 1.5rem;
        margin: 2rem 0;
    }
    
    .site-note p {
        font-size: 0.9rem;
    }
    
    /* Lists on mobile */
    .styled-list li {
        font-size: 1rem;
        padding-left: 2rem;
    }
    
    .styled-list li::before {
        width: 1.3rem;
        height: 1.3rem;
        font-size: 0.8rem;
    }
    
    /* Columns stack on mobile */
    .wp-block-columns {
        flex-direction: column;
        gap: 1.5rem;
    }
    
    /* Images on mobile */
    .wp-block-image {
        margin: 1.5rem 0;
    }
}

/* Tablet adjustments */
@media (min-width: 769px) and (max-width: 1024px) {
    .wp-block-table table strong {
        font-size: 2.2rem;
    }
    
    .wp-block-table.has-fixed-layout tbody tr td:first-child {
        font-size: 1.3rem;
        width: 130px;
    }
    
    .wp-block-table.modifyed.has-fixed-layout tbody tr td:first-child {
        font-size: 1.1rem;
    }
}

/* ============================================
   PRINT STYLES
   ============================================ */

@media print {
    .wp-block-table table {
        box-shadow: none;
        border: 1px solid #ccc;
    }
    
    .site-note {
        border: 1px solid #ccc;
        box-shadow: none;
    }
}

/* ============================================
   HEADER STYLING - BACKGROUND ONLY
   ============================================ */

/* Main header background */
.bottom-header,
.site-header {
    background: linear-gradient(120deg, #1e4d35 0%, #2d5a3d 50%, #1e4d35 100%);
    position: relative;
}

/* Subtle texture overlay */
.bottom-header::before,
.site-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.02) 0%, transparent 50%);
    pointer-events: none;
}

/* Alternative: darker green with subtle pattern */
.bottom-header.alt-style,
.site-header.alt-style {
    background: #234a36;
    background-image: 
        linear-gradient(135deg, #1a3d2a 25%, transparent 25%),
        linear-gradient(225deg, #1a3d2a 25%, transparent 25%),
        linear-gradient(45deg, #1a3d2a 25%, transparent 25%),
        linear-gradient(315deg, #1a3d2a 25%, #234a36 25%);
    background-size: 20px 20px;
    background-position: 0 0, 10px 0, 10px -10px, 0px 10px;
}

/* Mobile menu styling */
.mobile-menu-container,
.slicknav_menu {
    background: transparent !important;
}

.slicknav_btn {
    background: transparent !important;
    border: none !important;
    padding: 0.8rem 1rem !important;
    display: flex !important;
    align-items: center !important;
}

/* Show MENU text */
.slicknav_menutxt {
    display: inline-block !important;
    color: #fff !important;
    font-weight: 500 !important;
    margin-right: 1rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Hamburger icon container */
.slicknav_icon {
    display: inline-block !important;
    width: 22px !important;
    height: 16px !important;
    position: relative !important;
    margin: 0 !important;
}

/* Hide all default icon bars except first one */
.slicknav_icon .slicknav_icon-bar {
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    background-color: #fff !important;
    border-radius: 2px !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    transition: all 0.3s ease !important;
}

/* Hide second and third default bars */
.slicknav_icon .slicknav_icon-bar + .slicknav_icon-bar {
    display: none !important;
}

/* Create three lines with pseudo-elements */
.slicknav_icon .slicknav_icon-bar:first-child::before,
.slicknav_icon .slicknav_icon-bar:first-child::after {
    content: '' !important;
    display: block !important;
    width: 22px !important;
    height: 3px !important;
    background-color: #fff !important;
    border-radius: 2px !important;
    position: absolute !important;
    left: 0 !important;
    transition: all 0.3s ease !important;
}

.slicknav_icon .slicknav_icon-bar:first-child::before {
    top: 7px !important;
}

.slicknav_icon .slicknav_icon-bar:first-child::after {
    top: 14px !important;
}

/* Open state - transform to X */
.slicknav_open .slicknav_icon .slicknav_icon-bar:first-child {
    background-color: transparent !important;
    top: 7px !important;
}

.slicknav_open .slicknav_icon .slicknav_icon-bar:first-child::before {
    top: 0 !important;
    transform: rotate(45deg) !important;
}

.slicknav_open .slicknav_icon .slicknav_icon-bar:first-child::after {
    top: 0 !important;
    transform: rotate(-45deg) !important;
}

/* Menu panel */
.slicknav_nav {
    background: #2d5a3d !important;
    margin-top: 0.5rem !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.slicknav_nav a {
    color: #fff !important;
    background: transparent !important;
    padding: 0.8rem 1rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.slicknav_nav a:last-child {
    border-bottom: none !important;
}

.slicknav_nav a:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #d4e8d4 !important;
}

.slicknav_nav .slicknav_arrow {
    color: #fff !important;
}

/* Hover effect on button */
.slicknav_btn:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 6px !important;
}

/* ============================================
   FOOTER STYLING
   ============================================ */

/* Main footer container */
.bottom-footer {
    background: linear-gradient(120deg, #1e4d35 0%, #2d5a3d 50%, #1e4d35 100%);
    color: #fff;
    padding: 3rem 0;
    margin-top: 4rem;
    position: relative;
    overflow: hidden;
}

/* Add subtle pattern overlay */
.bottom-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.03) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.02) 0%, transparent 50%);
    pointer-events: none;
}

/* Footer inner container */
.bottom-footer .container {
    position: relative;
    z-index: 1;
}

/* Footer sections layout */
.bottom-footer .site-footer-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Social links area */
.bottom-footer .social-links {
    flex: 1;
    min-width: 200px;
}

.bottom-footer .social-links h3 {
    color: #d4e8d4;
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Site info area */
.bottom-footer .site-info {
    flex: 2;
    min-width: 300px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.95rem;
    line-height: 1.7;
}

.bottom-footer .site-info p {
    margin-bottom: 0.8rem;
}

/* Copyright text */
.bottom-footer .site-info div[style*="text-align"] {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
}

/* Links in footer */
.bottom-footer a {
    color: #b8d8b8;
    text-decoration: none;
    transition: all 0.3s ease;
    border-bottom: 1px solid transparent;
}

.bottom-footer a:hover {
    color: #d4e8d4;
    border-bottom-color: #d4e8d4;
}

/* Entry footer (Edit link area) - Keep default styling */
.entry-footer {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 2px solid #e5e5e5;
}

/* Responsive footer */
@media (max-width: 768px) {
    .bottom-footer {
        padding: 2rem 0;
        margin-top: 3rem;
    }
    
    .bottom-footer .site-footer-inner {
        flex-direction: column;
        padding: 0 1.5rem;
    }
    
    .bottom-footer .social-links,
    .bottom-footer .site-info {
        flex: 1;
        width: 100%;
        min-width: 100%;
    }
    
    .bottom-footer .site-info {
        font-size: 0.9rem;
    }
}