/* Alphabet Section */
.alphabet-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 15px; /* Adds space between letters */
    max-width: 800px;
    margin: 20px auto; /* Centers container */
    padding: 10px 0;
}

/* Round Circle Letters */
.alphabet-circle {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 45px;
    height: 45px;

    border-radius: 12px; /* not circle anymore */

    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        #f2f2f2 100%
    );

    border: 1px solid #d1d1d1;

    box-shadow:
        0 1px 0 #ffffff inset,
        0 2px 4px rgba(0,0,0,0.15);

    color: #d73f09;
    font-size: 17px;
    font-weight: 600;

    font-family: -apple-system, BlinkMacSystemFont, "San Francisco", sans-serif;

    text-decoration: none;
    transition: all 0.15s ease;
}




/* Disabled letters (no posts) */
.alphabet-circle.disabled-letter {
    color: #adb5bd;           /* muted text */
    cursor: default;
    pointer-events: none;     /* prevents click */
}


/* Hover Effect */
.alphabet-circle:hover {
    background-color: #EAEAEA; /* Light Gray */
    color: #1C449B; /* Blue text */
}

/* Second Line Elliptic Letters */
.alphabet-ellipse {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 50px;
    border: 2px solid #1C449B;
    border-radius: 30px; /* Elliptic shape */
    background-color: white;
    color: gray;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
}

/* Hover Effect for Elliptic Letters */
.alphabet-ellipse:hover {
    background-color: #EAEAEA;
    color: #d73f09;
}

/* Blue arrows for Bootstrap carousel */
.carousel-control-next-icon,
.carousel-control-prev-icon {
    filter: invert(27%) sepia(93%) saturate(7482%) hue-rotate(210deg) brightness(95%) contrast(101%);
}

/* Make carousel a positioning context */
.latest-posts-carousel {
    position: relative;
}

/* Push arrows to the very edge */
.latest-posts-carousel .carousel-control-prev,
.latest-posts-carousel .carousel-control-next {
    width: 44px;                 /* minimal hit area */
    opacity: 1;
}

/* Left arrow */
.latest-posts-carousel .carousel-control-prev {
    left: -12px;                 /* move outside content */
}

/* Right arrow */
.latest-posts-carousel .carousel-control-next {
    right: -12px;
}

/* Ensure content never touches arrows */
.latest-posts-carousel .carousel-inner {
    padding-left: 48px;
    padding-right: 48px;
}

/* Optional: cleaner look */
.latest-posts-carousel .carousel-control-prev,
.latest-posts-carousel .carousel-control-next {
    background: none;
}


/* Tooltip Styling */
.tooltip-inner {
    background-color: #1C449B !important;
    color: white !important;
    font-size: 14px;
}

/* Active Letter Style */
.alphabet-circle.active-letter {
    background-color: #EAEAEA !important; /* Light Gray */
    color: #1C449B !important; /* Keep Blue Text */
    font-weight: bold;
}

/* Tabs Styling */
.nav-tabs .nav-link {
    border: none;
    font-size: 18px;
    color: #1C449B;
    padding: 10px 20px;
}

.nav-tabs .nav-link.active {
    background-color: #d73f09;
    color: white;
    border-radius: 5px;
}

