/* ================================
   LM Fish Section
================================ */

.lm_fish_section {
    padding: 80px 0;
    background: #ffffff;
}

.lm_section_title h2 {
    font-size: 34px;
    font-weight: 600;
    margin-bottom: 50px;
}

/* Card */
.lm_fish_card {
    background: #fff;
    border-radius: 18px;
    padding: 25px 15px 30px;
    text-align: center;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    height: 100%;
    transition: all 0.3s ease;
}

.lm_fish_card:hover {
    transform: translateY(-8px);
}

/* Circle Image */
.lm_fish_circle {
    width: 150px;
    height: 150px;
    margin: 0 auto 20px;
    border-radius: 50%;
    /* background: radial-gradient(circle at top, #00c6d7, #007b8f); */
    display: flex;
    align-items: center;
    justify-content: center;
    /* border: 8px solid #bfefff; */
}

.lm_fish_circle img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Text */
.lm_fish_name {
    font-size: 20px;
    font-weight: 600;
    color: #004d66;
    margin-bottom: 8px;
}

.lm_fish_scientific {
    font-size: 14px;
    color: #333;
    margin: 0;
}

.lm_fish_scientific span {
    font-weight: 600;
    color: #005f73;
}

/* Responsive */
@media (max-width: 768px) {
    .lm_section_title h2 {
        font-size: 26px;
    }

    .lm_fish_circle {
        width: 130px;
        height: 130px;
    }
}

/* ================================
   LM About Greenways Section
================================ */

.lm_about_section {
    padding: 80px 0;
    background: #ffffff;
}

/* Title */
.lm_about_title {
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 20px;
}

/* Text */
.lm_about_text {
    font-size: 15px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 14px;
}

/* Logo Area */
.lm_about_logo_wrap {
    width: 260px;
    height: 260px;
    margin: 0 auto 25px;
    border-radius: 50%;
    background: #0aa0c8;
    padding: 10px;
}

.lm_about_logo_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* Company Info */
.lm_about_company {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 5px;
}

.lm_about_subtitle {
    font-size: 14px;
    font-style: italic;
    margin-bottom: 10px;
}

.lm_about_address {
    font-size: 14px;
    color: #333;
    max-width: 360px;
    margin: 0 auto;
}

/* Gallery */
.lm_about_gallery {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

.lm_about_gallery img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.lm_about_gallery:hover img {
    transform: scale(1.05);
}

/* Responsive */
@media (max-width: 991px) {
    .lm_about_logo_wrap {
        width: 220px;
        height: 220px;
    }

    .lm_about_title {
        font-size: 28px;
    }
}

/* Section */
.lm_fish_section_v2 {
    padding: 100px 0;
    background: linear-gradient(180deg, #f5fbff 0%, #ffffff 100%);
}

/* Title */
.lm_section_title_v2 .lm_subtitle {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #0aa6a6;
    margin-bottom: 8px;
}

.lm_section_title_v2 h2 {
    font-size: 38px;
    font-weight: 700;
    color: #0f172a;
}

/* Card */
.lm_fish_card_v2 {
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 22px;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
    box-shadow: 0 15px 35px rgba(15, 23, 42, 0.08);
}

.lm_fish_card_v2::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #0aa6a6, #0f766e);
    opacity: 0;
    transition: 0.4s;
}

.lm_fish_card_v2:hover::after {
    opacity: 0.08;
}

.lm_fish_card_v2:hover {
    transform: translateY(-12px);
    box-shadow: 0 30px 60px rgba(15, 23, 42, 0.18);
}

/* Image */
.lm_fish_img_wrap {
    width: 160px;
    height: 160px;
    margin: 0 auto 22px;
    background: #ffffff;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 2px #e6f6f6;
}

.lm_fish_img_wrap img {
    max-width: 140px;
    transition: transform 0.4s ease;
}

.lm_fish_card_v2:hover img {
    transform: scale(1.12) rotate(-3deg);
}

/* Content */
.lm_fish_content h4 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 6px;
    color: #0f172a;
}

.lm_fish_content p {
    font-size: 13px;
    color: #64748b;
    margin: 0;
}

.lm_fish_content span {
    font-style: italic;
}

/* Responsive */
@media (max-width: 768px) {
    .lm_section_title_v2 h2 {
        font-size: 28px;
    }

    .lm_fish_img_wrap {
        width: 120px;
        height: 120px;
    }
}

/* FILTER BAR */
.lm_gallery_filters {
    display: flex;
    gap: 14px;
    padding: 18px;
    background: #ffffff;
    border-radius: 22px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.lm_filter_btn {
    padding: 12px 28px;
    border-radius: 999px;
    border: 1px solid #e5e7eb;
    background: #fff;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
    cursor: pointer;
    transition: all 0.3s ease;
}

.lm_filter_btn:hover {
    background: #f1f5f9;
}

.lm_filter_btn.active {
    background: linear-gradient(135deg, #0d6efd, #0b5ed7);
    color: #fff;
    border: none;
    box-shadow: 0 10px 30px rgba(13, 110, 253, 0.45);
}

.lm_gallery_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

@media (max-width: 992px) {
    .lm_gallery_grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 576px) {
    .lm_gallery_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px;
    }
}

.lm_gallery_item {
    background: #ffffff;
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
    transition: all 0.35s ease;
    text-align: center;
}

.lm_gallery_item:hover {
    transform: translateY(-8px);
    box-shadow: 0 35px 70px rgba(0, 0, 0, 0.14);
}

/* IMAGE WRAPPER */
.lm_gallery_img_wrap {
    width: 100%;
    height: 200px;
    border-radius: 18px;
    /* background: radial-gradient(circle at top, #e0f2fe, #bae6fd); */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 18px;
}

.lm_gallery_img_wrap img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    transition: transform 0.5s ease;
}

.lm_gallery_item:hover img {
    transform: scale(1.1);
}

/* TEXT */
.lm_gallery_item h5 {
    font-size: 17px;
    font-weight: 700;
    color: #111827;
}

