/* ===================================
    Recipe
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700;800;900&display=swap');

/* variable */
:root {
    --base-color: #e7962b;
    --medium-gray: #8d8987;
    --black: #282725;
    --dark-gray: #383632;
    --red: #d51f0f;
    --green: #46b57e;
    --very-light-gray: #f9f6f3;
    --yellow: #ECBA23;
    --alt-font: 'Bebas Neue', cursive;
    --primary-font: 'Schibsted Grotesk', sans-serif;
}

body {
    font-size: 17px;
    line-height: 30px;
}

/* header */
header .navbar-brand img {
    max-height: 49px;
}

.navbar .navbar-nav .nav-link {
    font-size: 20px;
}

header .btn.btn-switch-text.btn-small>span {
    padding: 11px 25px 9px;
}

.header-search-icon .btn.mohibDark,
.header-button .btn.mohibDark,
.sticky .search-form-icon.header-search-form,
.sticky .header-transparent .header-button .btn {
    background-color: var(--dark-gray);
    border-color: rgba(23, 23, 23, 0.20);
    color: var(--white) !important;
}

.search-form-icon.header-search-form .btn.mohibDark:hover ,
.header-button .btn.mohibDark,
.sticky .header-transparent .header-button .btn:hover {
    background-color: var(--dark-gray);
    color: var(--white);
    border-color: var(--dark-gray);
}

/* heading */
h1,
.h1 {
    line-height: 4rem;
}

h2 {
    line-height: 3.2rem;
}

/* btn */
[class*="btn-transparent"],
[class*=" btn-transparent"] {
    font-weight: 500;
}

.btn i {
    top: 0px;
}

.btn.btn-switch-text.btn-extra-large>span {
    font-size: 18px;
    padding: 19px 32px 16px;
}

.btn.btn-switch-text.btn-large>span {
    font-size: 17px;
    padding: 17px 28px 14px;
}

.btn.btn-switch-text.btn-medium>span {
    font-size: 16px;
    padding: 15px 24px 12px;
}

.btn.btn-switch-text.btn-small>span {
    font-size: 14px;
    padding: 13px 20px 11px;
}

.btn.btn-switch-text.btn-very-small>span {
    font-size: 13px;
    padding: 10px 18px 7px;
}

.btn.btn-link {
    padding: 0 0 2px;
}

.dr {
    color: var(--dark-gray);
}

.btn.btn-hover-animation-switch .btn-icon i {
    font-size: 24px;
    line-height: 0;
    top: -2px;
}

.btn.btn-hover-animation-switch .btn-icon {
    margin-left: 5px;
}

/* page title */
.page-title-extra-large h1 {
    font-size: 5rem;
    line-height: 5rem;
}

.page-title-extra-large h2 {
    font-size: 15px;
    line-height: 26px;
}

/* border color */
.border-color-extra-medium-gray {
    border-color: #c7c2bf !important;
}

/* bg color transparent */
.bg-base-color-transparent {
    background: rgba(211, 145, 33, 0.9);
}

.text-outline-base-color-background {
    -webkit-text-fill-color: var(--base-color);
}

.subscribe-popup .newsletter-style-05 .submit {
    font-size: 17px;
}

/* portfolio */
.portfolio-filter li {
    padding: 0 35px;
}

/* top right bottom left */
.top-minus-35px {
    top: -35px;
}

/* review */
.review-star-icon i {
    letter-spacing: 1px;
}

/* categories */
.categories-btn {
    line-height: 21px;
    letter-spacing: 0;
    padding: 3px 14px 4px;
}

/* blog comment */
.blog-comment li .btn-reply {
    padding: 6px 20px 7px;
}

/* footer */
footer .footer-logo img {
    max-height: 49px;
}

footer .elements-social li {
    margin: 0 22px 0 0;
}

footer .social-icon-style-08 ul li a:hover {
    opacity: 1;
}

footer .facebook {
    color: #3b5998;
}

footer .twitter {
    color: #00aced;
}

footer .elements-social ul li:last-child {
    margin-right: 0;
}

/* team style */
.team-style-05:hover img {
    filter: grayscale(100%);
}

/* margin */
.mt-minus-2px {
    margin-top: -2px;
}

/* map */
.infowindow .mb-3 {
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0;
}

