:root {
    --primary: #000000;
    --secondary: #363636;
    --dark-blue: #363636;
}
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-image: url('/wp-content/uploads/2025/12/shqiponja.png');
    background-repeat: no-repeat;
    background-position: right center; 
    background-attachment: local; 
    background-size: auto; 

}

.top-nav {
    background-color: var(--primary);
    color: white;
    padding: 10px 0;
}
.top-nav .logo {
    height: 40px;
}

.top-nav .custom-logo-link img{
	width: auto;
	height: 60px;
}

.top-nav .search-top-nav input{
	border-color: #fff;
	height: 38px;
}

@media (max-width: 420px) {
	.top-nav .search-top-nav{
		max-width: 195px !important;
	}
}

.secondary-nav {
    background-color: #737373;
}
.secondary-nav .nav-link {
    color: white;
    font-weight: bold;
    font-size: 1rem;
    margin-left: 0 !important;
}
.container-fluid{
    padding: 0;
    margin: 0;
}
.hero {
    color: white;
    position: relative;
    overflow: hidden;
}

/* This part is for hiding the arrows in home slider, remove this if you want to show them */
.home-slider-page .swiper-button-next ,.home-slider-page .swiper-button-prev{
	display:none !important;
}

.hero-slide {
    background-color: var(--dark-blue);
    min-height: 60vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.hero-text {
    position: relative;
    z-index: 2;
}
 .hero-slide .overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 1;
}
.hero-slide > .container {
    position: relative;
    z-index: 2;
	padding: 20px;
}

.hero-slide h1 {
	color: #fff !important
}

.audit-title {
    font-size: 4rem;
    font-weight: bold;
    text-transform: uppercase;
}
.service-card {
    border: 2px solid var(--primary);
    border-radius: 10px;
    transition: transform 0.3s;
    height: 100%;
}
.service-card:hover {
    /*transform: translateY(-5px);*/
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.card-icon {
    color: var(--primary);
    font-size: 2rem;
}
.card-body {
    display: flex;
    flex-direction: column;
}
.card-title {
  color: var(--primary);
  font-weight: bold;
}
.section-title {
    color: var(--primary);
    position: relative;
    padding-bottom: 30px;
    margin-bottom: 30px;
    width: 100%;
    text-align: center;
}
.section-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--primary);
    transform: none;
    margin-top: 5px !important;
}
.carousel-control-prev, .carousel-control-next {
    width: 40px;
    height: 40px;
    background-color: var(--primary);
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
}
.carousel-indicators button {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50%;
    background-color: var(--primary) !important;
}
.info-icon {
    font-size: 1.5rem;
    color: var(--primary);
}
.info-link {
    text-decoration: none;
    color: #333;
    transition: all 0.3s;
}
.info-link:hover {
    transform: translateY(-5px);
}
.footer {
    background-color: white;
    color: #333;
    padding: 40px 0;
    border-top: 2px solid var(--primary);
}
.footer a {
    color: #333;
}
.footer a:hover {
  color: var(--primary);
}
.footer h5 {
    color: var(--primary);
    font-weight: bold;
}
.bi-facebook,
.bi-instagram,
.bi-youtube {
    color: var(--primary);
}
.footer-bottom {
    background-color: var(--primary);
    padding: 10px 0;
    color: white;
}
.social-icon {
    color: white;
    font-size: 1.2rem;
    margin-right: 10px;
}
.btn-primary {
    background-color: var(--primary);
    border-color: var(--primary);
}
.btn-outline-primary {
    background-color: var(--primary);
    color: white;
    border-color: #000;
    align-self: flex-start;
}
.btn-outline-primary:hover,.btn-outline-primary:focus,.btn-outline-primary:focus-visible {
    background-color: #ce2127 !important;
	border-color: #ce2127 !important;
    color: #000 !important;
}
.swiper-pagination-bullet-active{
	background: #000 !important;
}
.swiper-button-next:after, .swiper-button-prev:after{
	font-size: 20px !important;
}
.polylang_langswitcher {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;       
    flex-wrap: nowrap;     
    justify-content: flex-start; 
}
.polylang_langswitcher li {
    margin-right: 7px;
}
.dataepostimit{
    color: var(--primary);
    font-weight: bold;
}
.category-links a {
  text-decoration: none;    
  color: #343a40;
}
.category-links a:hover {
    color: var(--primary);
}
.swiper-container-wrap{
    position: relative;
}
.swiper-container-wrap .news-button-prev,
.swiper-container-wrap .news-button-next,
.swiper-container-wrap .services-button-prev,
.swiper-container-wrap .services-button-next {
    width: 35px;
    height: 35px; 
    font-size: 10px;
    background-color: var(--primary);
    border-radius: 50%;
    color: white;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}
.swiper-container-wrap .news-button-prev,
.swiper-container-wrap .services-button-prev {
    left: -40px;
}
.swiper-container-wrap .news-button-next,
.swiper-container-wrap .services-button-next{
    right: -40px;
}
.custom-border {
  border: 1px solid #27a2c5 !important;
  border-radius: 6px;
  max-width: 720px;
  margin: 0 auto;
  width: 100%;
}
.form-control {
  height: 36px;
  font-size: 14px;
  border: 1px solid #ce2127;
  border-radius: 6px;
}
.btn-primary {
  height: 36px;
  font-size: 14px;
  background-color: #ce2127;
  border: 1px solid #ce2127;
  border-radius: 6px;
}
.btn-primary:hover {
  background-color: #000;
  border-color: #000;
}
.custom-cards-text {
    color: #27a2c5;
    border-bottom: 1px solid #27a2c5;
    padding-bottom: 5px;
}
.NewsSwiper .swiper-slide {
  display: flex !important;            
  align-items: stretch !important;
}

.NewsSwiper .card {
  flex: 1 !important;                    
  display: flex !important;
  flex-direction: column !important;    
}

.NewsSwiper .card-img-top {
  width: 100% !important;
  height: 277px !important;             
  object-fit: cover !important; 
}        

.NewsSwiper .card-body {
  display: flex !important;
  flex-direction: column !important;
}

.NewsSwiper .card-body .btn {
  margin-top: auto !important;          
}

section a,
article a,
.post a,
.single-post a,
.page a {
    text-decoration: none !important;
    transition: color 0.3s !important;
}

/* Mobile Responsive Hero Section*/
@media (max-width: 768px) {
    .hero {
        height: 300px;
    }
    .hero-slide {
        background-size: cover !important;
        background-position: center center !important;
        min-height: 300px !important;
        height: 300px !important;
    }
    .hero h1 {
        font-size: 1.8rem;
    }
    .hero p {
        font-size: 0.9rem;
    }
    .swiper-button-next,
    .swiper-button-prev {
        width: 40px;
        height: 40px;
    }
    .swiper-button-next::after,
    .swiper-button-prev::after {
        font-size: 14px;
    }
    .mainSwiper {
        height: 300px !important;
    }
    .mainSwiper,
    .swiper {
        height: 300px !important;
    }
}

@media (max-width: 480px) {
    .hero {
        height: 350px;
    }
    .hero-slide {
        background-size: cover !important;
        background-position: center center !important;
        min-height: 350px !important;
        height: 350px !important;
    }
    .hero h1 {
        font-size: 1.5rem;
    }
    .hero .col-md-6 {
        padding: 0 15px;
    }
    .mainSwiper {
        height: 350px !important;
    }
    .mainSwiper,
    .swiper {
        height: 350px !important;
    }
}

/* News slider: allow full card to show on mobile */
    .NewsSwiper,
    .NewsSwiper .swiper-wrapper,
    .NewsSwiper .swiper-slide { height: auto !important; }

    .NewsSwiper .card.service-card {
    height: auto !important;
    display: flex;
    flex-direction: column;
    }

    .NewsSwiper .card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    }

    /* Service slider: allow full card to show on mobile */
    .ServicesSwiper,
    .ServicesSwiper.swiper-wrapper,
    .ServicesSwiper .swiper-slide { height: auto !important; }

    .ServicesSwiperr .card.service-card {
    height: auto !important;
    display: flex;
    flex-direction: column;
    }

    .ServicesSwiper .card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    }