/* Pagination container */
.lm_pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    /* spacing between buttons and numbers */
    flex-wrap: wrap;
    /* wrap if screen is small */
}

/* Buttons style */
.lm_page_btn {
    padding: 8px 16px;
    border: none;
    background-color: #007bff;
    color: #fff;
    cursor: pointer;
    border-radius: 5px;
    font-size: 14px;
    transition: background-color 0.3s;
}

.lm_page_btn:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

.lm_page_btn:hover:not(:disabled) {
    background-color: #0056b3;
}

/* Page numbers style */
#pageNumbers {
    display: flex;
    gap: 5px;
    margin: 0 10px;
    /* spacing from buttons */
}

.lm_page_number {
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px solid #007bff;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 14px;
}

.lm_page_number.active {
    background-color: #007bff;
    color: #fff;
    border-color: #007bff;
}

.lm_page_number:hover:not(.active) {
    background-color: #e0f0ff;
}

/* Franchise Design */

.lm_franchise_wrapper {
    padding: 50x 20px 60px;
    /* top space for header */
    background: #f5f7fb;
}

.lm_franchise_container {
    max-width: 1200px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    /* IMPORTANT */
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.lm_franchise_left {
    width: 45%;
    min-height: 100%;
    background: #eef3ff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

.lm_franchise_img {
    max-width: 100%;
    height: auto;
}

.lm_franchise_right {
    width: 55%;
    padding: 40px;
}

.lm_input {
    width: 100%;
    padding: 14px 16px;
    margin-bottom: 16px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    background: #fff;
}

.lm_textarea {
    resize: none;
    height: 90px;
}

.lm_row {
    display: flex;
    gap: 16px;
}

.lm_submit_btn {
    width: 100%;
    padding: 14px;
    background: #3f51b5;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

.lm_submit_btn:hover {
    background: #2f3ea8;
}

/* Disabled state */
.lm_submit_btn:disabled {
    background-color: #bdbdbd;
    /* greyed out */
    color: #666;
    cursor: not-allowed;
    opacity: 0.7;
}

.lm_form_msg {
    margin-top: 10px;
    font-size: 14px;
}

@media (max-width: 991px) {

    .lm_franchise_wrapper {
        padding: 100px 15px 40px;
    }

    .lm_franchise_left,
    .lm_franchise_right {
        width: 100%;
    }

    .lm_franchise_left {
        padding: 30px 20px;
    }

    .lm_franchise_right {
        padding: 30px 20px;
    }

    .lm_row {
        flex-direction: column;
        gap: 0;
    }
}

@media (max-width: 576px) {

    .lm_franchise_wrapper {
        padding-top: 90px;
    }

    .lm_input {
        font-size: 13px;
        padding: 12px 14px;
    }

    .lm_submit_btn {
        font-size: 14px;
    }
}

.lm_error {
    color: red;
    font-size: 12px;
    margin-top: 4px;
    display: block;
}

#lm_snackbar {
    visibility: hidden;
    min-width: 280px;
    color: #fff;
    text-align: center;
    padding: 14px 20px;
    border-radius: 6px;
    position: fixed;
    z-index: 9999;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    font-size: 14px;
}

/* SUCCESS = GREEN */
#lm_snackbar.success {
    background-color: #2e7d32;
}

/* ERROR = RED */
#lm_snackbar.error {
    background-color: #c62828;
}

#lm_snackbar.show {
    visibility: visible;
    animation: fadein 0.3s, fadeout 0.3s 2.7s;
}

@keyframes fadein {
    from {
        bottom: 10px;
        opacity: 0;
    }

    to {
        bottom: 30px;
        opacity: 1;
    }
}

@keyframes fadeout {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

/* MAIN CONTAINER */
.lm_sourcing_container {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
}

/* INTRO */
.lm_intro_section {
    text-align: center;
    margin-bottom: 60px;
}

.lm_icon_wrapper {
    margin-bottom: 20px;
}

.lm_icon {
    width: 60px;
    height: 60px;
    fill: #4A9FD8;
}

.lm_intro_text {
    font-size: 20px;
    color: #666;
    line-height: 1.8;
    max-width: 900px;
    margin: 0 auto;
}

/* LOCATIONS */
.lm_locations_wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 2 cards per row */
    gap: 30px;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .lm_locations_wrapper {
        grid-template-columns: 1fr;
        /* 1 per row on mobile */
    }
}

/* CARD */
.lm_location_card {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: transform .3s ease, box-shadow .3s ease;
}

.lm_location_card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}

/* IMAGE */
.lm_location_image {
    width: 100%;
    height: 350px;
    object-fit: cover;
    display: block;
}

/* CONTENT */
.lm_location_content {
    padding: 40px;
}

.lm_location_title {
    font-size: 28px;
    font-weight: 600;
    color: #4A9FD8;
    text-align: center;
    margin-bottom: 25px;
}

.lm_location_description {
    font-size: 16px;
    color: #444;
    line-height: 1.9;
    text-align: justify;
}

/* SPACERS */
.lm_spacer_medium {
    height: 50px;
}

.lm_divider {
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, transparent, #ddd, transparent);
    margin: 60px 0;
}

