@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');

 /* General body and container styling */
 :root {
     --primary: #0c7dbc;
     --secondary: #ed3237;
     --accent: #d11e2f;
     --light: #e8f4f8;
     --dark: #333;
     --gray: #777;
     --white: #fff;
 }

 * {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 body {
     font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, Helvetica, sans-serif;
     margin: 0;
     padding: 0;
     background-color: var(--light);
     color: #444;
     line-height: 1.6;
     scroll-behavior: smooth;
 }

 /* Progress bar */
 .progress-container {
     position: fixed;
     top: 0;
     width: 100%;
     height: 4px;
     background: transparent;
     z-index: 1000;
 }

 .progress-bar {
     height: 4px;
     background: var(--secondary);
     width: 0%;
     transition: width 0.2s ease;
 }

 /* Flexbox container for main layout */
 .container {
     display: flex;
     justify-content: center;
     padding: 20px;
     gap: 20px;
     flex-wrap: wrap;
     max-width: 1400px;
     margin: 0 auto;
 }

 /* Main article content area */
 .main-content {
     flex-grow: 1;
     max-width: 800px;
     background-color: var(--white);
     padding: 30px;
     border-radius: 12px;
     box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
     position: relative;
 }

 /* Article header styling */
 .article-header h1 {
     color: var(--primary);
     font-size: 2.5em;
     margin: 0 0 10px 0;
     font-weight: 800;
     line-height: 1.2;
 }

 .breadcrumb {
     color: var(--gray);
     font-size: 0.9em;
     margin-bottom: 15px;
 }

 .breadcrumb a {
     color: var(--primary);
     text-decoration: none;
 }

 .breadcrumb a:hover {
     text-decoration: underline;
 }

 /* Author and social share row */
 .meta-row {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 25px;
     flex-wrap: wrap;
     gap: 15px;
     padding-bottom: 20px;
     border-bottom: 1px solid #eee;
 }

 /* Author/reviewer info block */
 .author-info {
     display: flex;
     align-items: center;
 }

 .author-info img {
     width: 50px;
     height: 50px;
     border-radius: 50%;
     margin-right: 15px;
     border: 2px solid #ddd;
     object-fit: cover;
 }

 .author-info .text {
     display: flex;
     flex-direction: column;
 }

 .author-info h4 {
     margin: 0;
     font-size: 1.1em;
     /*color: var(--dark);*/
     font-weight: 600;
     color: red;
 }
 

 .author-info p {
     margin: 0;
     font-size: 0.85em;
     color: var(--gray);
 }

 /* Social share icons */
 .social-share {
     text-align: right;
     display: flex;
     align-items: center;
 }

 .social-share p {
     margin: 0 10px 0 0;
     color: #555;
     font-size: 0.9em;
 }

 .social-share a {
     margin-left: 8px;
     transition: transform 0.2s ease-in-out;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 36px;
     height: 36px;
     border-radius: 50%;
     background: var(--light);
     text-decoration: none;
 }

 .social-share a:hover {
     transform: translateY(-3px);
     background: var(--primary);
     color: white;
 }

 .social-share a i {
     font-size: 16px;
     color: var(--primary);
 }

 .social-share a:hover i {
     color: white;
 }

 /* Article image styling */
 .article-image {
     width: 100%;
     /*height: 350px;*/
     object-fit: contain;
     border-radius: 12px;
     margin-bottom: 25px;
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
     transition: transform 0.3s ease;
 }

 .article-image:hover {
     transform: scale(1.01);
 }

 /* Table of contents */
 .toc-container {
     background: var(--light);
     border-radius: 10px;
     padding: 20px;
     margin-bottom: 30px;
     position: sticky;
     top: 0px;
     z-index: 10;
     box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
 }


 .toc-title {
     color: var(--primary);
     font-size: 1.2em;
     margin-bottom: 15px;
     display: flex;
     align-items: center;
 }

 .toc-title i {
     margin-right: 10px;
 }

 .toc-list {
     list-style: none;
 }

 .toc-list li {
     margin-bottom: 10px;
     padding-left: 20px;
     position: relative;
     font-weight: 600;
 }

 .toc-list li:before {
     content: "•";
     color: var(--secondary);
     font-weight: bold;
     position: absolute;
     left: 0;
 }

 .toc-list a {
     color: var(--dark);
     text-decoration: none;
     transition: color 0.2s ease;
     font-size: 0.95em;
 }

 .toc-list a:hover {
     color: var(--secondary);
 }

 /* Article content styling */
 .content-section p {
     line-height: 1.7;
     color: #444;
     font-size: 1.05em;
     text-align: justify;
     margin-bottom: 1.5em;
 }

 .content-section h3 {
     color: var(--primary);
     font-size: 1.6em;
     margin-top: 2.5em;
     margin-bottom: 0.8em;
     font-weight: 700;
     padding-bottom: 8px;
     border-bottom: 2px solid var(--light);
     position: relative;
 }

 .content-section h3:after {
     content: '';
     position: absolute;
     bottom: -2px;
     left: 0;
     width: 60px;
     height: 2px;
     background: var(--secondary);
 }

 .content-section h4 {
     color: var(--primary);
     font-size: 1.3em;
     margin-top: 2em;
     margin-bottom: 0.8em;
     font-weight: 600;
 }

 .content-section ul {
     list-style-type: none;
     margin-left: 0;
     color: #444;
     line-height: 1.7;
     margin-bottom: 2em;
 }

 .content-section ul li {
     margin-bottom: 15px;
     padding-left: 30px;
     position: relative;
 }

 .content-section ul li:before {
     content: "✓";
     color: var(--secondary);
     position: absolute;
     left: 0;
     top: 0;
     font-weight: bold;
 }

 /* Interactive accordion for sections */
 .accordion {
     background: var(--light);
     border-radius: 8px;
     margin-bottom: 15px;
     overflow: hidden;
 }

 .accordion-header {
     padding: 15px 20px;
     background: var(--primary);
     color: white;
     cursor: pointer;
     display: flex;
     justify-content: space-between;
     align-items: center;
     font-weight: 600;
 }

 .accordion-header i {
     transition: transform 0.3s ease;
 }

 .accordion-content {
     padding: 0 20px;
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.3s ease, padding 0.3s ease;
 }

 .accordion.active .accordion-content {
     max-height: fit-content;
     padding: 20px;
 }

 .accordion.active .accordion-header i {
     transform: rotate(180deg);
 }

 /* Call-to-action section styling */
 .cta-section {
     background: linear-gradient(135deg, var(--primary) 0%, #1a4d7a 100%);
     border-radius: 10px;
     padding: 30px;
     text-align: center;
     margin-top: 40px;
     margin-bottom: 30px;
     color: white;
     position: relative;
     overflow: hidden;
 }

 .cta-section:before {
     content: '';
     position: absolute;
     top: -50%;
     right: -50%;
     width: 100%;
     height: 200%;
     background: rgba(255, 255, 255, 0.1);
     transform: rotate(30deg);
 }

 .cta-section h3 {
     color: white;
     font-size: 1.8em;
     margin: 0 0 10px 0;
     position: relative;
 }

 .cta-section p {
     margin: 0 0 20px 0;
     font-size: 1.1em;
     color: rgba(255, 255, 255, 0.9);
     position: relative;
 }

 .cta-buttons {
     display: flex;
     justify-content: center;
     gap: 15px;
     flex-wrap: wrap;
     position: relative;
 }

 .cta-section .btn {
     padding: 12px 25px;
     border-radius: 8px;
     text-decoration: none;
     font-weight: bold;
     display: inline-block;
     transition: all 0.3s ease;
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
 }

 .cta-section .btn:hover {
     transform: translateY(-3px);
     box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
 }

 .cta-section .btn.request {
     background-color: var(--white);
     border: 1px solid var(--white);
     color: var(--primary);
 }

 .cta-section .btn.request:hover {
     background-color: transparent;
     color: var(--white);
 }

 .cta-section .btn.book {
     background-color: var(--secondary);
     color: var(--white);
     border: none;
 }

 .cta-section .btn.book:hover {
     background-color: #951e21;
 }

 /* Sidebar styling */
 .sidebar {
     width: 350px;
     min-width: 300px;
     display: flex;
     flex-direction: column;
     gap: 20px;
     position: sticky;
     /* distance from top when sticky */
     align-self: flex-start;
     /* stays at top of its flex column */
 }


 .form-card,
 .support-card,
 .other-articles-card,
 .popular-blogs-card,
 .categories-card,
 .stay-updated-card {
     background-color: var(--white);
     border-radius: 12px;
     box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
     overflow: hidden;
     transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .form-card:hover,
 .support-card:hover,
 .other-articles-card:hover,
 .popular-blogs-card:hover,
 .categories-card:hover,
 .stay-updated-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
 }

 .form-card h3,
 .stay-updated-card h3 {
     background-color: var(--primary);
     color: var(--white);
     padding: 20px;
     margin: 0;
     text-align: center;
     font-size: 1.2em;
     font-weight: 600;
 }

 .popular-blogs-card h3,
 .categories-card h3 {
     color: var(--primary);
     padding: 20px 20px 15px 20px;
     margin: 0;
     font-size: 1.4em;
     font-weight: 600;
     border-bottom: 2px solid var(--secondary);
 }

 .form-content,
 .stay-updated-content,
 .popular-blogs-content,
 .categories-content {
     padding: 20px;
 }

 .form-card input,
 .form-card select,
 .stay-updated-card input {
     width: 100%;
     padding: 12px;
     margin-bottom: 15px;
     border: 1px solid #ddd;
     border-radius: 8px;
     box-sizing: border-box;
     font-size: 1em;
     transition: border-color 0.3s ease, box-shadow 0.3s ease;
 }

 .form-card input:focus,
 .form-card select:focus,
 .stay-updated-card input:focus {
     border-color: var(--secondary);
     box-shadow: 0 0 0 3px #E3F2FD;
     outline: none;
 }

 .form-card button {
     width: 100%;
     padding: 15px;
     background-color: var(--secondary);
     color: var(--white);
     border: none;
     border-radius: 8px;
     font-size: 1.1em;
     cursor: pointer;
     transition: background-color 0.3s ease;
     font-weight: 600;
 }

 .stay-updated-card button {
     width: 100%;
     padding: 15px;
     background-color: var(--accent);
     color: var(--white);
     border: none;
     border-radius: 8px;
     font-size: 1.1em;
     cursor: pointer;
     transition: background-color 0.3s ease;
     font-weight: 600;
 }

 .form-card button:hover {
     background-color: #951e21;
 }

 .stay-updated-card button:hover {
     background-color: #951e21;
 }

 .support-card {
     padding: 20px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 20px;
 }

 .support-card .text {
     flex: 1;
 }

 .support-card h4 {
     margin: 0 0 10px 0;
     color: var(--primary);
     font-size: 1.2em;
     font-weight: 600;
 }

 .support-card p {
     margin: 0;
     font-size: 0.9em;
     color: var(--gray);
 }

 .support-card .btn {
     background-color: var(--white);
     border: 1px solid var(--primary);
     color: var(--primary);
     padding: 10px 20px;
     border-radius: 8px;
     text-decoration: none;
     font-weight: bold;
     display: inline-block;
     margin-top: 15px;
     transition: all 0.3s ease;
 }

 .support-card .btn:hover {
     background-color: var(--primary);
     color: var(--white);
 }

 .support-card img {
     width: 100px;
     height: auto;
     border-radius: 8px;
 }

 .other-articles-card {
     padding: 20px;
 }

 .other-articles-card h4 {
     margin-top: 0;
     color: var(--primary);
     font-size: 1.5em;
     font-weight: 600;
     margin-bottom: 20px;
 }

 .article-list {
     display: flex;
     flex-direction: column;
     gap: 15px;
 }

 .article-item {
     display: flex;
     gap: 15px;
     border-bottom: 1px solid #e0e0e0;
     padding-bottom: 15px;
     transition: all 0.3s ease;
     cursor: pointer;
 }

 .article-item:last-child {
     border-bottom: none;
 }

 .article-item:hover {
     transform: translateY(-2px);
     background-color: #f8f8f8;
     border-radius: 8px;
     padding: 15px;
     margin: -15px;
 }

 .article-item img {
     width: 120px;
     height: 80px;
     object-fit: cover;
     border-radius: 8px;
 }

 .article-item .text {
     display: flex;
     flex-direction: column;
     justify-content: center;
 }

 .article-item h5 {
     margin: 0;
     color: var(--primary);
     font-size: 1em;
     line-height: 1.3;
 }

 .article-item p {
     margin: 5px 0 0 0;
     font-size: 0.8em;
     color: var(--gray);
 }

 /* New sidebar styles from user image */
 .popular-blogs-card .blog-item {
     display: flex;
     align-items: center;
     gap: 15px;
     padding: 15px 0;
     border-bottom: 1px solid #e0e0e0;
     transition: all 0.3s ease;
 }

 .popular-blogs-card .blog-item:last-child {
     border-bottom: none;
 }

 .popular-blogs-card .blog-item:hover {
     background-color: #f8f8f8;
     border-radius: 8px;
     padding: 15px;
     margin: 0 -15px;
 }

 .popular-blogs-card .blog-number {
     font-size: 1.5em;
     font-weight: bold;
     color: #999;
     min-width: 30px;
     text-align: center;
 }

 .popular-blogs-card .blog-text {
     flex-grow: 1;
     color: var(--primary);
     font-weight: 500;
     transition: color 0.3s ease;
     text-decoration: none;
 }

 .popular-blogs-card .blog-item:hover .blog-text {
     color: var(--secondary);
 }

 .categories-card .category-item {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 10px 0;
     border-bottom: 1px solid #e0e0e0;
     transition: all 0.3s ease;
 }
 .categories-card .category-item a {
    text-decoration: none;
 }

 .categories-card .category-item:last-child {
     border-bottom: none;
 }

 .categories-card .category-item:hover {
     background-color: #f8f8f8;
     border-radius: 8px;
     padding: 10px 15px;
     margin: 0 -15px;
 }

 .categories-card .category-item span:first-child {
     color: var(--primary);
     font-weight: 500;
     transition: color 0.3s ease;
 }

 .categories-card .category-item:hover span:first-child {
     color: var(--secondary);
 }

 .categories-card .category-item span:last-child {
     color: var(--gray);
     font-size: 0.9em;
     background: var(--light);
     padding: 2px 8px;
     border-radius: 20px;
 }

 /* Back to top button */
 .back-to-top {
     position: fixed;
     bottom: 30px;
     right: 30px;
     width: 50px;
     height: 50px;
     border-radius: 50%;
     background: var(--primary);
     color: white;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     opacity: 0;
     visibility: hidden;
     transition: all 0.3s ease;
     box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
     z-index: 999;
 }

 .back-to-top.visible {
     opacity: 1;
     visibility: visible;
 }

 .back-to-top:hover {
     background: var(--secondary);
     transform: translateY(-3px);
 }

 /* Responsive adjustments */
 @media (max-width: 1024px) {
     .container {
         flex-direction: column;
         align-items: center;
     }

     .sidebar {
         width: 100%;
         max-width: 800px;
     }

     .toc-container {
         position: static;
     }
 }

 @media (max-width: 768px) {
     .main-content {
         padding: 20px;
     }

     .article-header h1 {
         font-size: 2em;
     }

     .meta-row {
         flex-direction: column;
     }

     .social-share {
         align-self: flex-start;
     }

     .cta-buttons {
         flex-direction: column;
     }

     .support-card {
         flex-direction: column;
         text-align: center;
     }
 }