/*!
Theme Name: Ghrannik Web
Theme URI: http://underscores.me/
Author: TimD - Tim Digital
Author URI: https://www.timdtech.com
Description: A custom WordPress theme crafted by TimD for Ghrannik Masala Official Website
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: ghrannik_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.

Ghrannik Web 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.
 */
.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-color: var(--color-gold) !important;
  border: 1px solid linear-gradient(135deg, #665DCD 0%, #5FA4E6 44.76%, #D2AB67 100%) !important;
  border-radius: 15px !important;
  outline: 0 !important;
  box-shadow: none !important;
  /* font-family: Arial, Helvetica, sans-serif !important; */
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 35px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

/* Circular 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";
  display: inline-flex !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  align-items: center !important;
  justify-content: center !important;
  color: linear-gradient(135deg, #665DCD 0%, #5FA4E6 44.76%, #D2AB67 100%) !important;
  -webkit-text-fill-color: linear-gradient(135deg, #665DCD 0%, #5FA4E6 44.76%, #D2AB67 100%) !important;
  background: #ffffff00 !important;
  border: 0 !important;
  border-radius: 50% !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
}

/* Hover */
.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;
  background: #D2AB67 !important;
  border-color: var(--sd-primary-blue) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* 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 – FINAL EXACT DESIGN
========================================= */

/* Outer box */
.subscribe-box {
  width: 100% !important;
  max-width: 342px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-radius: 15px;
}

/* Plugin wrapper */
.subscribe-box .es_form_wrapper,
.subscribe-box .ig-es-form-wrapper {
  width: 100% !important;
  max-width: 342px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Form card */
.subscribe-box form.es_subscription_form {
  display: flex !important;
  width: 100% !important;
  min-height: 95px !important;
  margin: 0 !important;
  padding: 15px !important;
  align-items: center;
  justify-content: space-between !important;
  gap: 14px !important;
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 0px !important;
  box-shadow: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  box-sizing: border-box !important;
  align-content: center;
}

/* Email field wrapper */
.subscribe-box form.es_subscription_form .ig-es-form-field {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Email label */
.subscribe-box form.es_subscription_form .es-field-label {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

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

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 20px !important;
  text-align: center !important;
}

/* Email input */
.subscribe-box form.es_subscription_form input.ig-es-form-input,
.subscribe-box form.es_subscription_form input[type="email"]:not([tabindex="-1"]) {
  display: block !important;
  width: 100% !important;
  max-width: 180px !important;
  height: 38px !important;
  margin: 4px 0 0 !important;
  padding: 7px 0 !important;

  color: #555555 !important;
  -webkit-text-fill-color: #555555 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid #d8d8d8 !important;
  border-radius: 0 !important;

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

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 23px !important;
  text-align: left !important;

  appearance: none !important;
  -webkit-appearance: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.25s ease !important;
}

/* Placeholder */
.subscribe-box form.es_subscription_form input.ig-es-form-input::placeholder,
.subscribe-box form.es_subscription_form input[type="email"]:not([tabindex="-1"])::placeholder {
  color: #a8a8a8 !important;
  -webkit-text-fill-color: #a8a8a8 !important;
  opacity: 1 !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

/* Input focus */
.subscribe-box form.es_subscription_form input.ig-es-form-input:focus,
.subscribe-box form.es_subscription_form input[type="email"]:not([tabindex="-1"]):focus {
  border-bottom-color: #ff7540 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Submit wrapper */
.subscribe-box form.es_subscription_form .es-submit-container {
  display: flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 0 1px !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Subscribe button */
.subscribe-box form.es_subscription_form input.es-subscribe-btn,
.subscribe-box form.es_subscription_form input[type="submit"] {
  display: inline-flex !important;
  width: 101px !important;
  min-width: 101px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 16px !important;

  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, #665DCD 0%, #5FA4E6 44.76%, #D2AB67 100%) !important;
  border: 0 !important;
  border-radius: 50px !important;
  outline: none !important;
  box-shadow: none !important;

  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
  text-align: center !important;

  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  box-sizing: border-box !important;

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

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

  background: linear-gradient(135deg, #665DCD 0%, #5FA4E6 44.76%, #D2AB67 100%) !important;

  transform: translateY(-2px) !important;
  box-shadow: 0 7px 16px rgba(255, 102, 62, 0.28) !important;
}

/* Button focus */
.subscribe-box form.es_subscription_form input.es-subscribe-btn:focus,
.subscribe-box form.es_subscription_form input[type="submit"]:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255, 117, 64, 0.22) !important;
}

/* Button click */
.subscribe-box form.es_subscription_form input.es-subscribe-btn:active,
.subscribe-box form.es_subscription_form input[type="submit"]:active {
  transform: translateY(0) scale(0.97) !important;
  box-shadow: none !important;
}

/* Remove unwanted plugin spacing */
.subscribe-box form.es_subscription_form .es-field-wrap {
  margin-bottom: 0 !important;
}

.subscribe-box .es_subscription_message {
  display: block !important;
  margin-top: 8px !important;
  font-size: 13px !important;
  line-height: 18px !important;
}

/* Spinner */
.subscribe-box form.es_subscription_form .es_spinner_image {
  position: absolute !important;
  right: 8px !important;
  bottom: -25px !important;
}

/* Mobile */
@media only screen and (max-width: 420px) {
  .subscribe-box form.es_subscription_form {
    padding: 17px 18px 14px !important;
    gap: 12px !important;
  }

  .subscribe-box form.es_subscription_form input.ig-es-form-input,
  .subscribe-box form.es_subscription_form input[type="email"]:not([tabindex="-1"]) {
    max-width: 100% !important;
  }

  .subscribe-box form.es_subscription_form input.es-subscribe-btn,
  .subscribe-box form.es_subscription_form input[type="submit"] {
    width: 101px !important;
    min-width: 101px !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(--color-primary-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);
  display: none;
}


/* =========================================================
   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(--color-primary-dark);
}

.default_pagesec h2+p+p b {
  color: var(--color-primary-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(--color-primary-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(--color-primary) !important;
  color: var(--color-primary) !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(--color-primary);
  padding-left: 18px;
}


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

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

.default_pagesec h3::after {
  display: none !important;
  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(--color-primary);
  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(--color-primary);
  font-size: 1.08rem;
  font-weight: 800;
  margin-bottom: 5px;
}


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

.default_pagesec a:not(.ez-toc-toggle) {
  color: var(--color-primary);
  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;
  }
}



/* =========================================
   GHRANNIK - COMPACT SUBSCRIBE FORM
   ========================================= */

/* Outer Wrapper */
body .ig-es-form-wrapper {
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

/* Main Form */
body .ig-es-form-wrapper form.es_subscription_form.wysiwyg-form {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  gap: 8px !important;

  width: 100% !important;
  padding: 12px !important;
  margin: 0 !important;

  background: #FFFFFF !important;
  border: 1px solid #E8E3DB !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Email Field Container */
body .ig-es-form-wrapper form.es_subscription_form .es-field-wrap.ig-es-form-field {
  flex: 1 1 140px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Email Label */
body .ig-es-form-wrapper form.es_subscription_form .es-field-label {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;

  color: #555555 !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* Email Input */
body .ig-es-form-wrapper form.es_subscription_form input.ig-es-form-input[type="email"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 36px !important;
  min-height: 36px !important;

  margin: 5px 0 0 !important;
  padding: 7px 10px !important;

  background: #FAF8F5 !important;
  color: #333333 !important;

  border: 1px solid #E7E0D8 !important;
  border-radius: 7px !important;

  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 20px !important;

  outline: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* Input Focus */
body .ig-es-form-wrapper form.es_subscription_form input.ig-es-form-input[type="email"]:focus {
  border-color: #0F532B !important;
  box-shadow: 0 0 0 2px rgba(15, 83, 43, .10) !important;
}

/* Submit Container */
body .ig-es-form-wrapper form.es_subscription_form .es-submit-container {
  /* background: red; */
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

/* Black Subscribe Button */
body .ig-es-form-wrapper form.es_subscription_form input[type="submit"].es-subscribe-btn {
  display: inline-block !important;

  width: auto !important;
  min-width: 100px !important;
  height: 36px !important;
  min-height: 36px !important;

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

  background: var(--color-primary-light) !important;
  background-image: none !important;
  color: #FFFFFF !important;

  border: 0 !important;
  border-radius: 7px !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 36px !important;

  text-align: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  opacity: 1 !important;

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

  transition: background .2s ease !important;
}

/* Button Hover - Ghrannik Green */
body .ig-es-form-wrapper form.es_subscription_form input[type="submit"].es-subscribe-btn:hover {
  background: #0F532B !important;
  color: #FFFFFF !important;
  opacity: 1 !important;
}

/* Success Message */
body .ig-es-form-wrapper .es_subscription_message {
  display: block;
  margin-top: 8px !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
  color: #0F532B !important;
}

body .ig-es-form-wrapper .es_subscription_message:empty {
  display: none !important;
}

/* Mobile */
@media (max-width: 480px) {
  body .ig-es-form-wrapper form.es_subscription_form.wysiwyg-form {
    padding: 10px !important;
    gap: 6px !important;
  }

  body .ig-es-form-wrapper form.es_subscription_form .es-field-wrap.ig-es-form-field {
    flex: 1 1 100px !important;
  }

  body .ig-es-form-wrapper form.es_subscription_form input[type="submit"].es-subscribe-btn {
    min-width: 85px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }
}

/* Hide form after successful subscription */
body .ig-es-form-wrapper:has(.es_subscription_message:not(:empty)) form.es_subscription_form {
  display: none !important;
}

input.es-subscribe-btn.es-custom-button {
  /* background: red; */
}


@media (max-width: 576px) {
  body .ig-es-form-wrapper form.es_subscription_form .es-field-label {
    font-size: 0.875rem !important;
  }

  body .ig-es-form-wrapper form.es_subscription_form input.ig-es-form-input[type="email"],
  body .ig-es-form-wrapper form.es_subscription_form input.ig-es-form-input[type="email"]::placeholder {
    font-size: 1rem !important;
  }

  body .ig-es-form-wrapper form.es_subscription_form input[type="submit"].es-subscribe-btn {
    font-size: 0.875rem !important;
  }
}