/*!
Theme Name: Abhijan Books
Theme URI: http://underscores.me/
Author: PosMitro
Author URI: https://www.posmitro.com/
Description: A custom WordPress theme crafted by PosMitro
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: posm_wp
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Abhijan Books is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 /* Defulat From */
/* ==============================================================
   WPForms Custom Styles
============================================================== */

/* Field Container */
.wpforms-container,
.wpforms-container .wpforms-form {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    box-sizing: border-box !important;
}

.wpforms-container .wpforms-form .wpforms-field {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 10px !important;
    box-sizing: border-box !important;
}

.wpforms-container .wpforms-field {
    padding: 6px 0;
    position: relative;
}

/* Hide standard labels */
.wpforms-container .wpforms-form .wpforms-field-label {
    display: none !important;
}

/* All standard input fields */
.wpforms-container .wpforms-form input[type="text"]:not(.wpforms-captcha-equation),
.wpforms-container .wpforms-form input[type="email"],
.wpforms-container .wpforms-form input[type="tel"],
.wpforms-container .wpforms-form input[type="number"],
.wpforms-container .wpforms-form input[type="url"],
.wpforms-container .wpforms-form select,
.wpforms-container .wpforms-form textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 39px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    color: #555555 !important;
    -webkit-text-fill-color: #555555 !important;
    background: #ffffff !important;
    border: 1px solid #bdbdbd !important;
    border-radius: 3px !important;
    outline: 0 !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 37px !important;
    text-align: left !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
}

/* Message field */
.wpforms-container .wpforms-form textarea {
    height: 108px !important;
    min-height: 108px !important;
    max-height: 108px !important;
    padding: 7px 8px !important;
    line-height: 20px !important;
    resize: both !important;
}