/*----------------------------------------*/
/*  4.1 Desktop Menu Fix - ADD THIS SECTION
/*----------------------------------------*/
/* Desktop Menu Inline Layout */
@media (min-width: 992px) {
    .secondary-nav {
        display: block;
        padding: 0;
    }
    
    .secondary-nav .container {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    /* Force horizontal layout for desktop menu */
    .secondary-nav .navbar-nav {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 5px;
    }
    
    /* Individual menu items */
    .secondary-nav .navbar-nav .nav-item,
    .secondary-nav .navbar-nav .menu-item {
        display: inline-block !important;
        position: relative;
        margin: 0;
        padding: 0;
        list-style: none;
        float: none !important;
    }
    
    /* Menu links styling */
    .secondary-nav .navbar-nav .nav-link {
        display: inline-block !important;
        padding: 27px 15px;
        text-decoration: none;
        color: white;
        font-weight: 500;
        font-size: 16px;
        transition: all 0.3s ease;
        position: relative;
        white-space: nowrap;
    }
    
    .secondary-nav .navbar-nav .nav-link:hover {
        color: #fff !important;
		background-color: #363636;
    }
	
	.secondary-nav .navbar-nav .nav-link:after {
        display:none !important;
    }
    
    /* Underline hover effect 
    .secondary-nav .navbar-nav .nav-link::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 20px;
        right: 20px;
        height: 2px;
        background-color: var(--tp-theme-primary, #007cba);
        transform: scaleX(0);
        transition: transform 0.3s ease;
    }*/
    
    .secondary-nav .navbar-nav .nav-link:hover::before,
    .secondary-nav .navbar-nav .nav-link.active::before {
        transform: scaleX(1);
    }
    
    /* Dropdown Menu Styles */
    .secondary-nav .navbar-nav .dropdown,
    .secondary-nav .navbar-nav .menu-item-has-children {
        position: relative;
    }
    
    .secondary-nav .navbar-nav .dropdown-toggle::after {
        display: inline-block;
        margin-left: 0.5em;
        vertical-align: middle;
        content: "";
        border-top: 0.3em solid;
        border-right: 0.3em solid transparent;
        border-bottom: 0;
        border-left: 0.3em solid transparent;
        transition: transform 0.3s ease;
    }
    
    .secondary-nav .navbar-nav .dropdown:hover .dropdown-toggle::after,
    .secondary-nav .navbar-nav .menu-item-has-children:hover .nav-link::after {
        transform: rotate(180deg);
    }
    
    /* Dropdown menu positioning and styling - Level 1 (Main Dropdown) */
    .secondary-nav .navbar-nav .dropdown-menu,
    .secondary-nav .navbar-nav .sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 1000;
        display: none;
        min-width: 220px;
        padding: 10px 0;
        margin: 0;
        background-color: #363636;
        border: none;
        border-radius: 0px;
        box-shadow: 0 5px 25px rgba(0,0,0,0.15);
        list-style: none;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: all 0.3s ease;
    }
    
    /* Level 2 Dropdown (Child of main dropdown) */
    .secondary-nav .navbar-nav .dropdown-menu .dropdown-menu,
    .secondary-nav .navbar-nav .sub-menu .sub-menu {
        position: absolute;
        top: 0;
        left: 100%;
        margin: -10px 0 0 5px;
        transform: translateX(-10px);
    }
    
    /* Level 3 Dropdown (Child of level 2) */
    .secondary-nav .navbar-nav .dropdown-menu .dropdown-menu .dropdown-menu,
    .secondary-nav .navbar-nav .sub-menu .sub-menu .sub-menu {
        position: absolute;
        top: 0;
        left: 100%;
        margin: -10px 0 0 5px;
        transform: translateX(-10px);
    }
    
    /* Show dropdowns on hover */
    .secondary-nav .navbar-nav .dropdown:hover > .dropdown-menu,
    .secondary-nav .navbar-nav .dropdown.show > .dropdown-menu,
    .secondary-nav .navbar-nav .menu-item-has-children:hover > .sub-menu {
        display: block;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    
    /* Show level 2 and 3 dropdowns on hover */
    .secondary-nav .navbar-nav .dropdown-menu .dropdown:hover > .dropdown-menu,
    .secondary-nav .navbar-nav .dropdown-menu .menu-item-has-children:hover > .sub-menu,
    .secondary-nav .navbar-nav .sub-menu .dropdown:hover > .dropdown-menu,
    .secondary-nav .navbar-nav .sub-menu .menu-item-has-children:hover > .sub-menu {
        display: block;
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }
    
    /* Dropdown menu items */
    .secondary-nav .navbar-nav .dropdown-menu .nav-item,
    .secondary-nav .navbar-nav .sub-menu .menu-item {
        width: 100%;
        display: block !important;
        position: relative;
    }
    
    .secondary-nav .navbar-nav .dropdown-item,
    .secondary-nav .navbar-nav .sub-menu .nav-link {
        display: block;
        width: 100%;
        padding: 12px 20px;
        clear: both;
        font-weight: 400;
        color: #fff;
        text-decoration: none;
        white-space: nowrap;
        background-color: transparent;
        border: 0;
        font-size: 14px;
        transition: all 0.3s ease;
        position: relative;
    }
    
    .secondary-nav .navbar-nav .dropdown-item:hover,
    .secondary-nav .navbar-nav .sub-menu .nav-link:hover {
        color: #fff;
        padding-left: 25px;
    }
	
    .secondary-nav .navbar-nav .dropdown-menu .dropdown-item::before {
		content: ">";
     	margin-right: 8px;
     	display: inline-block;
		color:#ce2127;
		font-weight: bold;
	}
    
    /* Dropdown arrows for items with children */
    .secondary-nav .navbar-nav .dropdown-menu .menu-item-has-children > .nav-link::after,
    .secondary-nav .navbar-nav .dropdown-menu .dropdown > .dropdown-item::after,
    .secondary-nav .navbar-nav .sub-menu .menu-item-has-children > .nav-link::after {
        content: "";
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        border-left: 4px solid;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        transition: all 0.3s ease;
    }
    
    /* Arrow color on hover */
    .secondary-nav .navbar-nav .dropdown-menu .menu-item-has-children:hover > .nav-link::after,
    .secondary-nav .navbar-nav .dropdown-menu .dropdown:hover > .dropdown-item::after,
    .secondary-nav .navbar-nav .sub-menu .menu-item-has-children:hover > .nav-link::after {
        border-left-color: var(--tp-common-white, #fff);
    }
    
    /* Adjust positioning for RTL if needed */
    [dir="rtl"] .secondary-nav .navbar-nav .dropdown-menu .dropdown-menu,
    [dir="rtl"] .secondary-nav .navbar-nav .sub-menu .sub-menu {
        left: auto;
        right: 100%;
        margin: -10px 5px 0 0;
        transform: translateX(10px);
    }
    
    [dir="rtl"] .secondary-nav .navbar-nav .dropdown-menu .dropdown:hover > .dropdown-menu,
    [dir="rtl"] .secondary-nav .navbar-nav .sub-menu .menu-item-has-children:hover > .sub-menu {
        transform: translateX(0);
    }
    
    /* Ensure proper z-index stacking */
    .secondary-nav .navbar-nav .dropdown-menu {
        z-index: 1010;
    }
    
    .secondary-nav .navbar-nav .dropdown-menu .dropdown-menu {
        z-index: 1020;
    }
    
    .secondary-nav .navbar-nav .dropdown-menu .dropdown-menu .dropdown-menu {
        z-index: 1030;
    }
    
    /* Hide mobile menu elements on desktop */
    .tp-main-menu-mobile,
    .offcanvas__area,
    .body-overlay,
    .mean-container {
        display: none !important;
    }
}

/* Mobile specific styles */
@media (max-width: 991px) {
    .secondary-nav {
        display: none !important;
    }
    
    /* Show mobile menu elements */
    .tp-main-menu-mobile,
    .offcanvas__area,
    .body-overlay {
        display: block;
    }
}

/* Hide secondary nav on mobile */
@media (max-width: 991px) {
    .secondary-nav {
        display: none !important;
    }
}

/* Mobile toggle button positioning and animation */
.navbar-toggler {
    display: flex;
    flex-direction: column;
    width: 30px;
    height: 30px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10000;
}

.navbar-toggler span {
    display: block;
    width: 20px;
    height: 2px;
    background-color: currentColor;
    margin: 2px 0;
    transition: all 0.3s ease;
    transform-origin: center;
}

/* Animate toggle button when active */
.navbar-toggler.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.navbar-toggler.active span:nth-child(2) {
    opacity: 0;
}

.navbar-toggler.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

/* Body overlay styles */
.body-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.body-overlay.opened {
    opacity: 1;
    visibility: visible;
}

body.menu-open {
    overflow: hidden;
}

/* Ensure your tp-main-menu-mobile works properly */
.tp-main-menu-mobile {
    position: fixed;
    top: 0;
    right: -100%;
    width: 300px;
    height: 100vh;
    background: var(--tp-common-black, #000);
    z-index: 9999;
    transition: right 0.3s ease;
    overflow-y: auto;
    padding: 20px;
}

.tp-main-menu-mobile.menu-open {
    right: 0;
}

/* Override some of your existing styles for better mobile experience */
.tp-main-menu-mobile ul li > a {
    color: var(--tp-common-white, #fff);
    padding: 15px 0;
    font-size: 16px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.tp-main-menu-mobile ul li > a:hover {
    color: var(--tp-theme-primary, #007bff);
}

/* Ensure dropdown toggle buttons work with your existing styles */
.tp-main-menu-mobile ul li.has-dropdown > a .dropdown-toggle-btn {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.3);
    color: var(--tp-common-white, #fff);
    font-size: 14px;
    width: 25px;
    height: 25px;
    line-height: 23px;
    transform: translateY(-12px);
}

.tp-main-menu-mobile ul li.has-dropdown > a .dropdown-toggle-btn:hover,
.tp-main-menu-mobile ul li.has-dropdown > a .dropdown-toggle-btn.dropdown-opened {
    background-color: var(--tp-theme-primary, #007bff);
    border-color: var(--tp-theme-primary, #007bff);
}

/* Make sure MeanMenu reveal button is hidden */
.meanmenu-reveal {
    display: none !important;
}

/* Smooth animations for submenu */
.tp-main-menu-mobile ul li .submenu {
    display: none;
    padding-left: 20px;
}

.tp-main-menu-mobile ul li.dropdown-opened .submenu {
    display: block;
}

/* Add some top spacing to mobile menu content */
.tp-main-menu-mobile .mean-nav {
    padding-top: 60px; /* Space for close button if needed */
}

/* Responsive adjustments for smaller screens */
@media (max-width: 480px) {
    .tp-main-menu-mobile {
        width: 280px;
    }
}

/* Additional utility classes */
.d-lg-none {
    display: block !important;
}

@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }
}

/* ========================================
   MEANMENU MOBILE NAVIGATION STYLES
   Add this to your existing style.css
   ======================================== */

/* Mobile Menu Toggle Button Enhancement */
.navbar-toggler.offcanvas-open-btn {
    display: flex !important;
    flex-direction: column;
    width: 30px;
    height: 30px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10000;
    border: none !important;
    background: transparent !important;
    padding: 0.25rem 0.5rem;
}

.navbar-toggler.offcanvas-open-btn span {
    display: block;
    width: 20px;
    height: 2px;
    background-color: white;
    margin: 3px 0;
    transition: all 0.3s ease;
    transform-origin: center;
}

/* Animate toggle button when active */
.navbar-toggler.offcanvas-open-btn.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.navbar-toggler.offcanvas-open-btn.active span:nth-child(2) {
    opacity: 0;
}

.navbar-toggler.offcanvas-open-btn.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}

/* Body overlay for mobile menu */
.body-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.body-overlay.opened {
    opacity: 1;
    visibility: visible;
}

body.menu-open {
    overflow: hidden;
}

/* Mobile Menu Container - Updated for your header structure */
.tp-main-menu-mobile {
    position: fixed;
    top: 110px; /* Adjust this based on your actual header height */
    left: 0;
    right: 0;
    width: 100%;
    height: 0;
    background: #000 !important; /* Blue background */
    z-index: 9999;
    transition: height 0.3s ease;
    overflow: hidden;
    padding: 0;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    margin: 0;
    border: none;
}

.tp-main-menu-mobile.menu-open {
    height: calc(100vh - 110px); /* Adjust based on your header height */
    overflow-y: auto;
}

/* X Close Button in top-right corner */
.tp-main-menu-mobile .menu-close-btn {
    position: absolute;
    top: 15px;
    right: 20px;
    color: #ffffff;
    font-size: 24px;
    font-weight: bold;
    z-index: 10001;
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    border: none;
    line-height: 1;
}

.tp-main-menu-mobile .menu-close-btn:hover {
    color: #ce2127;
    background: rgba(255,255,255,0.2);
}

/* Mean Navigation Styles */
.tp-main-menu-mobile .mean-nav {
    padding: 60px 0 20px 0;
    background: transparent;
    width: 100%;
}

.tp-main-menu-mobile .mean-nav ul {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    width: 100% !important;
}

.tp-main-menu-mobile .mean-nav ul li {
    display: block !important;
    width: 100% !important;
    position: relative;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.tp-main-menu-mobile .mean-nav ul li:first-child {
    border-top: none;
}

/* Level 1 Links - Main menu items */
.tp-main-menu-mobile .mean-nav ul li > a:not(.mean-expand) {
    display: block;
    width: 100%;
    padding: 1em 5%;
    margin: 0;
    text-align: left;
    color: #ffffff !important;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 16px;
    transition: background 0.3s ease;
    position: relative;
}

/* When parent has submenu, make room for expand button */
.tp-main-menu-mobile .mean-nav ul li.has-submenu > a:not(.mean-expand) {
    width: calc(100% - 45px);
    padding-right: 5%;
}

.tp-main-menu-mobile .mean-nav ul li > a:not(.mean-expand):hover {
    color: #ce2127 !important;
}

/* Level 2 Links - Submenu items */
.tp-main-menu-mobile .mean-nav ul li li > a:not(.mean-expand) {
    width: 100%;
    padding: 1em 10%;
    border-top: 1px solid rgba(255,255,255,0.05);
    opacity: 0.9;
    text-transform: none;
    font-weight: 500;
    font-size: 14px;
    color: white !important;
}

/* When level 2 has submenu, make room for expand button */
.tp-main-menu-mobile .mean-nav ul li li.has-submenu > a:not(.mean-expand) {
    width: calc(100% - 45px);
    padding-right: 10%;
}

/* Level 3 Links - Sub-submenu items */
.tp-main-menu-mobile .mean-nav ul li li li > a:not(.mean-expand) {
    width: 100%;
    padding: 1em 15%;
    color: white !important;
    font-size: 13px;
    font-weight: 400;
}

/* When level 3 has submenu, make room for expand button */
.tp-main-menu-mobile .mean-nav ul li li li.has-submenu > a:not(.mean-expand) {
    width: calc(100% - 45px);
    padding-right: 15%;
}

/* Expand/Contract Buttons */
.tp-main-menu-mobile .mean-nav .mean-expand {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 45px !important;
    height: 100% !important;
    padding: 0 !important;
    text-align: center !important;
    background: #000 !important;
    border: none !important;
    border-left: 1px solid rgba(255,255,255,0.2) !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2 !important;
    line-height: 1 !important;
	text-decoration: none;
}

.tp-main-menu-mobile .mean-nav .mean-expand:hover {
    background: #ce2127  !important;
    color: #ffffff !important;
}

.tp-main-menu-mobile .mean-nav .mean-expand.mean-clicked {
    background: #000  !important;
	text-decoration: none;
}

/* Hide submenus by default */
.tp-main-menu-mobile .mean-nav ul ul {
    display: none;
}

/* Hide MeanMenu's default elements */
.mean-container .mean-bar,
.meanmenu-reveal,
.mean-bar {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Desktop Menu Styles - Keep your existing desktop menu working */
@media (min-width: 992px) {
    .secondary-nav {
        display: block;
        padding: 0;
    }
    
    .secondary-nav .container {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .secondary-nav .navbar-nav {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 5px;
    }
    
    .secondary-nav .navbar-nav .nav-item,
    .secondary-nav .navbar-nav .menu-item {
        display: inline-block !important;
        position: relative;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    
    .secondary-nav .navbar-nav .nav-link {
        display: inline-block !important;
        padding: 27px 15px;
        text-decoration: none;
        color: white;
        font-weight: 500;
        font-size: 16px;
        transition: all 0.3s ease;
        position: relative;
        white-space: nowrap;
    }
	
    .secondary-nav .navbar-nav .nav-link:hover {
        color: var(--primary);
    }

    /* Hide mobile menu elements on desktop */
    .tp-main-menu-mobile,
    .body-overlay {
        display: none !important;
    }
    
    .navbar-toggler.offcanvas-open-btn {
        display: none !important;
    }
}

/* Mobile only styles */
@media (max-width: 991px) {
    .secondary-nav {
        display: none !important;
    }
    
    .tp-main-menu-mobile {
        display: block;
    }
}

/* Responsive adjustments for smaller screens */
@media (max-width: 480px) {
    .tp-main-menu-mobile {
        /* Maintain full width */
    }
    
    .tp-main-menu-mobile .mean-nav ul li > a:not(.mean-expand) {
        font-size: 15px;
        padding: 0.8em 5%;
    }
}

/* WordPress specific adjustments */
.admin-bar .tp-main-menu-mobile {
    top: 142px; /* Adjust for WordPress admin bar (32px) + your header */
}

.admin-bar .tp-main-menu-mobile.menu-open {
    height: calc(100vh - 142px);
}

@media (max-width: 782px) {
    .admin-bar .tp-main-menu-mobile {
        top: 156px; /* Admin bar is taller on mobile */
    }
    
    .admin-bar .tp-main-menu-mobile.menu-open {
        height: calc(100vh - 156px);
    }
}

/*Pagination Buttons Style*/
.pagination .page-item.active .page-link {
    color: #ce2127 !important;
    background-color: transparent !important;
    border-color: #ce2127 !important;
    font-weight: bold;
}
.pagination .page-link {
    color: #ce2127;
}

.accordion-button:not(.collapsed){
  background-color: transparent;
}

.institucioni-page p{
	display: none;
}

.institucioni-page .info-icon i {
  color: #ce2127;
}


/* =========================================
   DOCUMENTS TABLE
   ========================================= */

.documents-title {
    color: #000;
    border-bottom-color: #ce2127 !important;
}


/* =========================================
   TABLE WRAPPER
   ========================================= */

.documents-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 20px;
}


/* Scrollbar - Chrome / Edge / Safari */

.documents-table-wrapper::-webkit-scrollbar {
    height: 6px;
}

.documents-table-wrapper::-webkit-scrollbar-track {
    background: #eeeeee;
    border-radius: 10px;
}

.documents-table-wrapper::-webkit-scrollbar-thumb {
    background: #ce2127;
    border-radius: 10px;
}


/* Firefox */

.documents-table-wrapper {
    scrollbar-color: #ce2127 #eeeeee;
    scrollbar-width: thin;
}


/* =========================================
   TABLE
   ========================================= */

.documents-table {
    width: 100%;
    margin-bottom: 0 !important;
    border-color: #dee2e6;
}


/* Header */

.documents-table thead th {
    background-color: #ce2127;
    color: #fff;
    font-weight: 600;
    vertical-align: middle;
    padding: 10px 8px;
    border-color: #ce2127;
}


/* Body */

.documents-table tbody td {
    vertical-align: middle;
    padding: 10px 8px;
}


/* =========================================
   COLUMNS
   ========================================= */

.download-column {
    width: 130px;
    min-width: 130px;
    text-align: center;
    white-space: nowrap;
}

.view-column {
    width: 120px;
    min-width: 120px;
    text-align: center;
    white-space: nowrap;
}

.document-name-column {
    min-width: 280px;
}

.year-column {
    width: 100px;
    min-width: 100px;
    text-align: center;
    white-space: nowrap;
}


/* =========================================
   DOCUMENT NAME
   ========================================= */

.document-name {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.document-name span {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.document-icon {
    color: #ce2127;
    font-size: 18px;
    flex-shrink: 0;
}


/* =========================================
   DOWNLOAD BUTTON
   ========================================= */

.download-btn {
    background-color: #ce2127;
    border-color: #ce2127;
    color: #fff;
    white-space: nowrap;
}

.download-btn:hover,
.download-btn:focus {
    background-color: #a91b20;
    border-color: #a91b20;
    color: #fff;
}


/* =========================================
   VIEW BUTTON
   ========================================= */

.view-btn {
    color: #ce2127;
    border-color: #ce2127;
    background-color: transparent;
    white-space: nowrap;
}

.view-btn:hover,
.view-btn:focus {
    background-color: #ce2127;
    border-color: #ce2127;
    color: #fff;
}


/* =========================================
   EMPTY MESSAGE
   ========================================= */

.documents-empty {
    color: #6c757d;
    padding: 10px 0;
}


/* =========================================
   TABLE HOVER
   ========================================= */

.documents-table tbody tr:hover {
    background-color: #fdf2f2;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767.98px) {

    /*
     * Keep enough width for all 4 columns.
     * The table will scroll horizontally.
     */
    .documents-table {
        min-width: 650px;
    }

    /*
     * Smaller table text.
     */
    .documents-table thead th,
    .documents-table tbody td {
        font-size: 13px;
        padding: 8px 6px;
    }

    /*
     * Smaller buttons.
     */
    .documents-table .btn {
        font-size: 12px;
        padding: 5px 8px;
    }

    /*
     * Keep buttons on one line.
     */
    .documents-table .btn i {
        margin-right: 3px;
    }

    /*
     * Document title.
     */
    .document-name-column {
        min-width: 280px;
    }

    /*
     * Slightly smaller PDF icon.
     */
    .document-icon {
        font-size: 16px;
    }

    /*
     * Smaller title spacing on mobile.
     */
    .documents-title {
        font-size: 22px;
    }

}


/* =========================================
   VERY SMALL PHONES
   ========================================= */

@media (max-width: 400px) {

    .documents-table {
        min-width: 620px;
    }

    .documents-table thead th,
    .documents-table tbody td {
        font-size: 12px;
        padding: 7px 5px;
    }

    .documents-table .btn {
        font-size: 11px;
        padding: 4px 7px;
    }

}

/* =========================================
   DPT ABOUT PAGE
   ========================================= */

.dpt-about-page {
    background: #f7f8fa;
    padding: 40px 0 60px;
}

.dpt-content {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}

/* =========================================
   DPT ABOUT PAGE STEPS
   ========================================= */

.dpt-about-page .dpt-steps { 
	list-style: none; 
	margin: 0; 
	padding: 0; 
	counter-reset: dptstep; 
}
.dpt-about-page .dpt-steps li { 
	position: relative; 
	padding: 4px 0 14px 52px; 
	counter-increment: dptstep; 
}
.dpt-about-page .dpt-steps li::before { 
	content: counter(dptstep, upper-roman); 
	position: absolute; 
	left: 0; 
	top: 0;
	width: 38px; 
	height: 38px; 
	border-radius: 50%; 
	background: #ce2127; 
	color: #ffffff; 
	font-weight: 700; 
	font-size: 14px; 
	display: flex; 
	align-items: center; 
	justify-content: center; 
}
.dpt-about-page .dpt-steps li strong { 
	display: block; 
	color: #a81a20; 
	margin-bottom: 2px; 
}


/* =========================================
   SECTIONS
   ========================================= */

.dpt-section {
    margin-bottom: 55px;
}


/* Main section title */

.dpt-main-title {
    position: relative;
    font-size: 30px;
    font-weight: 700;
    color: #222;
    margin: 0 0 28px;
    padding-bottom: 12px;
    border-bottom: 2px solid #ce2127;
}

.dpt-main-title::after {
    content: "";
    display: block;
    width: 70px;
    height: 4px;
    background: #ce2127;
    position: absolute;
    bottom: -3px;
    left: 0;
}


/* =========================================
   CARDS
   ========================================= */

.dpt-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 30px;
    margin-bottom: 22px;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.04);
}

.dpt-card h3 {
    position: relative;
    color: #ce2127;
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 18px;
    padding-left: 15px;
}

.dpt-card h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    bottom: 3px;
    width: 4px;
    background: #ce2127;
    border-radius: 3px;
}


/* =========================================
   TEXT
   ========================================= */

.dpt-about-page p {
    color: #444;
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 16px;
}

.dpt-about-page strong {
    color: #292929;
}


/* =========================================
   LISTS
   ========================================= */

.dpt-list {
    padding-left: 25px;
    margin: 20px 0;
}

.dpt-list li {
    color: #444;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 12px;
    padding-left: 5px;
}

.dpt-list li::marker {
    color: #ce2127;
}


/* =========================================
   VALUES
   ========================================= */

.dpt-value {
    position: relative;
    padding: 20px 0 20px 25px;
    margin-top: 15px;
    border-left: 3px solid #ce2127;
    background: #fafafa;
    padding-right: 20px;
}

.dpt-value h4 {
    color: #333;
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 8px;
}

.dpt-value p {
    margin-bottom: 0;
}


/* =========================================
   PROFILE
   ========================================= */

.dpt-profile {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #e5e5e5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.dpt-profile-header {
    display: flex;
    align-items: center;
    gap: 18px;
    background: #ce2127;
    color: #fff;
    padding: 25px 30px;
}

.dpt-profile-icon {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;  
    flex: 0 0 60px;    
}

.dpt-profile-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;      
    object-position: center top;  
    display: block;
    border-radius: 50%;
}

.dpt-profile-header h3 {
    margin: 0;
    color: #fff;
    font-size: 24px;
}

.dpt-profile-header span {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    opacity: 0.9;
}

.dpt-profile-body {
    padding: 30px;
}


/* =========================================
   DOCUMENTS
   ========================================= */

.dpt-documents {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 20px;
}

.dpt-documents a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 18px;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-left: 4px solid #ce2127;
    border-radius: 5px;
    color: #333;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.4;
    transition: all 0.2s ease;
}

.dpt-documents a i {
    color: #ce2127;
    font-size: 22px;
    flex-shrink: 0;
}

.dpt-documents a:hover {
    background: #ce2127;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(206, 33, 39, 0.2);
}

.dpt-documents a:hover i {
    color: #fff;
}


/* =========================================
   SUBTITLE
   ========================================= */

.dpt-subtitle {
    color: #333;
    font-size: 21px;
    font-weight: 700;
    margin: 30px 0 18px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e5e5e5;
}


/* =========================================
   TAXPAYER RIGHTS
   ========================================= */

.dpt-right {
    background: #fafafa;
    border-radius: 6px;
    padding: 22px;
    margin: 20px 0;
    border-left: 4px solid #ce2127;
}

.dpt-right h4 {
    color: #333;
    font-size: 17px;
    line-height: 1.5;
    margin: 0 0 15px;
}


/* =========================================
   HIGHLIGHT
   ========================================= */

.dpt-highlight {
    background: #fff4f4;
    border: 1px solid #f1c4c6;
    border-left: 5px solid #ce2127;
    border-radius: 5px;
    padding: 20px 22px;
    margin: 25px 0;
}

.dpt-highlight strong {
    color: #9f171c;
    line-height: 1.6;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .dpt-about-page {
        padding: 25px 0 40px;
    }

    .dpt-content {
        padding: 0 15px;
    }

    .dpt-section {
        margin-bottom: 40px;
    }

    .dpt-main-title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .dpt-card {
        padding: 20px 18px;
        border-radius: 6px;
    }

    .dpt-card h3 {
        font-size: 19px;
    }

    .dpt-about-page p,
    .dpt-list li {
        font-size: 15px;
        line-height: 1.65;
    }

    .dpt-list {
        padding-left: 22px;
    }

    .dpt-value {
        padding: 15px 15px 15px 18px;
    }

    .dpt-value h4 {
        font-size: 16px;
    }

    .dpt-profile-header {
        padding: 20px;
        gap: 12px;
    }

    .dpt-profile-icon {
        font-size: 22px;
    }

    .dpt-profile-header h3 {
        font-size: 20px;
    }

    .dpt-profile-body {
        padding: 20px;
    }

    .dpt-documents {
        grid-template-columns: 1fr;
    }

    .dpt-documents a {
        padding: 13px 15px;
        font-size: 14px;
    }

    .dpt-subtitle {
        font-size: 19px;
    }

    .dpt-right {
        padding: 17px;
    }

    .dpt-right h4 {
        font-size: 16px;
    }

}


/* =========================================
   TAX OFFICES ACCORDION
   ========================================= */

.tax-offices-accordion {
    width: 100%;
    margin: 30px 0;
}

/* Accordion item */
.tax-offices-accordion .accordion-item {
    border: 1px solid #e5e5e5;
    border-radius: 8px !important;
    margin-bottom: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* Header button */
.tax-offices-accordion .accordion-button {
    min-height: 65px;
    padding: 18px 22px;
    background: #fff;
    color: #111;
    font-size: 17px;
    border: none;
    box-shadow: none !important;
    transition: all 0.25s ease;
}

/* Header icon */
.tax-offices-accordion .accordion-button > i {
    color: #ce2127;
    font-size: 20px;
}

/* Hover */
.tax-offices-accordion .accordion-button:hover {
    background-color: #fafafa;
    color: #ce2127;
}

/* Open accordion */
.tax-offices-accordion .accordion-button:not(.collapsed) {
    background-color: #ce2127;
    color: #fff;
}

/* Open accordion icon */
.tax-offices-accordion .accordion-button:not(.collapsed) > i {
    color: #fff;
}

/* Bootstrap arrow */
.tax-offices-accordion .accordion-button::after {
    filter: none;
}

/* Open arrow */
.tax-offices-accordion .accordion-button:not(.collapsed)::after {
    filter: brightness(0) invert(1);
}

/* Body */
.tax-offices-accordion .accordion-body {
    padding: 25px;
    background: #fff;
    border-top: 1px solid #eee;
}

/* Information container */
.office-info {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

/* Individual information row */
.office-row {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

/* Icon box */
.office-icon {
    width: 42px;
    min-width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f8e8e9;
    color: #ce2127;

    border-radius: 50%;
    font-size: 18px;
}

/* Label */
.office-label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #777;
    margin-bottom: 3px;
}

/* Value */
.office-value {
    display: block;
    color: #222;
    font-size: 15px;
    line-height: 1.6;
    text-decoration: none;
}

/* Links */
a.office-value:hover {
    color: #ce2127;
    text-decoration: underline;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767px) {

    .tax-offices-accordion {
        margin-top: 20px;
    }

    .tax-offices-accordion .accordion-button {
        min-height: 60px;
        padding: 15px 16px;
        font-size: 15px;
        line-height: 1.4;
        padding-right: 45px;
    }

    .tax-offices-accordion .accordion-button > i {
        font-size: 18px;
        margin-right: 10px !important;
    }

    .tax-offices-accordion .accordion-body {
        padding: 20px 16px;
    }

    .office-info {
        gap: 16px;
    }

    .office-row {
        gap: 12px;
    }

    .office-icon {
        width: 38px;
        min-width: 38px;
        height: 38px;
        font-size: 16px;
    }

    .office-label {
        font-size: 12px;
    }

    .office-value {
        font-size: 14px;
        line-height: 1.5;
    }
}

#accordionExample p {
    margin: 0;
    padding: 0;
}

#accordionExample br {
    display: none;
}


/* =========================================================
   VERTICAL NAVIGATION PAGE
   ========================================================= */

/* Main page spacing */
.container-fluid > .container {
    position: relative;
}

/* =========================================================
   PAGE TITLE
   ========================================================= */

.container-fluid h1.fw-bold {
    position: relative;
    font-size: 2.4rem;
    font-weight: 800 !important;
    color: #111827 ;
    margin-bottom: 5px;
    letter-spacing: -0.5px;
}

.container-fluid h1.fw-bold::after {
    content: "";
    display: block;
    width: 55px;
    height: 4px;
    margin-top: 14px;
    background: #ce2127;
    border-radius: 10px;
}

/* Breadcrumb */
.breadcrumb {
    margin: 0;
    padding: 0;
    background: transparent;
    font-size: 14px;
}

.breadcrumb-item {
    color: #ce2127 !important;
}


/* =========================================================
   MAIN TWO-COLUMN AREA
   ========================================================= */

.container-fluid .row {
    align-items: flex-start;
}


/* =========================================================
   SIDEBAR
   ========================================================= */

.category-tree {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #e6e8eb;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

/* Accordion item */
.category-tree .accordion-item {
    border: 0;
    border-bottom: 1px solid #eeeeee;
    background: #ffffff;
}

.category-tree .accordion-item:last-child {
    border-bottom: 0;
}


/* =========================================================
   SIDEBAR BUTTON
   ========================================================= */

.category-tree .accordion-button {
    position: relative;
    padding: 17px 20px;
    background: #ffffff;
    color: #222222 !important;
    font-size: 15px;
    font-weight: 700 !important;
    line-height: 1.4;
    border: 0;
    box-shadow: none !important;
    transition: all 0.25s ease;
}

/* Remove Bootstrap default blue background */
.category-tree .accordion-button:not(.collapsed) {
    color: #ce2127 !important;
    background: #fff5f5;
    box-shadow: none !important;
}

/* Hover */
.category-tree .accordion-button:hover {
    color: #ce2127 !important;
    background: #fff7f7;
    padding-left: 24px;
}

/* Accordion arrow */
.category-tree .accordion-button::after {
    width: 12px;
    height: 12px;
    background-size: 12px;
    transition: transform 0.25s ease;
}

/* Open arrow */
.category-tree .accordion-button:not(.collapsed)::after {
    transform: rotate(180deg);
}


/* =========================================================
   ACCORDION CONTENT
   ========================================================= */

.category-tree .accordion-body {
    padding: 8px 15px 18px 20px;
    background: #fffafa;
}

/* Remove list spacing */
.category-tree .accordion-body ul {
    margin: 0;
    padding: 0;
}

/* Individual link */
.category-tree .accordion-body li {
    margin: 2px 0;
}

/* Links */
.category-tree .ajax-post-link {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 9px 10px;
    border-radius: 7px;
    color: #555 !important;
    font-size: 14px;
    font-weight: 600 !important;
    line-height: 1.4;
    transition: all 0.2s ease;
}

/* Arrow icon */
.category-tree .ajax-post-link i {
    font-size: 20px;
    color: #ce2127 !important;
    transition: transform 0.2s ease;
}

/* Link hover */
.category-tree .ajax-post-link:hover {
    color: #ce2127 !important;
    background: #ffffff;
    padding-left: 15px;
}

.category-tree .ajax-post-link:hover i {
    transform: translateX(3px);
}

/* Active AJAX link */
.category-tree .ajax-post-link.active {
    color: #ffffff !important;
    background: #ce2127;
}

.category-tree .ajax-post-link.active i {
    color: #ffffff !important;
}


/* =========================================================
   MAIN CONTENT CARD
   ========================================================= */

main.col-md-9 {
    background: #ffffff;
    padding: 35px 40px;
    border-radius: 14px;
    border: 1px solid #e6e8eb;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
    min-height: 400px;
}

/* Main heading */
main.col-md-9 > h3 {
    position: relative;
    font-size: 28px;
    font-weight: 800 !important;
    color: #111827 !important;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eeeeee;
}

/* Red heading accent */
main.col-md-9 > h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 65px;
    height: 3px;
    background: #ce2127;
    border-radius: 10px;
}


/* =========================================================
   CONTENT TYPOGRAPHY
   ========================================================= */

main.col-md-9 p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 18px;
}

main.col-md-9 strong {
    color: #222222;
    font-weight: 700;
}

main.col-md-9 h1,
main.col-md-9 h2,
main.col-md-9 h3,
main.col-md-9 h4,
main.col-md-9 h5 {
    color: #111827;
    font-weight: 750;
    margin-top: 28px;
    margin-bottom: 15px;
}

main.col-md-9 h2 {
    font-size: 25px;
}

main.col-md-9 h4 {
    font-size: 20px;
}

/* Lists */
main.col-md-9 ul,
main.col-md-9 ol {
    padding-left: 25px;
    margin-bottom: 22px;
}

main.col-md-9 li {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 7px;
}

main.col-md-9 li::marker {
    color: #ce2127;
}

/* Links inside content */
main.col-md-9 a {
    color: #ce2127;
    font-weight: 600;
    text-decoration: none;
}

main.col-md-9 a:hover {
    text-decoration: underline;
}


/* =========================================================
   IMAGES INSIDE CONTENT
   ========================================================= */

main.col-md-9 img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}


/* =========================================================
   TABLES
   ========================================================= */

main.col-md-9 table {
    width: 100%;
    border-collapse: collapse;
    margin: 25px 0;
    font-size: 15px;
}

main.col-md-9 th {
    background: #ce2127;
    color: #ffffff;
    padding: 13px;
    text-align: left;
}

main.col-md-9 td {
    padding: 12px 13px;
    border: 1px solid #e5e7eb;
}

main.col-md-9 tr:nth-child(even) {
    background: #f9fafb;
}


/* =========================================================
   AJAX LOADING SPINNER
   ========================================================= */

main.col-md-9 .spinner-border {
    width: 3rem;
    height: 3rem;
    color: #ce2127 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 991px) {

    .container-fluid h1.fw-bold {
        font-size: 1.4rem;
    } 

    aside.col-md-3 {
        margin-bottom: 25px;
    }

    main.col-md-9 {
        padding: 25px;
    }

    main.col-md-9 > h3 {
        font-size: 24px;
    }
}


@media (max-width: 767px) {

    .container-fluid h1.fw-bold {
        font-size: 1.75rem;
    }

    .category-tree {
        border-radius: 10px;
    }

    .category-tree .accordion-button {
        padding: 15px;
        font-size: 14px;
    }

    .category-tree .accordion-body {
        padding: 8px 10px 15px 15px;
    }

    main.col-md-9 {
        padding: 20px;
        border-radius: 10px;
    }

    main.col-md-9 > h3 {
        font-size: 21px;
    }

    main.col-md-9 p,
    main.col-md-9 li {
        font-size: 15px;
    }
}


/* =========================================================
   VERY SMALL SCREENS
   ========================================================= */

@media (max-width: 480px) {

    .container-fluid h1.fw-bold {
        font-size: 1.5rem;
    }

    main.col-md-9 {
        padding: 16px;
    }

    .category-tree .ajax-post-link {
        font-size: 13px;
    }
}


/* =========================================================
   SINGLE POST / ARTICLE DESIGN
   ========================================================= */

/* Main article area */
main.container {
    max-width: 1280px;
}

main.container > .container {
    max-width: 1180px;
}

/* Article section */
main section {

    padding: 30px 40px 45px;
    border-radius: 14px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

/* Published date */
.dataepostimit {
    display: inline-block;
    margin: 0 0 15px !important;
    padding: 7px 14px;

    background: #f5f5f5;
    border-left: 3px solid #ce2127;
    border-radius: 4px;

    color: #777;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .2px;
}

/* Article title */
main section h4 {
    margin: 10px 0 28px !important;

    color: #111 !important;
    font-size: 30px;
    line-height: 1.25;
    font-weight: 700;

    text-transform: uppercase;
}

/* Featured image */
main section > img {
    display: block;
    width: 100% !important;
    height: auto;

    max-height: 560px;
    object-fit: cover;

    margin: 0 0 30px !important;

    border-radius: 10px;
}

/* Article content */
main section .grey-text-3 {
    margin: 0 !important;

    color: #333 !important;
    font-family: inherit;

    font-size: 16px;
    font-weight: 400;

    line-height: 1.85;
    text-align: justify;
}

/* WordPress generated paragraphs */
main section .grey-text-3 p {
    margin: 0 0 18px;
    line-height: 1.85;
}

/* Article headings */
main section .grey-text-3 h1,
main section .grey-text-3 h2,
main section .grey-text-3 h3,
main section .grey-text-3 h4,
main section .grey-text-3 h5,
main section .grey-text-3 h6 {
    color: #111;
    margin-top: 30px;
    margin-bottom: 15px;
    font-weight: 700;
}

/* Links inside article */
main section .grey-text-3 a {
    color: #ce2127;
    font-weight: 600;
    text-decoration: none;
}

main section .grey-text-3 a:hover {
    color: #a7191e;
    text-decoration: underline;
}

/* Lists */
main section .grey-text-3 ul,
main section .grey-text-3 ol {
    margin: 0 0 20px;
    padding-left: 25px;
}

main section .grey-text-3 li {
    margin-bottom: 8px;
}

/* Blockquotes */
main section .grey-text-3 blockquote {
    margin: 25px 0;
    padding: 18px 25px;

    background: #f8f8f8;
    border-left: 4px solid #ce2127;
    border-radius: 5px;

    color: #555;
    font-style: italic;
}

/* Tables */
main section .grey-text-3 table {
    width: 100%;
    margin: 25px 0;
    border-collapse: collapse;
}

main section .grey-text-3 th {
    background: #ce2127;
    color: #fff;
    font-weight: 700;
}

main section .grey-text-3 th,
main section .grey-text-3 td {
    padding: 12px 15px;
    border: 1px solid #ddd;
}

/* Images inserted inside article content */
main section .grey-text-3 img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

/* Horizontal line */
main section .grey-text-3 hr {
    margin: 30px 0;
    border: 0;
    border-top: 1px solid #e5e5e5;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    main.container {
        max-width: 100%;
    }

    main section {
        padding: 25px 25px 35px;
    }

    main section h4 {
        font-size: 26px;
    }

    main section .grey-text-3 {
        font-size: 15px;
        line-height: 1.75;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 576px) {

    main.container {
        margin-top: 15px !important;
        margin-bottom: 30px !important;
        padding-left: 10px;
        padding-right: 10px;
    }

    main.container > .container {
        padding-left: 5px;
        padding-right: 5px;
    }

    main section {
        padding: 20px 15px 30px;
        border-radius: 10px;
        box-shadow: 0 3px 14px rgba(0, 0, 0, 0.05);
    }

    .dataepostimit {
        margin-bottom: 12px !important;
        padding: 6px 10px;

        font-size: 11px;
    }

    main section h4 {
        margin-bottom: 20px !important;
        font-size: 21px;
        line-height: 1.35;
    }

    main section > img {
        max-height: 300px;
        margin-bottom: 22px !important;
        border-radius: 7px;
    }

    main section .grey-text-3 {
        font-size: 14px;
        line-height: 1.7;
        text-align: left;
    }

    main section .grey-text-3 p {
        margin-bottom: 15px;
        line-height: 1.7;
    }

    main section .grey-text-3 h2 {
        font-size: 20px;
    }

    main section .grey-text-3 h3 {
        font-size: 18px;
    }

    main section .grey-text-3 blockquote {
        padding: 15px;
        margin: 20px 0;
    }

    main section .grey-text-3 table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

/* =========================================================
   ACCESSIBILITY CONTRAST MODE
   ========================================================= */

.accessibility__contrast main section {
    background: #282828;
    color: #fff;
    box-shadow: none;
}

.accessibility__contrast main section h4 {
    color: #fff !important;
}

.accessibility__contrast .dataepostimit {
    background: #4d4d4d;
    color: #fff;
    border-left-color: red;
}

.accessibility__contrast main section .grey-text-3,
.accessibility__contrast main section .grey-text-3 p {
    color: #fff !important;
}

.accessibility__contrast main section .grey-text-3 a {
    color: #fff !important;
}

.accessibility__contrast main section .grey-text-3 blockquote {
    background: #4d4d4d;
    color: #fff;
    border-left-color: red;
}


/* =========================================
   TAX CALENDAR
   ========================================= */

#calendar {
    width: 100%;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 20px;
    margin: 30px 0;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.04);
}


/* =========================================
   CALENDAR HEADER
   ========================================= */

#calendar .fc-header-toolbar {
    margin-bottom: 20px;
    align-items: center;
}


/* Calendar title */

#calendar .fc-toolbar-title {
    color: #222;
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}


/* =========================================
   BUTTONS
   ========================================= */

#calendar .fc-button {
    background-color: #ce2127;
    border-color: #ce2127;
    color: #fff;
    font-weight: 600;
    box-shadow: none !important;
    transition: all 0.2s ease;
}