/* SUSTAINABILITY */
.lm_sustainability_section {
    background: #ffffff;
    border-radius: 14px;
    padding: 50px 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.lm_sustainability_title {
    font-size: 30px;
    color: #4A9FD8;
    text-align: center;
    margin-bottom: 35px;
}

.lm_sustainability_content {
    max-width: 900px;
    margin: 0 auto;
}

.lm_sustainability_paragraph {
    font-size: 16px;
    color: #555;
    line-height: 1.9;
    margin-bottom: 22px;
    text-align: justify;
}

.lm_highlight_text {
    color: #4A9FD8;
    font-weight: 600;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .lm_location_image {
        height: 280px;
    }

    .lm_location_content {
        padding: 25px;
    }

    .lm_location_title {
        font-size: 22px;
    }

    .lm_intro_text {
        font-size: 17px;
    }

    .lm_sustainability_section {
        padding: 35px 25px;
    }
}

@media (max-width: 480px) {
    .lm_location_image {
        height: 220px;
    }

    .lm_location_title {
        font-size: 20px;
    }

    .lm_sustainability_title {
        font-size: 22px;
    }
}

.lm_sustain_section {
    background: linear-gradient(180deg, #dbecef, #cfe3e8);
    padding: 80px 0;
    margin-top: 50px;
}

.lm_container {
    max-width: 1200px;
    margin: auto;
    padding: 0 20px;
}

.lm_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: stretch;
    /* equal height */
}

/* Left content */
.lm_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.lm_title {
    font-size: 42px;
    color: #243b5a;
    margin-bottom: 25px;
}

.lm_desc {
    font-size: 18px;
    line-height: 1.8;
    color: #3a4a5a;
    margin-bottom: 35px;
    max-width: 520px;
}

.lm_btn {
    display: inline-block;
    padding: 14px 40px;
    background: linear-gradient(180deg, #3f6c8f, #244a6a);
    color: #fff;
    border-radius: 50px;
    text-decoration: none;
    font-size: 18px;
    transition: 0.3s;
}

.lm_btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

/* Right images */
.lm_images {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr;
    gap: 20px;
    height: 100%;
}

.lm_img_main {
    height: 100%;
}

.lm_img_main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

/* stacked images */
.lm_img_stack {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
    height: 100%;
}

.lm_img_stack img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 6px;
}

/* Responsive */
@media (max-width: 900px) {

    .lm_grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .lm_images {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .lm_img_stack {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    .lm_title {
        font-size: 34px;
    }
}

.lm_features-section {
    padding: 60px 20px;
    max-width: 1200px;
    margin: auto;
}

/* GRID */
.lm_features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

/* CARD */
.lm_feature-card {
    text-align: center;
}

/* TITLE */
.lm_feature-title {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 15px;
}

/* IMAGE */
.lm_feature-image {
    width: 100%;
    height: 280px;
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 15px;
    object-fit: cover;
}

.lm_feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* TEXT */
.lm_feature-desc {
    font-size: 15px;
    color: #555;
    line-height: 1.6;
}

/* MOBILE */
@media (max-width:768px) {
    .lm_features-grid {
        grid-template-columns: 1fr;
    }
}

.lm_feature-row {
    display: flex;
    align-items: center;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto 80px auto;
}

/* Reverse layout */
.lm_feature-row.reverse {
    flex-direction: row-reverse;
}

.lm_feature-image,
.lm_feature-content {
    flex: 1;
}

/* Image */
.lm_feature-image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 12px;
}

/* Text */
.lm_feature-title {
    font-size: 32px;
    margin-bottom: 20px;
    font-weight: 600;
}

.lm_feature-desc {
    font-size: 16px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 15px;
}

.lm_feature-link {
    color: #0077cc;
    text-decoration: none;
}

.lm_feature-link:hover {
    text-decoration: underline;
}

/* Mobile */
@media (max-width: 768px) {
    .lm_feature-row {
        flex-direction: column;
        text-align: center;
    }

    .lm_feature-row.reverse {
        flex-direction: column;
    }

    .lm_feature-image img {
        height: 300px;
    }
}

.lm_share-section {
    width: 100%;
    background: #e9ecef;
    padding: 80px 20px;
    text-align: center;
}

.lm_share-container {
    max-width: 1000px;
    margin: 0 auto;
}

.lm_share-title {
    font-size: 36px;
    color: #2b6cb0;
    margin-bottom: 25px;
    font-weight: 600;
}

.lm_share-subtitle {
    font-size: 20px;
    margin-bottom: 40px;
    color: #333;
}

.lm_share-link {
    color: #2b6cb0;
    text-decoration: none;
    font-weight: 500;
}

.lm_share-link:hover {
    text-decoration: underline;
}

.lm_share-icons {
    display: flex;
    justify-content: center;
    gap: 40px;
}

.lm_share-icons a {
    font-size: 48px;
    color: #2b6cb0;
    transition: 0.3s ease;
}

.lm_share-icons a:hover {
    transform: translateY(-5px);
    color: #1a4f8a;
}

.lm_hub-section {
    background: #f4f5f7;
    padding: 80px 20px;
}

/* Main container */
.lm_hub-container {
    max-width: 1200px;
    margin: 0 auto 80px auto;
    display: flex;
    align-items: center;
    gap: 60px;
}

/* Image */
.lm_hub-image {
    flex: 1;
}

.lm_hub-image img {
    width: 100%;
    border-radius: 10px;
}

/* Content */
.lm_hub-content {
    flex: 1;
}

.lm_hub-title {
    font-size: 28px;
    margin-bottom: 20px;
    font-weight: 600;
    color: #1f2d5a;
}

.lm_hub-subtitle {
    margin-bottom: 20px;
    font-weight: 500;
}

/* List */
.lm_hub-list {
    list-style: none;
    padding: 0;
    margin-bottom: 30px;
}

.lm_hub-list li {
    margin-bottom: 12px;
    position: relative;
    padding-left: 25px;
}

.lm_hub-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #1f2d5a;
    font-weight: bold;
}

/* Button */
.lm_hub-btn {
    display: inline-block;
    background: #5190f5;
    color: #fff;
    padding: 12px 28px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.lm_hub-btn:hover {
    background: #1f2d5a;
}

/* App section */
.lm_app-section {
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
}

.lm_app-section h3 {
    font-size: 26px;
    margin-bottom: 15px;
    color: #1f2d5a;
}

.lm_app-section p {
    margin-bottom: 25px;
    color: #555;
}

.lm_app-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.lm_app-buttons img {
    height: 50px;
    cursor: pointer;
}

/* Responsive */
@media (max-width: 992px) {
    .lm_hub-container {
        flex-direction: column;
        text-align: center;
    }

    .lm_hub-list li {
        padding-left: 0;
    }

    .lm_hub-list li::before {
        position: static;
        margin-right: 8px;
    }
}

.lm_seasonal-section {
    padding: 80px 20px;
    background: #f5f5f5;
}

/* Intro text */
.lm_seasonal-intro {
    max-width: 1000px;
    margin: 0 auto 60px auto;
    text-align: center;
    color: #444;
    line-height: 1.8;
}

.lm_seasonal-intro p {
    margin-bottom: 20px;
}

/* Highlight Box */
.lm_seasonal-box {
    background: #e9e9e9;
    padding: 50px 20px;
    text-align: center;
    margin: 0 auto 60px auto;
    max-width: 1100px;
}

.lm_seasonal-box h3 {
    color: #2b6cb0;
    font-size: 24px;
    margin-bottom: 25px;
    font-weight: 600;
}

/* Button */
.lm_seasonal-btn {
    display: inline-block;
    padding: 12px 30px;
    background: #5190f5;
    color: #fff;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s ease;
}

.lm_seasonal-btn:hover {
    background: #1f2d5a;
}

/* Images */
.lm_seasonal-images {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 30px;
}

.lm_img-large {
    flex: 2;
}

.lm_img-small {
    flex: 1;
}

.lm_seasonal-images img {
    width: 100%;
    height: 350px;
    object-fit: cover;
    border-radius: 6px;
}

/* Responsive */
@media (max-width: 992px) {
    .lm_seasonal-images {
        flex-direction: column;
    }

    .lm_seasonal-images img {
        height: 250px;
    }
}

.lm_species-section {
    padding: 80px 20px;
    background: #f4f4f4;
}

.lm_species-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* Card */
.lm_species-card {
    background: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    overflow: hidden;
}

/* Top Blue Bar */
.lm_card-top {
    height: 20px;
    background: #5190f5;
}

/* Image */
.lm_card-image {
    width: 100%;
    height: 225px;
    /* reduced height */
    overflow: hidden;
    position: relative;
}

.lm_card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Title */
.lm_card-title {
    background: #5190f5;
    color: #fff;
    padding: 15px;
    font-weight: 600;
    text-align: center;
}

/* Body */
.lm_card-body {
    padding: 20px;
    flex-grow: 1;
}

.lm_card-body p {
    font-size: 14px;
    line-height: 1.7;
    color: #555;
    margin-bottom: 20px;
}

/* Button */
.lm_card-btn {
    display: block;
    /* change from inline-block */
    width: fit-content;
    /* button keeps its size */
    margin: 15px auto 0;
    /* center horizontally */
    padding: 8px 20px;
    background: #5190f5;
    color: #fff;
    border-radius: 20px;
    text-decoration: none;
    font-size: 14px;
    transition: 0.3s ease;
}

.lm_card-btn:hover {
    background: #1e2b4d;
}

/* Responsive */
@media (max-width: 992px) {
    .lm_species-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .lm_species-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   lm_view — Direct Seafoods Guide Section
   Responsive: mobile-first, scales to desktop
   ============================================================ */



/* ── Section wrapper ── */
.lm_view {
    max-width: 1280px;
    margin: 0 auto;
    padding: 48px 20px 64px;
}

/* ── Title ── */
.lm_view__title {
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    font-weight: 700;
    color: #1a2d4a;
    text-align: center;
    line-height: 1.3;
    margin-bottom: 40px;
}

/* ── Outer grid: featured | cards ── */
.lm_view__grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 16px;
    align-items: stretch;
}

/* ── Featured left card ── */
.lm_view__featured {
    position: relative;
    border: 2px solid #1e7b8a;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 420px;
    background: #fff;
}

.lm_view__featured-badge {
    position: absolute;
    top: -1px;
    left: 100px;
    z-index: 10;
    background: #1e4f6b;
    color: #fff;
    border-radius: 50%;
    width: 58px;
    height: 58px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    gap: 2px;
    cursor: pointer;
    transition: background 0.2s;
}

.lm_view__featured-badge:hover {
    background: #1e7b8a;
}

.lm_view__featured-text {
    padding: 56px 24px 16px;
    text-align: center;
}

.lm_view__featured-text p {
    font-size: 1.25rem;
    color: #1a2d4a;
    line-height: 1.4;
}

.lm_view__featured-img {
    flex: 1;
    overflow: hidden;
}

.lm_view__featured-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.lm_view__featured:hover .lm_view__featured-img img {
    transform: scale(1.04);
}

/* ── Right 2×2 card grid ── */
.lm_view__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 12px;
}

/* ── Individual card ── */
.lm_view__card {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    display: block;
    text-decoration: none;
    min-height: 200px;
}

.lm_view__card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.lm_view__card:hover img {
    transform: scale(1.05);
}

/* Wide card spanning both columns in top row */
.lm_view__card--wide {
    grid-column: 1 / 2;
}

/* ── Card overlay label ── */
.lm_view__card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(10, 40, 60, 0.55) 0%, transparent 60%);
    display: flex;
    align-items: flex-end;
    padding: 18px 20px;
    transition: background 0.3s;
}