/* Make tabs responsive */
@media (max-width: 768px) {
    .nav-tabs {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .nav-tabs .nav-item {
        margin-bottom: 5px;
    }
}

/* Vertical tabs layout: create real spacing between left list and content */
.vertical-tabs {
    display: flex;
    gap: 18px;                 /* space between tab list and content */
    align-items: flex-start;
}

/* Make the left list narrower (smaller rectangles) */
.vertical-tabs .nav-tabs {
    flex-direction: column;
    border-bottom: 0;
    width: 240px;              /* smaller width; adjust */
    flex: 0 0 240px;
}

/* Make each button align left and wrap to new line */
.vertical-tabs .custom-tab-btn {
    width: 100%;
    text-align: left;          /* align titles left */
    display: flex;
    align-items: flex-start;   /* allow multi-line title */
    gap: 10px;
    white-space: normal;       /* allow wrapping */
    word-break: break-word;    /* break long words if needed */
    line-height: 1.2;
    padding: 10px 12px;        /* smaller rectangles */
}

/* Ensure title can wrap and doesn't force one line */
.vertical-tabs .custom-tab-btn .tab-title {
    display: block;
    white-space: normal;
    word-break: break-word;
}

/* Slightly reduce icon spacing and keep icon aligned on first line */
.vertical-tabs .custom-tab-btn .tab-icon {
    margin-top: 2px;
    flex: 0 0 auto;
}

/* Content should take remaining space */
.vertical-tabs .tab-content {
    flex: 1 1 auto;
    min-width: 0;              /* prevents overflow */
}

.nav-tabs {
    flex-direction: column;
    border: none;
}
.nav-tabs .nav-link {
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    margin-bottom: 0.5rem;
    padding: 0.5rem 1rem;
    text-align: left;
}
.nav-tabs .nav-link.active {
    background-color: #1C449B;
    color: white;
    border-color: #007bff;
}
.tab-content {
    flex: 1;
    padding-left: 1rem;
}

/* Reduce Spaces */
h1 {
    margin-bottom: 10px;
}
.mb-4 {
    margin-bottom: 10px !important;
}
.vertical-tabs {
    margin-top: 10px;
}

.tox-tinymce {
    max-width: 1218px !important;  /* Limit editor width */
    width: 100% !important;
    min-width: auto;
}

.tox-editor-container {
    width: 100% !important;
    max-width: 1218px !important;
}

/* Limit Tab Name Width */
.tab-entry input {
    max-width: 30%;  /* Adjust tab name width */
    flex: 0 0 30%;
}
/* Default Back Button Style */

.btn-secondary {
    background-color: #1C449B; /* Blue */
    color: white;
    border: none;
    padding: 20px 16px;
    font-size: 20px;
    border-radius: 5px;
    text-decoration: none;
    display: inline-block;
    margin-top: 20px;
}
.checkout-page.img-fluid {
    width: 350px;
    height: auto;
    border-radius: 8px; /* Optional rounded corners */
}
/* Restore default homepage image size */
.homepage .img-fluid {
    width: auto !important;
    max-width: 100% !important;
    height: 200px !important;  /* Restore homepage image height */
    object-fit: cover;
}

body {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* Checkout Page Layout */
.checkout-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: center;
    max-width: 900px;
    margin: 0 auto;
}

/* Left Side - Image */
.checkout-image {
    text-align: left; /* Align image to the left */
}

.checkout-image img {
    width: 100%;
    max-width: 350px; /* Limit image size */
    height: auto;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

/* Right Side - Details */
.checkout-details {
    text-align: left; /* Align all text to the left */
    max-width: 100%;
}

.checkout-details h2 {
    font-size: 24px;
    margin-bottom: 10px;
}

.checkout-details p {
    font-size: 16px;
    margin-bottom: 5px;
}

.checkout-details .btn {
    width: 100%;
    padding: 12px;
    font-size: 18px;
}

/* Responsive: Single-column on small screens */
@media (max-width: 768px) {
    .checkout-container {
        grid-template-columns: 1fr;
    }

    .checkout-details {
        text-align: left; /* Keep text aligned left on small screens */
    }
}

/* Ensure the layout is full screen */
.layout-container {
    display: flex;
}

/* Sidebar Styling */
.sidebar {
    width: 25%; /* Sidebar takes 25% of the width */
    background-color: #f4f4f4;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.sidebar button {
    padding: 10px;
    background-color: white;
    border: 1px solid #ddd;
    text-align: left;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.sidebar button:hover {
    background-color: #1c449b;
}

/* Active Button Styling */
.sidebar button.active {
    background-color: #d73f09; /* Green for active button */
    color: white;
}

/* Content Styling */
.content {
    width: 100%; /* Content takes the remaining 75% */
    padding: 20px;
    background-color: white;
    border-left: 1px solid #ddd;
    margin-bottom: 0;
}

/* Apply button styles to nav-link buttons */
.custom-tab-btn {
    width: 100%;  /* Make the button span full width */
    background-color: white;  /* Set background to white */
    color: #1C449B;  /* Set text color to blue */
    border: 1px solid gray;  /* Border color blue */
    text-align: center;  /* Center the text inside the button */
    padding: 12px;  /* Add padding for better spacing */
    font-weight: bold;  /* Optional: Make text bold */
    border-radius: 8px;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;  /* Smooth transition */
    margin-bottom: 10px;
}

/* Button on active/focus state */
.custom-tab-btn:active,
.custom-tab-btn:focus {
    background-color: white;  /* Change to orange when clicked/focused */
    color: #d73f09;  /* Change text to white when clicked/focused */
    border-color: #1C449B;  /* Change border color to orange */
}

/* Additional optional styles for hover */
.custom-tab-btn:hover {
    background-color: white;  /* Light gray background on hover */
    color: #d73f09;  /* Keep text blue on hover */
}

/* Optionally, remove border on the first and last tab */
.nav-item:first-child .nav-link {
    border-top-left-radius: 0; /* Optional: Remove top left radius */
}

.nav-item:last-child .nav-link {
    border-bottom-left-radius: 0; /* Optional: Remove bottom left radius */
}


/* 2. Add a gray border line around content */
.tab-content {
    border: 1px solid gray;  /* Add a gray border around the content */
    padding: 16px;  /* Add some space inside the content */
    margin-bottom: 20px;  /* Optional: Space from the bottom */
    border-radius: 8px;  /* Optional: Rounded corners for the border */
}

.post-image {
    width: 100%;
    height: 400px;              /* SAME as carousel */
    object-fit: cover;
    display: block;
    margin: 0 auto;
}
.post-image-wrapper {
    margin: 0;          /* removes vertical gaps */
    padding: 0;
}

/* Post title full-width block */
.post-title-wrapper {
    width: 100%;
    background-color: #f2f2f2;   /* light grey */
    padding: 24px 0;             /* vertical breathing room */
    margin: 0;                   /* no gaps */
}

/* Inner title styling */
.post-title {
    max-width: 1240px;           /* align with boxed content */
    margin: 0 auto;              /* center inside full-width block */
    padding: 0 20px;             /* align with container-boxed */
    font-size: 28px;
    font-weight: 500;
    color: #1C449B;
    line-height: 1.25;
}


.vertical-tabs {
    width: 100%;
}

.vertical-tabs .tab-content {
    width: 1218px;
}

.vertical-tabs .tab-pane {
    width: 100%;
}

.custom-back-btn {
    color: #d73f09;
    background: none;
    border: none;
    padding: 0;
    font-weight: bold;
    text-decoration: none;
}

.custom-back-btn:hover {
    text-decoration: underline;
}

.container {
    max-width: 1218px !important;
}

.horizontal-tabs .nav-tabs {
    flex-direction: row !important;
}

/* Force grid sections to be full width if needed */
.force-full-width {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
}

.text-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.text-btn {
    padding: 8px 16px;
    font-size: 18px;
    border-radius: 6px;
    background: #1C449B;
    color: white;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.text-btn:hover {
    background: #d73f09;
}

.text-btn.active {
    background: #d73f09;
    color: #fff;
}

.tab-pane { display: none; }
.tab-pane.active { display: block; }

/* Tabs outer wrapper */
.tabs-box {
    background: #ffffff;
    border: 1px solid #dcdcdc;
    border-radius: 12px;
    padding: 10px 12px;
}

/* Remove default bootstrap border */
.custom-tabs {
    border-bottom: 0 !important;
}

/* Individual tabs */
.custom-tabs .nav-link {
    border: 1px solid #dcdcdc !important;
    border-radius: 8px;
    margin-right: 6px;
    margin-bottom: 0;
    color: #1C449B;
    font-weight: 600;
    background: transparent;
    transition: all 0.15s ease;
}

/* Hover */
.custom-tabs .nav-link:hover {
    background: #f5f5f5;
    color: #d73f09;
    font-weight: 600;

}

/* Active tab */
.custom-tabs .nav-link.active {
    color: #d73f09 !important;
    background: #f3f3f3;
    border-color: #cfcfcf;
    font-weight: 600;

}

/* Content container */
.content-box {
    background: #ffffff;
    border: 1px solid #e1e1e1;
    border-radius: 14px;
    padding: 20px;
}