/* Button hover */

#calendar .fc-button:hover {
    background-color: #a91b20;
    border-color: #a91b20;
    color: #fff;
}


/* Button focus */

#calendar .fc-button:focus {
    box-shadow: 0 0 0 0.2rem rgba(206, 33, 39, 0.2) !important;
}


/* Today button */

#calendar .fc-today-button {
    border-radius: 5px;
    padding: 7px 14px;
}


/* Previous / next buttons */

#calendar .fc-prev-button,
#calendar .fc-next-button {
    width: 42px;
    height: 38px;
    padding: 0;
}


/* Disabled button */

#calendar .fc-button:disabled {
    background-color: #e5e5e5;
    border-color: #e5e5e5;
    color: #888;
    opacity: 1;
}


/* =========================================
   CALENDAR GRID
   ========================================= */

#calendar .fc-scrollgrid {
    border-color: #e1e1e1;
    border-radius: 6px;
    overflow: hidden;
}


/* =========================================
   DAY HEADERS
   ========================================= */

#calendar .fc-col-header-cell {
    background-color: #ce2127;
    border-color: #ce2127;
}


#calendar .fc-col-header-cell-cushion {
    display: block;
    padding: 11px 6px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
}


/* =========================================
   DAY CELLS
   ========================================= */

#calendar .fc-daygrid-day {
    background-color: #fff;
    border-color: #e5e5e5;
    transition: background-color 0.2s ease;
}