.lm_view__card-overlay--dark {
    background: linear-gradient(to top, rgba(10, 40, 60, 0.7) 0%, rgba(10, 40, 60, 0.25) 60%);
}

.lm_view__card:hover .lm_view__card-overlay {
    background: linear-gradient(to top, rgba(10, 40, 60, 0.72) 0%, transparent 70%);
}

.lm_view__card-overlay span {
    font-size: clamp(1rem, 2vw, 1.3rem);
    font-weight: 600;
    color: #fff;
    line-height: 1.2;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */

/* Large tablets: collapse to single column */
@media (max-width: 900px) {
    .lm_view__grid {
        grid-template-columns: 1fr;
    }

    .lm_view__featured {
        min-height: 280px;
        flex-direction: row;
        align-items: center;
    }

    .lm_view__featured-badge {
        top: 12px;
        left: 100px;
    }

    .lm_view__featured-text {
        padding: 24px 20px;
        flex: 0 0 46%;
        text-align: left;
    }

    .lm_view__featured-img {
        flex: 0 0 54%;
        height: 220px;
    }

    .lm_view__cards {
        grid-template-rows: auto;
    }

    .lm_view__card {
        min-height: 180px;
    }
}

/* Small tablets / large phones */
@media (max-width: 640px) {
    .lm_view {
        padding: 32px 16px 48px;
    }

    .lm_view__featured {
        flex-direction: column;
    }

    .lm_view__featured-text {
        flex: unset;
        text-align: center;
        padding: 48px 20px 12px;
    }

    .lm_view__featured-img {
        flex: 0 0 180px;
        height: 180px;
        width: 100%;
    }

    .lm_view__cards {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .lm_view__card--wide {
        grid-column: 1 / -1;
    }

    .lm_view__card {
        min-height: 150px;
    }
}

/* Mobile phones */
@media (max-width: 420px) {
    .lm_view__cards {
        grid-template-columns: 1fr;
    }

    .lm_view__card--wide {
        grid-column: 1;
    }

    .lm_view__card {
        min-height: 200px;
    }
}

/* ============================================================
   preparation.css
   Prefix: lm_preparation
   Sections:
     1. lm_preparation__guide   — Fish Preparation Cuts Guide
     2. lm_preparation__tutorials — Tutorial Videos
   Responsive: mobile-first
   ============================================================ */


/* ============================================================
   SECTION 1 — lm_preparation__guide
   ============================================================ */

.lm_preparation__guide {
    max-width: 600px;
    margin: 0 auto;
    padding: 48px 20px 64px;
    text-align: center;
}

/* ── Header block ── */
.lm_preparation__guide-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-bottom: 32px;
}

.lm_preparation__guide-icon svg {
    display: block;
}

.lm_preparation__guide-intro {
    font-size: 0.88rem;
    color: #555;
    line-height: 1.6;
    max-width: 480px;
}

/* ── Cut article ── */
.lm_preparation__cut {
    margin-bottom: 52px;
}

.lm_preparation__cut-title {
    font-size: clamp(1.4rem, 3.5vw, 1.9rem);
    font-weight: 600;
    color: #4a90a4;
    margin-bottom: 12px;
}

.lm_preparation__cut-desc {
    font-size: 0.88rem;
    color: #555;
    line-height: 1.7;
    margin-bottom: 20px;
}

/* ── Cut image ── */
.lm_preparation__cut-image {
    width: 100%;
    max-width: 440px;
    margin: 0 auto 20px;
    border-radius: 4px;
    overflow: hidden;
}

.lm_preparation__cut-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.lm_preparation__cut-image:hover img {
    transform: scale(1.03);
}

/* ── Fish types list ── */
.lm_preparation__cut-fish-types {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 4px 0;
    margin-bottom: 20px;
}

.lm_preparation__cut-fish-label {
    font-size: 0.82rem;
    font-weight: 600;
    color: #333;
    margin-right: 6px;
}

.lm_preparation__cut-fish-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    /* add spacing if needed */
    align-items: center;
    padding: 0;
    margin: 0;
}