/* Placeholder */
.wpforms-container .wpforms-form input::placeholder,
.wpforms-container .wpforms-form textarea::placeholder {
    color: #555555 !important;
    -webkit-text-fill-color: #555555 !important;
    opacity: 1 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Lighter phone placeholder, as shown */
.wpforms-container .wpforms-form input[type="tel"]::placeholder {
    color: #b2b2b2 !important;
    -webkit-text-fill-color: #b2b2b2 !important;
    opacity: 1 !important;
}

/* Focus */
.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form select:focus,
.wpforms-container .wpforms-form textarea:focus {
    background: #ffffff !important;
    border-color: #999999 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* =========================================
   CAPTCHA
========================================= */

.wpforms-container .wpforms-form .wpforms-field-captcha {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Captcha heading */
.wpforms-container .wpforms-form .wpforms-field-captcha .wpforms-field-label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Red required star */
.wpforms-container .wpforms-form .wpforms-field-captcha .wpforms-required-label {
    color: #dc1f26 !important;
    -webkit-text-fill-color: #dc1f26 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* Captcha calculation */
.wpforms-container .wpforms-form .wpforms-captcha-equation {
    display: inline-flex !important;
    width: 50px !important;
    min-width: 50px !important;
    height: 39px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    background: transparent !important;
    border: 0 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 39px !important;
    white-space: nowrap !important;
    text-shadow: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
}

/* Captcha answer box */
.wpforms-container .wpforms-form .wpforms-field-captcha input[type="text"],
.wpforms-container .wpforms-form .wpforms-field-captcha input[type="number"] {
    display: inline-block !important;
    width: 290px !important;
    min-width: 0 !important;
    max-width: calc(100% - 50px) !important;
    height: 39px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    color: #111111 !important;
    -webkit-text-fill-color: #111111 !important;
    background: #ffffff !important;
    border: 1px solid #bdbdbd !important;
    border-radius: 3px !important;
    outline: 0 !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 37px !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-sizing: border-box !important;
}

/* =========================================
   SUBMIT BUTTON
========================================= */

.wpforms-container .wpforms-form .wpforms-submit-container {
    display: flex !important;
    width: 100% !important;
    margin: 34px 0 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Button */
.wpforms-container .wpforms-form button[type="submit"],
.wpforms-container .wpforms-form .wpforms-submit {
    display: inline-flex !important;
    width: auto !important;
    min-width: 135px !important;
    height: 45px !important;

    margin: 0 !important;
    padding: 10px 20px !important;

    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    background: var(--tertiary-dark) !important;

    border: 1px solid var(--tertiary-dark) !important;
    border-radius: 15px !important;

    outline: 0 !important;
    box-shadow: none !important;

    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    cursor: pointer !important;
    box-sizing: border-box !important;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease !important;
}


/* Arrow */
.wpforms-container .wpforms-form button[type="submit"]::after,
.wpforms-container .wpforms-form .wpforms-submit::after {
    content: "\f061" !important;

    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    background: transparent !important;
    border: 0 !important;

    font-size: 12px !important;
    line-height: 18px !important;

    transform: translateX(0);
    transition: transform 0.25s ease !important;
}


/* Hover / Focus */
.wpforms-container .wpforms-form button[type="submit"]:hover,
.wpforms-container .wpforms-form button[type="submit"]:focus,
.wpforms-container .wpforms-form .wpforms-submit:hover,
.wpforms-container .wpforms-form .wpforms-submit:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    background: var(--secondary-light) !important;
    border-color: var(--secondary-light) !important;

    outline: 0 !important;
    box-shadow: none !important;
}


/* Arrow moves right on hover */
.wpforms-container .wpforms-form button[type="submit"]:hover::after,
.wpforms-container .wpforms-form button[type="submit"]:focus::after,
.wpforms-container .wpforms-form .wpforms-submit:hover::after,
.wpforms-container .wpforms-form .wpforms-submit:focus::after {
    transform: translateX(3px);
}
/* Validation */
.wpforms-container .wpforms-form input.wpforms-error,
.wpforms-container .wpforms-form select.wpforms-error,
.wpforms-container .wpforms-form textarea.wpforms-error {
    border-color: #d63637 !important;
}

#g-recaptcha-response{
display: none !important;
}

/* Mobile */
@media only screen and (max-width: 600px) {
    .wpforms-container .wpforms-form .wpforms-captcha-equation {
        width: 50px !important;
        min-width: 50px !important;
    }

    .wpforms-container .wpforms-form .wpforms-field-captcha input[type="text"],
    .wpforms-container .wpforms-form .wpforms-field-captcha input[type="number"] {
        width: calc(100% - 50px) !important;
        max-width: calc(100% - 50px) !important;
    }
}

/* Subscribe */

/* =========================================================
   EMAIL SUBSCRIBERS FORM - FINAL FIX
========================================================= */

/* Main form wrapper */
body form.es_subscription_form.es_subscription_form[data-form-id="2"].wysiwyg-form {
    display: flex !important;
    align-items: flex-end;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 600px !important;
    min-height: 76px !important;
    margin: 0 auto !important;
    padding: 14px !important;
    gap: 12px !important;
    background: var(--surface-color, #ffffff) !important;
    border: 1px solid var(--border-color, #e4d8cc) !important;
    border-radius: 15px !important;
    box-shadow: 0 6px 20px rgba(33, 34, 34, 0.05) !important;
    box-sizing: border-box !important;
}


/* =========================================================
   FIELD WRAPPER
========================================================= */

body form.es_subscription_form[data-form-id="2"]
.es-field-wrap.ig-es-form-field {
    flex: 1 1 auto !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   LABEL
========================================================= */

body form.es_subscription_form[data-form-id="2"]
.es-field-label {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--text-secondary, #6f6f6a) !important;

    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 18px !important;

    text-align: left !important;
}


/* Remove extra br spacing */
body form.es_subscription_form[data-form-id="2"]
.es-field-label br {
    display: none !important;
}


/* =========================================================
   EMAIL INPUT
========================================================= */

body form.es_subscription_form[data-form-id="2"]
input.ig-es-form-input[type="email"] {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 42px !important;

    margin: 4px 0 0 !important;
    padding: 0 12px !important;

    color: var(--text-primary, #212222) !important;
    -webkit-text-fill-color: var(--text-primary, #212222) !important;

    background: var(--light-primary-bg, #faf7f3) !important;

    border: 1px solid var(--border-color, #e4d8cc) !important;
    border-radius: 8px !important;

    outline: 0 !important;
    box-shadow: none !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 40px !important;

    box-sizing: border-box !important;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background-color 0.25s ease !important;
}


/* Placeholder */
body form.es_subscription_form[data-form-id="2"]
input.ig-es-form-input[type="email"]::placeholder {
    color: var(--text-secondary, #6f6f6a) !important;
    -webkit-text-fill-color: var(--text-secondary, #6f6f6a) !important;

    opacity: 0.75 !important;
}


/* Input focus */
body form.es_subscription_form[data-form-id="2"]
input.ig-es-form-input[type="email"]:focus {
    background: #ffffff !important;

    border-color: var(--primary, #ac8565) !important;

    outline: none !important;

    box-shadow: 0 0 0 3px rgba(172, 133, 101, 0.12) !important;
}


/* =========================================================
   SUBMIT CONTAINER
========================================================= */

body form.es_subscription_form[data-form-id="2"]
.es-submit-container {
    display: flex !important;

    flex: 0 0 auto !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 0 !important;
}


/* =========================================================
   SUBSCRIBE BUTTON
========================================================= */

body form.es_subscription_form[data-form-id="2"]
input.es-subscribe-btn,
body form.es_subscription_form[data-form-id="2"]
input[type="submit"] {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 125px !important;

    height: 44px !important;
    min-height: 44px !important;

    margin: 0 !important;
    padding: 0 20px !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    background: var(--tertiary-dark, #181919) !important;
    background-image: none !important;

    border: 1px solid var(--tertiary-dark, #181919) !important;
    border-radius: 12px !important;

    outline: none !important;
    box-shadow: none !important;

    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-align: center !important;

    cursor: pointer !important;

    opacity: 1 !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    box-sizing: border-box !important;

    transform: none !important;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease !important;
}


/* Hover */
body form.es_subscription_form[data-form-id="2"]
input.es-subscribe-btn:hover,
body form.es_subscription_form[data-form-id="2"]
input[type="submit"]:hover {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    background: var(--primary, #ac8565) !important;
    background-image: none !important;

    border-color: var(--primary, #ac8565) !important;

    opacity: 1 !important;

    box-shadow: 0 6px 16px rgba(143, 109, 84, 0.18) !important;

    transform: none !important;
}


/* Focus */
body form.es_subscription_form[data-form-id="2"]
input.es-subscribe-btn:focus,
body form.es_subscription_form[data-form-id="2"]
input[type="submit"]:focus {
    color: #ffffff !important;

    background: var(--primary, #ac8565) !important;

    border-color: var(--primary, #ac8565) !important;

    outline: none !important;

    box-shadow: 0 0 0 3px rgba(172, 133, 101, 0.15) !important;
}


/* Active */
body form.es_subscription_form[data-form-id="2"]
input.es-subscribe-btn:active,
body form.es_subscription_form[data-form-id="2"]
input[type="submit"]:active {
    background: var(--primary-dark, #8f6d54) !important;

    border-color: var(--primary-dark, #8f6d54) !important;

    transform: none !important;

    box-shadow: none !important;
}


/* =========================================================
   REMOVE PLUGIN EXTRA SPACING
========================================================= */

body form.es_subscription_form[data-form-id="2"]
.es-field-wrap {
    margin-bottom: 0 !important;
}


/* =========================================================
   SPINNER
========================================================= */

body form.es_subscription_form[data-form-id="2"]
.es_spinner_image {
    position: absolute !important;

    right: 10px !important;
    bottom: -28px !important;

    margin: 0 !important;
}


/* =========================================================
   SUCCESS / ERROR MESSAGE
========================================================= */

.es-form-2 .es_subscription_message {
    display: block !important;

    margin-top: 8px !important;

    color: var(--text-secondary, #6f6f6a) !important;

    font-size: 13px !important;
    line-height: 18px !important;
}


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

@media only screen and (max-width: 600px) {

    body form.es_subscription_form.es_subscription_form[data-form-id="2"].wysiwyg-form {
        gap: 10px !important;

        padding: 12px !important;
    }

    body form.es_subscription_form[data-form-id="2"]
    input.es-subscribe-btn,
    body form.es_subscription_form[data-form-id="2"]
    input[type="submit"] {
        min-width: 110px !important;

        padding: 0 16px !important;
    }
}


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

@media only screen and (max-width: 420px) {

    body form.es_subscription_form.es_subscription_form[data-form-id="2"].wysiwyg-form {
        flex-direction: column !important;

        align-items: stretch !important;

        padding: 14px !important;
    }

    body form.es_subscription_form[data-form-id="2"]
    .es-field-wrap.ig-es-form-field {
        width: 100% !important;
    }

    body form.es_subscription_form[data-form-id="2"]
    .es-submit-container {
        width: 100% !important;
    }

    body form.es_subscription_form[data-form-id="2"]
    input.es-subscribe-btn,
    body form.es_subscription_form[data-form-id="2"]
    input[type="submit"] {
        width: 100% !important;

        margin: 0 !important;
    }
}

/* Button Jump Problme Fix */
/* =========================================
   GLOBAL WPForms Submit Button Fix
   ========================================= */

.wpforms-submit {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;

    cursor: pointer !important;

    /* Prevent button movement */
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}

/* Hover / Focus / Click - keep button in exactly the same position */
.wpforms-submit:hover,
.wpforms-submit:focus,
.wpforms-submit:focus-visible,
.wpforms-submit:active {
    top: 0 !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
}

/* =========================================
   Arrow - prevent 3px horizontal jump
   ========================================= */

.wpforms-submit::before,
.wpforms-submit::after {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: translateX(0) !important;
}

/* Same arrow position for every state */
.wpforms-submit:hover::before,
.wpforms-submit:hover::after,
.wpforms-submit:focus::before,
.wpforms-submit:focus::after,
.wpforms-submit:focus-visible::before,
.wpforms-submit:focus-visible::after,
.wpforms-submit:active::before,
.wpforms-submit:active::after {
    position: static !important;
    transform: translateX(0) !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
}

.wpforms-container .wpforms-field-limit-text,
.wpforms-container .wpforms-field-limit-text * {
    color: #0000005e !important;
}
/* Button Jump Problme Fix */



/* Phone Number Filed CSS Only */
/* Container & Flag Wrapper */
.wpforms-container .wpforms-form .wpforms-field-phone,
.wpforms-container .wpforms-form .wpforms-field-phone .iti,
.wpforms-container .wpforms-form .wpforms-field-phone .wpforms-smart-phone-field {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    position: relative !important;
}

/* Force Exact Dimensions, Border, Background & Text */
.wpforms-container .wpforms-form .wpforms-field-phone input[type="tel"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 39px !important;
    margin: 0 !important;
    padding: 0 11px 0 52px !important; /* leaves room for flag */
    color: #555555 !important;
    -webkit-text-fill-color: #555555 !important;
    background: #ffffff !important;
    border: 1px solid #bdbdbd !important;
    border-radius: 3px !important;
    outline: 0 !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 37px !important;
    box-sizing: border-box !important;
}

/* Force Dark Placeholder to match Name & Email */
.wpforms-container .wpforms-form .wpforms-field-phone input[type="tel"]::placeholder {
    color: #555555 !important;
    -webkit-text-fill-color: #555555 !important;
    opacity: 1 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* Center Flag Dropdown Vertically */
.wpforms-container .wpforms-form .wpforms-field-phone .iti__flag-container {
    height: 39px !important;
    top: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.wpforms-container .wpforms-form .wpforms-field-phone .iti__selected-flag {
    height: 100% !important;
    padding: 0 6px 0 8px !important;
    background: transparent !important;
}
/* Phone Number Filed CSS Only */

/* =========================================================
   DEFAULT CONTENT PAGE
   ========================================================= */

.default_pagesec {
  background: var(--color-bg-light);
  font-family: var(--font-family-base);
  color: var(--color-text-main);
  padding: 70px 0 !important;
}

.default_pagesec .container {
  max-width: 1180px;
}


/* =========================================================
   HERO / RECIPE IMAGE
   ========================================================= */

.default_pagesec .col-12.mb-4 {
  margin-bottom: 38px !important;
}

.default_pagesec .col-12.mb-4 img {
  width: 100%;
  max-height: 520px !important;
  min-height: 380px;
  object-fit: cover;
  border-radius: 28px;
  border: 1px solid var(--color-bg-alt);
  box-shadow: 0 14px 36px rgba(15, 83, 43, 0.08);
  transition:
    transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.4s ease;
}

.default_pagesec .col-12.mb-4:hover img {
  transform: scale(1.01);
  box-shadow: 0 20px 45px rgba(15, 83, 43, 0.12);
}


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

.default_pagesec .row > .col-12:not(.mb-4) {
  background: var(--color-bg-card);
  border: 1px solid var(--color-bg-alt);
  border-radius: 28px;
  padding: 44px 48px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}


/* =========================================================
   MAIN RECIPE TITLE
   ========================================================= */

.default_pagesec h2 {
  font-family: var(--font-family-base);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.6px;
  color: var(--tertiary-dark-dark);
  margin: 0 0 18px;
  position: relative;
  padding-bottom: 18px;
}

.default_pagesec h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 72px;
  height: 4px;
  border-radius: 20px;
  background: var(--color-gold);
}


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

.default_pagesec p {
  font-family: var(--font-family-paragraph);
  font-size: 1.05rem !important;
  line-height: 1.75;
  color: var(--color-text-muted);
  font-weight: 500 !important;
  margin-bottom: 18px;
}

.default_pagesec p strong,
.default_pagesec p b {
  color: var(--color-dark-nav-link);
  font-weight: 700;
}


/* =========================================================
   INTRO / PRODUCT USED
   ========================================================= */

.default_pagesec h2 + p {
    font-size: 1.12rem !important;
    max-width: 100% !important;
    color: var(--color-text-main);
    text-align: justify;
}

.default_pagesec h2 + p + p {
  display: inline-block;
  background: var(--color-accent-yellow-light);
  border: 1px solid var(--color-accent-yellow);
  border-radius: var(--radius-md);
  padding: 12px 18px;
  margin: 4px 0 28px;
  color: var(--tertiary-dark-dark);
}

.default_pagesec h2 + p + p b {
  color: var(--tertiary-dark-dark);
}


/* =========================================================
   TABLE OF CONTENTS
   Easy Table of Contents Plugin
   ========================================================= */

.default_pagesec #ez-toc-container {
  width: 100%;
  max-width: 100%;
  background: var(--color-bg-light);
  border: 1px solid var(--color-bg-alt);
  border-left: 5px solid var(--color-gold);
  border-radius: var(--radius-lg);
  padding: 22px 26px;
  margin: 12px 0 38px;
  box-shadow: none;
}

.default_pagesec #ez-toc-container .ez-toc-title-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.default_pagesec #ez-toc-container .ez-toc-title {
  font-family: var(--font-family-base);
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: var(--tertiary-dark-dark);
  margin: 0 !important;
}

.default_pagesec #ez-toc-container .ez-toc-title-toggle {
  margin-left: auto;
}

.default_pagesec #ez-toc-container .ez-toc-toggle {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-white);
  border: 1px solid var(--color-bg-alt);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
}

.default_pagesec #ez-toc-container .ez-toc-toggle svg {
  fill: var(--tertiary-dark) !important;
  color: var(--tertiary-dark) !important;
}

.default_pagesec #ez-toc-container ul.ez-toc-list {
  margin: 8px 0 0 !important;
  padding: 0 !important;
}

.default_pagesec #ez-toc-container li {
  list-style: none;
  margin: 8px 0 !important;
}

.default_pagesec #ez-toc-container a.ez-toc-link {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-family-base);
  font-size: 1rem !important;
  font-weight: 650;
  color: var(--color-text-main);
  text-decoration: none;
  padding: 10px 14px;
  border-radius: 10px;
  transition: all 0.25s ease;
}

.default_pagesec #ez-toc-container a.ez-toc-link::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-gold);
  flex-shrink: 0;
}

.default_pagesec #ez-toc-container a.ez-toc-link:hover {
  background: var(--color-accent-yellow-light);
  color: var(--tertiary-dark);
  padding-left: 18px;
}


/* =========================================================
   CONTENT SECTION HEADINGS
   ========================================================= */

.default_pagesec h3 {
  font-family: var(--font-family-base);
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--tertiary-dark-dark);
  margin-top: 42px;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-bg-alt);
  position: relative;
}

.default_pagesec h3::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 52px;
  height: 3px;
  border-radius: 10px;
  background: var(--color-gold);
}


/* =========================================================
   INGREDIENT LIST
   ========================================================= */

.default_pagesec h3 + ul {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 18px;
}

.default_pagesec h3 + ul li {
  position: relative;
  background: var(--color-bg-light);
  border: 1px solid var(--color-bg-alt);
  border-radius: 12px;
  padding: 13px 16px 13px 42px;
  font-family: var(--font-family-base);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-text-muted);
  transition: all 0.25s ease;
}

.default_pagesec h3 + ul li::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 13px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-accent-yellow-light);
  color: var(--tertiary-dark);
  font-size: 0.7rem;
  font-weight: 900;
}

.default_pagesec h3 + ul li:hover {
  border-color: var(--color-accent-yellow);
  transform: translateY(-2px);
  background: var(--color-white);
}


/* =========================================================
   COOKING METHOD / STEP CARDS
   ========================================================= */

.default_pagesec #Cooking_Method ~ p {
  position: relative;
  background: var(--color-bg-light);
  border: 1px solid var(--color-bg-alt);
  border-radius: 16px;
  padding: 20px 22px 20px 24px;
  margin-bottom: 14px;
  transition: all 0.3s ease;
}

.default_pagesec #Cooking_Method ~ p:hover {
  background: var(--color-white);
  border-color: var(--color-accent-yellow);
  transform: translateX(4px);
  box-shadow: 0 6px 18px rgba(15, 83, 43, 0.06);
}

.default_pagesec #Cooking_Method ~ p b:first-child {
  display: block;
  color: var(--tertiary-dark);
  font-size: 1.08rem;
  font-weight: 800;
  margin-bottom: 5px;
}


/* =========================================================
   LINKS
   ========================================================= */

.default_pagesec a:not(.ez-toc-toggle) {
  color: var(--tertiary-dark);
  transition: color 0.2s ease;
}

.default_pagesec a:not(.ez-toc-toggle):hover {
  color: var(--color-gold-hover);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 991px) {

  .default_pagesec {
    padding: 50px 0 !important;
  }

  .default_pagesec .row > .col-12:not(.mb-4) {
    padding: 34px 30px;
  }

  .default_pagesec h3 + ul {
    grid-template-columns: 1fr;
  }

  .default_pagesec .col-12.mb-4 img {
    min-height: 300px;
  }
}


@media (max-width: 767px) {

  .default_pagesec {
    padding: 35px 0 !important;
  }

  .default_pagesec .row {
    --bs-gutter-x: 20px;
  }

  .default_pagesec .row > .col-12:not(.mb-4) {
    padding: 26px 20px;
    border-radius: 20px;
  }

  .default_pagesec .col-12.mb-4 {
    margin-bottom: 22px !important;
  }

  .default_pagesec .col-12.mb-4 img {
    min-height: 220px;
    height: 260px;
    border-radius: 20px;
  }

  .default_pagesec h2 {
    font-size: 1.85rem;
  }

  .default_pagesec h3 {
    font-size: 1.35rem;
    margin-top: 34px;
  }

  .default_pagesec p {
    font-size: 1rem !important;
  }

  .default_pagesec #ez-toc-container {
    padding: 18px;
    border-radius: 16px;
  }

  .default_pagesec h3 + ul li {
    padding: 12px 14px 12px 40px;
  }

  .default_pagesec #Cooking_Method ~ p {
    padding: 17px 18px;
  }
}