/* Day hover */

#calendar .fc-daygrid-day:hover {
    background-color: #fdf2f2;
}


/* Day number */

#calendar .fc-daygrid-day-number {
    color: #333;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 10px;
    text-decoration: none;
}


/* =========================================
   TODAY
   ========================================= */

#calendar .fc-day-today {
    background-color: #fff4f4 !important;
}


#calendar .fc-day-today .fc-daygrid-day-number {
    color: #ce2127;
    font-weight: 700;
}


/* =========================================
   OTHER MONTH DAYS
   ========================================= */

#calendar .fc-day-other {
    background-color: #fafafa;
}


#calendar .fc-day-other .fc-daygrid-day-number {
    color: #aaa;
}


/* =========================================
   CALENDAR EVENTS
   ========================================= */

#calendar .fc-daygrid-event {
    background-color: #ce2127;
    border-color: #ce2127;
    color: #fff;
    border-radius: 4px;
    margin: 2px 4px;
    padding: 3px 6px;
    transition: all 0.2s ease;
}


/* Event hover */

#calendar .fc-daygrid-event:hover {
    background-color: #a91b20;
    border-color: #a91b20;
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(206, 33, 39, 0.2);
}


/* Event title */

#calendar .fc-event-title {
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}


/* Event link */

#calendar a.fc-event {
    text-decoration: none;
}