.lm_preparation__cut-fish-list li {
    display: flex;
    align-items: center;
}

.lm_preparation__cut-fish-list li+li::before {
    content: '|';
    color: #bbb;
    padding: 0 6px;
    font-size: 0.8rem;
}

.lm_preparation__cut-fish-list a {
    font-size: 0.82rem;
    color: #333;
    text-decoration: none;
    transition: color 0.2s;
}

.lm_preparation__cut-fish-list a:hover {
    color: #4a90a4;
    text-decoration: underline;
}

/* ── Video block ── */
.lm_preparation__cut-video {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
}

.lm_preparation__cut-video-thumb {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
}

.lm_preparation__cut-video-thumb img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 16/9;
    filter: brightness(0.85);
    transition: filter 0.3s;
}

.lm_preparation__cut-video-thumb:hover img {
    filter: brightness(0.75);
}

.lm_preparation__cut-video-play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
}

.lm_preparation__cut-video-play:hover {
    transform: scale(1.08);
}

.lm_preparation__cut-video-caption {
    font-size: 0.8rem;
    color: #666;
    margin-top: 8px;
    text-align: center;
}


/* ============================================================
   SECTION 2 — lm_preparation__tutorials
   ============================================================ */

.lm_preparation__tutorials {
    background: #f0f0f0;
    padding: 48px 20px 56px;
}

.lm_preparation__tutorials-inner {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.lm_preparation__tutorials-title {
    font-size: clamp(1.4rem, 3.5vw, 1.9rem);
    font-weight: 600;
    color: #1a2d4a;
    margin-bottom: 14px;
}

.lm_preparation__tutorials-desc {
    font-size: 0.86rem;
    color: #555;
    line-height: 1.7;
    max-width: 540px;
    margin: 0 auto 36px;
}

.lm_preparation__tutorials-link {
    color: #4a90a4;
    font-weight: 600;
    text-decoration: none;
}

.lm_preparation__tutorials-link:hover {
    text-decoration: underline;
}

/* ── Video grid ── */
.lm_preparation__tutorials-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px 32px;
}

/* Third item centered in its own row */
.lm_preparation__tutorials-item--center {
    grid-column: 1 / -1;
    max-width: 320px;
    margin: 0 auto;
    width: 100%;
}

/* ── Each tutorial item ── */
.lm_preparation__tutorials-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.lm_preparation__tutorials-thumb {
    position: relative;
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    background: #ddd;
    cursor: pointer;
}

.lm_preparation__tutorials-thumb img {
    width: 100%;
    display: block;
    aspect-ratio: 16/9;
    object-fit: cover;
    filter: brightness(0.82);
    transition: filter 0.3s;
}

.lm_preparation__tutorials-thumb:hover img {
    filter: brightness(0.7);
}

.lm_preparation__tutorials-play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
}

