/*
Theme Name: Helena's Recipes
Theme URI: https://www.helenasrecipes.com/
Author: HR
Author URI: https://www.helenasrecipes.com/
Description: Food Recipes Blog
Version: 1.0.0
License:
License URI:
Tags: recipes, cooking, kitchen
Text Domain: neptune-by-osetin
*/

/* =================== Begin osetin-main.css content =================== */

*, *::before, *::after {
    box-sizing: border-box;
}

aside,details,footer,header,hgroup,main,menu,nav,section,summary {
    display: block;
}

@charset "UTF-8";html {
    font-family: system-ui, sans-serif !important; 
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

@font-face {
    font-family: 'osfont';
    src: url('/wp-content/themes/neptune-by-osetin/assets/fonts/osfont/osfont.woff2') format('woff2'),
         url('/wp-content/themes/neptune-by-osetin/assets/fonts/osfont/osfont.woff') format('woff'),
         url('/wp-content/themes/neptune-by-osetin/assets/fonts/osfont/osfont.ttf') format('truetype'),
         url('/wp-content/themes/neptune-by-osetin/assets/fonts/osfont/osfont.eot?#iefix') format('embedded-opentype');
    font-weight: normal;
    font-style: normal;
	font-display: swap; /* Makes the font non-blocking */
}

/* Featured / large portrait images (e.g. 640×960) */
.attachment-large,
.size-large {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px; /* match your style */
}

/* Base logo image: use intrinsic size, just cap it */
.custom-logo {
  display: block;
  height: auto;
  width: auto;
  max-height: 70px;
  object-fit: contain;
  object-position: left center;
}

/* Fixed header: slightly smaller logo */
.fixed-header-w .fixed-logo-w .custom-logo {
  max-height: 50px;
}

/* Mobile adjustments */
@media (max-width: 768px) {
  .mobile-header-w .mobile-header .custom-logo {
    max-height: 47px;
    padding-top: 4px;
    margin: 0 auto;
    display: block;
    object-position: center center;
  }

  .mobile-header-w .mobile-header .mobile-logo {
    text-align: center !important;
    width: auto !important;
  }
}

article,figcaption,figure {
    display: block;
}

figcaption {
	text-align: center;
    font-size: 15px;
}

figcaption a {
    border-bottom: 1px solid #000;
}


figcaption a:hover {
    color: #ff0000;
}

@media (max-width: 454px) {
.single-step-description-i p {
	margin: 0px;
}
}

a {
	color: black;
	text-decoration: none;
}

p a {
	border-bottom: 1px solid #000;
}

p a:hover {
	border-bottom: 1px solid red;
}

p a img {
	border-radius: 8px;
}

.single-panel-main p a:not(.slide):hover {
	border-bottom: 1px solid red;
	color: #ff0000 !important;
}

.single-panel-main p a.slide, .single-panel-main ul li a.slide {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0px 6px;
	background: #F0F0F0;
	color: #000;
    border-radius: 8px;
    white-space: nowrap;
    transition: background 0.2s;
    cursor: pointer;
    border: none;
}

a:hover {
	color: red;
	outline: 0;
}

a:active {
	outline: 0;
}

/* Stop ALL anchor jumps 20px earlier */
:target { scroll-margin-top: 93px; }

/* Cancel the arrow in .bar-social */
.bar-social a[href^="http"]::after {
  content: none !important;
}

/* Apply the arrow to all external links EXCEPT those in .bar-social */
a[href^="http"]:not([href*="helenasrecipes.com"])::after {
  content: " ↗";
  vertical-align: middle;
  position: relative;
  top: -1px;
}

strong {
    font-weight: 700;
}

/* ====== Social Icons: Header + Footer (Horizontal Layout) ====== */

.header-social-w {
	margin-top: 18px;
}

/* Make both header and footer social icon lists horizontal */
.header-social-w ul,
.footer-social-w ul {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Ensure each icon is inline-flex and centered */
.header-social-w li,
.footer-social-w li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Make the icons themselves larger and consistent */
.header-social-w a,
.footer-social-w a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;  /* Adjust size here */
  color: #000;
  text-decoration: none;
  line-height: 1;
  transition: opacity 0.2s ease;
}

/* Hover effect */
.header-social-w a:hover,
.footer-social-w a:hover {
  opacity: 0.7;
}

/* ====== Mobile Menu Social Icons ====== */
.mobile-social-w {
  text-align: center;
}

.mobile-social-w ul {
  display: flex;
  justify-content: center;
  gap: 15px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-social-w li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mobile-social-w a {
  font-size: 36px; /* make them easy to tap */
  color: #fff; /* match your dark mobile menu background */
  text-decoration: none;
}

.mobile-social-w a:hover {
  opacity: 0.7;
}

#header-menu > li.menu-item.menu-item-gtranslate.menu-item-has-children.notranslate::after {
  content: '🌎';
  margin-left: 0.4em;
  font-size: 1em;
}

#mobile-header-menu > li.menu-item.menu-item-gtranslate.menu-item-has-children.notranslate::after {
  content: '🌎';
  font-size: 1em;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
}

/* Buttons */

.button-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 3rem 0 0 0;
}

.button {
    background: #EE0007;
    box-shadow: 0px 4px 0px 0px #000;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 7px 17px !important;
	border: none;
	font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
	margin-right: 10px;
}

.button:hover {
  color: #fff !important;
  box-shadow: 0px 4px 0px 0px #000;
}