/* =========================================
   EVENT DATE RANGE
   ========================================= */

#calendar .fc-daygrid-event.fc-event-start {
    border-radius: 4px;
}


#calendar .fc-daygrid-event.fc-event-end {
    border-radius: 4px;
}


/* Keep today styling stronger than weekend */

#calendar .fc-day-today {
    background-color: #fff4f4 !important;
}


/* =========================================
   CALENDAR BORDERS
   ========================================= */

#calendar .fc-theme-standard td,
#calendar .fc-theme-standard th {
    border-color: #e5e5e5;
}


/* =========================================
   SCROLLBAR
   ========================================= */

#calendar .fc-scroller::-webkit-scrollbar {
    height: 6px;
    width: 6px;
}

#calendar .fc-scroller::-webkit-scrollbar-track {
    background: #eeeeee;
    border-radius: 10px;
}

#calendar .fc-scroller::-webkit-scrollbar-thumb {
    background: #ce2127;
    border-radius: 10px;
}


/* Firefox */

#calendar .fc-scroller {
    scrollbar-color: #ce2127 #eeeeee;
    scrollbar-width: thin;
}


/* =========================================
   CALENDAR LINK
   ========================================= */

#calendar .fc-col-header-cell a:hover {
    color: #fff;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767.98px) {

    #calendar {
        padding: 12px;
        margin: 20px 0;
        border-radius: 6px;
    }


    /* Header */

    #calendar .fc-header-toolbar {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-bottom: 15px;
    }


    #calendar .fc-toolbar-chunk {
        display: flex;
        align-items: center;
    }


    /* Put title first visually */

    #calendar .fc-toolbar-title {
        font-size: 20px;
    }


    /* Buttons */

    #calendar .fc-button {
        font-size: 12px;
    }


    #calendar .fc-today-button {
        padding: 6px 10px;
    }


    #calendar .fc-prev-button,
    #calendar .fc-next-button {
        width: 36px;
        height: 34px;
    }


    /* Day headers */

    #calendar .fc-col-header-cell-cushion {
        padding: 9px 4px;
        font-size: 12px;
    }


    /* Day numbers */

    #calendar .fc-daygrid-day-number {
        font-size: 12px;
        padding: 6px 7px;
    }


    /* Events */

    #calendar .fc-daygrid-event {
        margin: 2px 3px;
        padding: 2px 4px;
    }


    #calendar .fc-event-title {
        font-size: 11px;
    }

}