.infowindow p {
    font-size: 17px;
    letter-spacing: 0;
}

.google-maps-link a {
    font-size: 13px;
    letter-spacing: 1px;
}

.white-popup-block .mfp-close {
    background: #ffffff;
    /* top: 30px; */
    position: fixed;
    /* right: 30px; */
}

/* 
.mfp-wrap.mfp-close-btn-in.mfp-auto-cursor.mfp-ready{
    overflow: hidden !important;
} */

.recipe-details span {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #e7962b2e;
    height: fit-content;
    padding: 3px 10px;
    border-radius: 6px;
    font-weight: 800;
    font-size: 14px;
    color: var(--base-color);
    border: 1px solid var(--base-color);
    white-space: nowrap;
}

.recipe-details {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0px;
}

.recipe-details ul li {
    display: flex;
    flex-direction: column;
}

.recipe-details ul {
    margin: 0;
    padding: 0;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.shopping__checklist {
    display: grid;
    row-gap: 0.9em;
    padding-left: 0;
    list-style-type: none;
}

/* Shopping List */
/*  =========== */
/*  =========== */

.shopping__checklist .shopping__item {
    display: flex;
    align-items: start;
    gap: 0.6em;
}

.shopping__checklist .shopping__check {
    appearance: none;
    cursor: pointer;
    margin-top: 7px;
    padding: 3px;
    aspect-ratio: 1 / 1;
    height: 1em;
    border: 1px solid var(--base-color);
    border-radius: 4px;
    width: 1rem;
}

.shopping__checklist .shopping__label {
    user-select: none;
    cursor: pointer;

    flex-grow: 1;
    font-weight: 700;
}

.shopping__checklist .shopping__check:checked {
    background: var(--base-color);
    background-clip: content-box;

    opacity: 0.7;
}

.shopping__checklist .shopping__check:checked+.shopping__label {
    text-decoration:
        line-through var(--base-color) 2px;

    opacity: 0.7;
}

.custom-row-mb {
    display: flex;
    align-items: flex-start;
    /* gap: 30px; */
}

/* .left-column-mb {
    flex: 1;
    position: sticky;
    top: 20px;
    height: fit-content;
  } */

/* .right-column-mb {
    flex: 2;
    max-height: 100vh;
    overflow-y: auto;
    padding-right: 15px;
    padding-top: 70px;
    padding-bottom: 30px;
} */

.mfp-bg.mfp-ready {
    opacity: 0.9;
    background-color: #000;
}

.mfp-wrap {
    -webkit-overflow-scrolling: touch;
}

.directions-container th {
    font-family: "Outfit", sans-serif;
    font-weight: normal;
}

.directions-container tr {
    padding: 0.8rem 2rem;
    display: flex;
    justify-content: space-between;
}

.directions-container tr:not(:last-child) {
    border-bottom: 1px solid #e4ded87d;
}

.directions-container th,
.directions-container td {
    flex: 1;
}

.directions-container td {
    color: var(--base-color);
    font-weight: 700;
}

.directions-container table {
    width: 50%;
    border-collapse: collapse;
    margin: 1rem 0;
    text-align: left;
    color: var(--text-color);
    font-family: "Outfit", sans-serif;
}

/* Scroll disable when popup open */
body.no-scroll {
    overflow: hidden !important;
    position: fixed;
    width: 100%;
}

/* Optional: prevent .mfp-bg from stretching */
.mfp-bg {
    height: 100vh !important;
    position: fixed !important;
    top: 0;
    left: 0;
}

.mfp-wrap .mfp-container {
    overflow: auto;
}

.mfp-wrap.mfp-close-btn-in.mfp-auto-cursor.mfp-ready {
    top: 0 !important;
}

.portfolio-box {
    position: relative;
}

.portfolio-box tag {
    display: none;
    position: absolute;
}

.header-icon {
    gap: 12px;
}

.search-form-icon.header-search-form {
    width: 43px;
    height: 43px;
    align-items: center;
    justify-content: center;
    display: flex;
}
.header-icon .icon>a:hover {
    opacity: 1;
    color: var(--dark-gray);
}

.social-media-container {
  padding-top: 0 !important;
  margin-top: -100px !important; /* Adjust this value as needed to reduce the gap */
}

/* media query responsive */
@media (max-width: 1199px) {
    header .btn.btn-switch-text.btn-small>span {
        padding: 10px 15px 8px;
    }
    .directions-container h3,
    .ingredients-container h3 {
        font-size: 2.5rem !important;
        white-space: nowrap !important;
        letter-spacing: -0.5px !important;
    }
}

@media (max-width: 991px) {
    header .btn.btn-transparent-white-light {
        background-color: var(--dark-gray);
        border-color: rgba(23, 23, 23, 0.20);
        color: var(--white);
    }

    header .btn.btn-transparent-white-light:hover {
        background-color: var(--dark-gray);
        color: var(--white);
    }

    .social-media-container {
        margin-top: 20px !important; /* Change negative margin to positive */
        padding-top: 20px !important;
    }

    .portfolio-box tag {
        display: block;
        z-index: 1;
        font-size: 12px;
        background: var(--base-color);
        color: #ffff;
        font-weight: 700;
        border-radius: 6px;
        padding: 1px 8px;
        margin: 12px;
    }
    .right-column-mb{
        margin-top: 40px;
    }
}

@media (max-width: 767px) {

    .social-media-container {
        margin-top: 20px !important; /* Change negative margin to positive */
        padding-top: 20px !important;
    }

    .portfolio-filter li {
        padding: 0;
        margin-bottom: 5px;
    }

    .sm-text-outline-width-1px {
        -webkit-text-stroke-width: 1px;
    }

    .recipe-details {
        flex-direction: column;
        align-items: baseline;
        gap: 14px;
    }

    .directions-container {
        margin-bottom: 30px;
      }
      
      /* Ensure consistent spacing under the recipe content sections */
      .col-lg-5,
      .col-md-4 {
        margin-bottom: 20px;
      }
}

@media (max-width: 575px) {

    .social-media-container {
        margin-top: 20px !important; /* Even more space on very small screens */
        padding-top: 20px !important;
      }

    .video-icon-large .video-icon {
        width: 75px;
        height: 75px;
    }

    .video-icon .video-icon-sonar .video-icon-sonar-bfr {
        top: -30px;
        left: -30px;
    }

    .xs-w-320px {
        width: 320px !important
    }

    .xs-h-320px {
        height: 320px !important;
    }

    .btn.btn-switch-text.btn-extra-large>span {
        font-size: 17px;
        padding: 14px 22px 11px;
    }
    .search-form-box h2{
        font-size: 2.438rem;
    }
    .directions-container {
        margin-bottom: 40px;
      }
}

/* Recipe Search Section styling */
.recipe-search-section {
    padding-top: 20px;
    padding-bottom: 15px;
    background-color: #fff;
}

.recipe-search-container {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
}

/* Base Select2 styling */
.select2-container {
  width: 100% !important; /* Force container to respect parent width */
  max-width: 600px !important; /* Maximum width on large screens */
  margin: 0 auto;
}

/* Base Select2 styling */
.select2-container--default .select2-selection--single {
  height: 60px;
  border: 2px solid #e7962b;
  border-radius: 30px;
  background-color: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  padding: 15px 20px;
  font-family: var(--primary-font);
  font-size: 16px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 28px;
  color: var(--dark-gray);
  padding-left: 0;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 60px;
    width: 40px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent var(--base-color) transparent;
    border-width: 0 6px 8px 6px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--base-color);
}