#ebook {
  display: flex;
  flex-direction: column; /* stack children vertically */
  align-items: flex-start; /* align to the left */
}

#ebook .button {
  display: inline-block;
  width: auto;         /* button only as wide as its text */
  margin-bottom: 10px; /* space between buttons */
}

.home-signup .button {
	border-bottom: none;
}

.btn {
  flex: 1 1 calc(24% - 8px);
  text-align: center;
  text-decoration: none;
  padding: 12px;
  border-radius: 8px;
  font-weight: bold;
  transition: background 0.2s ease;
  box-sizing: border-box;
}

.btn.red {
  background: red;
  color: white;
}

.btn.black {
  background: black;
  color: white;
}

.btn.white {
  border: 1px solid #000;
  background: white;
  color: black;
}

.btn.blue {
  background: #014594;
  color: white;
}

.btn.ingredient {
  background: linear-gradient(45deg, #ff0000, #00cf0d);
  color: white;
}

@media (max-width: 768px) {
  .btn {
    flex: 1 1 100%;
  }
}

.single-panel .single-main-media {
    margin-bottom: 20px;
}

/* Let images be fluid; cap the wrapper on desktop only */
.single-main-media img,
.paragraph-image img,
.single-step-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Buttons Grid */

.wp-block-image img {
	max-width: 100%;
    height: auto;
	border-radius: 8px;
}

svg:not(:root) {
    overflow: hidden;
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
	margin-top: 20px;
	margin-bottom: 30px;
	border: 0.5px solid rgba(0, 0, 0, 0.1);
}

button,input {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
	text-transform: none;
}

button,input[type=submit] {
    -webkit-appearance: button;
    cursor: pointer;
}

button::-moz-focus-inner,input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input {
    line-height: normal;
}

input[type=search] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

.fp {
  line-height: 1.9;
  min-height: 60px;
  clear: both; /* 👈 fixes float-based overlaps */
  display: block;
  position: relative; /* 👈 ensures it stays in flow */
  z-index: 1;
  margin: 0px 0px 30px 0px;
  background: #e2ffe2;
  padding: 20px;
  border-radius: 8px;
}

@media (min-width: 768px) {
	.fp {
		margin: 24px 0px 30px 0px;
	}
}

#text-34 > div > p:nth-child(1) > a {
	border-bottom: none;
}
	
.os-icon {
    font-family: 'osfont' !important;
	font-style: normal;
}

.os-icon-social-pinterest {
    color: #cd1d1f;
}

html {
    font-size: 62.5%;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    scroll-behavior: smooth;
}

body {
    font-family: system-ui, sans-serif; 
    font-size: 19px;
    line-height: 1.9;
	margin: 0;
	padding: 0px 20px;
}

input,button {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

body.single-post #breadcrumbs {
	text-align: left;
}

#breadcrumbs {
    display: inline-block;
    font-size: 16px;
}

@media only screen and (min-width: 768px) {
	#breadcrumbs {
    display: inline-block;
    padding: 15px 0px 15px 0px;
    text-align: center;
	}
}

.page #breadcrumbs, .archive #breadcrumbs {
	text-align: left;
}

@media only screen and (min-width: 768px) {
.page #breadcrumbs, archive #breadcrumbs {
	text-align: left;
}
}

.home #breadcrumbs {
  display: none;
}

#breadcrumbs > span > span > a {
    border-bottom: 1px solid #777;
}

#breadcrumbs > span > span > a:hover {
	border-bottom: 1px solid red;
}

h1 {
	font-size: 39px; 
	font-weight: 800; 
	line-height: 1.2; 
	letter-spacing: 0.02em;
	margin: 0px;
	text-transform: capitalize;
}

.archive-title-w h1 {
	text-transform: none;
}

.subtitle {
  color: #fff;
  font-size: 23px;
  line-height: inherit;
  letter-spacing: inherit;
  margin: 15px 0px 0px 0px;
  display: inline-block;
  padding: 12px 16px;
  border-radius: 8px;	
  background: linear-gradient(45deg, #ff0000, #00cf0d);
  font-weight: 700;
}

#home-intro {
	margin-top: 20px;
	margin-bottom: -20px;
}

#home-blocks {
	margin-top: 50px;
    margin-bottom: -20px;
}

h2, h3, h4 {
	margin: 0px;
	line-height: 1.4;
	text-transform: capitalize;
}

.home h2 {
	margin: 0px;
}

h2.favorites {
    margin-bottom: 30px;
}

.home h3 {
	margin: 20px 0px;
	font-weight: 600;
}

/* --- VIDEO EMBED --- */

.responsive-video-wrapper {
	margin-bottom:30px;
	position: relative;
	background: #000;
    padding: 35px 40px 10px 35px;
    color: #fff;
    border-radius: 8px;
}

.responsive-video-wrapper a {
	color: #fff;
	border-bottom: 1px solid #fff;
}

.video-emoji {
  position: absolute;
  top: 15px;
  right: 35px;
  font-size: 2em;
  pointer-events: none;
  user-select: none;
}

/* VIDEO BLOCK */

/* --- Performance containment (Step 1) --- */
.video-grid,
.video-item,
.video-embed {
  contain: layout paint;               /* isolate layout & paint work */
}

.video-item {
  content-visibility: auto;            /* skip offscreen work */
  contain-intrinsic-size: 720px;       /* fallback height while offscreen */
}