/* =========================================
   VERY SMALL PHONES
   ========================================= */

@media (max-width: 400px) {

    #calendar {
        padding: 8px;
        border-radius: 5px;
    }


    #calendar .fc-toolbar-title {
        font-size: 18px;
    }


    #calendar .fc-header-toolbar {
        gap: 8px;
    }


    #calendar .fc-col-header-cell-cushion {
        font-size: 11px;
        padding: 8px 2px;
    }


    #calendar .fc-daygrid-day-number {
        font-size: 11px;
        padding: 5px;
    }


    #calendar .fc-event-title {
        font-size: 10px;
    }

}

/* =========================================
   KALENDARI - SINGLE EVENT PAGE
   ========================================= */

.kalendari-single-page {
    max-width: 1100px;
}


/* =========================================
   SECTION TITLES
   ========================================= */

.kalendari-section-title {
    position: relative;
    margin: 25px 0 28px;
    padding-bottom: 12px;
    border-bottom: 2px solid #ce2127;
}

.kalendari-section-title h2 {
    margin: 0;
    color: #222;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
}

.kalendari-section-title::after {
    content: "";
    display: block;
    width: 70px;
    height: 4px;
    background: #ce2127;
    position: absolute;
    bottom: -3px;
    left: 0;
}


/* =========================================
   MAIN EVENT CARD
   ========================================= */