.select2-dropdown {
    border: 2px solid #e7962b;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.select2-search--dropdown .select2-search__field {
    border: 1px solid #e7962b;
    border-radius: 4px;
    padding: 8px;
    font-family: var(--primary-font);
}

.select2-container--default .select2-results__option {
    padding: 10px 20px;
    font-family: var(--primary-font);
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999;
}

/* Responsive adjustments */
@media (max-width: 991px) {
  .select2-container {
    max-width: 500px !important;
  }
}

@media (max-width: 767px) {
  .select2-container {
    max-width: 90% !important;
  }
  
  .select2-container--default .select2-selection--single {
    height: 50px;
    padding: 10px 15px;
    font-size: 14px;
  }
  
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 50px;
  }
}

@media (max-width: 480px) {
  .recipe-search-section {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  
  .select2-container {
    max-width: 100% !important;
  }
  
  .select2-container--default .select2-selection--single {
    height: 45px;
    padding: 8px 12px;
    font-size: 14px;
  }
}


.pagination-style-01 {
display: flex;
justify-content: center;
list-style: none;
padding: 0;
margin-bottom: 30px;
}
.pagination-style-01 li {
display: inline-block;
margin: 0 5px;
}
.pagination-style-01 li a {
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
line-height: 38px;
border-radius: 50%;
border: 1px solid #e0e0e0;
color: #666;
font-weight: 500;
text-decoration: none;
transition: all 0.3s ease;
}
.pagination-style-01 li a:hover {
background-color: #f5f5f5;
color: #000;
}
.pagination-style-01 li a.active {
background-color: #e7962b;
border-color: #e7962b;
color: #fff;
}
.pagination-style-01 li a i {
font-size: 0.85rem;
}
/* You can also add these styles to the filter navigation */
.portfolio-filter.nav-tabs .nav a {
position: relative;
padding: 0 15px;
margin: 0 10px;
font-weight: 500;
color: #666;
text-decoration: none;
transition: all 0.3s ease;
}
.portfolio-filter.nav-tabs .nav a:hover,
.portfolio-filter.nav-tabs .nav.active a {
color: #e7962b;
}
.portfolio-filter.nav-tabs .nav a:after {
content: '';
position: absolute;
bottom: -5px;
left: 0;
width: 0;
height: 2px;
background-color: #e7962b;
transition: all 0.3s ease;
}
.portfolio-filter.nav-tabs .nav.active a:after {
width: 100%;
}

footer .social-icon-row {
  margin-top: 30px !important; /* Reduce the excessive top margin */
  margin-bottom: 20px;
}

/* Clean, professional circular social icons */
.container .feature-box-icon a {
  
}

.container .feature-box-icon a:hover {
  background-color: #e7962b;
  border-color: #e7962b;
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(231, 150, 43, 0.2);
}

.container .feature-box-icon a i {
  font-size: 18px;
  color: #555;
  transition: color 0.2s ease;
}

.container .feature-box-icon a:hover i {
  color: #ffffff !important;
}

/* Fix any width/height issues that might make them look oval */
.container .feature-box-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensure the icons remain circular on all screen sizes */
@media (max-width: 767px) {
  .container .feature-box-icon a {
    width: 40px;
    height: 40px;
  }
}

/* Aggressive space elimination */
footer {
  margin-top: -40px !important; /* Use a significant negative margin to pull up the footer */
  position: relative; /* Ensure the negative margin works properly */
  z-index: 1; /* Make sure the footer stays above other content */
}

/* Target any padding in parent sections or containers */
section + footer,
.container-fluid + footer,
.container + footer {
  margin-top: 0px !important;
}

/* Inspect your HTML structure and add this to any element right before the footer */
section:last-of-type {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* If there are any specific sections before the footer */
section.pt-0 {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Fixed footer spacing and social icons */
/* Match background to your site's light color */
footer .container > .row:first-child,
footer .social-icon-row {
  background-color: var(--very-light-gray); /* Using your CSS variable */
  margin-top: 0 !important;
  padding-top: 30px !important;
  padding-bottom: 15px !important;
}

/* Keep your existing space elimination */
footer {
  margin-top: -40px !important;
  position: relative;
  z-index: 1;
}

/* Perfect circular social icons */
.container .feature-box-icon a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--very-light-gray); /* Using your CSS variable */
  border: 1px solid #e0e0e0;
  transition: all 0.2s ease;
}

.container .feature-box-icon a:hover {
  background-color: var(--base-color); /* Using your CSS variable */
  border-color: var(--base-color);
  transform: translateY(-2px);
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
}

.container .feature-box-icon a i {
  font-size: 18px;
  color: #555;
  margin: 0 !important;
}

.container .feature-box-icon a:hover i {
  color: #ffffff !important;
}

/* Fix icon container */
.container .feature-box-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  margin: 0 !important;
  padding: 0 !important;
}