/* --- Grid & items --- */
.video-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.video-item {
  width: 100%;
  /* No aspect-ratio by default */
}

/* Make items square only when two videos are present */
.video-grid.has-two-videos .video-item {
  aspect-ratio: 1 / 1;
}

/* Only apply 50% width on desktop if two videos exist */
@media (min-width: 768px) {
  .video-grid.has-two-videos .video-item {
    width: calc(50% - 10px);
  }

  .video-grid:not(.has-two-videos) .video-item {
    width: 100% !important;
  }
}

/* --- Video embed block --- */
.video-embed {
  position: relative;
  width: 100%;
  cursor: pointer;
  overflow: hidden;        /* keep corners clean & avoid paint outside */
  background: #000;        /* stable background to reduce repaints */
  border-radius: 8px;
}

/* Keep iframes/images rounded */
.video-embed iframe {
  border-radius: 8px;
}

/* TWO VIDEOS: fill the square cell */
.video-grid.has-two-videos .video-embed {
  height: 100%;
}

.video-grid.has-two-videos .video-embed picture,
.video-grid.has-two-videos .video-embed img {
  height: 100%;
}

/* ONE VIDEO (16:9 aspect ratio using padding) */
.video-grid:not(.has-two-videos) .video-embed::before {
  content: "";
  display: block;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
}

.video-grid:not(.has-two-videos) .video-embed picture,
.video-grid:not(.has-two-videos) .video-embed img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- Universal image rules --- */
.video-embed picture,
.video-embed img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 8px;
}

/* (Removed) Floating video + close button styles */

.paragraph-image img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  margin-bottom: 30px;
}

/* Mobile-first styles */
@media (min-width: 768px) {
  .single-panel {
    display: block;
    table-layout: auto;
    border-top: none;
  }
}

@media (max-width: 454px) {
  .single-panel {
    display: block;
    table-layout: auto;
    border-top: none;
  }
}

/* Base styles (mobile-first) */
.single-panel .single-panel-main {
  padding: 0;
  vertical-align: top;
  position: relative;
  display: block;
  width: 100%;
  min-height: 200px;
}

/* Title tweaks */
.single-panel .single-panel-main .single-title {
  border-bottom: none;
}

.single-panel .single-panel-details {
  display: block;
  vertical-align: top;
  width: 100%;
  border-right: none;
  position: relative;
  margin-bottom: 25px;
}

/* Desktop (≥768px) */
@media (min-width: 768px) {
  .single-panel {
    display: table;
    table-layout: fixed;
    width: 100%;
  }

  .single-panel .single-panel-main {
    display: table-cell;
    width: 55%;
    vertical-align: top;
    min-height: 300px;   /* 🟢 reserve vertical space on desktop */
  }

  .single-panel .single-panel-details {
    display: table-cell;
    vertical-align: top;
    width: 25%;
  }

  .single-panel .single-panel-main .single-title {
    text-align: center;
    padding: 0 200px;
  }
}

.post-dates {
  font-size: 16px;
  color: #000;
  padding: 15px 0 0;
  min-height: 28px; /* Adjust based on line-height */
  line-height: 1.6;
}

.post .post-dates {
  text-align: left !important;
  margin: 25px 0px 35px 0px !important;
}

@media (min-width: 768px) {
  .post-dates {
    text-align: center !important; 
  }
}

/* Tablet and up */
@media (min-width: 768px) {
  .single-panel {
    display: table;
    table-layout: fixed;
  }

  .single-panel .single-panel-details,
  .single-panel .single-panel-main {
    display: table-cell;
    vertical-align: top;
  }

  .single-panel .single-panel-main {
    width: 55%;
    min-height: 300px;
  }

  .single-panel .single-panel-details {
    width: 21.7%;
  }
}

.big-meta-box ul {
  list-style: none;
  text-align: center;
}

.big-meta-box ul li {
  display: inline-block;
  padding: 15px;
  border-right: 1px solid rgba(0,0,0,0.1);
  font-size: 19px;
}

.big-meta-box ul li a {
  color: rgba(0,0,0,0.8);
}

.big-meta-box ul li i {
  margin-right: 10px;
}

@media (max-width: 454px) {
  .big-meta-box ul li {
    float: left;
    width: 50%;
    padding: 10px 15px 15px 15px;
  }
}

.big-meta-box ul li:last-child {
  margin-right: 0px;
  border-right: none;
}

@media (max-width: 454px) {
  .big-meta-box ul li:nth-child(even) {
    border-right: none;
  }
}

@media only screen and (min-width: 769px) {
  .big-meta-box {
    padding: 0px;
    margin-bottom: 30px;
  }
}

.os-icon-social-pinterest:before {
  content: "\e61f";
}

.os-icon-social-youtube {
  color: #ff0000 !important;
}

.os-icon-social-youtube:before {
  content: "\e626";
}

.mobile-header-w {
  display: none;
}

.mobile-header-w .mobile-header {
  display: table;
  width: 100%;
  table-layout: fixed;
  background-color: #fff;
}

.mobile-header-w .mobile-header .mobile-menu-toggler {
  display: table-cell;
  vertical-align: middle;
}

.mobile-logo {
  width: auto !important;
}

.mobile-header-w .mobile-header .mobile-logo {
  vertical-align: middle;
  display: table-cell;
  text-align: center;
}