.lm_preparation__tutorials-play:hover {
    transform: scale(1.1);
}

.lm_preparation__tutorials-caption {
    font-size: 0.8rem;
    color: #555;
    line-height: 1.4;
    text-align: center;
}


/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */

/* Tablet */
@media (max-width: 640px) {
    .lm_preparation__guide {
        padding: 32px 16px 48px;
    }

    .lm_preparation__tutorials {
        padding: 36px 16px 44px;
    }

    .lm_preparation__tutorials-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .lm_preparation__tutorials-item--center {
        grid-column: 1;
        max-width: 100%;
    }
}

/* Small phones */
@media (max-width: 380px) {

    .lm_preparation__cut-title,
    .lm_preparation__tutorials-title {
        font-size: 1.3rem;
    }

    .lm_preparation__cut-fish-types {
        flex-direction: column;
        gap: 6px;
    }

    .lm_preparation__cut-fish-label {
        margin-right: 0;
    }
}

/* ============================================================
   benefits.css
   Prefix: lm_benefits
   Sections:
     1. lm_benefits__articles  — #FishisGreat health articles
     2. lm_benefits__cta       — Order CTA banner
   Responsive: mobile-first
   ============================================================ */


/* ============================================================
   SECTION 1 — lm_benefits__articles
   ============================================================ */

.lm_benefits__articles {
    padding: 52px 20px 64px;
}

/* .lm_benefits__articles-inner {
    max-width: 900px;
    margin: 0 auto;
} */

/* ── Header ── */
.lm_benefits__articles-header {
    text-align: center;
    margin-bottom: 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.lm_benefits__articles-icon svg {
    display: block;
}

.lm_benefits__articles-hashtag {
    font-size: clamp(1.4rem, 4vw, 2rem);
    font-weight: 700;
    color: #1a2d4a;
    line-height: 1.2;
}

.lm_benefits__articles-tagline {
    font-size: clamp(0.95rem, 2.5vw, 1.05rem);
    font-weight: 600;
    color: #333;
    line-height: 1.4;
    max-width: 80%;
}

.lm_benefits__articles-intro {
    font-size: 0.85rem;
    color: #666;
    line-height: 1.7;
    max-width: 80%;
}

/* ── Article card ── */
.lm_benefits__card {
    display: grid;
    gap: 28px;
    margin-bottom: 52px;
    align-items: center;
}

/* Image LEFT layout */
.lm_benefits__card--img-left {
    grid-template-columns: 360px 1fr;
}

/* Image RIGHT layout */
.lm_benefits__card--img-right {
    grid-template-columns: 1fr 360px;
}

/* ── Card image ── */
.lm_benefits__card-image {
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
}

.lm_benefits__card-image img {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.lm_benefits__card-image:hover img {
    transform: scale(1.04);
}

/* ── Card body ── */
.lm_benefits__card-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.lm_benefits__card-source {
    font-size: clamp(1.1rem, 2.5vw, 1.4rem);
    font-weight: 600;
    color: #1a2d4a;
}

.lm_benefits__card-text {
    font-size: 0.83rem;
    color: #555;
    line-height: 1.75;
}

/* ── CTA button ── */
.lm_benefits__card-btn {
    display: inline-block;
    align-self: flex-start;
    margin-top: 6px;
    padding: 9px 20px;
    background: #4a90a4;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 3px;
    transition: background 0.2s, transform 0.15s;
}

.lm_benefits__card-btn:hover {
    background: #3a7a8e;
    transform: translateY(-1px);
}

/* ── Image-right: body comes first in DOM but visually first ── */
.lm_benefits__card--img-right .lm_benefits__card-body {
    order: 1;
}

.lm_benefits__card--img-right .lm_benefits__card-image {
    order: 2;
}


/* ============================================================
   SECTION 2 — lm_benefits__cta
   ============================================================ */

.lm_benefits__cta {
    background: #f0f0f0;
    padding: 48px 20px;
}

.lm_benefits__cta-inner {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.lm_benefits__cta-title {
    font-size: clamp(1.15rem, 3vw, 1.55rem);
    font-weight: 600;
    color: #4a90a4;
    line-height: 1.35;
}

.lm_benefits__cta-desc {
    font-size: 0.88rem;
    color: #555;
    line-height: 1.7;
    max-width: 480px;
    margin: 0 auto;
}


/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */

/* Tablet / large phone */
@media (max-width: 620px) {
    .lm_benefits__articles {
        padding: 36px 16px 48px;
    }

    /* Stack both card layouts vertically */
    .lm_benefits__card--img-left,
    .lm_benefits__card--img-right {
        grid-template-columns: 1fr;
    }

    /* On mobile, image-right: image goes back above text */
    .lm_benefits__card--img-right .lm_benefits__card-image {
        order: -1;
    }

    .lm_benefits__card-image img {
        aspect-ratio: 16/9;
        max-height: 280px;
        width: 100%;
    }

    .lm_benefits__card-btn {
        align-self: center;
    }

    .lm_benefits__cta {
        padding: 36px 16px;
    }
}

/* Small phones */
@media (max-width: 380px) {
    .lm_benefits__articles-hashtag {
        font-size: 1.2rem;
    }

    .lm_benefits__card-source {
        font-size: 1.1rem;
    }

    .lm_benefits__cta-title {
        font-size: 1.1rem;
    }
}

/* =============================================
   SECTION 1 - Product Categories
   All class names prefixed with: lm_
   ============================================= */



/* ===== SECTION WRAPPER ===== */
.lm_section {
    /* max-width: 960px; */
    margin: 0 auto;
    padding: 60px 24px;
}

/* ===== INTRO ===== */
.lm_intro {
    text-align: center;
    margin-bottom: 48px;
}

.lm_intro_logo {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.lm_intro_logo svg {
    width: 32px;
    height: 48px;
    opacity: 0.6;
}

.lm_intro_text {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.8;
    color: #555;
    max-width: 560px;
    margin: 0 auto 10px;
}

/* ===== CARDS GRID ===== */
.lm_cards_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* ===== SINGLE CARD ===== */
.lm_card {
    background: #fff;
    border: 1px solid #e8e4de;
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.lm_card:hover {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.10);
    transform: translateY(-4px);
}

/* ===== CARD IMAGE WRAP ===== */
.lm_card_image_wrap {
    position: relative;
    height: 220px;
    overflow: hidden;
}

.lm_card_image_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.lm_card:hover .lm_card_image_wrap img {
    transform: scale(1.05);
}

/* ===== CARD LABEL (over image) ===== */
.lm_card_label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px 16px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, transparent 100%);
}

.lm_card_label h3 {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.2px;
}

/* ===== CARD BODY ===== */
.lm_card_body {
    padding: 20px 18px 24px;
    display: flex;
    flex-direction: column;
}

.lm_card_desc {
    font-size: 13px;
    line-height: 1.75;
    color: #555;
    font-weight: 300;
    margin-bottom: 20px;
    flex: 1;
}

/* ===== BUTTON GROUP ===== */
.lm_btn_group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
}

/* ===== BUTTON ===== */
.lm_btn {
    display: inline-block;
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    border: none;
    background: #5190f5;
    color: #fff;
    transition: background 0.2s ease;
}

.lm_btn:hover {
    background: #2a5468;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 720px) {
    .lm_cards_grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 481px) and (max-width: 720px) {
    .lm_cards_grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* === SECTION 2 - AREAS TO EXPLORE === */

.lm_explore_section {
    /* max-width: 960px; */
    margin: 0 auto;
    padding: 60px 24px;
}

.lm_explore_heading {
    text-align: center;
    margin-bottom: 32px;
}

.lm_explore_heading p {
    font-size: 14px;
    font-weight: 400;
    color: #3a7ca5;
    letter-spacing: 0.3px;
}

.lm_explore_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.lm_explore_tile {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    height: 190px;
}

.lm_explore_tile:nth-child(3),
.lm_explore_tile:nth-child(4) {
    height: 170px;
}

.lm_explore_tile_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.72);
    transition: transform 0.5s ease, filter 0.5s ease;
}