.kalendari-main-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 25px;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.04);
}


/* Header */

.kalendari-main-card-header {
    padding: 22px 25px;
    background: #fff;
    border-bottom: 1px solid #eee;
    border-left: 4px solid #ce2127;
}

.kalendari-main-card-header h1 {
    margin: 0;
    color: #ce2127;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.35;
}


/* Body */

.kalendari-main-card-body {
    padding: 25px;
}


/* =========================================
   DATE
   ========================================= */

.kalendari-date {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #fff4f4;
    color: #ce2127;
    border: 1px solid #f1c4c6;
    border-radius: 5px;
    padding: 9px 13px;
    margin-bottom: 22px;
    font-size: 14px;
    font-weight: 600;
}

.kalendari-date i {
    font-size: 16px;
}


/* =========================================
   EVENT CONTENT
   ========================================= */

.kalendari-content {
    color: #444;
    font-size: 16px;
    line-height: 1.75;
}

.kalendari-content p {
    color: #444;
    font-size: 16px;
    line-height: 1.75;
    margin: 0 0 16px;
}

.kalendari-content p:last-child {
    margin-bottom: 0;
}

.kalendari-content strong {
    color: #292929;
}

.kalendari-content a {
    color: #ce2127;
    text-decoration: none;
}

.kalendari-content a:hover {
    color: #a91b20;
    text-decoration: underline;
}


/* =========================================
   OTHER EVENTS
   ========================================= */

.kalendari-other-events {
    padding-left: 20px;
}


/* =========================================
   OTHER EVENT CARD
   ========================================= */

.kalendari-event-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-left: 4px solid #ce2127;
    border-radius: 6px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: all 0.2s ease;
}

.kalendari-event-card:hover {
    border-left-color: #a91b20;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}


/* Card body */

.kalendari-event-card-body {
    padding: 17px 18px;
}


/* Event title */

.kalendari-event-card h3 {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

.kalendari-event-card h3 a {
    color: #333;
    text-decoration: none;
    transition: color 0.2s ease;
}

.kalendari-event-card h3 a:hover {
    color: #ce2127;
}


/* Event date */

.kalendari-event-date {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #777;
    font-size: 13px;
    line-height: 1.5;
}

.kalendari-event-date i {
    color: #ce2127;
    font-size: 14px;
}


/* =========================================
   PAGINATION
   ========================================= */

.kalendari-pagination {
    margin-top: 20px;
    text-align: center;
}

.kalendari-pagination .pagination {
    margin-bottom: 0;
    justify-content: center;
}

.kalendari-pagination .page-link {
    color: #ce2127;
    border-color: #e5e5e5;
}

.kalendari-pagination .page-link:hover {
    background-color: #fff4f4;
    color: #a91b20;
}

.kalendari-pagination .active .page-link {
    background-color: #ce2127;
    border-color: #ce2127;
    color: #fff;
}


/* =========================================
   EMPTY STATE
   ========================================= */

.kalendari-empty {
    color: #777;
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    padding: 18px;
    margin: 0;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 767.98px) {

    .kalendari-single-page {
        padding-left: 15px;
        padding-right: 15px;
    }


    /* Section title */

    .kalendari-section-title {
        margin: 20px 0 20px;
    }

    .kalendari-section-title h2 {
        font-size: 24px;
    }


    /* Main card */

    .kalendari-main-card {
        border-radius: 6px;
    }

    .kalendari-main-card-header {
        padding: 18px 18px;
    }

    .kalendari-main-card-header h1 {
        font-size: 20px;
    }

    .kalendari-main-card-body {
        padding: 20px 18px;
    }


    /* Date */

    .kalendari-date {
        font-size: 13px;
        padding: 8px 11px;
        margin-bottom: 18px;
    }


    /* Content */

    .kalendari-content,
    .kalendari-content p {
        font-size: 15px;
        line-height: 1.65;
    }


    /* Other events */

    .kalendari-other-events {
        padding-left: 0;
        margin-top: 25px;
    }

    .kalendari-event-card-body {
        padding: 15px;
    }

    .kalendari-event-card h3 {
        font-size: 15px;
    }

    .kalendari-event-date {
        font-size: 12px;
    }

}


/* =========================================
   VERY SMALL PHONES
   ========================================= */

@media (max-width: 400px) {

    .kalendari-section-title h2 {
        font-size: 22px;
    }

    .kalendari-main-card-header h1 {
        font-size: 18px;
    }

    .kalendari-main-card-body {
        padding: 17px 15px;
    }

    .kalendari-content,
    .kalendari-content p {
        font-size: 14px;
    }

}


/* =========================================
   Legjislacioni Card Section
   ========================================= */
.dpt-cards-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
}

.dpt-doc-card {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-left: 4px solid #ce2127;
    border-radius: 4px;
    padding: 1rem 1.25rem;
    text-decoration: none;
    transition: box-shadow .2s ease, transform .2s ease;
}

.dpt-doc-card:hover,
.dpt-doc-card:focus {
    box-shadow: 0 4px 14px rgba(0, 0, 0, .1);
    transform: translateY(-2px);
    text-decoration: none;
}

.dpt-doc-icon {
    display: flex;
    align-items: center;
    font-size: 1.35rem;
    color: #ce2127;
    line-height: 1;
}

.dpt-doc-text,
.dpt-doc-card:hover .dpt-doc-text,
.dpt-doc-card:focus .dpt-doc-text {
    color: #000;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: .3px;
}

/* Mobile: secila kartë në një rresht */
@media (max-width: 575px) {
    .dpt-doc-card {
        flex: 1 1 100%;
    }
}

.dpt-back-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #ce2127;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 1.25rem;
}

.dpt-back-link:hover {
    text-decoration: underline;
    color: #ce2127;
}

/* dokumenta page*/

.dpt-doc-page {
    padding-bottom: 3rem;
}

/* ---------- HERO ---------- */
.dpt-doc-hero {
    background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
    border-bottom: 1px solid #ececec;
    padding: 2.5rem 0 2rem;
    margin-bottom: 2rem;
}

.dpt-doc-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin-bottom: .75rem;
}

.dpt-doc-heading {
    position: relative;
    font-size: 2rem;
    font-weight: 700;
    color: #111;
    margin: 0 0 1rem;
    padding-left: 1rem;
    line-height: 1.25;
}