.mobile-header-w .mobile-header .mobile-menu-search-toggler {
  vertical-align: middle;
  width: 80px;
  display: table-cell;
  text-align: right;
}

.mobile-header-w .mobile-header-menu-w {
  display: none;
  background-color: #000;
  text-align: center;
  padding: 20px 0px;
}

.mobile-header-w .mobile-header-menu-w.active {
  display: block;
}

.mobile-header-w .mobile-header-menu-w ul {
  padding: 0px;
  margin: 0px;
  list-style-type: none;
}

.mobile-header-w .mobile-header-menu-w ul li a {
  color: #fff;
  padding: 10px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  display: block;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  font-size: 21px;
  text-transform: uppercase;
}

.mobile-header-w .mobile-header-menu-w ul.sub-menu {
    background-color: rgba(255,255,255,0.1);
    display: none;
}

.mobile-header-w .mobile-header-menu-w > ul > li.menu-item-has-children {
    position: relative;
}

.mobile-header-w .mobile-header-menu-w > ul > li.menu-item-has-children > a:before {
    display: none;
}

.main-header {
    display: table;
    padding: 10px 0px;
    border-radius: 6px 6px 0px 0px;
    position: relative;
    width: 100%;
    table-layout: fixed;
	border-bottom: 1px solid #eee;
}

.main-header .logo {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    position: relative;
}

.main-header .logo a {
    display: block;
}

.main-header .top-menu {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
	width: 80% !important;
}

#menu-item-7399 {
	border-left:none; 
}

.main-header .top-menu ul {
    margin: 0px;
    padding: 0px;
    padding-left: 30px;
    list-style: none;
}

.main-header .top-menu ul li {
    position: relative;
}

.main-header .top-menu ul li a {
    font-family: system-ui, sans-serif;
    font-size: 25px;
    color: #111;
    text-decoration: none;
    text-transform: uppercase;
}

.main-header .top-menu > ul {
    float: left;
    padding-left: 0px;
}

.main-header .top-menu > ul > li {
    float: left;
    margin-right: 20px;
    position: relative;
    border-left: 1px solid rgba(0,0,0,0.08);
    padding-left: 20px;
}

@media (min-width: 992px) and (max-width: 1150px) {
.main-header .top-menu > ul > li {
	margin-right: 10px!important;
	padding-left: 20px!important;
}
}

.main-header .top-menu > ul > li > a {
    padding: 7px 0px;
    display: inline-block;
}