.lm_explore_tile:hover .lm_explore_tile_img {
    transform: scale(1.06);
    filter: brightness(0.50);
}

.lm_explore_tile_overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.lm_explore_tile_label {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    letter-spacing: 0.3px;
    transition: transform 0.3s ease;
}

.lm_explore_tile:hover .lm_explore_tile_label {
    transform: scale(1.05);
}

@media (max-width: 560px) {
    .lm_explore_grid {
        grid-template-columns: 1fr;
    }

    .lm_explore_tile,
    .lm_explore_tile:nth-child(3),
    .lm_explore_tile:nth-child(4) {
        height: 160px;
    }
}

/* ===== GLOSSARY PAGE CSS ===== */


/* Hero */
.lm_det_hero {
    background: linear-gradient(135deg, #5190f5 0%, #5190f5 60%, #3a8fa8 100%);
    padding: 60px 20px 50px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.lm_det_hero::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 40px;
    background: #f4f7f8;
    clip-path: ellipse(55% 100% at 50% 100%);
}

.lm_det_hero-title {
    font-size: 3rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.lm_det_hero-sub {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.75);
    font-weight: 300;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* Species Section */
.lm_det_species-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 20px;
}

/* Grid */
.lm_det_species-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 28px;
}

/* Card */
.lm_det_species-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.07);
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    display: flex;
    flex-direction: column;
}

.lm_det_species-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 36px rgba(46, 107, 128, 0.18);
}

.lm_det_card-top {
    height: 6px;
    background: linear-gradient(90deg, #5190f5, #5fb3c8);
}

.lm_det_card-image {
    width: 100%;
    height: 170px;
    overflow: hidden;
    background: #dde9ee;
}

.lm_det_card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.lm_det_species-card:hover .lm_det_card-image img {
    transform: scale(1.06);
}

.lm_det_card-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #5190f5;
    padding: 16px 18px 8px;
}

.lm_det_card-body {
    padding: 0 18px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.lm_det_card-body p {
    font-size: 0.88rem;
    color: #5a7080;
    line-height: 1.6;
    flex: 1;
}

.lm_det_card-btn {
    display: inline-block;
    background: #5190f5;
    color: #ffffff;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 10px 18px;
    border-radius: 6px;
    transition: background 0.2s ease;
    text-align: center;
}

.lm_det_card-btn:hover {
    background: #5190f5;
}

/* Responsive */
@media (max-width: 600px) {
    .lm_det_hero-title {
        font-size: 2rem;
    }

    .lm_det_species-grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }
}

@media (max-width: 400px) {
    .lm_det_species-grid {
        grid-template-columns: 1fr;
    }
}

/* ===== DETAIL PAGE CSS ===== */

.lm_det_hidden {
    display: none !important;
}

.lm_det_back-btn {
    background: none;
    align-items: center;
    border: none;
    color: #5190f5;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    padding: 18px 28px;
    display: block;
    letter-spacing: 0.3px;
    transition: color 0.2s;

    margin: 0 auto;
    /* 👈 Add this */
    text-align: center;
}

.lm_det_back-btn:hover {
    color: #5190f5;
}

.lm_det_detail-header {
    background: linear-gradient(160deg, #e8f3f7 0%, #f4f7f8 100%);
    text-align: center;
    padding-bottom: 40px;
    border-bottom: 1px solid #dde9ee;
    padding: 10px 10px 40px 10px;
}

.lm_det_header-circle {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 18px;
    border: 4px solid #fff;
    box-shadow: 0 4px 20px rgba(46, 107, 128, 0.18);
}

.lm_det_header-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lm_det_category-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #7a9aaa;
    margin-bottom: 10px;
}

.lm_det_category-title {
    font-size: 1rem;
    font-weight: 400;
    color: #4a6070;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.7;
    padding: 0 20px;
}