/* Add this to your recipe.css file */

/* Hide the orange tag */
.portfolio-box tag {
    display: none !important;
}

/* Make sure portfolio boxes are clickable */
.portfolio-box {
    cursor: pointer;
    position: relative;
}

/* Style for the mobile view button that's always visible on mobile */
.mobile-view-button {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 10;
}

/* Desktop hover behavior */
@media (min-width: 992px) {
    /* Keep the hover functionality on desktop */
    .portfolio-image:hover .portfolio-hover {
        opacity: 1 !important;
    }
    
    /* Ensure the mobile button stays hidden on desktop */
    .mobile-view-button {
        display: none !important;
    }
}

/* Mobile-specific styles */
@media (max-width: 991px) {
    /* Make the mobile button visible */
    .mobile-view-button {
        display: flex !important;
        opacity: 1;
        pointer-events: none; /* It's just visual, not interactive */
    }
    
    /* Adjust button appearance */
    .mobile-view-button .btn {
        background-color: rgba(231, 150, 43, 0.9); /* Base color with transparency */
        color: white;
        border-color: transparent;
        white-space: nowrap;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    }
    
    /* Disable the hover effect on mobile devices */
    .portfolio-hover {
        opacity: 0 !important;
        pointer-events: none !important;
    }
    
    /* Darken the image slightly to make the button more visible */
    .portfolio-image::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.2);
        pointer-events: none;
    }
}