.main-header .top-menu > ul > li > a {
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.main-header .top-menu > ul > li:last-child > a {
    border-bottom: none;
}

.main-header .top-menu ul.sub-menu {
    display: none;
    padding: 0px;
    background-color: #fff;
    z-index: 9999;
}

.main-header .top-menu ul.sub-menu li {
    min-width: 200px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.main-header .top-menu ul.sub-menu li a {
    padding: 12px 35px;
    font-size: 18px;
    display: block;
    white-space: nowrap;
    color: #fff;
}

.main-header .top-menu ul.sub-menu li a:hover {
    background-color: rgba(0,0,0,0.1);
}

.main-header .top-menu ul.sub-menu li:last-child {
    border-bottom: none;
}

.main-header .search-trigger {
    display: table-cell;
    vertical-align: middle;
    font-size: 36px;
    text-align: right;
    width: 100px;
}

.top-bar {
    background-color: #fff;
    position: relative;
}

.top-bar.bordered {
	border-bottom: none;
}

.page-intro-header {
    background-color: #fff;
    padding: 50px;
	border-radius: 8px;
}

ul.bar-social {
	list-style-type: none;
}

.archive-posts-w.with-sidebar {
    display: table;
    table-layout: fixed;
    width: 100%;
}

.archive-posts-w.with-sidebar.sidebar-location-right .archive-posts {
    padding-right: 50px;
}

@media only screen and (min-width: 768px) {
.archive-posts-w.with-sidebar .archive-posts {
    display: table-cell;
    vertical-align: top;
    width: 70%;
}
}

@media (max-width: 454px) {
.archive-posts-w.with-sidebar .archive-sidebar {
        display: none;
        position: fixed;
        top: 0px;
        right: 0px;
        width: 100%;
        max-width: 350px;
        bottom: 0px;
        z-index: 9999;
    }
}

.archive-posts-w.with-sidebar .archive-sidebar, .page-w.with-sidebar .page-sidebar {
    background-color: #f9f9f9 !important;
    padding: 20px 30px 40px 30px !important;
}

.home .page-w {
	margin-top: 20px;
}

@media only screen and (min-width: 768px) {
.archive-posts-w.with-sidebar .archive-sidebar {
    width: 30%;
    vertical-align: top;
    display: table-cell;
    background-color: #f0f7f7;
    border-radius: 6px;
    padding: 40px 30px;
}
}

.archive-posts-w.with-sidebar .archive-sidebar img {
    max-width: 100%;
    height: auto;
}

.dropdown-menu-rounded-corners .main-header-w ul.sub-menu {
    border-radius: 6px;
}

.dropdown-menu-rounded-corners .main-header-w ul.sub-menu li:first-child a {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.dropdown-menu-rounded-corners .main-header-w ul.sub-menu li:last-child a {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

.dropdown-menu-color-scheme-light .main-header-w ul.sub-menu {
    -webkit-box-shadow: 0px 2px 15px 0px rgba(0,0,0,0.2);
    box-shadow: 0px 2px 15px 0px rgba(0,0,0,0.2);
}

.dropdown-menu-color-scheme-light .main-header-w ul.sub-menu li {
    border-bottom-color: rgba(0,0,0,0.1);
}

.dropdown-menu-color-scheme-light .main-header-w ul.sub-menu li a {
    color: rgba(0,0,0,0.8);
}

.dropdown-menu-color-scheme-light .main-header-w ul.sub-menu li a:hover {
    background-color: rgba(0,0,0,0.05);
    color: #000;
}

.dropdown-menu-color-scheme-light .main-header-w ul.sub-menu li:last-child {
    border-bottom: none;
}

.floating-prev-post img, .floating-next-post img {
    max-width: 100%;
    height: auto;
	border-radius: 8px;
}

.floating-prev-post,.floating-next-post {
    display: none;
    background-color: #fff;
    position: fixed;
    z-index: 9998;
    border-radius: 8px;
    padding: 15px;
    width: 200px;
    top: 50%;
    opacity: 0.7;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    -webkit-transform: translate(0px,-50%);
    -moz-transform: translate(0px,-50%);
    -ms-transform: translate(0px,-50%);
    -o-transform: translate(0px,-50%);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; 
    font-weight: 400;
    font-size: 20px;
    text-align: center;
}

@media only screen and (min-width: 768px) {
.pagination {
	margin-top: 50px;
}
}

.ingredient-amount {
	margin-right: 5px;
}

.main-search-form-overlay {
    position: fixed;
    display: none;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    z-index: 9998;
    background-color: rgba(0,0,0,0.2);
}

.main-search-form {
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 100px 5px rgba(0,0,0,0.7);
    box-shadow: 0px 0px 100px 5px rgba(0,0,0,0.7);
    border-radius: 6px;
    position: fixed;
    left: 50%;
    top: -400px;
    z-index: 9999;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    border: 2px solid rgba(0,0,0,0.9);
    overflow: auto;
    width: 550px;
}

.main-search-form form .search-field-w:before {
	font-family: 'osfont';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f002";
    position: absolute;
    top: 25px;
    left: 25px;
    font-size: 32px;
    color: rgba(0,0,0,0.2);
}

.main-search-form form.search-loading .search-field-w:before {
    content: "\f110";
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    -webkit-animation: spinningAnimation 0.8s linear infinite;
    animation: spinningAnimation 0.8s linear infinite;
}

.main-search-form form .search-field {
    padding: 11px 20px 13px 20px;
    padding-left: 85px;
    font-size: 30px;
    border: none;
    font-family: system-ui, sans-serif; 
    font-weight: 400;
    background-color: transparent;
    outline: none;
    display: block;
    position: relative;
}

.main-search-form form .search-field:focus {
    outline: none;
}

.main-search-form form .search-submit {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #000;
    color: #fff;
    padding: 8px 30px;
    border: none;
    font-size: 24px;
    text-transform: uppercase;
    font-family: system-ui, sans-serif; 
    font-weight: 400;
    border-radius: 6px;
}

.main-footer {
    border-top: 1px solid #eee;
    padding: 20px 0px !important;
	margin-top: 40px;
}

.main-footer .menu {
    list-style: none;
    padding: 0px;
    margin: 0px;
    margin-bottom: 10px;
}

.main-footer .menu li {
    display: inline-block;
    margin-right: 20px;
}

.main-footer p {
    margin: 0px;
}

.main-footer.with-social:before,.main-footer.with-social:after {
    content: " ";
    display: table;
}

.main-footer.with-social:after {
    clear: both;
}

.main-footer.with-social .footer-copy-and-menu-w {
    float: left;
    width: 75%;
}

.main-footer.with-social .footer-social-w {
    float: left;
    width: 25%;
    text-align: right;
	margin-top: 15px;
}

.main-footer.with-social .footer-social-w ul li a,  ul.bar-social li a, .mobile-social-w ul.bar-social li a{
    font-size: 32px !important;
}

.floating-prev-post span, .floating-next-post span {
	font-size: 16px;
	height: 35px;
}

input[type="search"] {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

@media (max-width: 1239px) {
    .os-container {
        width:100%;
    }

    .main-header .search-trigger {
        padding-right: 0px;
        width: 95px;
    }
}

@media (max-width: 991px) {
    .mobile-header-w {
        display: block;
    }

    .main-header {
        display: none !important;
    }
	
}

@media (max-width: 454px) {

    .display-type {
        content: ">";
    }

    .main-search-form {
        width: 95%;
    }

    .main-search-form .search-submit {
        display: none;
    }

    .main-search-form form .search-field {
        padding-left: 55px;
        font-size: 19px;
    }

    .main-search-form form .search-field-w:before {
        font-size: 19px;
        top: 18px;
        left: 20px;
    }

    .mobile-header-w .mobile-header .mobile-menu-toggler {
        font-size: 26px;
        width: 60px;
    }

    .mobile-header-w .mobile-header .mobile-menu-search-toggler {
        font-size: 26px;
        width: 60px;
    }

    .main-footer.with-social .footer-copy-and-menu-w {
        float: none;
        width: 100%;
        text-align: center;
    }

    .main-footer.with-social .footer-social-w {
        float: none;
        width: 100%;
        text-align: center;
    }

}

@media (max-width: 320px) {
    .mobile-header-w .mobile-header .mobile-logo {
        width: auto !important;
    }
}

@media (min-width: 992px) and (max-width: 1150px) {

    body {
        font-size: 19px !important;
    }
	
	.single-sharing-box {
		display: none !important;
	}
	
	.single-content {
    padding: 0px 20px 0px 10px!important;
	}
	
	.single-post-comments-w.with-ads .single-post-comments {
		padding: 20px!important;
	}
	
	.single-post-comments-w.with-ads .single-post-comments-sidebar {
		padding: 20px 20px 0px 20px !important;
	}
	
	.single-panel .single-panel-details {
		width: 25% !important;
		padding: 0px 10px 0px 20px !important;
	}
	
	.big-meta-box {
		padding: 0px 40px;
	}
	
	.main-header, .main-footer {
		padding: 10px 20px !important;
	}
	
	.top-bar {
		padding: 0px 20px !important;
	}
}

.mobile-header-w .mobile-header-menu-w {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

@media (min-width: 768px) {
.os-container {
    width: 1240px;
    margin: 0px auto;
}
}

/* Make the header sticky on mobile devices */
@media (max-width: 768px) { /* Adjust this breakpoint for your specific needs */
  .mobile-header-w {
    position: sticky; /* Sticky positioning */
    top: 0; /* Sticks to the top of the viewport */
    z-index: 1000; /* Ensures the header stays above other content */
    background-color: #fff; /* Optional: Add a background to prevent content from showing through */
    box-shadow: 0 1px 0px rgba(0, 0, 0, 0.1);
  }
}

#footer-menu a {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.9;
}

.main-header .top-menu ul li a {
    font-size: 17px;
    font-weight: 600;
	text-transform: uppercase;
}

.main-header .top-menu ul.sub-menu li a {
	font-size: 16px;
}

/* Base styles (mobile-first) */
.home-signup {
  text-align: center;
  color: #fff;
  padding: 15px;
  margin: 30px auto 30px auto; /* normal centered block on mobile */
  background: radial-gradient(370px 130px at center top, #fff4f4, #d00202);
  border-radius: 8px; /* optional: looks nicer on mobile */
}

/* Desktop only: make it full width breakout */
@media (min-width: 768px) {
  .home-signup {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 50px;
    margin-bottom: 30px;
    box-shadow: rgb(136 0 0) 0px 3px 3px inset !important;
    -webkit-box-shadow: rgb(136 0 0) 0px 3px 3px inset !important;
  }
}

.wp-block-columns {
	margin-top: 30px;
    margin-bottom: 5px;
}

:where(.wp-block-columns) {
	margin-bottom: 0;
}

/* Base styles (mobile-first) */
.home-as-seen-on {
  text-align: center;
  padding: 0 0 15px 0;
  margin: 65px auto 50px auto;  /* normal container width on mobile */
  border-top: 1px dashed #000;
  background-color: #f2f2f2;
  border-radius: 8px; /* optional for mobile look */
}

/* Desktop only: full width breakout */
@media (min-width: 768px) {
  .home-as-seen-on {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-top: 65px;
    margin-bottom: 50px !important;
    z-index: 10;
    border-radius: 0; /* reset if you don’t want rounding on desktop */
  }
}

.home-as-seen-on p {
	padding: 0px 20px;
}

.hashtag {
	margin-bottom: -10px;
}

.page-numbers {
	margin: 0px 12px;
}

a.next.page-numbers {
	margin-left: 12px;
}

/* Wrap grid in a container */
.recipe-grid-wrapper {
    margin: 0 auto;
    box-sizing: border-box;
}

/* Grid styling — now 2 columns by default (mobile-first) */
.recipe-grid {
    display: grid;
    grid-gap: 16px;
    grid-template-columns: repeat(2, 1fr); /* 🟢 changed from 1fr to 2 columns */
}

/* Recipe item styles */
.recipe-item {
    overflow: hidden;
    word-wrap: break-word;
}

.recipe-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
}

.related li.recipe-item {
  list-style: none !important;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.related li.recipe-item a {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
	border-bottom: none;
}

.related li.recipe-item a:hover {
	border-bottom: none;
}

.recipe-thumb {
  width: 80px!important;
  height: 80px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}

.recipe-title {
  line-height: 1.5;
}

ul.related {
	padding-left: 0px !important;
}

.sidebar-single-w {
  padding-bottom: 40px;
}

/* Medium screens: 2 columns (no change needed) */
@media only screen and (min-width: 601px) and (max-width: 1023px) {
    .recipe-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Large screens: 4 columns */
@media only screen and (min-width: 1024px) {
    .recipe-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Large screens: 6 columns only when shortcode specifies it */
@media only screen and (min-width: 1024px) {
    .recipe-grid.columns-6 {
        grid-template-columns: repeat(6, 1fr);
    }
}

/* Tablet: 3 columns for 6-column grids */
@media only screen and (min-width: 601px) and (max-width: 1023px) {
    .recipe-grid.columns-6 {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Mobile: 2 columns for 6-column grids */
@media (max-width: 600px) {
    .recipe-grid.columns-6 {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 454px) {
    .single-steps .single-step-duration {
        display: inline-block;
    }
}

.single-steps .single-step-number .single-step-duration i.os-icon {
    margin-right: 3px;
    font-size: 18px;
    vertical-align: middle;
}

@media (min-width: 1700px) {
    .floating-prev-post, .floating-next-post {
        display: block;
    }
}

.floating-prev-post {
    left: -50px;
}

.floating-next-post {
    right: -50px;
}

/* Addressing potential issues caused by specific lightbox triggers */

.responsive-image-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 13px; /* Space between items */
  justify-content: space-between; /* Align items on the desktop */
  margin: 40px -8px 0px -8px;
}

.responsive-image-gallery figure {
  flex: 1 1 calc(30% - 16px); /* Two per row on mobile, subtracting padding */
  margin: 0;
  text-align: center;
  padding: 0 20px; /* Inner padding for spacing between images */
}

.responsive-image-gallery img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 8px; /* Space between image and caption */
  border-radius: 4px; /* Optional: Adds a subtle rounded edge to the images */
}

.responsive-image-gallery figcaption {
  font-size: 16px;
  color: #000;
}

/* Desktop: All images in one line */
@media (min-width: 1024px) { /* Adjust breakpoint as needed */
  .responsive-image-gallery {
    gap: 0; /* Remove gap between items */
  }
  .responsive-image-gallery figure {
    flex: 1 1 calc(16.666% - 16px); /* Six equal-width columns */
    padding: 0 20px; /* Keep inner padding between images */
  }
}

/* Pin It Button Styling */

.search-trigger-icon {
	cursor: pointer;
}

/* AZ Index */

@media (min-width: 768px) {
	.az-index {
	gap: 23.3px;
	}
}

.az-list {
  margin-top: 40px;
}

.az-index {
  margin-bottom: 30px;
  text-align: center;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
}

.az-index a {
  text-decoration: none;
  font-weight: bold;
  font-size: 1.2em;
  padding: 5px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.az-index .disabled {
  opacity: 0.4;
  font-weight: bold;
  font-size: 1.2em;
  padding: 5px 10px;
}

.ingredient-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.ingredient-grid li a {
  text-decoration: none;
  color: inherit;
  font-size: 1em;
}

/* Responsive for larger screens */
@media (min-width: 768px) {
  .ingredient-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .ingredient-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.letter-section {
  margin-bottom: 50px;
}

.letter-section h2 {
  font-size: 1.8em;
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.letter-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.letter-heading .letter {
    font-weight: bold;
}

.back-to-top {
  font-size: 16px;
  font-weight: normal;
  text-decoration: none;
  border-bottom: 1px dotted #000;
}

.back-to-top:hover {
  border-bottom: 1px dotted red;
}

/* Responsive for larger screens */


.menu-item-18264 {
  position: relative;
}

.new-label {
  position: absolute;
  margin-top: -8px;
  color: white;
  font-size: 14px;
  border-radius: 3px;
  line-height: 1;
  font-weight: bold;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .new-label {
    right: 0px;
  }
}

@media (max-width: 454px) { 
  .new-label {
    display: none;
  }
}

/* Post Critical CSS */

.single-post-meta {
	display: none;
}

.page-w .page-title {
	display: inline-block;
    border-bottom: 2px solid rgba(0,0,0,0.9);
    padding-bottom: 10px;
    margin-bottom: 0px;
    margin-top: 10px;
}

.page-w.with-sidebar {
    display: table;
    table-layout: fixed;
    width: 100%;
}

.single-featured-image-w {
	display: none;
}

.page-w.with-sidebar .page-content {
    display: table-cell;
    vertical-align: top;
    width: 70%;
    padding-right: 50px;
}

.page-w.with-sidebar .page-sidebar {
    width: 30%;
    vertical-align: top;
    display: table-cell;
    background-color: #f0f7f7;
    border-radius: 6px;
    padding: 40px 30px;
}

.page-w.with-sidebar .page-sidebar img {
    max-width: 100%;
    height: auto;
	border-radius: 8px;
}

.print-only {
	display: none;
}

/* Category Fixes */

.category-tiles.columns-3 .category-tile .category-recipes-count {
    position: absolute;
    top: 15px;
    right: 15px;
    background-color: red;
    border-radius: 30px;
    color: #fff;
    font-size: 12px;
    padding: 3px 8px;
    z-index: 3;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.2);
}

.category-tiles.columns-3 .category-tile h2, .category-tiles.columns-3 .category-tile h3 {
    -webkit-transition: all 0.7s ease;
    transition: all 0.7s ease;
    z-index: 2;
    position: absolute;
    color: #fff;
    display: inline-block;
    border-bottom: 1px solid rgba(255,255,255,0.5);
    padding-bottom: 5px;
    margin: 0px;
    bottom: 30px;
    left: 40px;
    right: 40px;
    font-size: 28px;
}

@media (max-width: 454px) {
    .category-tiles.columns-3 .category-tile h2, .category-tiles.columns-3 .category-tile h3 {
        left: auto;
        top: auto;
        bottom: auto;
        right: auto;
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;
        display: block;
        text-align: center;
        position: relative;
        border-bottom: none;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    }
}

div.archive-item-share-plus {
	display: none;
}

.archive-item-share-trigger {
width: 55px;
}

.archive-item-share-plus, .archive-item-share-icons, .archive-item-share-icons a {
	text-align: center!important;
	float: none!important;
	border-left: none!important;
}

.archive-posts .masonry-grid .archive-item-share-w .archive-item-share-trigger .archive-item-share-label,.archive-posts .sticky-roll-w .archive-item-share-w .archive-item-share-trigger .archive-item-share-label,.archive-posts .list-items .archive-item-share-w .archive-item-share-trigger .archive-item-share-label {
    float: left;
    vertical-align: middle;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; 
    font-weight: 400;
    font-size: 13px;
    padding: 5px 10px;
    border-left: 1px solid rgba(255,255,255,0.1);
}

#calendar {
	margin: 0px;
}

.thumbnail-item-bg {
    background-size: contain;
}

.meta-icons-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-start;
  margin: 30px 0px;
}

@media (min-width: 768px) {
  .big-meta-box .meta-icons-container {
    justify-content: center;
	margin: 50px 0px 0px 0px;
  }
}

.meta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  background: #f0f0f0;
  border-radius: 8px;
  white-space: nowrap;
  /* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);*/
  transition: background 0.2s;
  cursor: pointer;
  border: none;
}

.meta-icon:hover {
  background: #e6e6e6;
  color: #000;
}

.meta-icon:active {
  transform: scale(0.97);
}

.special, .special:hover {
	font-weight: bold;
	background: #fff;
    border: 1px solid #eee;
}

.red {
	background: #990000;
    color: #fff;
}

.red:hover {
	background: #e70000;
	color: #fff;
}

.green {
	background: #e1ffe2;
}

.black {
	background: #1d1d1d;
	color: #fff;
}

.black:hover {
	background: #000;
	color: #fff;
}

.fp strong {
  text-transform: capitalize;
}

/* Roundup CSS */

.roundup-items {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 2em;
}

.roundup-item {
    border: 1px solid #000;
    border-radius: 8px;
    padding: 16px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.roundup-thumb img {
    border-radius: 6px;
    max-width: 180px;
    height: auto;
    display: block;
}

.roundup-text {
    flex: 1;
}

.roundup-title {
    margin: 0 0 0.5em;
}

.roundup-excerpt {
    margin: 0 0 1em;
}

.roundup-button {
    display: inline-block;
    padding: 8px 14px;
    background: #000;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-size: 16px;
	text-transform: uppercase;
    font-weight: 800;
    transition: background 0.2s ease;
}

.single-panel-main p a.roundup-button:hover,
.single-panel-main p a.button:hover {
    border-bottom: none;
	color: #fff!important;
}

/* Break & Outro spacing */

.roundup-outro {
    margin-top: 20px;
}

/* 📱 Mobile: stack image -> text -> button */
@media (max-width: 768px) {
    .roundup-item {
        flex-direction: column;
    }

    .roundup-thumb {
        flex: unset;
        margin-bottom: 15px;
    }

    .roundup-thumb img {
        max-width: 100%; /* full width image on mobile */
        width: 100%;
        height: auto;
    }

    .roundup-text {
        text-align: left;
    }

    .roundup-button {
        margin-top: 10px;
    }
}

/* MailPoet */

.widget {
	margin-top: 30px;
	border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
    padding-bottom: 30px;
}

.widget:last-child {
  border-bottom: none;
  padding-bottom: 0; /* optional: also remove extra spacing */
}

.widget img {
	border-radius: 8px;
}

#mailpoet_form_1 form.mailpoet_form {
	padding: 0px !important;
}

#mailpoet_form_1 .mailpoet_submit {
	background: #EE0007;
    box-shadow: 0px 4px 0px 0px #000;
    color: #fff !important;
    border: none;
	border-radius: 8px;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
	line-height: 2 !important;
	padding: 7px 17px !important;
}

.mailpoet_text,
.mailpoet_textarea,
.mailpoet_select,
.mailpoet_date_month,
.mailpoet_date_day,
.mailpoet_date_year,
.mailpoet_date {
  border-radius: 8px;
  border: 1px solid #eee;
}

.mailpoet_text {
	font-size: 16px !important;
	line-height: 1 !important;
}

.mailpoet_form_image img {
	height: auto;
}

td.mailpoet_image > a > img {
	border-radius: 8px;
}

@media screen and (max-width: 500px) {
    #mp_form_popup5 {
        max-height: 80% !important;
    }
}

@media screen and (max-width: 500px) {
    .mailpoet_form_popup_overlay.active {
        display: inline !important;
    }
}

.mailpoet_paragraph input {
	border-radius: 6px;
    border: 1px solid #eee;
	padding: 10px;
}

#mp_form_popup5 p.mailpoet_form_paragraph.last {
    margin-bottom: 5px;
    font-size: 13px !important;
}

@media screen and (max-width: 499px) {
    .mailpoet_form_image {
        display: inline !important;
    }
}
	
:where(.is-layout-flex) {
    gap: 1em !important;
}

/* Sign Up Button */

.custom-newsletter-cta {
  margin: 16px 0;
}

.newsletter-cta-wrap {
  position: relative;
  display: inline-block;
}

.newsletter-cta__btn {
  display: inline-flex;
  align-items: center;
  position: relative;
  padding-left: clamp(52px, 6vw, 64px);
}

.newsletter-cta__img {
    position: absolute;
    left: -80px;
    top: 14px;
    transform: translateY(-50%);
    width: 120px;
    height: 152px;
    object-fit: contain;
    z-index: 2;
    pointer-events: none;
}

.newsletter-cta__btn {
  overflow: visible;
}

.hover-pop{
  transition: transform 180ms ease;
  transform: scale(1);
  will-change: transform;
}

.hover-pop:hover{
  transform: scale(1.06);
}

.hover-pop:focus-visible{
  transform: scale(1.06);
}