.dpt-doc-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: .25rem;
    bottom: .25rem;
    width: 4px;
    background: #ce2127;
    border-radius: 2px;
}

.dpt-doc-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: #fdecec;
    color: #ce2127;
    border: 1px solid #f5c6c7;
    border-radius: 999px;
    padding: .35rem .9rem;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .3px;
}

/* ---------- LINKU I KTHIMIT ---------- */
.dpt-back-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #ce2127;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 1.5rem;
    transition: gap .2s ease;
}

.dpt-back-link:hover,
.dpt-back-link:focus {
    color: #ce2127;
    text-decoration: none;
    gap: .7rem;
}

/* ---------- INTRO ---------- */
.dpt-doc-intro {
    color: #333;
    line-height: 1.7;
    margin-bottom: 1.75rem;
}

.dpt-doc-intro p:last-child {
    margin-bottom: 0;
}

/* ---------- PANELI I TABELES ---------- */
.dpt-doc-panel {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    padding: 1.5rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
}

@media (max-width: 575px) {
    .dpt-doc-hero {
        padding: 1.75rem 0 1.5rem;
        margin-bottom: 1.5rem;
    }

    .dpt-doc-heading {
        font-size: 1.5rem;
    }

    .dpt-doc-panel {
        padding: 1rem;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
        margin-left: -1rem;
        margin-right: -1rem;
    }
}


/* =========================================================
   SHTESAT E style.css
   Ngjitini KËTO RREGULLA NË FUND të style.css të temës akshi-dpt.
   Mos e zëvendësoni style.css me këtë skedar.
   ========================================================= */


/* =========================================
   FAQET E DOKUMENTEVE (dpt-doc-*)
   Përdoren nga: Ligje / Vendime / Udhëzime,
   Kërko Tatimpagues, Fjalori Tatimor
   ========================================= */

.dpt-doc-page {
    padding-bottom: 3rem;
}

/* ---------- HERO ---------- */
.dpt-doc-hero {
    background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
    border-bottom: 1px solid #ececec;
    padding: 2.5rem 0 2rem;
    margin-bottom: 2rem;
}

.dpt-doc-breadcrumb .breadcrumb {
    background: transparent;
    padding: 0;
    margin-bottom: .75rem;
}

.dpt-doc-heading {
    position: relative;
    font-size: 2rem;
    font-weight: 700;
    color: #111;
    margin: 0 0 1rem;
    padding-left: 1rem;
    line-height: 1.25;
}

.dpt-doc-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: .25rem;
    bottom: .25rem;
    width: 4px;
    background: #ce2127;
    border-radius: 2px;
}

.dpt-doc-badge {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: #fdecec;
    color: #ce2127;
    border: 1px solid #f5c6c7;
    border-radius: 999px;
    padding: .35rem .9rem;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .3px;
}

/* ---------- LINKU I KTHIMIT ---------- */
.dpt-back-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #ce2127;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 1.5rem;
    transition: gap .2s ease;
}

.dpt-back-link:hover,
.dpt-back-link:focus {
    color: #ce2127;
    text-decoration: none;
    gap: .7rem;
}

/* ---------- INTRO ---------- */
.dpt-doc-intro {
    color: #333;
    line-height: 1.7;
    margin-bottom: 1.75rem;
}

.dpt-doc-intro p:last-child {
    margin-bottom: 0;
}

/* ---------- PANELI I TABELËS ---------- */
.dpt-doc-panel {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    padding: 1.5rem;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
}

@media (max-width: 575px) {
    .dpt-doc-hero {
        padding: 1.75rem 0 1.5rem;
        margin-bottom: 1.5rem;
    }

    .dpt-doc-heading {
        font-size: 1.5rem;
    }

    .dpt-doc-panel {
        padding: 1rem;
        border-radius: 0;
        border-left: 0;
        border-right: 0;
        margin-left: -1rem;
        margin-right: -1rem;
    }
}


/* =========================================
   KARTAT E LEGJISLACIONIT
   (Ligje / Vendime / Udhëzime)
   ========================================= */

.dpt-cards-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    width: 100%;
}

.dpt-doc-card {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-left: 4px solid #ce2127;
    border-radius: 4px;
    padding: 1rem 1.25rem;
    text-decoration: none;
    transition: box-shadow .2s ease, transform .2s ease;
}

.dpt-doc-card:hover,
.dpt-doc-card:focus {
    box-shadow: 0 4px 14px rgba(0, 0, 0, .1);
    transform: translateY(-2px);
    text-decoration: none;
}

.dpt-doc-icon {
    display: flex;
    align-items: center;
    font-size: 1.35rem;
    color: #ce2127;
    line-height: 1;
}

.dpt-doc-text,
.dpt-doc-card:hover .dpt-doc-text,
.dpt-doc-card:focus .dpt-doc-text {
    color: #000;
    font-weight: 600;
    font-size: 1rem;
    letter-spacing: .3px;
}

/* Mobile: secila kartë në një rresht */
@media (max-width: 575px) {
    .dpt-doc-card {
        flex: 1 1 100%;
    }
}


/* =========================================
   BUTONAT E KATEGORIVE DHE PËRMBAJTJA
   Përdoren nga: e-Shërbime (dhe çdo faqe me .category-btn)
   ========================================= */

/* Bootstrap nuk e ka w-md-auto: butonat zënë gjithë gjerësinë në celular, gjerësinë e tyre nga 768px */
@media (min-width: 768px) {
    .w-md-auto {
        width: auto !important;
    }
}

/* ---------- BREADCRUMB ---------- */
.breadcrumb a {
    color: #ce2127;
    text-decoration: none;
}

.breadcrumb a:hover,
.breadcrumb a:focus {
    color: #a81a1f;
    text-decoration: underline;
}

/* ---------- BUTONAT E KATEGORIVE ---------- */
.category-btn {
    background: #f1f2f3;
    color: #ce2127;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 1rem;
    font-weight: 600;
    padding: .7rem 1.4rem;
    white-space: normal;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.category-btn:hover,
.category-btn:focus {
    background: #e6e7e9;
    color: #ce2127;
    border-color: #ce2127;
}

.category-btn:focus-visible {
    outline: 2px solid #ce2127;
    outline-offset: 2px;
    box-shadow: none;
}

.category-btn.active-category,
.category-btn.active-category:hover,
.category-btn.active-category:focus {
    background: #ce2127;
    color: #fff;
    border-color: #ce2127;
}

/* ---------- PËRMBAJTJA E KATEGORISË ---------- */
.text-content {
    margin-left: 0;
    margin-right: 0;
}

.text-content > .content-box {
    width: 100%;
    background: #ffffff;
    padding: 35px 40px;
    border-radius: 14px;
    border: 1px solid #e6e8eb;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
    min-height: 400px;
}

.text-content > .content-box > .mb-4:last-child {
    margin-bottom: 0 !important;
}

/* Titujt e postimeve: vija e kuqe poshtë, si te main.col-md-9 > h3 */
.text-content > .content-box > .mb-4 > h3,
.text-content > .content-box > h3 {
    position: relative;
    padding-bottom: 12px;
    margin-bottom: 18px;
    border-bottom: 1px solid #e6e8eb;
}

.text-content > .content-box > .mb-4 > h3::after,
.text-content > .content-box > h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 65px;
    height: 3px;
    background: #ce2127;
    border-radius: 10px;
}

.text-content h3 {
    font-size: 1.5rem;
    margin-bottom: .75rem;
}

.text-content p,
.text-content li {
    line-height: 1.7;
    color: #222;
}

.text-content a:not(.btn) {
    color: #ce2127;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.text-content a:not(.btn):hover,
.text-content a:not(.btn):focus {
    color: #a81a1f;
}

.text-content img {
    max-width: 100%;
    height: auto;
}

.text-content table {
    width: 100%;
    margin-bottom: 1rem;
    border-collapse: collapse;
}

.text-content th,
.text-content td {
    padding: .6rem .75rem;
    border: 1px solid #dee2e6;
    vertical-align: top;
}

.text-content th {
    background: #ce2127;
    color: #fff;
    font-weight: 600;
}

@media (max-width: 767px) {
    .text-content > .content-box {
        padding: 24px 20px;
        min-height: 0;
    }

    .category-btn {
        font-size: .95rem;
        padding: .65rem 1rem;
    }

    .text-content h3 {
        font-size: 1.3rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .category-btn {
        transition: none;
    }
}

/* ---------- KONTRASTI I AKSESUESHMËRISË ---------- */
.accessibility__contrast .text-content > .content-box {
    background: #000;
    border-color: #fff;
    box-shadow: none;
}

.accessibility__contrast .text-content > .content-box > .mb-4 > h3,
.accessibility__contrast .text-content > .content-box > h3 {
    border-bottom-color: #fff;
}

.accessibility__contrast .text-content > .content-box > .mb-4 > h3::after,
.accessibility__contrast .text-content > .content-box > h3::after {
    background: #ffeb3b;
}

.accessibility__contrast .category-btn {
    background: #000;
    color: #ffeb3b;
    border-color: #fff;
}

.accessibility__contrast .category-btn.active-category {
    background: #ffeb3b;
    color: #000;
    border-color: #ffeb3b;
}

.accessibility__contrast .text-content h3,
.accessibility__contrast .text-content p,
.accessibility__contrast .text-content li {
    color: #fff !important;
}

.accessibility__contrast .text-content a:not(.btn),
.accessibility__contrast .breadcrumb a {
    color: #ffeb3b;
}