/* Additional improvement for mobile tap experience */
@media (max-width: 991px) {
    .portfolio-image:active {
        opacity: 0.85;
    }
    
    .recipe-link {
        z-index: 10;
    }
}

/* Add this to your CSS (either in a <style> tag or your CSS file) */
section h1.alt-font {
    font-size: 4.0rem !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

/* Fix for the tagline */
section h2.text-red {
    display: block !important;
    visibility: visible !important;
    margin-top: 15px !important;
    margin-bottom: 20px !important;
    position: static !important;
}

/* Make the section height auto */
section.page-title-big-typography {
    height: auto !important;
    min-height: auto !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

/* Ensure the container allows expanding */
section.page-title-big-typography .container {
    height: auto !important;
}

/* Ensure the row expands as needed */
section.page-title-big-typography .row {
    height: auto !important;
}


/* Recipe image mobile centering styles */
.recipe-image-container {
  width: 100%;
}

.recipe-image-container img {
  max-width: 100%;
  height: auto;
  border-radius: 8px; /* Maintain the rounded corners */
}

/* Center image on mobile only */
@media (max-width: 767px) {
  .recipe-image-container {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .recipe-image-container img {
    max-width: 85%; /* Slightly reduce width to prevent edge-to-edge appearance */
    margin: 0 auto; /* Center horizontally */
  }
}

/* For extremely small devices */
@media (max-width: 480px) {
  .recipe-image-container img {
    max-width: 95%; /* Use more of the available width on very small screens */
  }
}

/* Optional: If you still have issues, try this more aggressive approach */
.mobile-center-fix {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

/* Social Media Section on Mobile - 2x2 Grid */
@media (max-width: 767px) {
  /* Force the social icons into a 2x2 grid */
  .social-icon-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 15px !important;
    width: 100% !important;
    max-width: 300px !important; 
    margin: 0 auto !important;
  }
  
  /* Reset Bootstrap's column classes for this specific row */
  .social-icon-row > .col {
    max-width: 100% !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    padding: 0 10px !important;
    margin-bottom: 15px !important;
  }
  
  /* Ensure the icons are properly sized and centered */
  .social-icon-row .feature-box {
    padding: 0 !important;
    text-align: center !important;
  }
  
  /* Ensure text and icons are properly aligned */
  .social-icon-row .feature-box-content {
    text-align: center !important;
  }
  
  /* Make the icons slightly larger on mobile */
  .social-icon-row .feature-box-icon a {
    width: 50px !important;
    height: 50px !important;
    margin: 0 auto !important;
  }
  
  .social-icon-row .feature-box-icon a i {
    font-size: 20px !important;
  }
  
  /* Reduce size of text under icons */
  .social-icon-row .feature-box-content span,
  .social-icon-row .feature-box-content p {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
}

/* For even smaller screens, further optimize */
@media (max-width: 359px) {
  .social-icon-row {
    max-width: 260px !important;
    gap: 10px !important;
  }
  
  .social-icon-row .feature-box-icon a {
    width: 45px !important;
    height: 45px !important;
  }
}