.lm_det_animals-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 24px;
    max-width: 1000px;
    margin: 40px auto;
    padding: 0 24px 60px;
}

.lm_det_animal-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.07);
    cursor: pointer;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.lm_det_animal-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 28px rgba(46, 107, 128, 0.16);
}

.lm_det_animal-card-img {
    position: relative;
    height: 200px;
    background: #dde9ee;
    overflow: hidden;
}

.lm_det_animal-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.lm_det_animal-card:hover .lm_det_animal-card-img img {
    transform: scale(1.05);
}

.lm_det_animal-card-name {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(26, 58, 74, 0.85));
    color: #fff;
    font-size: 1.15rem;
    font-weight: 600;
    padding: 24px 14px 12px;
}

.lm_det_animal-card-body {
    padding: 14px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.lm_det_animal-card-body p {
    font-size: 0.86rem;
    /* height: 120px; */
    color: #5a7080;
    line-height: 1.6;
}

.lm_det_learn-btn {
    background: #5190f5;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}

.lm_det_learn-btn:hover {
    background: #5190f5;
}

.lm_det_animal-header {
    background: linear-gradient(160deg, #e8f3f7 0%, #f4f7f8 100%);
    text-align: center;
    padding-bottom: 36px;
    border-bottom: 1px solid #dde9ee;
}

.lm_det_back-animal {
    text-align: left;
}

.lm_det_animal-title {
    font-size: 2rem;
    font-weight: 700;
    color: #5190f5;
    margin-top: 4px;
    padding: 0 20px;
}

.lm_det_animal-content {
    max-width: 700px;
    margin: 0 auto;
    padding: 36px 24px 60px;
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.lm_det_animal-desc {
    font-size: 0.97rem;
    color: #4a6070;
    line-height: 1.8;
    text-align: center;
}

.lm_det_info-row {
    display: flex;
    align-items: flex-start;
    border-top: 1px solid #dde9ee;
    border-bottom: 1px solid #dde9ee;
    padding: 24px 0;
}

.lm_det_info-col {
    flex: 1;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 12px;
}

.lm_det_info-heading {
    font-size: 0.9rem;
    font-weight: 700;
    color: #5190f5;
}

.lm_det_info-value {
    font-size: 0.88rem;
    color: #5a7080;
    line-height: 1.5;
}

.lm_det_info-divider {
    width: 1px;
    background: #dde9ee;
    min-height: 40px;
    align-self: stretch;
}

.lm_det_share-box {
    background: #edf4f7;
    border-radius: 10px;
    padding: 28px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.lm_det_share-question {
    font-size: 1.1rem;
    font-weight: 600;
    color: #5190f5;
}

.lm_det_share-text {
    font-size: 0.88rem;
    color: #5a7080;
}

.lm_det_enquire-link {
    color: #5190f5;
    font-weight: 700;
    text-decoration: none;
}

.lm_det_enquire-link:hover {
    text-decoration: underline;
}

.lm_det_social-icons {
    display: flex;
    gap: 16px;
    margin-top: 8px;
}

.lm_det_social-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform 0.2s, opacity 0.2s;
}

.lm_det_social-icon svg {
    width: 20px;
    height: 20px;
}

.lm_det_social-icon:hover {
    transform: scale(1.12);
    opacity: 0.85;
}

.lm_det_fb {
    background: #1877f2;
    color: #fff;
}

.lm_det_li {
    background: #0a66c2;
    color: #fff;
}

.lm_det_tw {
    background: #000;
    color: #fff;
}

.lm_det_other-section {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.lm_det_other-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #5190f5;
}

.lm_det_other-animals {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.lm_det_other-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: transform 0.2s;
}

.lm_det_other-card:hover {
    transform: translateY(-3px);
}

.lm_det_other-card img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #dde9ee;
    transition: border-color 0.2s;
}

.lm_det_other-card:hover img {
    border-color: #5190f5;
}

.lm_det_other-card span {
    font-size: 0.82rem;
    font-weight: 700;
    color: #5190f5;
}

.lm_det_glossary-btn {
    display: inline-block;
    background: #5190f5;
    color: #fff;
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 700;
    padding: 12px 28px;
    border-radius: 6px;
    transition: background 0.2s;
}

.lm_det_glossary-btn:hover {
    background: #5190f5;
}

@media (max-width: 600px) {
    .lm_det_info-row {
        flex-direction: column;
        gap: 16px;
        align-items: center;
    }

    .lm_det_info-divider {
        width: 100%;
        height: 1px;
        min-height: unset;
    }

    .lm_det_animal-title {
        font-size: 1.5rem;
    }

    .lm_det_animals-grid {
        grid-template-columns: 1fr;
    }
}

/* SECTION */

.benefits_section {
    padding: 70px 20px;
    background: #f4f6f8;
}

.benefits_container {
    max-width: 1200px;
    margin: auto;
}


/* CARD LAYOUT */

.benefit_card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: stretch;
    margin-bottom: 70px;
}


/* REVERSE CARD */

.benefit_reverse {
    direction: rtl;
}

.benefit_reverse * {
    direction: ltr;
}


/* IMAGE */

.benefit_image {
    width: 100%;
    height: 100%;
}

.benefit_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 18px;
    display: block;
}


/* CONTENT */

.benefit_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}


/* TITLE */

.benefit_title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
}


/* TEXT */

.benefit_text {
    font-size: 16px;
    line-height: 1.7;
    color: #555;
    margin-bottom: 25px;
}


/* BUTTON */

.benefit_btn {
    display: inline-block;
    padding: 12px 30px;
    background: #4f83df;
    color: white;
    border-radius: 30px;
    text-decoration: none;
    font-size: 15px;
    transition: .3s;
}

.benefit_btn:hover {
    background: #3467c4;
}


/* MOBILE */

@media (max-width:768px) {

    .benefit_card {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .benefit_reverse {
        direction: ltr;
    }

    .benefit_image {
        height: 250px;
    }

}