/* line 5, app/assets/stylesheets/base/_reset.scss */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* line 11, app/assets/stylesheets/base/_reset.scss */
html {
  overflow-x: hidden;
}

/* line 15, app/assets/stylesheets/base/_reset.scss */
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* line 21, app/assets/stylesheets/base/_reset.scss */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* line 27, app/assets/stylesheets/base/_reset.scss */
a {
  text-decoration: none;
  color: inherit;
}

/* line 32, app/assets/stylesheets/base/_reset.scss */
button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: inherit;
}

/* line 5, app/assets/stylesheets/base/_typography.scss */
body {
  font-family: "Montserrat", sans-serif;
  color: #111827;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* line 12, app/assets/stylesheets/base/_typography.scss */
h1, h2, h3, h4, h5, h6 {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  line-height: 1.2;
}

/* line 5, app/assets/stylesheets/components/_navbar.scss */
.navbar {
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  position: sticky;
  top: 0;
  z-index: 50;
  transition: box-shadow 0.3s ease;
}

/* line 13, app/assets/stylesheets/components/_navbar.scss */
.navbar__logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Raleway", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

/* line 22, app/assets/stylesheets/components/_navbar.scss */
.navbar__logo-icon {
  width: 28px;
  height: 28px;
  color: #ff6b01;
}

/* line 28, app/assets/stylesheets/components/_navbar.scss */
.navbar__logo-art {
  color: #1a1a1a;
}

/* line 32, app/assets/stylesheets/components/_navbar.scss */
.navbar__logo-food {
  color: #ff6b01;
}

/* line 37, app/assets/stylesheets/components/_navbar.scss */
.navbar__link {
  position: relative;
  font-weight: 600;
  font-size: 0.875rem;
  color: #1a1a1a;
  padding-bottom: 0.25rem;
  transition: color 0.15s ease;
}

/* line 45, app/assets/stylesheets/components/_navbar.scss */
.navbar__link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: #ff6b01;
  transition: width 0.3s ease;
}

/* line 56, app/assets/stylesheets/components/_navbar.scss */
.navbar__link:hover::after, .navbar__link--active::after {
  width: 100%;
}

/* line 61, app/assets/stylesheets/components/_navbar.scss */
.navbar__link:hover {
  color: #ff6b01;
}

/* line 67, app/assets/stylesheets/components/_navbar.scss */
.navbar__cta {
  color: #ffffff !important;
}

/* line 70, app/assets/stylesheets/components/_navbar.scss */
.navbar__cta:hover {
  color: #ffffff !important;
}

/* line 80, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
}

/* line 86, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer.is-open {
  pointer-events: auto;
}

/* line 91, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* line 98, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer.is-open .mobile-drawer__backdrop {
  opacity: 1;
}

/* line 103, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  max-width: 390px;
  background: #fff;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
}

/* line 117, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer.is-open .mobile-drawer__panel {
  transform: translateX(0);
}

/* line 122, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__topbar {
  display: flex;
  align-items: center;
  padding: 52px 20px 14px;
  flex-shrink: 0;
}

/* line 129, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__close {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #1a1a1a;
  flex-shrink: 0;
}

/* line 142, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__close:hover {
  background: #f3f4f6;
}

/* line 147, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__title {
  flex: 1;
  text-align: center;
  font-family: "Inter", "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
}

/* line 156, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #ff6b01;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
  text-transform: uppercase;
  line-height: 1;
  text-decoration: none;
  gap: 1px;
}

/* line 175, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__avatar-crown {
  color: #fff;
  opacity: 0.9;
}

/* line 180, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__avatar-plan {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

/* line 187, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__body {
  padding: 8px 20px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* line 195, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__search {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f3f4f6;
  border-radius: 14px;
  padding: 12px 16px;
  margin-bottom: 4px;
  color: #6b7280;
  font-size: 15px;
  border: none;
  outline: none;
}

/* line 210, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__search:focus-within {
  background: #eaebee;
  outline: 2px solid rgba(255, 107, 1, 0.4);
  outline-offset: -2px;
}

/* line 217, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #1a1a1a;
  font-size: 15px;
  font-family: "Montserrat", sans-serif;
  min-width: 0;
}

/* line 227, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__search-input::placeholder {
  color: #6b7280;
}

/* line 232, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 4px;
  color: #1a1a1a;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  width: 100%;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: color 0.15s ease;
}

/* line 248, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: #6b7280;
  stroke: currentColor;
  fill: none;
  transition: color 0.15s ease;
}

/* line 258, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row:hover {
  color: #ff6b01;
}

/* line 261, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row:hover svg {
  color: #ff6b01;
}

/* line 267, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row--active svg {
  color: #ff6b01;
}

/* line 272, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row--danger {
  color: #e53e3e;
}

/* line 275, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row--danger svg {
  color: #e53e3e;
}

/* line 279, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row--danger:hover {
  color: #d41c1c;
}

/* line 282, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row--danger:hover svg {
  color: #d41c1c;
}

/* line 288, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row--user {
  font-weight: 600;
  cursor: default;
}

/* line 292, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row--user:hover {
  color: #1a1a1a;
}

/* line 295, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__nav-row--user:hover svg {
  color: #6b7280;
}

/* line 303, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__upgrade-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px;
  background: #ff6b01;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 10px;
  text-decoration: none;
  transition: background 0.15s ease;
}

/* line 319, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__upgrade-btn svg {
  flex-shrink: 0;
}

/* line 321, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__upgrade-btn:hover {
  background: #e55d00;
  color: #ffffff;
}

/* line 327, app/assets/stylesheets/components/_navbar.scss */
.mobile-drawer__divider {
  height: 1px;
  background: #f3f4f6;
  margin: 4px 0;
  flex-shrink: 0;
}

/* line 7, app/assets/stylesheets/components/_hero.scss */
.hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* line 16, app/assets/stylesheets/components/_hero.scss */
.hero__bg {
  position: absolute;
  inset: 0;
}

/* line 21, app/assets/stylesheets/components/_hero.scss */
.hero__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* line 31, app/assets/stylesheets/components/_hero.scss */
.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.45) 50%, rgba(0, 0, 0, 0.2) 100%);
}

/* line 43, app/assets/stylesheets/components/_hero.scss */
.hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 4rem 1.5rem;
  text-align: center;
  color: #ffffff;
}

/* line 55, app/assets/stylesheets/components/_hero.scss */
.hero__title {
  font-family: "Raleway", sans-serif;
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 1.1;
  color: #ffffff;
  margin: 0 0 1rem;
  letter-spacing: -0.5px;
}

/* line 65, app/assets/stylesheets/components/_hero.scss */
.hero__title--accent {
  color: #ff6b01;
  display: block;
  font-size: 4rem;
  text-shadow: 0 2px 20px rgba(255, 107, 1, 0.4);
}

/* line 75, app/assets/stylesheets/components/_hero.scss */
.hero__subtitle {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.65;
  margin: 0 0 3rem;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  font-weight: 400;
}

/* line 87, app/assets/stylesheets/components/_hero.scss */
.hero__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

/* line 97, app/assets/stylesheets/components/_hero.scss */
.hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #ff6b01;
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0.8rem 2rem;
  border-radius: 9999px;
  border: 2px solid #ff6b01;
  transition: all 0.3s ease;
  text-decoration: none;
  letter-spacing: 0.5px;
}

/* line 113, app/assets/stylesheets/components/_hero.scss */
.hero__cta:hover {
  background: #e55d00;
  border-color: #e55d00;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(255, 107, 1, 0.45);
  color: #ffffff;
}

/* line 121, app/assets/stylesheets/components/_hero.scss */
.hero__cta:focus-visible {
  outline: 3px solid rgba(255, 107, 1, 0.7);
  outline-offset: 3px;
}

/* line 129, app/assets/stylesheets/components/_hero.scss */
.hero__cta-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: transparent;
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0.8rem 2rem;
  border-radius: 9999px;
  border: 2px solid rgba(255, 255, 255, 0.7);
  transition: all 0.3s ease;
  text-decoration: none;
  letter-spacing: 0.5px;
  cursor: pointer;
}

/* line 146, app/assets/stylesheets/components/_hero.scss */
.hero__cta-outline:hover {
  border-color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  transform: translateY(-2px);
  color: #ffffff;
}

/* line 153, app/assets/stylesheets/components/_hero.scss */
.hero__cta-outline:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.6);
  outline-offset: 3px;
}

/* line 161, app/assets/stylesheets/components/_hero.scss */
.hero__badges {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 169, app/assets/stylesheets/components/_hero.scss */
.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 9999px;
  padding: 0.4rem 1rem;
  font-size: 0.8rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 992px) {
  /* line 189, app/assets/stylesheets/components/_hero.scss */
  .hero__title {
    font-size: 2.75rem;
  }
  /* line 192, app/assets/stylesheets/components/_hero.scss */
  .hero__title--accent {
    font-size: 3.25rem;
  }
}

@media (max-width: 768px) {
  /* line 7, app/assets/stylesheets/components/_hero.scss */
  .hero {
    min-height: 60vh;
  }
  /* line 202, app/assets/stylesheets/components/_hero.scss */
  .hero__content {
    padding: 3rem 1.5rem;
  }
  /* line 206, app/assets/stylesheets/components/_hero.scss */
  .hero__title {
    font-size: 2.25rem;
  }
  /* line 209, app/assets/stylesheets/components/_hero.scss */
  .hero__title--accent {
    font-size: 2.75rem;
  }
  /* line 214, app/assets/stylesheets/components/_hero.scss */
  .hero__subtitle {
    font-size: 1rem;
  }
  /* line 218, app/assets/stylesheets/components/_hero.scss */
  .hero__actions {
    flex-direction: column;
    gap: 0.5rem;
  }
  /* line 222, app/assets/stylesheets/components/_hero.scss */
  .hero__actions .hero__cta,
.hero__actions .hero__cta-outline {
    width: 100%;
    max-width: 320px;
    justify-content: center;
  }
}

@media (max-width: 576px) {
  /* line 7, app/assets/stylesheets/components/_hero.scss */
  .hero {
    min-height: 55vh;
  }
  /* line 235, app/assets/stylesheets/components/_hero.scss */
  .hero__title {
    font-size: 1.9rem;
  }
  /* line 238, app/assets/stylesheets/components/_hero.scss */
  .hero__title--accent {
    font-size: 2.35rem;
  }
  /* line 243, app/assets/stylesheets/components/_hero.scss */
  .hero__subtitle {
    font-size: 0.95rem;
    margin-bottom: 2rem;
  }
  /* line 248, app/assets/stylesheets/components/_hero.scss */
  .hero__badges {
    gap: 0.5rem;
  }
  /* line 252, app/assets/stylesheets/components/_hero.scss */
  .hero__badge {
    font-size: 0.75rem;
    padding: 0.35rem 0.8rem;
  }
}

/* line 267, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__dialog {
  max-width: 500px;
}

/* line 272, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__intro {
  padding: 0.5rem 1.5rem 0.25rem;
  border-bottom: 1px solid #f3f4f6;
}

/* line 276, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__intro p {
  margin: 0;
  font-size: 0.9rem;
  color: #6b7280;
  line-height: 1.5;
}

/* line 285, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__field {
  margin-bottom: 1.25rem;
}

/* line 288, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__field:last-of-type {
  margin-bottom: 0;
}

/* line 293, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__label {
  display: block;
  font-weight: 600;
  font-size: 0.875rem;
  color: #1a1a1a;
  margin-bottom: 0.4rem;
}

/* line 302, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__input, .suggest-modal__textarea {
  width: 100%;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.5rem;
  padding: 0.65rem 0.9rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.95rem;
  color: #1a1a1a;
  background: #ffffff;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  appearance: none;
}

/* line 316, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__input::placeholder, .suggest-modal__textarea::placeholder {
  color: #d1d5db;
}

/* line 320, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__input:hover, .suggest-modal__textarea:hover {
  border-color: #d1d5db;
}

/* line 324, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__input:focus, .suggest-modal__textarea:focus {
  border-color: #ff6b01;
  box-shadow: 0 0 0 3px rgba(255, 107, 1, 0.12);
}

/* line 330, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__input--error, .suggest-modal__textarea--error {
  border-color: #ef4444;
}

/* line 333, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__input--error:focus, .suggest-modal__textarea--error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12);
}

/* line 339, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__textarea {
  resize: vertical;
  min-height: 80px;
  line-height: 1.5;
}

/* line 346, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid #f3f4f6;
  flex-wrap: wrap;
}

/* line 356, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__btn-cancel {
  display: inline-flex;
  align-items: center;
  background: transparent;
  color: #6b7280;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  padding: 0.6rem 1.25rem;
  border-radius: 9999px;
  border: 1.5px solid #e5e7eb;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 370, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__btn-cancel:hover {
  border-color: #d1d5db;
  color: #1a1a1a;
}

/* line 376, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__btn-submit {
  display: inline-flex;
  align-items: center;
  background: #ff6b01;
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  padding: 0.6rem 1.5rem;
  border-radius: 9999px;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  letter-spacing: 0.3px;
}

/* line 391, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__btn-submit:hover {
  background: #e55d00;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(255, 107, 1, 0.35);
}

/* line 397, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__btn-submit:focus-visible {
  outline: 3px solid rgba(255, 107, 1, 0.6);
  outline-offset: 2px;
}

/* line 404, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__errors {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  margin-bottom: 1rem;
  color: #991b1b;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* line 414, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__errors p {
  margin: 0;
}

/* line 417, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__errors p + p {
  margin-top: 0.25rem;
}

/* line 424, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__success {
  text-align: center;
  padding: 3rem 1rem;
}

/* line 428, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__success-icon {
  margin-bottom: 1rem;
}

/* line 431, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__success-icon svg {
  width: 56px;
  height: 56px;
  color: #22c55e;
}

/* line 438, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__success h3 {
  font-family: "Raleway", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
}

/* line 446, app/assets/stylesheets/components/_hero.scss */
.suggest-modal__success p {
  color: #6b7280;
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0 0 2rem;
  max-width: 340px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 576px) {
  /* line 459, app/assets/stylesheets/components/_hero.scss */
  .suggest-modal__dialog {
    margin: 1rem;
  }
  /* line 463, app/assets/stylesheets/components/_hero.scss */
  .suggest-modal__actions {
    flex-direction: column-reverse;
  }
  /* line 466, app/assets/stylesheets/components/_hero.scss */
  .suggest-modal__actions .suggest-modal__btn-cancel,
.suggest-modal__actions .suggest-modal__btn-submit {
    width: 100%;
    justify-content: center;
  }
}

/* line 5, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card {
  background: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* line 15, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* line 20, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__image-wrapper {
  position: relative;
  width: 100%;
  padding-top: 65%;
  overflow: hidden;
}

/* line 27, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* line 37, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card:hover .recipe-card__image {
  transform: scale(1.05);
}

/* line 41, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 52, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__placeholder svg {
  width: 48px;
  height: 48px;
  color: #d1d5db;
}

/* line 59, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__body {
  padding: 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* line 66, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
  line-height: 1.3;
}

/* line 76, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
  font-size: 0.85rem;
  color: #6b7280;
}

/* line 85, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__time {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 90, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__time svg {
  width: 16px;
  height: 16px;
}

/* line 96, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  background: #fff3e6;
  color: #ff6b01;
}

/* line 108, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__star {
  margin-left: auto;
  color: #d4af37;
}

/* line 112, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__star svg {
  width: 18px;
  height: 18px;
}

/* line 118, app/assets/stylesheets/components/_recipe-card.scss */
.recipe-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
}

/* line 5, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  height: 320px;
  cursor: pointer;
}

/* line 12, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* line 19, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card__placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e5e7eb, #f3f4f6);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 27, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card__placeholder svg {
  width: 48px;
  height: 48px;
  color: #d1d5db;
}

/* line 34, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card:hover .seasonal-card__image {
  transform: scale(1.08);
}

/* line 38, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 50%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* line 50, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card:hover .seasonal-card__overlay {
  opacity: 1;
}

/* line 54, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

/* line 63, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.85rem;
  margin-bottom: 1rem;
}

/* line 71, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card__meta svg {
  width: 16px;
  height: 16px;
}

/* line 77, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  margin-bottom: 1rem;
  width: fit-content;
}

/* line 91, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: #ff6b01;
  color: #ffffff;
  font-weight: 600;
  font-size: 0.85rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  transition: background 0.15s ease;
  width: fit-content;
}

/* line 104, app/assets/stylesheets/components/_seasonal-card.scss */
.seasonal-card__btn:hover {
  background: #e55d00;
  color: #ffffff;
}

/* line 5, app/assets/stylesheets/components/_carousel.scss */
.carousel {
  position: relative;
  padding: 0 4rem;
}

/* line 9, app/assets/stylesheets/components/_carousel.scss */
.carousel__viewport {
  overflow: hidden;
  border-radius: 1rem;
}

/* line 14, app/assets/stylesheets/components/_carousel.scss */
.carousel__track {
  display: flex;
  gap: 1.5rem;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  padding: 1rem 0;
}

/* line 21, app/assets/stylesheets/components/_carousel.scss */
.carousel__slide {
  flex: 0 0 calc(25% - 1.125rem);
  min-width: calc(25% - 1.125rem);
}

/* line 26, app/assets/stylesheets/components/_carousel.scss */
.carousel__slide a {
  display: block;
  height: 100%;
}

/* line 33, app/assets/stylesheets/components/_carousel.scss */
.carousel__slide .ridx-card {
  width: 100%;
}

/* line 38, app/assets/stylesheets/components/_carousel.scss */
.carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #e5e7eb;
  color: #374151;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  z-index: 10;
}

/* line 56, app/assets/stylesheets/components/_carousel.scss */
.carousel__nav svg {
  width: 20px;
  height: 20px;
}

/* line 61, app/assets/stylesheets/components/_carousel.scss */
.carousel__nav:hover {
  background: #ff6b01;
  color: #ffffff;
  border-color: #ff6b01;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 6px 20px rgba(255, 107, 1, 0.3);
}

/* line 69, app/assets/stylesheets/components/_carousel.scss */
.carousel__nav--prev {
  left: 0;
}

/* line 73, app/assets/stylesheets/components/_carousel.scss */
.carousel__nav--next {
  right: 0;
}

/* line 77, app/assets/stylesheets/components/_carousel.scss */
.carousel__nav[disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}

/* line 81, app/assets/stylesheets/components/_carousel.scss */
.carousel__nav[disabled]:hover {
  background: #ffffff;
  color: #374151;
  border-color: #e5e7eb;
  transform: translateY(-50%);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

@media (max-width: 1200px) {
  /* line 92, app/assets/stylesheets/components/_carousel.scss */
  .carousel .carousel__slide {
    flex: 0 0 calc(33.333% - 1rem);
    min-width: calc(33.333% - 1rem);
  }
}

@media (max-width: 992px) {
  /* line 5, app/assets/stylesheets/components/_carousel.scss */
  .carousel {
    padding: 0 3rem;
  }
  /* line 99, app/assets/stylesheets/components/_carousel.scss */
  .carousel .carousel__slide {
    flex: 0 0 calc(50% - 0.75rem);
    min-width: calc(50% - 0.75rem);
  }
  /* line 106, app/assets/stylesheets/components/_carousel.scss */
  .carousel__nav {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 576px) {
  /* line 5, app/assets/stylesheets/components/_carousel.scss */
  .carousel {
    padding: 0;
  }
  /* line 125, app/assets/stylesheets/components/_carousel.scss */
  .carousel__nav {
    display: none;
  }
  /* line 129, app/assets/stylesheets/components/_carousel.scss */
  .carousel__viewport {
    overflow: hidden;
    border-radius: 0;
  }
  /* line 136, app/assets/stylesheets/components/_carousel.scss */
  .carousel__track {
    transform: none !important;
    transition: none;
    overflow-x: scroll;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* line 149, app/assets/stylesheets/components/_carousel.scss */
  .carousel__track::-webkit-scrollbar {
    display: none;
  }
  /* line 162, app/assets/stylesheets/components/_carousel.scss */
  .carousel .carousel__slide {
    flex: 0 0 82%;
    min-width: 82%;
    scroll-snap-align: start;
  }
}

/* line 5, app/assets/stylesheets/components/_footer.scss */
.footer {
  background: #f9fafb;
  border-top: 1px solid #e5e7eb;
  padding: 3rem 0 1.5rem;
}

/* line 10, app/assets/stylesheets/components/_footer.scss */
.footer__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
  text-align: center;
}

/* line 17, app/assets/stylesheets/components/_footer.scss */
.footer__brand {
  font-family: "Raleway", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* line 23, app/assets/stylesheets/components/_footer.scss */
.footer__brand span:first-child {
  color: #1a1a1a;
}

/* line 27, app/assets/stylesheets/components/_footer.scss */
.footer__brand span:last-child {
  color: #ff6b01;
}

/* line 32, app/assets/stylesheets/components/_footer.scss */
.footer__social {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
}

/* line 39, app/assets/stylesheets/components/_footer.scss */
.footer__social-link {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #374151;
  transition: all 0.3s ease;
}

/* line 50, app/assets/stylesheets/components/_footer.scss */
.footer__social-link svg {
  width: 20px;
  height: 20px;
}

/* line 55, app/assets/stylesheets/components/_footer.scss */
.footer__social-link:hover {
  background: #ff6b01;
  color: #ffffff;
}

/* line 61, app/assets/stylesheets/components/_footer.scss */
.footer__nav {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

/* line 69, app/assets/stylesheets/components/_footer.scss */
.footer__link {
  font-size: 0.875rem;
  color: #6b7280;
  transition: color 0.15s ease;
}

/* line 74, app/assets/stylesheets/components/_footer.scss */
.footer__link:hover {
  color: #ff6b01;
}

/* line 79, app/assets/stylesheets/components/_footer.scss */
.footer__copy {
  font-size: 0.8rem;
  color: #6b7280;
}

/* line 5, app/assets/stylesheets/components/_page-header.scss */
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  gap: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 576px) {
  /* line 5, app/assets/stylesheets/components/_page-header.scss */
  .page-header {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* line 21, app/assets/stylesheets/components/_page-header.scss */
.page-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 576px) {
  /* line 21, app/assets/stylesheets/components/_page-header.scss */
  .page-header__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  /* line 35, app/assets/stylesheets/components/_page-header.scss */
  .page-header__inner > .btn-action,
.page-header__inner > .back-link {
    width: 100%;
    justify-content: center;
  }
}

/* line 44, app/assets/stylesheets/components/_page-header.scss */
.page-header__subtitle {
  font-size: 0.95rem;
  color: #6b7280;
  margin: 0.25rem 0 0;
}

@media (max-width: 576px) {
  /* line 44, app/assets/stylesheets/components/_page-header.scss */
  .page-header__subtitle {
    font-size: 0.875rem;
  }
}

/* line 54, app/assets/stylesheets/components/_page-header.scss */
.page-header__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}

/* line 64, app/assets/stylesheets/components/_page-header.scss */
.page-header__title svg {
  width: 28px;
  height: 28px;
}

@media (max-width: 576px) {
  /* line 54, app/assets/stylesheets/components/_page-header.scss */
  .page-header__title {
    font-size: 1.5rem;
  }
}

/* line 74, app/assets/stylesheets/components/_page-header.scss */
.page-header__actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 81, app/assets/stylesheets/components/_page-header.scss */
.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-weight: 600;
  font-size: 0.875rem;
  color: #374151;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  border: 1px solid #e5e7eb;
  transition: all 0.15s ease;
  text-decoration: none;
}

/* line 94, app/assets/stylesheets/components/_page-header.scss */
.back-link svg {
  width: 16px;
  height: 16px;
}

/* line 96, app/assets/stylesheets/components/_page-header.scss */
.back-link:hover {
  border-color: #ff6b01;
  color: #ff6b01;
}

/* line 103, app/assets/stylesheets/components/_page-header.scss */
.page-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  min-height: 100vh;
  background: #f9fafb;
}

@media (max-width: 768px) {
  /* line 103, app/assets/stylesheets/components/_page-header.scss */
  .page-container {
    padding: 1.5rem 1rem;
  }
}

/* line 116, app/assets/stylesheets/components/_page-header.scss */
.empty-state {
  text-align: center;
  padding: 4rem 2rem;
}

/* line 121, app/assets/stylesheets/components/_page-header.scss */
.empty-state__icon {
  width: 64px;
  height: 64px;
  color: #d1d5db;
  margin: 0 auto 1.5rem;
}

/* line 128, app/assets/stylesheets/components/_page-header.scss */
.empty-state__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.25rem;
  color: #374151;
  margin-bottom: 0.5rem;
}

/* line 135, app/assets/stylesheets/components/_page-header.scss */
.empty-state__text {
  color: #6b7280;
  margin-bottom: 2rem;
}

/* line 140, app/assets/stylesheets/components/_page-header.scss */
.empty-state__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: linear-gradient(135deg, #ff6b01, #e55d00);
  color: #ffffff;
  padding: 0.75rem 1.5rem;
  border-radius: 9999px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
}

/* line 152, app/assets/stylesheets/components/_page-header.scss */
.empty-state__link svg {
  width: 18px;
  height: 18px;
}

/* line 154, app/assets/stylesheets/components/_page-header.scss */
.empty-state__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 107, 1, 0.3);
  color: #ffffff;
}

/* line 160, app/assets/stylesheets/components/_page-header.scss */
.empty-state__link--green {
  background: linear-gradient(135deg, #22c55e, #1ca24d);
}

/* line 163, app/assets/stylesheets/components/_page-header.scss */
.empty-state__link--green:hover {
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3);
}

/* line 170, app/assets/stylesheets/components/_page-header.scss */
.page-container__content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

@media (max-width: 576px) {
  /* line 170, app/assets/stylesheets/components/_page-header.scss */
  .page-container__content {
    gap: 1.5rem;
  }
}

/* line 186, app/assets/stylesheets/components/_page-header.scss */
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

@media (max-width: 992px) {
  /* line 186, app/assets/stylesheets/components/_page-header.scss */
  .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 186, app/assets/stylesheets/components/_page-header.scss */
  .card-grid {
    grid-template-columns: 1fr;
  }
}

/* line 201, app/assets/stylesheets/components/_page-header.scss */
.section-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

/* line 207, app/assets/stylesheets/components/_page-header.scss */
.section-header svg {
  width: 22px;
  height: 22px;
}

/* line 213, app/assets/stylesheets/components/_page-header.scss */
.section-header__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}

@media (max-width: 576px) {
  /* line 213, app/assets/stylesheets/components/_page-header.scss */
  .section-header__title {
    font-size: 1.1rem;
  }
}

/* line 225, app/assets/stylesheets/components/_page-header.scss */
.section-header__count {
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  color: #ffffff;
}

/* line 232, app/assets/stylesheets/components/_page-header.scss */
.section-header__count--blue {
  background: #3b82f6;
}

/* line 233, app/assets/stylesheets/components/_page-header.scss */
.section-header__count--green {
  background: #22c55e;
}

/* line 234, app/assets/stylesheets/components/_page-header.scss */
.section-header__count--orange {
  background: #ff6b01;
}

/* line 238, app/assets/stylesheets/components/_page-header.scss */
.info-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 600;
}

/* line 247, app/assets/stylesheets/components/_page-header.scss */
.info-badge svg {
  width: 14px;
  height: 14px;
}

/* line 249, app/assets/stylesheets/components/_page-header.scss */
.info-badge--blue {
  background: rgba(59, 130, 246, 0.1);
  color: #3b82f6;
}

/* line 250, app/assets/stylesheets/components/_page-header.scss */
.info-badge--green {
  background: rgba(34, 197, 94, 0.1);
  color: #22c55e;
}

/* line 251, app/assets/stylesheets/components/_page-header.scss */
.info-badge--gray {
  background: #f3f4f6;
  color: #374151;
}

/* line 252, app/assets/stylesheets/components/_page-header.scss */
.info-badge--orange {
  background: #fff3e6;
  color: #ff6b01;
}

/* line 256, app/assets/stylesheets/components/_page-header.scss */
.nutrition-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  text-align: center;
}

/* line 263, app/assets/stylesheets/components/_page-header.scss */
.nutrition-row__item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* line 269, app/assets/stylesheets/components/_page-header.scss */
.nutrition-row__value {
  font-weight: 700;
  font-size: 0.95rem;
}

/* line 273, app/assets/stylesheets/components/_page-header.scss */
.nutrition-row__value--calories {
  color: #3b82f6;
}

/* line 274, app/assets/stylesheets/components/_page-header.scss */
.nutrition-row__value--protein {
  color: #22c55e;
}

/* line 275, app/assets/stylesheets/components/_page-header.scss */
.nutrition-row__value--carbs {
  color: #f59e0b;
}

/* line 276, app/assets/stylesheets/components/_page-header.scss */
.nutrition-row__value--fat {
  color: #ef4444;
}

/* line 279, app/assets/stylesheets/components/_page-header.scss */
.nutrition-row__label {
  font-size: 0.7rem;
  color: #6b7280;
}

/* line 6, app/assets/stylesheets/components/_content-card.scss */
.content-card {
  display: block;
  background: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
}

/* line 17, app/assets/stylesheets/components/_content-card.scss */
.content-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  color: inherit;
}

/* line 23, app/assets/stylesheets/components/_content-card.scss */
.content-card--bordered-left {
  border-left: 4px solid;
}

/* line 26, app/assets/stylesheets/components/_content-card.scss */
.content-card--bordered-left-blue {
  border-left-color: #3b82f6;
}

/* line 27, app/assets/stylesheets/components/_content-card.scss */
.content-card--bordered-left-green {
  border-left-color: #22c55e;
}

/* line 28, app/assets/stylesheets/components/_content-card.scss */
.content-card--bordered-left-orange {
  border-left-color: #ff6b01;
}

/* line 32, app/assets/stylesheets/components/_content-card.scss */
.content-card__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  color: #ffffff;
}

/* line 41, app/assets/stylesheets/components/_content-card.scss */
.content-card__header svg {
  width: 20px;
  height: 20px;
}

/* line 43, app/assets/stylesheets/components/_content-card.scss */
.content-card__header--blue {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}

/* line 44, app/assets/stylesheets/components/_content-card.scss */
.content-card__header--green {
  background: linear-gradient(135deg, #22c55e, #1ca24d);
}

/* line 45, app/assets/stylesheets/components/_content-card.scss */
.content-card__header--orange {
  background: linear-gradient(135deg, #ff6b01, #e55d00);
}

/* line 48, app/assets/stylesheets/components/_content-card.scss */
.content-card__body {
  padding: 1.5rem;
}

/* line 52, app/assets/stylesheets/components/_content-card.scss */
.content-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 62, app/assets/stylesheets/components/_content-card.scss */
.content-card__title svg {
  width: 20px;
  height: 20px;
}

/* line 65, app/assets/stylesheets/components/_content-card.scss */
.content-card__subtitle {
  font-size: 0.9rem;
  color: #6b7280;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 73, app/assets/stylesheets/components/_content-card.scss */
.content-card__subtitle svg {
  width: 14px;
  height: 14px;
}

/* line 76, app/assets/stylesheets/components/_content-card.scss */
.content-card__badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

/* line 83, app/assets/stylesheets/components/_content-card.scss */
.content-card__actions {
  display: flex;
  gap: 0.5rem;
}

/* line 88, app/assets/stylesheets/components/_content-card.scss */
.content-card__description {
  font-size: 0.9rem;
  color: #6b7280;
  margin-bottom: 1rem;
  line-height: 1.5;
}

/* line 96, app/assets/stylesheets/components/_content-card.scss */
.image-card {
  display: block;
  background: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
}

/* line 107, app/assets/stylesheets/components/_content-card.scss */
.image-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  color: inherit;
}

/* line 114, app/assets/stylesheets/components/_content-card.scss */
.image-card__image-wrapper {
  position: relative;
  height: 200px;
  overflow: hidden;
}

@media (max-width: 768px) {
  /* line 114, app/assets/stylesheets/components/_content-card.scss */
  .image-card__image-wrapper {
    height: 180px;
  }
}

/* line 124, app/assets/stylesheets/components/_content-card.scss */
.image-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* line 130, app/assets/stylesheets/components/_content-card.scss */
.image-card:hover .image-card__image {
  transform: scale(1.05);
}

/* line 135, app/assets/stylesheets/components/_content-card.scss */
.image-card__overlay {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.75rem;
  background: linear-gradient(to bottom left, rgba(0, 0, 0, 0.3) 0%, transparent 60%);
}

/* line 143, app/assets/stylesheets/components/_content-card.scss */
.image-card__body {
  padding: 1.5rem;
}

/* line 147, app/assets/stylesheets/components/_content-card.scss */
.image-card__title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

/* line 155, app/assets/stylesheets/components/_content-card.scss */
.image-card__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #1a1a1a;
  margin: 0;
  line-height: 1.3;
}

/* line 164, app/assets/stylesheets/components/_content-card.scss */
.image-card__type-badge {
  display: inline-flex;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: capitalize;
  white-space: nowrap;
  flex-shrink: 0;
}

/* line 174, app/assets/stylesheets/components/_content-card.scss */
.image-card__type-badge--standard {
  background: #f3f4f6;
  color: #374151;
}

/* line 175, app/assets/stylesheets/components/_content-card.scss */
.image-card__type-badge--fitness {
  background: rgba(34, 197, 94, 0.1);
  color: #22c55e;
}

/* line 176, app/assets/stylesheets/components/_content-card.scss */
.image-card__type-badge--vegan {
  background: rgba(6, 182, 212, 0.1);
  color: #06b6d4;
}

/* line 179, app/assets/stylesheets/components/_content-card.scss */
.image-card__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.85rem;
  color: #6b7280;
  margin-bottom: 1rem;
}

/* line 187, app/assets/stylesheets/components/_content-card.scss */
.image-card__meta svg {
  width: 14px;
  height: 14px;
}

/* line 193, app/assets/stylesheets/components/_content-card.scss */
.image-card__meta-item {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 199, app/assets/stylesheets/components/_content-card.scss */
.image-card__footer {
  display: flex;
  justify-content: flex-end;
}

/* line 205, app/assets/stylesheets/components/_content-card.scss */
.overlay-btn {
  background: rgba(255, 255, 255, 0.9);
  border: none;
  backdrop-filter: blur(10px);
  padding: 0.5rem;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 217, app/assets/stylesheets/components/_content-card.scss */
.overlay-btn svg {
  width: 16px;
  height: 16px;
  color: #374151;
}

/* line 219, app/assets/stylesheets/components/_content-card.scss */
.overlay-btn:hover {
  background: rgba(239, 68, 68, 0.9);
  transform: scale(1.1);
}

/* line 222, app/assets/stylesheets/components/_content-card.scss */
.overlay-btn:hover svg {
  color: #ffffff;
}

/* line 227, app/assets/stylesheets/components/_content-card.scss */
.type-badge {
  display: inline-flex;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: capitalize;
}

/* line 235, app/assets/stylesheets/components/_content-card.scss */
.type-badge--standard {
  background: #f3f4f6;
  color: #374151;
}

/* line 236, app/assets/stylesheets/components/_content-card.scss */
.type-badge--fitness {
  background: rgba(34, 197, 94, 0.1);
  color: #1a9a49;
}

/* line 237, app/assets/stylesheets/components/_content-card.scss */
.type-badge--vegan {
  background: rgba(6, 182, 212, 0.1);
  color: #0891b2;
}

/* line 238, app/assets/stylesheets/components/_content-card.scss */
.type-badge--quick {
  background: rgba(34, 197, 94, 0.1);
  color: #22c55e;
}

/* line 5, app/assets/stylesheets/components/_forms.scss */
.form-panel {
  background: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  max-width: 600px;
  margin: 0 auto;
}

/* line 14, app/assets/stylesheets/components/_forms.scss */
.form-panel--wide {
  max-width: 900px;
}

/* line 18, app/assets/stylesheets/components/_forms.scss */
.form-panel--full {
  max-width: none;
}

/* line 23, app/assets/stylesheets/components/_forms.scss */
.form-panel__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  color: #ffffff;
}

/* line 32, app/assets/stylesheets/components/_forms.scss */
.form-panel__header svg {
  width: 20px;
  height: 20px;
}

/* line 34, app/assets/stylesheets/components/_forms.scss */
.form-panel__header--blue {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}

/* line 35, app/assets/stylesheets/components/_forms.scss */
.form-panel__header--green {
  background: linear-gradient(135deg, #22c55e, #1ca24d);
}

/* line 36, app/assets/stylesheets/components/_forms.scss */
.form-panel__header--orange {
  background: linear-gradient(135deg, #ff6b01, #e55d00);
}

/* line 39, app/assets/stylesheets/components/_forms.scss */
.form-panel__body {
  padding: 2rem;
}

/* line 44, app/assets/stylesheets/components/_forms.scss */
.form-group {
  margin-bottom: 1.5rem;
}

/* line 48, app/assets/stylesheets/components/_forms.scss */
.form-group__label {
  display: block;
  font-weight: 600;
  color: #374151;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

/* line 56, app/assets/stylesheets/components/_forms.scss */
.form-group__hint {
  font-size: 0.8rem;
  color: #6b7280;
  margin-top: 0.25rem;
}

/* line 62, app/assets/stylesheets/components/_forms.scss */
.form-group__input,
.form-group__textarea,
.form-group__select {
  width: 100%;
  border: 2px solid #e5e7eb;
  border-radius: 0.5rem;
  padding: 0.65rem 1rem;
  font-size: 0.95rem;
  transition: border-color 0.3s ease;
  outline: none;
  background: #ffffff;
}

/* line 74, app/assets/stylesheets/components/_forms.scss */
.form-group__input:focus,
.form-group__textarea:focus,
.form-group__select:focus {
  border-color: #ff6b01;
}

/* line 78, app/assets/stylesheets/components/_forms.scss */
.form-group__input::placeholder,
.form-group__textarea::placeholder,
.form-group__select::placeholder {
  color: #d1d5db;
}

/* line 83, app/assets/stylesheets/components/_forms.scss */
.form-group__textarea {
  resize: vertical;
  min-height: 100px;
}

/* line 89, app/assets/stylesheets/components/_forms.scss */
.form-errors {
  background: rgba(239, 68, 68, 0.05);
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-radius: 0.5rem;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  color: #ef4444;
}

/* line 97, app/assets/stylesheets/components/_forms.scss */
.form-errors h5 {
  font-size: 0.9rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}

/* line 103, app/assets/stylesheets/components/_forms.scss */
.form-errors ul {
  margin: 0;
  padding-left: 1.5rem;
  font-size: 0.85rem;
}

/* line 111, app/assets/stylesheets/components/_forms.scss */
.form-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 2rem;
}

/* line 116, app/assets/stylesheets/components/_forms.scss */
.form-actions--stacked {
  flex-direction: column;
}

@media (max-width: 576px) {
  /* line 111, app/assets/stylesheets/components/_forms.scss */
  .form-actions {
    flex-direction: column;
  }
  /* line 124, app/assets/stylesheets/components/_forms.scss */
  .form-actions .btn-submit,
.form-actions .btn-cancel {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* line 134, app/assets/stylesheets/components/_forms.scss */
.btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  text-align: center;
}

/* line 149, app/assets/stylesheets/components/_forms.scss */
.btn-submit--orange {
  background: linear-gradient(135deg, #ff6b01, #e55d00);
  color: #ffffff;
}

/* line 152, app/assets/stylesheets/components/_forms.scss */
.btn-submit--orange:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 107, 1, 0.3);
}

/* line 155, app/assets/stylesheets/components/_forms.scss */
.btn-submit--green {
  background: linear-gradient(135deg, #22c55e, #1ca24d);
  color: #ffffff;
}

/* line 158, app/assets/stylesheets/components/_forms.scss */
.btn-submit--green:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3);
}

/* line 161, app/assets/stylesheets/components/_forms.scss */
.btn-submit--blue {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: #ffffff;
}

/* line 164, app/assets/stylesheets/components/_forms.scss */
.btn-submit--blue:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}

/* line 168, app/assets/stylesheets/components/_forms.scss */
.btn-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 2rem;
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 1rem;
  border: 2px solid #e5e7eb;
  color: #6b7280;
  background: transparent;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  text-align: center;
}

/* line 185, app/assets/stylesheets/components/_forms.scss */
.btn-cancel:hover {
  border-color: #d1d5db;
  color: #374151;
}

/* line 192, app/assets/stylesheets/components/_forms.scss */
.tab-nav {
  display: flex;
  gap: 0;
  border-bottom: 2px solid #e5e7eb;
  margin-bottom: 2rem;
}

/* line 199, app/assets/stylesheets/components/_forms.scss */
.tab-nav__item {
  padding: 1rem 1.5rem;
  font-weight: 600;
  color: #6b7280;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  background: none;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.95rem;
}

/* line 214, app/assets/stylesheets/components/_forms.scss */
.tab-nav__item svg {
  width: 18px;
  height: 18px;
}

/* line 216, app/assets/stylesheets/components/_forms.scss */
.tab-nav__item:hover {
  color: #ff6b01;
}

/* line 220, app/assets/stylesheets/components/_forms.scss */
.tab-nav__item--active {
  color: #ff6b01;
  border-bottom-color: #ff6b01;
}

/* line 227, app/assets/stylesheets/components/_forms.scss */
.info-alert {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: rgba(59, 130, 246, 0.05);
  border: 1px solid rgba(59, 130, 246, 0.15);
  border-radius: 0.5rem;
  color: #3b82f6;
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

/* line 239, app/assets/stylesheets/components/_forms.scss */
.info-alert svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* line 243, app/assets/stylesheets/components/_forms.scss */
.recipe-select {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  max-height: 400px;
  overflow-y: auto;
  padding: 0.25rem;
}

@media (max-width: 992px) {
  /* line 243, app/assets/stylesheets/components/_forms.scss */
  .recipe-select {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 243, app/assets/stylesheets/components/_forms.scss */
  .recipe-select {
    grid-template-columns: 1fr;
  }
}

/* line 260, app/assets/stylesheets/components/_forms.scss */
.recipe-select.rg-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  max-height: 65vh;
  padding: 4px;
}

@media (max-width: 992px) {
  /* line 260, app/assets/stylesheets/components/_forms.scss */
  .recipe-select.rg-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  /* line 260, app/assets/stylesheets/components/_forms.scss */
  .recipe-select.rg-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

@media (max-width: 400px) {
  /* line 260, app/assets/stylesheets/components/_forms.scss */
  .recipe-select.rg-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* line 285, app/assets/stylesheets/components/_forms.scss */
.recipe-select__item {
  position: relative;
}

/* line 289, app/assets/stylesheets/components/_forms.scss */
.recipe-select__card {
  background: #ffffff;
  border: 2px solid #e5e7eb;
  border-radius: 0.5rem;
  padding: 1rem;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 297, app/assets/stylesheets/components/_forms.scss */
.recipe-select__card:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 302, app/assets/stylesheets/components/_forms.scss */
.recipe-select__checkbox {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* line 308, app/assets/stylesheets/components/_forms.scss */
.recipe-select__checkbox:checked + .recipe-select__card {
  border-color: #22c55e;
  background: rgba(34, 197, 94, 0.05);
}

/* line 314, app/assets/stylesheets/components/_forms.scss */
.recipe-select__name {
  font-weight: 700;
  font-size: 0.9rem;
  color: #1a1a1a;
  margin-bottom: 0.25rem;
}

/* line 321, app/assets/stylesheets/components/_forms.scss */
.recipe-select__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

/* line 327, app/assets/stylesheets/components/_forms.scss */
.recipe-select__badge {
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 0.5rem;
  border-radius: 9999px;
  background: #f3f4f6;
  color: #374151;
}

/* line 337, app/assets/stylesheets/components/_forms.scss */
.recipe-list-item {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  padding: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  transition: border-color 0.15s ease;
}

/* line 348, app/assets/stylesheets/components/_forms.scss */
.recipe-list-item--added {
  border-color: #22c55e;
  background: rgba(34, 197, 94, 0.03);
}

/* line 354, app/assets/stylesheets/components/_forms.scss */
.recipe-list-item__info {
  flex: 1;
}

/* line 358, app/assets/stylesheets/components/_forms.scss */
.recipe-list-item__title {
  font-weight: 700;
  font-size: 0.95rem;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
}

/* line 365, app/assets/stylesheets/components/_forms.scss */
.recipe-list-item__meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.8rem;
  color: #6b7280;
}

/* line 372, app/assets/stylesheets/components/_forms.scss */
.recipe-list-item__meta svg {
  width: 12px;
  height: 12px;
}

/* line 375, app/assets/stylesheets/components/_forms.scss */
.recipe-list-item__nutrition {
  display: flex;
  gap: 1rem;
  font-size: 0.8rem;
  color: #6b7280;
  margin-top: 0.5rem;
}

/* line 382, app/assets/stylesheets/components/_forms.scss */
.recipe-list-item__nutrition strong {
  color: #374151;
}

/* line 5, app/assets/stylesheets/pages/_home.scss */
.home-showcase {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  padding: 4rem 0;
  min-height: 50vh;
}

/* line 10, app/assets/stylesheets/pages/_home.scss */
.home-showcase__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* line 17, app/assets/stylesheets/pages/_home.scss */
.section {
  margin-bottom: 4rem;
}

/* line 20, app/assets/stylesheets/pages/_home.scss */
.section__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding: 0 1rem;
}

/* line 28, app/assets/stylesheets/pages/_home.scss */
.section__title-wrapper {
  flex: 1;
}

/* line 32, app/assets/stylesheets/pages/_home.scss */
.section__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 800;
  color: #111827;
  margin: 0 0 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 42, app/assets/stylesheets/pages/_home.scss */
.section__title svg {
  width: 28px;
  height: 28px;
  color: #ff6b01;
}

/* line 49, app/assets/stylesheets/pages/_home.scss */
.section__subtitle {
  font-size: 0.95rem;
  color: #6b7280;
  margin: 0;
}

/* line 55, app/assets/stylesheets/pages/_home.scss */
.section__see-all {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  border: 2px solid #ff6b01;
  color: #ff6b01;
  padding: 0.5rem 1.5rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.875rem;
  transition: all 0.3s ease;
  white-space: nowrap;
}

/* line 68, app/assets/stylesheets/pages/_home.scss */
.section__see-all:hover {
  background: #ff6b01;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(255, 107, 1, 0.3);
}

/* line 77, app/assets/stylesheets/pages/_home.scss */
.section--seasonal {
  position: relative;
  padding: 2rem;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-image: linear-gradient(to right, transparent 0%, rgba(212, 175, 55, 0.5) 5%, rgba(212, 175, 55, 0.5) 95%, transparent 100%) 1;
}

/* line 90, app/assets/stylesheets/pages/_home.scss */
.section--seasonal::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.08) 0%, rgba(255, 215, 0, 0.05) 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
  pointer-events: none;
}

/* line 114, app/assets/stylesheets/pages/_home.scss */
.section--vegan {
  position: relative;
  padding: 2rem;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-image: linear-gradient(to right, transparent 0%, rgba(34, 197, 94, 0.4) 5%, rgba(34, 197, 94, 0.4) 95%, transparent 100%) 1;
}

/* line 127, app/assets/stylesheets/pages/_home.scss */
.section--vegan::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.06) 0%, rgba(22, 163, 74, 0.03) 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
  pointer-events: none;
}

/* line 149, app/assets/stylesheets/pages/_home.scss */
.section--vegan .section__title svg {
  color: #16a34a;
}

/* line 153, app/assets/stylesheets/pages/_home.scss */
.section--vegan .section__see-all--vegan {
  border-color: #16a34a;
  color: #16a34a;
}

/* line 157, app/assets/stylesheets/pages/_home.scss */
.section--vegan .section__see-all--vegan:hover {
  background: #16a34a;
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(34, 197, 94, 0.3);
}

/* line 166, app/assets/stylesheets/pages/_home.scss */
.section--drinks {
  position: relative;
  padding: 2rem;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-image: linear-gradient(to right, transparent 0%, rgba(139, 92, 246, 0.4) 5%, rgba(139, 92, 246, 0.4) 95%, transparent 100%) 1;
}

/* line 179, app/assets/stylesheets/pages/_home.scss */
.section--drinks::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.06) 0%, rgba(109, 40, 217, 0.03) 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 5%, black 95%, transparent 100%);
  pointer-events: none;
}

/* line 201, app/assets/stylesheets/pages/_home.scss */
.section--drinks .section__title svg {
  color: #8b5cf6;
}

/* line 205, app/assets/stylesheets/pages/_home.scss */
.section--drinks .section__see-all--drinks {
  border-color: #8b5cf6;
  color: #8b5cf6;
}

/* line 209, app/assets/stylesheets/pages/_home.scss */
.section--drinks .section__see-all--drinks:hover {
  background: #8b5cf6;
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(139, 92, 246, 0.3);
}

@media (max-width: 768px) {
  /* line 218, app/assets/stylesheets/pages/_home.scss */
  .section__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  /* line 224, app/assets/stylesheets/pages/_home.scss */
  .section__see-all {
    width: 100%;
    justify-content: center;
  }
  /* line 229, app/assets/stylesheets/pages/_home.scss */
  .section__title {
    font-size: 1.4rem;
  }
}

/* line 5, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show {
  max-width: 1280px;
  margin: 0 auto;
  padding: 1.5rem;
}

/* line 11, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  gap: 1rem;
}

@media (max-width: 576px) {
  /* line 11, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__topbar {
    margin-bottom: 1rem;
    align-items: flex-start;
  }
}

/* line 24, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__back {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-weight: 600;
  font-size: 0.875rem;
  color: #374151;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  border: 1px solid #e5e7eb;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 37, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__back svg {
  width: 16px;
  height: 16px;
}

/* line 39, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__back:hover {
  border-color: #ff6b01;
  color: #ff6b01;
}

@media (max-width: 576px) {
  /* line 24, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__back {
    padding: 0.25rem 0.5rem;
    font-size: 0.8rem;
  }
}

/* line 50, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

@media (max-width: 576px) {
  /* line 50, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__actions {
    gap: 0.5rem;
  }
  /* line 58, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__actions .btn-action {
    padding: 0.5rem;
  }
  /* line 60, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__actions .btn-action svg {
    width: 18px;
    height: 18px;
  }
  /* line 61, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__actions .btn-action span {
    display: none;
  }
}

/* line 67, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero {
  position: relative;
  height: 400px;
  border-radius: 1.5rem;
  overflow: hidden;
  margin-bottom: 2rem;
}

@media (max-width: 768px) {
  /* line 67, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__hero {
    height: 300px;
  }
}

@media (max-width: 576px) {
  /* line 67, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__hero {
    height: 300px;
  }
}

/* line 78, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  border-radius: 1.5rem;
}

/* line 90, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero[data-category="standard"]::after {
  box-shadow: inset -4px 0 0 0 rgba(156, 163, 175, 0.5), inset 0 -4px 0 0 rgba(156, 163, 175, 0.5);
}

/* line 91, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero[data-category="fitness"]::after {
  box-shadow: inset -4px 0 0 0 rgba(34, 197, 94, 0.7), inset 0 -4px 0 0 rgba(34, 197, 94, 0.7);
}

/* line 92, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero[data-category="vegan"]::after {
  box-shadow: inset -4px 0 0 0 rgba(16, 185, 129, 0.7), inset 0 -4px 0 0 rgba(16, 185, 129, 0.7);
}

/* line 93, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero[data-category="drink"]::after {
  box-shadow: inset -4px 0 0 0 rgba(139, 92, 246, 0.7), inset 0 -4px 0 0 rgba(139, 92, 246, 0.7);
}

/* line 94, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero[data-category="dessert"]::after {
  box-shadow: inset -4px 0 0 0 rgba(236, 72, 153, 0.7), inset 0 -4px 0 0 rgba(236, 72, 153, 0.7);
}

/* line 95, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero[data-category="sauce"]::after {
  box-shadow: inset -4px 0 0 0 rgba(245, 158, 11, 0.7), inset 0 -4px 0 0 rgba(245, 158, 11, 0.7);
}

/* line 96, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero[data-category="snack"]::after {
  box-shadow: inset -4px 0 0 0 rgba(59, 130, 246, 0.7), inset 0 -4px 0 0 rgba(59, 130, 246, 0.7);
}

/* line 97, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero[data-category="side_dish"]::after {
  box-shadow: inset -4px 0 0 0 rgba(6, 182, 212, 0.7), inset 0 -4px 0 0 rgba(6, 182, 212, 0.7);
}

/* line 99, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* line 105, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero:hover .recipe-show__hero-img {
  transform: scale(1.02);
}

/* line 110, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.15) 50%, transparent 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2rem;
}

@media (max-width: 576px) {
  /* line 110, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__hero-overlay {
    padding: 1rem;
  }
}

/* line 122, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-title {
  font-family: "Raleway", sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 0.5rem;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

@media (max-width: 768px) {
  /* line 122, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__hero-title {
    font-size: 1.75rem;
  }
}

@media (max-width: 576px) {
  /* line 122, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__hero-title {
    font-size: 1.35rem;
  }
}

/* line 135, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-cat-corner {
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
}

/* line 142, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-cat-label {
  position: absolute;
  bottom: 2px;
  right: 2px;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 0;
  border-top-left-radius: 10px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #ffffff;
  white-space: nowrap;
  backdrop-filter: blur(6px);
  background: rgba(156, 163, 175, 0.55);
}

/* line 162, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-cat-corner--fitness .recipe-show__hero-cat-label {
  background: rgba(34, 197, 94, 0.75);
}

/* line 163, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-cat-corner--vegan .recipe-show__hero-cat-label {
  background: rgba(16, 185, 129, 0.75);
}

/* line 164, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-cat-corner--drink .recipe-show__hero-cat-label {
  background: rgba(139, 92, 246, 0.8);
}

/* line 165, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-cat-corner--dessert .recipe-show__hero-cat-label {
  background: rgba(236, 72, 153, 0.8);
}

/* line 166, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-cat-corner--sauce .recipe-show__hero-cat-label {
  background: rgba(245, 158, 11, 0.8);
}

/* line 167, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-cat-corner--snack .recipe-show__hero-cat-label {
  background: rgba(59, 130, 246, 0.8);
}

/* line 168, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-cat-corner--side_dish .recipe-show__hero-cat-label {
  background: rgba(6, 182, 212, 0.8);
}

/* line 170, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__hero-variation-tag {
  display: inline-block;
  padding: 0.25rem 1rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: #ff6b01;
  color: #ffffff;
  margin-bottom: 0.25rem;
  width: fit-content;
}

/* line 185, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__info-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

@media (max-width: 576px) {
  /* line 185, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__info-pills {
    gap: 4px;
    margin-top: 0.25rem;
  }
}

/* line 197, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-size: 0.85rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.25);
}

/* line 210, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__pill svg {
  width: 16px;
  height: 16px;
}

/* line 212, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__pill--calories {
  border-color: rgba(255, 107, 1, 0.6);
}

/* line 213, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__pill--protein {
  border-color: rgba(255, 255, 255, 0.4);
}

/* line 214, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__pill--carbs {
  border-color: rgba(255, 255, 255, 0.4);
}

/* line 215, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__pill--fat {
  border-color: rgba(255, 255, 255, 0.4);
}

@media (max-width: 576px) {
  /* line 197, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__pill {
    padding: 3px 8px;
    font-size: 0.7rem;
    gap: 3px;
  }
  /* line 221, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__pill svg {
    width: 11px;
    height: 11px;
  }
}

/* line 226, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__header-fallback {
  margin-bottom: 2rem;
  padding: 2rem;
  background: #f9fafb;
  border-radius: 1.5rem;
  border: 1px solid #f3f4f6;
}

/* line 234, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__title-fallback {
  font-family: "Raleway", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
}

/* line 242, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__fallback-meta {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

/* line 249, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__info-pills--fallback .recipe-show__pill {
  background: #ffffff;
  color: #374151;
  border: 1px solid #e5e7eb;
  backdrop-filter: none;
}

/* line 255, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__info-pills--fallback .recipe-show__pill--calories {
  border-color: rgba(255, 107, 1, 0.3);
  color: #ff6b01;
}

/* line 256, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__info-pills--fallback .recipe-show__pill--protein {
  border-color: #d1d5db;
  color: #1a1a1a;
}

/* line 257, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__info-pills--fallback .recipe-show__pill--carbs {
  border-color: #d1d5db;
  color: #374151;
}

/* line 258, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__info-pills--fallback .recipe-show__pill--fat {
  border-color: #d1d5db;
  color: #6b7280;
}

/* line 263, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

@media (max-width: 992px) {
  /* line 263, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__grid {
    grid-template-columns: 1fr;
  }
}

/* line 275, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__panel {
  background: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
}

/* line 281, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__panel-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0 0 0.5rem;
  margin: 1.5rem 1.5rem 0;
  font-family: "Raleway", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #1a1a1a;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 2px solid #f3f4f6;
}

/* line 295, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__panel-header svg {
  width: 18px;
  height: 18px;
  color: #ff6b01;
}

/* line 308, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__panel-body {
  padding: 1.5rem;
}

/* line 313, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__ingredient-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* line 319, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__ingredient-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid #f3f4f6;
  transition: padding-left 0.15s ease;
}

/* line 327, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__ingredient-item:last-child {
  border-bottom: none;
}

/* line 329, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__ingredient-item:hover {
  padding-left: 0.5rem;
}

/* line 334, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__ingredient-name {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
  color: #374151;
}

/* line 341, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__ingredient-name svg {
  width: 16px;
  height: 16px;
  color: #ff6b01;
  flex-shrink: 0;
}

/* line 349, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__ingredient-qty {
  font-size: 0.8rem;
  font-weight: 600;
  color: #6b7280;
  white-space: nowrap;
}

/* line 357, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__steps-list {
  list-style: none;
  counter-reset: step-counter;
  padding: 0;
  margin: 0;
}

/* line 364, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__step {
  counter-increment: step-counter;
  position: relative;
  padding: 0.5rem 0 0.5rem 2.5rem;
  margin-bottom: 0.5rem;
  line-height: 1.7;
  font-size: 0.95rem;
  color: #374151;
  border-bottom: 1px solid #f3f4f6;
  transition: padding-left 0.15s ease;
}

/* line 375, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__step:last-child {
  margin-bottom: 0;
  border-bottom: none;
}

/* line 377, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__step:hover {
  padding-left: 2.75rem;
}

/* line 381, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__step::before {
  content: counter(step-counter);
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 24px;
  height: 24px;
  background: #ff6b01;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.75rem;
}

/* line 400, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-table {
  width: 100%;
  border-collapse: collapse;
}

/* line 404, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-table th {
  background: #f9fafb;
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid #f3f4f6;
}

/* line 417, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-table td {
  padding: 0.5rem 1rem;
  border-bottom: 1px solid #f3f4f6;
  font-size: 0.85rem;
  vertical-align: middle;
  color: #374151;
}

/* line 425, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-table tbody tr {
  transition: background 0.15s ease;
}

/* line 427, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-table tbody tr:hover {
  background: #f9fafb;
}

/* line 428, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 432, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-value {
  font-weight: 700;
}

/* line 434, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-value--calories {
  color: #ff6b01;
}

/* line 435, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-value--protein {
  color: #1a1a1a;
}

/* line 436, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-value--carbs {
  color: #374151;
}

/* line 437, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-value--fat {
  color: #6b7280;
}

/* line 440, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-ref {
  display: block;
  font-size: 0.6rem;
  color: #6b7280;
  margin-top: 1px;
  line-height: 1.2;
}

/* line 447, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-ref b {
  font-weight: 700;
  color: #6b7280;
}

/* line 453, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-badge {
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  background: #f3f4f6;
  color: #374151;
}

/* line 462, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-sub {
  font-size: 0.65rem;
  font-weight: 400;
  opacity: 0.7;
  text-transform: none;
}

/* line 469, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-summary {
  border-top: 1px solid #e5e7eb;
  padding: 1rem 1.5rem;
  background: #f9fafb;
}

/* line 475, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
}

/* line 481, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-summary-row:not(:last-child) {
  border-bottom: 1px solid #f3f4f6;
}

/* line 485, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-summary-row--highlight {
  background: #fff3e6;
  margin: 0.5rem -1.5rem -1rem;
  padding: 1rem 1.5rem;
  border-radius: 0 0 1rem 1rem;
}

@media (max-width: 576px) {
  /* line 475, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__nutrition-summary-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}

/* line 499, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-summary-label {
  font-family: "Raleway", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #374151;
  margin: 0;
}

/* line 506, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-summary-label span {
  font-weight: 400;
  color: #6b7280;
}

/* line 512, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-summary-values {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

/* line 517, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__nutrition-summary-values .recipe-show__nutrition-value {
  font-size: 0.9rem;
}

/* line 523, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensils {
  margin-bottom: 2rem;
}

/* line 527, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensils-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

/* line 534, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensils-icon {
  width: 44px;
  height: 44px;
  background: #fff3e6;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 543, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensils-icon svg {
  width: 22px;
  height: 22px;
  color: #ff6b01;
}

/* line 546, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensils-title {
  font-family: "Raleway", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}

/* line 554, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensils-subtitle {
  font-size: 0.9rem;
  color: #6b7280;
  margin: 0;
}

/* line 560, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensils-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
}

@media (max-width: 576px) {
  /* line 560, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__utensils-grid {
    grid-template-columns: 1fr;
  }
}

/* line 570, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-card {
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid #f3f4f6;
  padding: 1.5rem;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
}

/* line 579, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  border-color: rgba(255, 107, 1, 0.2);
}

/* line 586, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

/* line 593, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 0.5rem;
  background: #f9fafb;
  padding: 4px;
}

/* line 602, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-icon-placeholder {
  width: 48px;
  height: 48px;
  border-radius: 0.5rem;
  background: #fff3e6;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 107, 1, 0.2);
}

/* line 612, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-icon-placeholder svg {
  width: 24px;
  height: 24px;
  color: #ff6b01;
}

/* line 615, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-platform {
  font-size: 0.7rem;
  font-weight: 600;
  background: #f3f4f6;
  color: #374151;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  letter-spacing: 0.02em;
}

/* line 625, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-name {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
}

/* line 633, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-qty {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

/* line 640, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-qty-number {
  background: #fff3e6;
  color: #ff6b01;
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  font-weight: 700;
  font-size: 0.9rem;
}

/* line 649, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-qty-unit {
  color: #6b7280;
  font-weight: 500;
  font-size: 0.9rem;
}

/* line 656, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-buy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #ff6b01;
  color: #ffffff;
  padding: 9px 1rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.01em;
  margin-top: auto;
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

/* line 671, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-buy svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

/* line 673, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-buy:hover {
  background: #e55d00;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 107, 1, 0.35);
}

/* line 682, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-buy-wrapper {
  position: relative;
  margin-top: auto;
}

/* line 687, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-buy-wrapper > button.recipe-show__utensil-buy {
  width: 100%;
  border: none;
  cursor: pointer;
}

/* line 694, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-buy-wrapper.is-open > button.recipe-show__utensil-buy {
  background: #f3f4f6;
  color: #374151;
  box-shadow: none;
  transform: none;
}

/* line 700, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-buy-wrapper.is-open > button.recipe-show__utensil-buy:hover {
  background: #e5e7eb;
}

/* line 705, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-buy-label--closed {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 711, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-buy-label--open {
  display: none;
  align-items: center;
  gap: 6px;
}

/* line 719, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show .recipe-show__utensil-buy-wrapper.is-open .recipe-show__utensil-buy-label--closed {
  display: none;
}

/* line 720, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show .recipe-show__utensil-buy-wrapper.is-open .recipe-show__utensil-buy-label--open {
  display: flex;
}

/* line 723, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-links-panel {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #ffffff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  z-index: 20;
}

/* line 735, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-links-panel[hidden] {
  display: none;
}

/* line 738, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-link-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 11px 14px;
  background: #ffffff;
  color: #1a1a1a;
  text-decoration: none;
  transition: background 0.15s ease;
}

/* line 748, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-link-row + .recipe-show__utensil-link-row {
  border-top: 1px solid #f3f4f6;
}

/* line 750, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-link-row:hover {
  background: #f9fafb;
}

/* line 753, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-link-row:hover .recipe-show__utensil-link-cta {
  color: #e55d00;
}

/* line 760, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-link-logo {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* line 770, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-link-logo svg {
  max-width: 26px;
  max-height: 22px;
}

/* line 773, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-link-label {
  flex: 1;
  font-size: 0.83rem;
  font-weight: 600;
  color: #1a1a1a;
  letter-spacing: 0.01em;
}

/* line 782, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-link-cta {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #ff6b01;
  white-space: nowrap;
  flex-shrink: 0;
  transition: color 0.15s ease;
}

/* line 794, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-link-arrow {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

/* line 801, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-platform--has-links {
  border-color: rgba(255, 107, 1, 0.15);
}

/* line 804, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__utensil-platform--has-links .recipe-show__utensil-platform {
  background: #f3f4f6;
  color: #374151;
  font-weight: 600;
}

/* line 813, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  border: 1px solid #e5e7eb;
  color: #374151;
  background: #ffffff;
  transition: all 0.15s ease;
  cursor: pointer;
}

/* line 827, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action svg {
  width: 16px;
  height: 16px;
}

/* line 829, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action:hover {
  border-color: #ff6b01;
  color: #ff6b01;
}

/* line 834, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action--danger {
  border-color: #ef4444;
  color: #ef4444;
}

/* line 837, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action--danger:hover {
  background: #ef4444;
  color: #ffffff;
}

/* line 840, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action--filled {
  background: #ef4444;
  color: #ffffff;
  border-color: #ef4444;
}

/* line 844, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action--filled:hover {
  background: #ec1e1e;
  color: #ffffff;
}

/* line 847, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action--primary {
  border-color: #ff6b01;
  color: #ff6b01;
}

/* line 850, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action--primary:hover {
  background: #ff6b01;
  color: #ffffff;
}

/* line 853, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action--green {
  border-color: #22c55e;
  color: #22c55e;
}

/* line 856, app/assets/stylesheets/pages/_recipe-show.scss */
.btn-action--green:hover {
  background: #22c55e;
  color: #ffffff;
}

/* line 861, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 50;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* line 873, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-overlay--open {
  opacity: 1;
  pointer-events: auto;
}

/* line 879, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-dialog {
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
  width: 100%;
  max-width: 440px;
  margin: 1.5rem;
  transform: translateY(20px);
  transition: transform 0.3s ease;
}

/* line 889, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-overlay--open .modal-dialog {
  transform: translateY(0);
}

/* line 894, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-dialog__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  border-bottom: 1px solid #f3f4f6;
}

/* line 901, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-dialog__header h3 {
  font-family: "Raleway", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 910, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-dialog__header h3 svg {
  width: 20px;
  height: 20px;
}

/* line 914, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-dialog__close {
  color: #6b7280;
  padding: 0.25rem;
  border-radius: 0.375rem;
  transition: color 0.15s ease;
}

/* line 920, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-dialog__close svg {
  width: 20px;
  height: 20px;
}

/* line 922, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-dialog__close:hover {
  color: #1a1a1a;
}

/* line 925, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-dialog__body {
  padding: 1.5rem;
}

/* line 929, app/assets/stylesheets/pages/_recipe-show.scss */
.modal-dialog__footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid #f3f4f6;
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

/* line 938, app/assets/stylesheets/pages/_recipe-show.scss */
.servings-input {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  overflow: hidden;
}

/* line 946, app/assets/stylesheets/pages/_recipe-show.scss */
.servings-input__btn {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f9fafb;
  color: #374151;
  transition: background 0.15s ease;
}

/* line 956, app/assets/stylesheets/pages/_recipe-show.scss */
.servings-input__btn svg {
  width: 16px;
  height: 16px;
}

/* line 958, app/assets/stylesheets/pages/_recipe-show.scss */
.servings-input__btn:hover {
  background: #e5e7eb;
}

/* line 961, app/assets/stylesheets/pages/_recipe-show.scss */
.servings-input__field {
  width: 60px;
  height: 40px;
  border: none;
  text-align: center;
  font-weight: 700;
  font-size: 1rem;
  color: #1a1a1a;
  outline: none;
  -moz-appearance: textfield;
}

/* line 971, app/assets/stylesheets/pages/_recipe-show.scss */
.servings-input__field::-webkit-inner-spin-button, .servings-input__field::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

/* line 977, app/assets/stylesheets/pages/_recipe-show.scss */
.toast-notification {
  position: fixed;
  top: 1.5rem;
  left: 50%;
  transform: translateX(-50%) translateY(-20px);
  background: #22c55e;
  color: #ffffff;
  padding: 0.5rem 1.5rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.85rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  z-index: 60;
  opacity: 0;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 996, app/assets/stylesheets/pages/_recipe-show.scss */
.toast-notification svg {
  width: 18px;
  height: 18px;
}

/* line 998, app/assets/stylesheets/pages/_recipe-show.scss */
.toast-notification--visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* line 1008, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__content {
  max-width: 1100px;
  margin: 0 auto;
  min-width: 0;
}

/* line 1019, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip {
  max-width: 1100px;
  margin: 0 auto 2rem;
  background: #ffffff;
  border: 1px solid #f3f4f6;
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

/* line 1029, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #f3f4f6;
  background: linear-gradient(135deg, rgba(255, 107, 1, 0.05) 0%, rgba(255, 107, 1, 0.01) 100%);
}

/* line 1038, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__header-left {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1045, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__icon {
  width: 32px;
  height: 32px;
  border-radius: 0.5rem;
  background: #ff6b01;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 1055, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__icon svg {
  width: 16px;
  height: 16px;
  color: #ffffff;
}

/* line 1058, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__label {
  font-family: "Raleway", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #ff6b01;
  margin: 0 0 1px;
  line-height: 1.2;
}

/* line 1069, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__count {
  font-size: 0.7rem;
  color: #6b7280;
  margin: 0;
  font-weight: 500;
}

/* line 1077, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__scroll {
  display: flex;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* line 1088, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__scroll::-webkit-scrollbar {
  display: none;
}

/* line 1092, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  flex-shrink: 0;
  width: 140px;
  min-height: 80px;
  padding: 1rem 0.5rem 0.5rem;
  background: #ffffff;
  border: 1.5px solid #f3f4f6;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  scroll-snap-align: start;
  cursor: pointer;
}

/* line 1110, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: rgba(255, 107, 1, 0.4);
}

/* line 1117, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card--current {
  border-color: #ff6b01;
  border-width: 2px;
  background: rgba(255, 107, 1, 0.06);
  box-shadow: 0 0 0 3px rgba(255, 107, 1, 0.1);
  cursor: default;
}

/* line 1124, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card--current:hover {
  transform: none;
  box-shadow: 0 0 0 3px rgba(255, 107, 1, 0.1);
}

@media (max-width: 576px) {
  /* line 1092, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-variations-strip__card {
    width: 120px;
    min-height: 72px;
  }
}

/* line 1137, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag {
  display: inline-block;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 3px 7px;
  border-radius: 0.375rem;
  line-height: 1.3;
  width: fit-content;
}

/* line 1149, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--green {
  background: #dcfce7;
  color: #166534;
}

/* line 1150, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--amber {
  background: #fef3c7;
  color: #92400e;
}

/* line 1151, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--blue {
  background: #dbeafe;
  color: #1e40af;
}

/* line 1152, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--purple {
  background: #f3e8ff;
  color: #6b21a8;
}

/* line 1153, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--red {
  background: #fee2e2;
  color: #991b1b;
}

/* line 1154, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--indigo {
  background: #e0e7ff;
  color: #3730a3;
}

/* line 1155, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--orange {
  background: #fff3e6;
  color: #e55d00;
}

/* line 1156, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--teal {
  background: #ccfbf1;
  color: #115e59;
}

/* line 1157, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--brown {
  background: #fde8d8;
  color: #7c2d12;
}

/* line 1158, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--pink {
  background: #fce7f3;
  color: #9d174d;
}

/* line 1159, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--cyan {
  background: #cffafe;
  color: #155e75;
}

/* line 1160, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-tag--gray {
  background: #f3f4f6;
  color: #374151;
}

/* line 1164, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-kcal {
  font-family: "Raleway", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #374151;
  line-height: 1;
}

/* line 1172, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-kcal--current {
  color: #ff6b01;
}

/* line 1175, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card--current .recipe-variations-strip__card-kcal {
  color: #ff6b01;
}

/* line 1180, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-kcal-unit {
  font-size: 0.65rem;
  color: #6b7280;
  font-weight: 500;
}

/* line 1187, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-strip__card-viewing {
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #ff6b01;
  margin-top: auto;
}

/* line 1201, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell {
  max-width: 1100px;
  margin: 0 auto 2rem;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  overflow: hidden;
}

/* line 1211, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__header {
  padding: 1.5rem 1.5rem 1rem;
  border-bottom: 1px solid #f3f4f6;
}

/* line 1217, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__eyebrow {
  display: block;
  font-family: "Raleway", sans-serif;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #ff6b01;
  margin-bottom: 0.25rem;
}

/* line 1229, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__title {
  font-family: "Raleway", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #374151;
  margin: 0;
  line-height: 1.4;
}

/* line 1237, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__title strong {
  color: #1a1a1a;
  font-weight: 700;
}

@media (max-width: 576px) {
  /* line 1229, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-variations-upsell__title {
    font-size: 0.9rem;
  }
}

/* line 1248, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__body {
  display: flex;
  align-items: center;
  gap: 0;
}

@media (max-width: 768px) {
  /* line 1248, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-variations-upsell__body {
    flex-direction: column;
    align-items: stretch;
  }
}

/* line 1260, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__preview-row {
  display: flex;
  flex: 1;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* line 1269, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__preview-row::-webkit-scrollbar {
  display: none;
}

/* line 1273, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__preview-card {
  position: relative;
  flex-shrink: 0;
  width: 130px;
  min-height: 76px;
  padding: 0.5rem 0.5rem 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-start;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  pointer-events: none;
  user-select: none;
}

/* line 1290, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__preview-card--more {
  background: #ffffff;
  border-style: dashed;
  border-color: #d1d5db;
  align-items: center;
  justify-content: center;
  text-align: center;
}

@media (max-width: 576px) {
  /* line 1273, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-variations-upsell__preview-card {
    width: 112px;
    min-height: 68px;
  }
}

/* line 1306, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__preview-kcal {
  font-family: "Raleway", sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  color: #d1d5db;
  filter: blur(4px);
  user-select: none;
  line-height: 1;
}

/* line 1317, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__preview-lock {
  width: 12px;
  height: 12px;
  color: #d1d5db;
  margin-top: auto;
  align-self: flex-end;
  flex-shrink: 0;
}

/* line 1327, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__more-count {
  font-family: "Raleway", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #6b7280;
  line-height: 1;
}

/* line 1335, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__more-label {
  font-size: 0.6rem;
  color: #d1d5db;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* line 1344, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__cta-area {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  border-left: 1px solid #f3f4f6;
  min-width: 220px;
}

@media (max-width: 768px) {
  /* line 1344, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-variations-upsell__cta-area {
    border-left: none;
    border-top: 1px solid #f3f4f6;
    align-items: stretch;
    min-width: 0;
  }
  /* line 1361, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-variations-upsell__cta-area .recipe-variations-upsell__cta-btn {
    justify-content: center;
  }
}

/* line 1368, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: #ff6b01;
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  padding: 0.55rem 1.5rem;
  border-radius: 9999px;
  text-decoration: none;
  transition: background 0.15s ease, transform 0.15s ease;
  white-space: nowrap;
}

/* line 1383, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__cta-btn svg {
  width: 14px;
  height: 14px;
  transition: transform 0.15s ease;
}

/* line 1389, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__cta-btn:hover {
  background: #e55d00;
  color: #ffffff;
  transform: translateY(-1px);
}

/* line 1394, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__cta-btn:hover svg {
  transform: translateX(3px);
}

/* line 1400, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-variations-upsell__cta-sub {
  font-size: 0.78rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}

/* line 1411, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__similar {
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid #f3f4f6;
}

/* line 1417, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__similar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
}

/* line 1424, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__similar-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Raleway", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}

/* line 1434, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__similar-title svg {
  width: 22px;
  height: 22px;
  color: #ff6b01;
}

/* line 1437, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__similar-nav {
  display: flex;
  gap: 0.5rem;
}

@media (max-width: 576px) {
  /* line 1437, app/assets/stylesheets/pages/_recipe-show.scss */
  .recipe-show__similar-nav {
    display: none;
  }
}

/* line 1448, app/assets/stylesheets/pages/_recipe-show.scss */
.recipe-show__similar .ridx-card {
  width: 100%;
}

/* line 1454, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card {
  display: block;
  height: 100%;
  background: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  border: 1px solid #f3f4f6;
}

/* line 1465, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-3px);
  border-color: #ff6b01;
}

/* line 1472, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__img-wrap {
  height: 140px;
  overflow: hidden;
}

/* line 1477, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

/* line 1483, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card:hover .similar-card__img {
  transform: scale(1.05);
}

/* line 1488, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f9fafb;
}

/* line 1495, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__img-placeholder svg {
  width: 32px;
  height: 32px;
  color: #d1d5db;
}

/* line 1498, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__body {
  padding: 1rem;
}

/* line 1502, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 1515, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 1522, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__time {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.75rem;
  color: #6b7280;
}

/* line 1529, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__time svg {
  width: 13px;
  height: 13px;
}

/* line 1532, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__type {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 0.375rem;
}

/* line 1539, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__type--fitness {
  background: #dbeafe;
  color: #1e40af;
}

/* line 1540, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__type--vegan {
  background: #dcfce7;
  color: #166534;
}

/* line 1543, app/assets/stylesheets/pages/_recipe-show.scss */
.similar-card__kcal {
  font-size: 0.72rem;
  color: #6b7280;
}

/* line 1553, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion {
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  overflow: hidden;
  margin-bottom: 0.5rem;
  transition: border-color 0.15s ease;
}

/* line 1560, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion[open] {
  border-color: rgba(255, 107, 1, 0.4);
}

/* line 1564, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  cursor: pointer;
  list-style: none;
  user-select: none;
  background: #ffffff;
  transition: background 0.15s ease;
}

/* line 1576, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion__summary::-webkit-details-marker {
  display: none;
}

/* line 1577, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion__summary::marker {
  display: none;
}

/* line 1579, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion__summary:hover {
  background: #f9fafb;
}

/* line 1584, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion__info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

/* line 1591, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion__name {
  display: block;
  font-weight: 700;
  font-size: 0.9rem;
  color: #1a1a1a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}

/* line 1602, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion__meta {
  display: block;
  font-size: 0.75rem;
  color: #6b7280;
  margin-top: 1px;
}

/* line 1609, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion__chevron {
  flex-shrink: 0;
  transition: transform 0.15s ease;
}

/* line 1613, app/assets/stylesheets/pages/_recipe-show.scss */
details[open] .add-to-menu-accordion__chevron {
  transform: rotate(180deg);
}

/* line 1618, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-accordion__body {
  padding: 1rem;
  border-top: 1px solid #f3f4f6;
  background: #f9fafb;
}

/* line 1626, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

@media (max-width: 576px) {
  /* line 1626, app/assets/stylesheets/pages/_recipe-show.scss */
  .add-to-menu-form-row {
    grid-template-columns: 1fr;
  }
}

/* line 1637, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 1643, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-form-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #374151;
}

/* line 1649, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-form-select {
  width: 100%;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.375rem;
  padding: 0.25rem 0.5rem;
  font-size: 0.85rem;
  background: #ffffff;
  color: #1a1a1a;
  outline: none;
  transition: border-color 0.15s ease;
  cursor: pointer;
}

/* line 1661, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-form-select:focus {
  border-color: #ff6b01;
}

/* line 1666, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-form-submit {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  justify-content: center;
  padding: 0.5rem 1rem;
  border-radius: 0.375rem;
  font-size: 0.85rem;
  font-weight: 700;
  background: #ff6b01;
  color: #ffffff;
  border: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 1682, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-form-submit svg {
  width: 14px;
  height: 14px;
}

/* line 1684, app/assets/stylesheets/pages/_recipe-show.scss */
.add-to-menu-form-submit:hover {
  background: #e55d00;
  transform: translateY(-1px);
}

/* line 19, app/assets/stylesheets/pages/_menus.scss */
.mn-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.5rem;
  border-radius: 9999px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
  line-height: 1;
}

/* line 35, app/assets/stylesheets/pages/_menus.scss */
.mn-btn svg {
  flex-shrink: 0;
}

/* line 37, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--primary {
  background: #ff6b01;
  color: #ffffff;
}

/* line 41, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--primary:hover, .mn-btn--primary:focus-visible {
  background: #e55d00;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(255, 107, 1, 0.35);
  color: #ffffff;
}

/* line 49, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--outline {
  background: transparent;
  color: #ff6b01;
  border: 1.5px solid #ff6b01;
}

/* line 54, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--outline:hover, .mn-btn--outline:focus-visible {
  background: #ff6b01;
  color: #ffffff;
}

/* line 60, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--ghost {
  background: #ffffff;
  color: #374151;
  border: 1.5px solid #e5e7eb;
}

/* line 65, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--ghost:hover, .mn-btn--ghost:focus-visible {
  border-color: #d1d5db;
  color: #1a1a1a;
}

/* line 71, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--blue {
  background: #3b82f6;
  color: #ffffff;
}

/* line 75, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--blue:hover, .mn-btn--blue:focus-visible {
  background: #2563eb;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(59, 130, 246, 0.35);
  color: #ffffff;
}

/* line 83, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--green {
  background: #22c55e;
  color: #ffffff;
}

/* line 87, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--green:hover, .mn-btn--green:focus-visible {
  background: #1ca24d;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(34, 197, 94, 0.35);
  color: #ffffff;
}

/* line 95, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--cancel {
  background: transparent;
  color: #6b7280;
  border: 1.5px solid #e5e7eb;
}

/* line 100, app/assets/stylesheets/pages/_menus.scss */
.mn-btn--cancel:hover {
  color: #1a1a1a;
  border-color: #d1d5db;
}

/* line 110, app/assets/stylesheets/pages/_menus.scss */
.mn-index {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  min-height: 100vh;
  background: #f9fafb;
}

@media (max-width: 768px) {
  /* line 110, app/assets/stylesheets/pages/_menus.scss */
  .mn-index {
    padding: 1.5rem 1rem;
  }
}

/* line 123, app/assets/stylesheets/pages/_menus.scss */
.mn-index__hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

@media (max-width: 576px) {
  /* line 123, app/assets/stylesheets/pages/_menus.scss */
  .mn-index__hero {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 2rem;
  }
}

/* line 138, app/assets/stylesheets/pages/_menus.scss */
.mn-index__hero-content {
  flex: 1;
  min-width: 0;
}

/* line 143, app/assets/stylesheets/pages/_menus.scss */
.mn-index__hero-title {
  font-family: "Raleway", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
  line-height: 1.2;
}

@media (max-width: 576px) {
  /* line 143, app/assets/stylesheets/pages/_menus.scss */
  .mn-index__hero-title {
    font-size: 1.6rem;
  }
}

/* line 156, app/assets/stylesheets/pages/_menus.scss */
.mn-index__hero-subtitle {
  font-size: 1rem;
  color: #6b7280;
  margin: 0;
}

/* line 162, app/assets/stylesheets/pages/_menus.scss */
.mn-index__hero-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
  flex-wrap: wrap;
}

@media (max-width: 576px) {
  /* line 162, app/assets/stylesheets/pages/_menus.scss */
  .mn-index__hero-actions {
    width: 100%;
  }
  /* line 171, app/assets/stylesheets/pages/_menus.scss */
  .mn-index__hero-actions .mn-btn {
    flex: 1;
    justify-content: center;
  }
}

/* line 178, app/assets/stylesheets/pages/_menus.scss */
.mn-filters {
  margin-bottom: 2rem;
}

/* line 182, app/assets/stylesheets/pages/_menus.scss */
.mn-filters__row {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 188, app/assets/stylesheets/pages/_menus.scss */
.mn-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1.5rem;
  border-radius: 9999px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  color: #6b7280;
  background: #ffffff;
  border: 1.5px solid #e5e7eb;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 204, app/assets/stylesheets/pages/_menus.scss */
.mn-chip svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

/* line 206, app/assets/stylesheets/pages/_menus.scss */
.mn-chip:hover {
  color: #1a1a1a;
  border-color: #d1d5db;
}

/* line 211, app/assets/stylesheets/pages/_menus.scss */
.mn-chip--active {
  background: #ff6b01;
  color: #ffffff;
  border-color: #ff6b01;
}

/* line 216, app/assets/stylesheets/pages/_menus.scss */
.mn-chip--active:hover {
  color: #ffffff;
  border-color: #e55d00;
  background: #e55d00;
}

@media (max-width: 576px) {
  /* line 188, app/assets/stylesheets/pages/_menus.scss */
  .mn-chip {
    flex: 1;
    justify-content: center;
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
  }
}

/* line 231, app/assets/stylesheets/pages/_menus.scss */
.mn-chip__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
  background: #f3f4f6;
  color: #374151;
}

/* line 245, app/assets/stylesheets/pages/_menus.scss */
.mn-chip--active .mn-chip__count {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

/* line 254, app/assets/stylesheets/pages/_menus.scss */
.mn-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

@media (max-width: 992px) {
  /* line 254, app/assets/stylesheets/pages/_menus.scss */
  .mn-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 254, app/assets/stylesheets/pages/_menus.scss */
  .mn-card-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* line 272, app/assets/stylesheets/pages/_menus.scss */
.mn-card {
  background: #ffffff;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

/* line 282, app/assets/stylesheets/pages/_menus.scss */
.mn-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
}

/* line 288, app/assets/stylesheets/pages/_menus.scss */
.mn-card--weekly {
  border-top: 3px solid #3b82f6;
}

/* line 293, app/assets/stylesheets/pages/_menus.scss */
.mn-card--quick {
  border-top: 3px solid #22c55e;
}

/* line 299, app/assets/stylesheets/pages/_menus.scss */
.mn-card__link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  flex: 1;
}

/* line 306, app/assets/stylesheets/pages/_menus.scss */
.mn-card__link:hover {
  color: inherit;
}

/* line 310, app/assets/stylesheets/pages/_menus.scss */
.mn-card__cover {
  position: relative;
  height: 180px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 320, app/assets/stylesheets/pages/_menus.scss */
.mn-card--weekly .mn-card__cover {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 60%, #1e3a5f 100%);
}

/* line 325, app/assets/stylesheets/pages/_menus.scss */
.mn-card--quick .mn-card__cover {
  background: linear-gradient(135deg, #22c55e 0%, #136e34 60%, #14532d 100%);
}

@media (max-width: 576px) {
  /* line 310, app/assets/stylesheets/pages/_menus.scss */
  .mn-card__cover {
    height: 160px;
  }
}

/* line 335, app/assets/stylesheets/pages/_menus.scss */
.mn-card__cover-icon {
  color: rgba(255, 255, 255, 0.35);
  transition: transform 0.3s ease;
}

/* line 339, app/assets/stylesheets/pages/_menus.scss */
.mn-card__cover-icon svg {
  width: 72px;
  height: 72px;
}

/* line 341, app/assets/stylesheets/pages/_menus.scss */
.mn-card:hover .mn-card__cover-icon {
  transform: scale(1.1);
  color: rgba(255, 255, 255, 0.5);
}

/* line 348, app/assets/stylesheets/pages/_menus.scss */
.mn-card__cover-badge {
  position: absolute;
  bottom: 0.5rem;
  left: 0.5rem;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(6px);
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 9999px;
}

/* line 363, app/assets/stylesheets/pages/_menus.scss */
.mn-card__cover-badge svg {
  width: 12px;
  height: 12px;
}

/* line 367, app/assets/stylesheets/pages/_menus.scss */
.mn-card__body {
  padding: 1rem 1.5rem 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 375, app/assets/stylesheets/pages/_menus.scss */
.mn-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  line-height: 1.3;
  transition: color 0.15s ease;
}

/* line 384, app/assets/stylesheets/pages/_menus.scss */
.mn-card:hover .mn-card__title {
  color: #ff6b01;
}

/* line 387, app/assets/stylesheets/pages/_menus.scss */
.mn-card__subtitle {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.85rem;
  color: #6b7280;
  margin: 0;
}

/* line 395, app/assets/stylesheets/pages/_menus.scss */
.mn-card__subtitle svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* line 399, app/assets/stylesheets/pages/_menus.scss */
.mn-card__badges {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
  margin-top: 0.25rem;
}

/* line 406, app/assets/stylesheets/pages/_menus.scss */
.mn-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 600;
}

/* line 415, app/assets/stylesheets/pages/_menus.scss */
.mn-card__badge svg {
  width: 12px;
  height: 12px;
}

/* line 417, app/assets/stylesheets/pages/_menus.scss */
.mn-card__badge--blue {
  background: #eff6ff;
  color: #2563eb;
}

/* line 422, app/assets/stylesheets/pages/_menus.scss */
.mn-card__badge--gray {
  background: #f3f4f6;
  color: #374151;
}

/* line 427, app/assets/stylesheets/pages/_menus.scss */
.mn-card__badge--green {
  background: rgba(34, 197, 94, 0.1);
  color: #17843f;
}

/* line 436, app/assets/stylesheets/pages/_menus.scss */
.mn-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 4rem 2rem;
  gap: 1rem;
}

/* line 445, app/assets/stylesheets/pages/_menus.scss */
.mn-empty__illustration {
  margin-bottom: 0.5rem;
}

/* line 449, app/assets/stylesheets/pages/_menus.scss */
.mn-empty__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #374151;
  margin: 0;
}

/* line 457, app/assets/stylesheets/pages/_menus.scss */
.mn-empty__text {
  font-size: 0.95rem;
  color: #6b7280;
  margin: 0;
  max-width: 380px;
  line-height: 1.6;
}

/* line 468, app/assets/stylesheets/pages/_menus.scss */
.mn-new {
  max-width: 860px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
}

@media (max-width: 768px) {
  /* line 468, app/assets/stylesheets/pages/_menus.scss */
  .mn-new {
    padding: 1.5rem 1rem;
  }
}

/* line 479, app/assets/stylesheets/pages/_menus.scss */
.mn-new__back {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151;
  text-decoration: none;
  padding: 0.25rem 0.5rem;
  margin-bottom: 2rem;
  border-radius: 0.375rem;
  transition: color 0.15s ease;
}

/* line 492, app/assets/stylesheets/pages/_menus.scss */
.mn-new__back svg {
  width: 16px;
  height: 16px;
}

/* line 494, app/assets/stylesheets/pages/_menus.scss */
.mn-new__back:hover {
  color: #ff6b01;
}

/* line 498, app/assets/stylesheets/pages/_menus.scss */
.mn-type-selector {
  margin-bottom: 3rem;
}

/* line 502, app/assets/stylesheets/pages/_menus.scss */
.mn-type-selector__header {
  text-align: center;
  margin-bottom: 2rem;
}

/* line 507, app/assets/stylesheets/pages/_menus.scss */
.mn-type-selector__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
}

@media (max-width: 576px) {
  /* line 507, app/assets/stylesheets/pages/_menus.scss */
  .mn-type-selector__title {
    font-size: 1.4rem;
  }
}

/* line 519, app/assets/stylesheets/pages/_menus.scss */
.mn-type-selector__subtitle {
  font-size: 1rem;
  color: #6b7280;
  margin: 0;
}

/* line 525, app/assets/stylesheets/pages/_menus.scss */
.mn-type-selector__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

@media (max-width: 576px) {
  /* line 525, app/assets/stylesheets/pages/_menus.scss */
  .mn-type-selector__cards {
    grid-template-columns: 1fr;
  }
}

/* line 536, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card {
  background: #ffffff;
  border-radius: 1.5rem;
  border: 2px solid #e5e7eb;
  padding: 3rem;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

/* line 549, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* line 555, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card--weekly:hover {
  border-color: #3b82f6;
  background: #eff6ff;
}

/* line 562, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card--quick:hover {
  border-color: #22c55e;
  background: rgba(34, 197, 94, 0.04);
}

/* line 569, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__icon {
  width: 72px;
  height: 72px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 578, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__icon svg {
  width: 36px;
  height: 36px;
}

/* line 580, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__icon--blue {
  background: #eff6ff;
  color: #3b82f6;
}

/* line 585, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__icon--green {
  background: rgba(34, 197, 94, 0.1);
  color: #22c55e;
}

/* line 591, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0;
}

/* line 597, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__title--blue {
  color: #2563eb;
}

/* line 598, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__title--green {
  color: #17843f;
}

/* line 601, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__text {
  font-size: 0.9rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
  max-width: 280px;
}

/* line 609, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__badges {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  flex-wrap: wrap;
}

/* line 616, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__badge {
  display: inline-flex;
  padding: 3px 10px;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 600;
}

/* line 623, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__badge--blue {
  background: #eff6ff;
  color: #2563eb;
}

/* line 628, app/assets/stylesheets/pages/_menus.scss */
.mn-type-card__badge--green {
  background: rgba(34, 197, 94, 0.1);
  color: #17843f;
}

/* line 635, app/assets/stylesheets/pages/_menus.scss */
.mn-form-panel {
  background: #ffffff;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #f3f4f6;
}

/* line 643, app/assets/stylesheets/pages/_menus.scss */
.mn-form-panel__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #ffffff;
}

/* line 653, app/assets/stylesheets/pages/_menus.scss */
.mn-form-panel__header svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

/* line 655, app/assets/stylesheets/pages/_menus.scss */
.mn-form-panel__header--blue {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}

/* line 659, app/assets/stylesheets/pages/_menus.scss */
.mn-form-panel__header--green {
  background: linear-gradient(135deg, #22c55e, #147739);
}

/* line 664, app/assets/stylesheets/pages/_menus.scss */
.mn-form-panel__body {
  padding: 2rem;
}

@media (max-width: 576px) {
  /* line 664, app/assets/stylesheets/pages/_menus.scss */
  .mn-form-panel__body {
    padding: 1.5rem 1rem;
  }
}

/* line 673, app/assets/stylesheets/pages/_menus.scss */
.mn-form-errors {
  background: rgba(239, 68, 68, 0.06);
  border: 1px solid rgba(239, 68, 68, 0.2);
  border-radius: 0.5rem;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  font-size: 0.9rem;
  color: #ef4444;
}

/* line 682, app/assets/stylesheets/pages/_menus.scss */
.mn-form-errors h5 {
  margin: 0 0 0.25rem;
  font-weight: 700;
}

/* line 684, app/assets/stylesheets/pages/_menus.scss */
.mn-form-errors ul {
  margin: 0;
  padding-left: 1.5rem;
}

/* line 688, app/assets/stylesheets/pages/_menus.scss */
.mn-form-errors ul li {
  margin-bottom: 0.25rem;
}

/* line 693, app/assets/stylesheets/pages/_menus.scss */
.mn-field {
  margin-bottom: 1.5rem;
}

/* line 697, app/assets/stylesheets/pages/_menus.scss */
.mn-field__label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151;
  margin-bottom: 0.25rem;
}

/* line 705, app/assets/stylesheets/pages/_menus.scss */
.mn-field__input,
.mn-field__select {
  width: 100%;
  padding: 0.65rem 1rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.5rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.9rem;
  color: #1a1a1a;
  background: #ffffff;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 718, app/assets/stylesheets/pages/_menus.scss */
.mn-field__input::placeholder,
.mn-field__select::placeholder {
  color: #d1d5db;
}

/* line 720, app/assets/stylesheets/pages/_menus.scss */
.mn-field__input:focus,
.mn-field__select:focus {
  border-color: #ff6b01;
  box-shadow: 0 0 0 3px rgba(255, 107, 1, 0.1);
}

/* line 726, app/assets/stylesheets/pages/_menus.scss */
.mn-field__hint {
  font-size: 0.8rem;
  color: #6b7280;
  margin-top: 0.25rem;
}

/* line 733, app/assets/stylesheets/pages/_menus.scss */
.mn-form-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #f3f4f6;
}

/* line 743, app/assets/stylesheets/pages/_menus.scss */
.mn-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* line 752, app/assets/stylesheets/pages/_menus.scss */
.mn-alert svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* line 754, app/assets/stylesheets/pages/_menus.scss */
.mn-alert--info {
  background: #eff6ff;
  color: #2563eb;
}

/* line 759, app/assets/stylesheets/pages/_menus.scss */
.mn-alert--success {
  background: rgba(34, 197, 94, 0.08);
  color: #17843f;
  font-weight: 600;
}

/* line 769, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select {
  border: 1.5px solid #e5e7eb;
  border-radius: 1rem;
  overflow: hidden;
  max-height: 480px;
  overflow-y: auto;
  background: #f9fafb;
}

/* line 778, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select::-webkit-scrollbar {
  width: 6px;
}

/* line 779, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select::-webkit-scrollbar-track {
  background: #f3f4f6;
}

/* line 780, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}

/* line 783, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select__filters {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

@media (max-width: 576px) {
  /* line 783, app/assets/stylesheets/pages/_menus.scss */
  .mn-recipe-select__filters {
    grid-template-columns: 1fr;
  }
}

/* line 794, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select__search {
  position: relative;
}

/* line 797, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select__search svg {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: #d1d5db;
  pointer-events: none;
}

/* line 809, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select__search-input {
  width: 100%;
  padding: 0.65rem 1rem 0.65rem 2.5rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.5rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.9rem;
  color: #1a1a1a;
  background: #ffffff;
  outline: none;
  transition: border-color 0.15s ease;
}

/* line 821, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select__search-input::placeholder {
  color: #d1d5db;
}

/* line 822, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select__search-input:focus {
  border-color: #ff6b01;
}

/* line 825, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select__type-filter {
  padding: 0.65rem 1rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.5rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.875rem;
  color: #374151;
  background: #ffffff;
  outline: none;
  cursor: pointer;
  transition: border-color 0.15s ease;
}

/* line 837, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-select__type-filter:focus {
  border-color: #ff6b01;
}

/* line 841, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.15s ease;
  cursor: pointer;
}

/* line 850, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item:last-child {
  border-bottom: none;
}

/* line 852, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item:hover {
  background: #f9fafb;
}

/* line 857, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item:has(.mn-recipe-item__checkbox:checked) {
  background: rgba(34, 197, 94, 0.05);
  border-bottom-color: rgba(34, 197, 94, 0.15);
}

/* line 864, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__checkbox {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  accent-color: #22c55e;
  cursor: pointer;
}

/* line 873, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__thumb {
  width: 48px;
  height: 48px;
  border-radius: 0.375rem;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 882, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__thumb--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
  color: #d1d5db;
  border: 2px solid #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 891, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__thumb--placeholder svg {
  width: 20px;
  height: 20px;
}

/* line 896, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__label {
  flex: 1;
  min-width: 0;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

/* line 905, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__title {
  font-family: "Raleway", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.15s ease;
}

/* line 916, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item:hover .mn-recipe-item__title {
  color: #ff6b01;
}

/* line 919, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__meta {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
}

/* line 926, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__tag {
  display: inline-flex;
  padding: 2px 8px;
  border-radius: 9999px;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 935, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__tag--standard {
  background: #f3f4f6;
  color: #374151;
}

/* line 936, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__tag--fitness {
  background: rgba(34, 197, 94, 0.12);
  color: #17843f;
}

/* line 937, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__tag--vegan {
  background: rgba(6, 182, 212, 0.12);
  color: #04768a;
}

/* line 938, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__tag--quick {
  background: rgba(255, 107, 1, 0.12);
  color: #e55d00;
}

/* line 941, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__stat {
  font-size: 0.72rem;
  font-weight: 600;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 2px;
}

/* line 949, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__stat svg {
  width: 12px;
  height: 12px;
}

/* line 951, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__stat--kcal {
  color: #ff6b01;
}

/* line 952, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__stat--prot {
  color: #22c55e;
}

/* line 953, app/assets/stylesheets/pages/_menus.scss */
.mn-recipe-item__stat--dot {
  width: 2px;
  height: 2px;
  background: #d1d5db;
  border-radius: 50%;
  flex-shrink: 0;
}

/* line 963, app/assets/stylesheets/pages/_menus.scss */
.mn-selected-count {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 1rem;
  background: rgba(34, 197, 94, 0.08);
  border: 1px solid rgba(34, 197, 94, 0.25);
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #17843f;
  margin-top: 0.5rem;
}

/* line 981, app/assets/stylesheets/pages/_menus.scss */
.menu-show__header-card {
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  padding: 2rem;
  margin-bottom: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
}

/* line 995, app/assets/stylesheets/pages/_menus.scss */
.menu-show__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.25rem;
}

/* line 1005, app/assets/stylesheets/pages/_menus.scss */
.menu-show__title svg {
  width: 24px;
  height: 24px;
}

/* line 1008, app/assets/stylesheets/pages/_menus.scss */
.menu-show__date {
  font-size: 0.9rem;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 1015, app/assets/stylesheets/pages/_menus.scss */
.menu-show__date svg {
  width: 14px;
  height: 14px;
}

/* line 1019, app/assets/stylesheets/pages/_menus.scss */
.menu-show__share-bar {
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  padding: 1.5rem;
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 1033, app/assets/stylesheets/pages/_menus.scss */
.menu-show__day-card {
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 1042, app/assets/stylesheets/pages/_menus.scss */
.menu-show__day-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
}

/* line 1052, app/assets/stylesheets/pages/_menus.scss */
.menu-show__day-header svg {
  width: 20px;
  height: 20px;
}

/* line 1055, app/assets/stylesheets/pages/_menus.scss */
.menu-show__day-body {
  padding: 1.5rem;
}

/* line 1060, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-item {
  background: #ffffff;
  border-radius: 0.5rem;
  border: 1px solid #f3f4f6;
  border-left: 4px solid #3b82f6;
  padding: 1.5rem;
  transition: all 0.15s ease;
}

/* line 1068, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-item--green {
  border-left-color: #22c55e;
}

/* line 1072, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-item:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 1077, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

/* line 1085, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-type {
  font-size: 0.8rem;
  font-weight: 600;
  color: #3b82f6;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 0.25rem;
}

/* line 1094, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-type svg {
  width: 14px;
  height: 14px;
}

/* line 1097, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  color: #1a1a1a;
  text-decoration: none;
  margin: 0;
}

/* line 1104, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-title:hover {
  color: #ff6b01;
}

/* line 1107, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-nutrition {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}

/* line 1114, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-time {
  font-size: 0.85rem;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 1121, app/assets/stylesheets/pages/_menus.scss */
.menu-show__meal-time svg {
  width: 14px;
  height: 14px;
}

/* line 1125, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary {
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  overflow: hidden;
  margin-top: 2rem;
}

/* line 1134, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, #374151, #111827);
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
}

/* line 1144, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary-header svg {
  width: 20px;
  height: 20px;
}

/* line 1147, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  padding: 2rem;
  text-align: center;
}

@media (max-width: 768px) {
  /* line 1147, app/assets/stylesheets/pages/_menus.scss */
  .menu-show__summary-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 1147, app/assets/stylesheets/pages/_menus.scss */
  .menu-show__summary-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* line 1163, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary-value {
  font-family: "Raleway", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0.25rem;
}

/* line 1170, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary-value--blue {
  color: #3b82f6;
}

/* line 1171, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary-value--green {
  color: #22c55e;
}

/* line 1172, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary-value--orange {
  color: #ff6b01;
}

/* line 1173, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary-value--teal {
  color: #06b6d4;
}

/* line 1174, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary-value--red {
  color: #ef4444;
}

/* line 1177, app/assets/stylesheets/pages/_menus.scss */
.menu-show__summary-label {
  font-size: 0.8rem;
  color: #6b7280;
}

/* line 1186, app/assets/stylesheets/pages/_menus.scss */
.servings-group {
  margin-bottom: 1.5rem;
}

/* line 1190, app/assets/stylesheets/pages/_menus.scss */
.servings-group__label {
  display: block;
  font-weight: 600;
  color: #374151;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

/* line 1198, app/assets/stylesheets/pages/_menus.scss */
.servings-group__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #f3f4f6;
}

/* line 1206, app/assets/stylesheets/pages/_menus.scss */
.servings-group__row:last-child {
  border-bottom: none;
}

/* line 1209, app/assets/stylesheets/pages/_menus.scss */
.servings-group__recipe-name {
  font-weight: 500;
  font-size: 0.9rem;
  color: #1a1a1a;
  flex: 1;
}

/* line 1216, app/assets/stylesheets/pages/_menus.scss */
.servings-group__original {
  font-size: 0.75rem;
  color: #6b7280;
}

/* line 1225, app/assets/stylesheets/pages/_menus.scss */
.mn-show__info-card {
  background: #ffffff;
  border: 1px solid #f3f4f6;
  border-radius: 1rem;
  padding: 1.5rem 2rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

@media (max-width: 576px) {
  /* line 1225, app/assets/stylesheets/pages/_menus.scss */
  .mn-show__info-card {
    flex-direction: column;
    padding: 1rem;
  }
}

/* line 1243, app/assets/stylesheets/pages/_menus.scss */
.mn-show__info-left {
  flex: 1;
}

/* line 1245, app/assets/stylesheets/pages/_menus.scss */
.mn-show__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.25rem;
}

/* line 1255, app/assets/stylesheets/pages/_menus.scss */
.mn-show__title svg {
  color: #ff6b01;
  flex-shrink: 0;
}

/* line 1258, app/assets/stylesheets/pages/_menus.scss */
.mn-show__badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 10px;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
}

/* line 1266, app/assets/stylesheets/pages/_menus.scss */
.mn-show__badge--quick {
  background: rgba(255, 107, 1, 0.1);
  color: #ff6b01;
  border: 1px solid rgba(255, 107, 1, 0.2);
}

/* line 1273, app/assets/stylesheets/pages/_menus.scss */
.mn-show__date {
  font-size: 0.875rem;
  color: #6b7280;
  margin: 0.25rem 0 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 1281, app/assets/stylesheets/pages/_menus.scss */
.mn-show__date svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* line 1283, app/assets/stylesheets/pages/_menus.scss */
.mn-show__date--empty {
  font-style: italic;
}

/* line 1287, app/assets/stylesheets/pages/_menus.scss */
.mn-show__stats {
  display: flex;
  gap: 0;
  background: #ffffff;
  border: 1px solid #f3f4f6;
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 2rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

@media (max-width: 576px) {
  /* line 1287, app/assets/stylesheets/pages/_menus.scss */
  .mn-show__stats {
    flex-wrap: wrap;
  }
}

/* line 1302, app/assets/stylesheets/pages/_menus.scss */
.mn-show__stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1rem;
  border-right: 1px solid #f3f4f6;
  text-align: center;
}

/* line 1312, app/assets/stylesheets/pages/_menus.scss */
.mn-show__stat:last-child {
  border-right: none;
}

@media (max-width: 576px) {
  /* line 1302, app/assets/stylesheets/pages/_menus.scss */
  .mn-show__stat {
    flex: 0 0 50%;
    border-bottom: 1px solid #f3f4f6;
    padding: 1rem;
  }
  /* line 1319, app/assets/stylesheets/pages/_menus.scss */
  .mn-show__stat:nth-child(even) {
    border-right: none;
  }
}

/* line 1323, app/assets/stylesheets/pages/_menus.scss */
.mn-show__stat-value {
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1;
  margin-bottom: 4px;
}

/* line 1331, app/assets/stylesheets/pages/_menus.scss */
.mn-show__stat--highlight .mn-show__stat-value {
  color: #ff6b01;
}

/* line 1336, app/assets/stylesheets/pages/_menus.scss */
.mn-show__stat-label {
  font-size: 0.72rem;
  color: #6b7280;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 1345, app/assets/stylesheets/pages/_menus.scss */
.mn-show__share-bar {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

/* line 1353, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-list {
  background: #ffffff;
  border: 1px solid #f3f4f6;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 1361, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.15s ease;
}

/* line 1369, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-row:last-child {
  border-bottom: none;
}

/* line 1371, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-row:hover {
  background: #f9fafb;
}

@media (max-width: 576px) {
  /* line 1361, app/assets/stylesheets/pages/_menus.scss */
  .mn-show__recipe-row {
    padding: 0.5rem 1rem;
    gap: 0.5rem;
  }
}

/* line 1379, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-thumb {
  width: 52px;
  height: 52px;
  border-radius: 0.5rem;
  overflow: hidden;
  flex-shrink: 0;
  background: #f3f4f6;
}

/* line 1387, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 1390, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-thumb-empty {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d1d5db;
}

/* line 1399, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-info {
  flex: 1;
  min-width: 0;
}

/* line 1404, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-name {
  display: block;
  font-weight: 600;
  font-size: 0.9rem;
  color: #1a1a1a;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

/* line 1415, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-name:hover {
  color: #ff6b01;
}

/* line 1418, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-meta {
  display: flex;
  gap: 0.5rem;
  font-size: 0.78rem;
  color: #6b7280;
  margin-top: 4px;
  flex-wrap: wrap;
  align-items: center;
}

/* line 1428, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-kcal {
  color: #ff6b01;
  font-weight: 600;
}

/* line 1434, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-meal {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}

/* line 1445, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-meal svg {
  flex-shrink: 0;
}

/* line 1448, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-remove {
  background: none;
  border: none;
  cursor: pointer;
  color: #d1d5db;
  padding: 6px;
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  transition: color 0.15s ease, background 0.15s ease;
  flex-shrink: 0;
}

/* line 1462, app/assets/stylesheets/pages/_menus.scss */
form .mn-show__recipe-remove {
  display: inline;
}

/* line 1464, app/assets/stylesheets/pages/_menus.scss */
.mn-show__recipe-remove:hover {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.06);
}

/* line 1471, app/assets/stylesheets/pages/_menus.scss */
form.mn-show__recipe-remove {
  display: contents;
}

/* line 1476, app/assets/stylesheets/pages/_menus.scss */
.mn-show__day-section {
  background: #ffffff;
  border: 1px solid #f3f4f6;
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 1485, app/assets/stylesheets/pages/_menus.scss */
.mn-show__day-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 1.5rem;
  border-bottom: 1px solid #f3f4f6;
  background: #f9fafb;
}

/* line 1494, app/assets/stylesheets/pages/_menus.scss */
.mn-show__day-name {
  font-family: "Raleway", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1504, app/assets/stylesheets/pages/_menus.scss */
.mn-show__day-name::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff6b01;
  flex-shrink: 0;
}

/* line 1515, app/assets/stylesheets/pages/_menus.scss */
.mn-show__day-count {
  font-size: 0.75rem;
  color: #6b7280;
}

/* line 11, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.5rem;
  border-radius: 9999px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
  line-height: 1;
}

/* line 27, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn svg {
  flex-shrink: 0;
}

/* line 29, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--primary {
  background: #ff6b01;
  color: #ffffff;
}

/* line 33, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--primary:hover, .rb-btn--primary:focus-visible {
  background: #e55d00;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(255, 107, 1, 0.35);
  color: #ffffff;
}

/* line 41, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--outline {
  background: transparent;
  color: #ff6b01;
  border: 1.5px solid #ff6b01;
}

/* line 46, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--outline:hover, .rb-btn--outline:focus-visible {
  background: #ff6b01;
  color: #ffffff;
}

/* line 52, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--ghost {
  background: #ffffff;
  color: #374151;
  border: 1.5px solid #e5e7eb;
}

/* line 57, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--ghost:hover, .rb-btn--ghost:focus-visible {
  border-color: #d1d5db;
  color: #1a1a1a;
}

/* line 62, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--ghost.rb-btn--danger:hover {
  background: rgba(239, 68, 68, 0.06);
  border-color: #ef4444;
  color: #ef4444;
}

/* line 70, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--sm {
  padding: 0.45rem 1rem;
  font-size: 0.8rem;
  gap: 0.25rem;
}

/* line 76, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--danger:hover {
  color: #ef4444;
}

/* line 80, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--hidden {
  display: none !important;
}

/* line 84, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--danger-fill {
  background: #ef4444;
  color: #ffffff;
  border-color: #ef4444;
}

/* line 89, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--danger-fill:hover, .rb-btn--danger-fill:focus-visible {
  background: #ec1e1e;
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(239, 68, 68, 0.35);
}

/* line 95, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--danger-fill:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* line 103, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--danger-outline {
  border-color: #ef4444;
  color: #ef4444;
  background: transparent;
}

/* line 108, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-btn--danger-outline:hover, .rb-btn--danger-outline:focus-visible {
  background: rgba(239, 68, 68, 0.06);
}

/* line 117, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-index {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  min-height: 100vh;
  background: #f9fafb;
}

@media (max-width: 768px) {
  /* line 117, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-index {
    padding: 1.5rem 1rem;
  }
}

/* line 130, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-index__hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}

@media (max-width: 576px) {
  /* line 130, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-index__hero {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 2rem;
  }
}

/* line 145, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-index__hero-content {
  flex: 1;
  min-width: 0;
}

/* line 150, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-index__hero-title {
  font-family: "Raleway", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
  line-height: 1.2;
}

@media (max-width: 576px) {
  /* line 150, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-index__hero-title {
    font-size: 1.6rem;
  }
}

/* line 163, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-index__hero-subtitle {
  font-size: 1rem;
  color: #6b7280;
  margin: 0;
}

/* line 169, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-index__hero-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
  flex-wrap: wrap;
}

@media (max-width: 576px) {
  /* line 169, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-index__hero-actions {
    width: 100%;
  }
  /* line 178, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-index__hero-actions .rb-btn {
    flex: 1;
    justify-content: center;
  }
}

/* line 183, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-filters {
  margin-bottom: 2rem;
}

/* line 187, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-filters__row {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 193, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1.5rem;
  border-radius: 9999px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  color: #6b7280;
  background: #ffffff;
  border: 1.5px solid #e5e7eb;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 209, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-chip svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

/* line 211, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-chip:hover {
  color: #1a1a1a;
  border-color: #d1d5db;
}

/* line 216, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-chip--active {
  background: #ff6b01;
  color: #ffffff;
  border-color: #ff6b01;
}

/* line 221, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-chip--active:hover {
  color: #ffffff;
  border-color: #e55d00;
  background: #e55d00;
}

@media (max-width: 576px) {
  /* line 193, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-chip {
    flex: 1;
    justify-content: center;
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
  }
}

/* line 236, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-chip__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
  background: #f3f4f6;
  color: #374151;
}

/* line 250, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-chip--active .rb-chip__count {
  background: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

/* line 257, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

@media (max-width: 992px) {
  /* line 257, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-book-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 257, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-book-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* line 273, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card {
  background: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: all 0.3s ease;
}

/* line 284, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* line 290, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card--system {
  border-top: 3px solid #d4af37;
}

/* line 296, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  flex: 1;
  height: 100%;
}

/* line 304, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__link:hover {
  color: inherit;
}

/* line 308, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__cover {
  position: relative;
  height: 190px;
  overflow: hidden;
  background: #f3f4f6;
  flex-shrink: 0;
}

@media (max-width: 576px) {
  /* line 308, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-book-card__cover {
    height: 170px;
  }
}

/* line 321, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__cover-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  width: 100%;
  height: 100%;
  gap: 2px;
}

/* line 330, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__cover-cell {
  overflow: hidden;
  position: relative;
}

/* line 334, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__cover-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* line 342, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card:hover .rb-book-card__cover-cell img {
  transform: scale(1.05);
}

/* line 347, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__cover-cell--placeholder {
  background: #f3f4f6;
}

/* line 353, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__body {
  padding: 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 362, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
  line-height: 1.3;
  transition: color 0.15s ease;
}

/* line 372, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card:hover .rb-book-card__title {
  color: #ff6b01;
}

/* line 377, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__desc {
  font-size: 0.82rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
  flex: 1;
}

/* line 384, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__desc--empty {
  font-style: italic;
}

/* line 388, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

/* line 397, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  background: #fff3e6;
  color: #ff6b01;
  white-space: nowrap;
}

/* line 411, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__official-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: rgba(212, 175, 55, 0.12);
  color: #a98a24;
  white-space: nowrap;
}

/* line 425, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__official-badge svg {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}

/* line 429, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__actions {
  display: flex;
  gap: 0.25rem;
  padding: 0.5rem 1.5rem 1rem;
  border-top: 1px solid #f3f4f6;
  margin-top: 0.5rem;
}

/* line 437, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.4rem 1rem;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.15s ease;
  border: 1.5px solid #e5e7eb;
  background: transparent;
  color: #374151;
}

/* line 452, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__action-btn svg {
  width: 15px;
  height: 15px;
}

/* line 454, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__action-btn:hover {
  border-color: #d1d5db;
  color: #1a1a1a;
  background: #f9fafb;
}

/* line 461, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__action-btn--danger:hover {
  border-color: #ef4444;
  color: #ef4444;
  background: rgba(239, 68, 68, 0.05);
}

/* line 469, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-book-card__action-btn--view:hover {
  border-color: #ff6b01;
  color: #ff6b01;
  background: #fff3e6;
}

/* line 482, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero {
  position: relative;
  height: 340px;
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* line 493, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero--placeholder {
  background: linear-gradient(135deg, #ff6b01 0%, #c35100 40%, #1a1a1a 100%);
}

@media (max-width: 768px) {
  /* line 482, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-show-hero {
    height: 260px;
  }
}

/* line 503, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.35) 40%, rgba(0, 0, 0, 0.75) 100%);
  pointer-events: none;
}

/* line 515, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__content {
  position: relative;
  z-index: 1;
  padding: 1.5rem 2rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 768px) {
  /* line 515, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-show-hero__content {
    padding: 1rem 1.5rem 1.5rem;
  }
}

/* line 529, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__back {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.15s ease;
  align-self: flex-start;
}

/* line 540, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__back svg {
  width: 14px;
  height: 14px;
}

/* line 542, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__back:hover {
  color: #ffffff;
}

/* line 545, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 551, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__title {
  font-family: "Raleway", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  line-height: 1.15;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

@media (max-width: 768px) {
  /* line 551, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-show-hero__title {
    font-size: 1.7rem;
  }
}

@media (max-width: 576px) {
  /* line 551, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-show-hero__title {
    font-size: 1.4rem;
  }
}

/* line 569, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__desc {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  max-width: 600px;
  line-height: 1.5;
}

/* line 577, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__stats {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

/* line 583, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__stat {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 9999px;
}

/* line 595, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-hero__stat svg {
  width: 14px;
  height: 14px;
}

/* line 599, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-bar {
  background: #ffffff;
  border-bottom: 1px solid #f3f4f6;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  position: sticky;
  top: 0;
  z-index: 10;
}

/* line 608, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-bar__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 1rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

@media (max-width: 768px) {
  /* line 608, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-show-bar__inner {
    padding: 0.5rem 1.5rem;
    flex-wrap: wrap;
  }
}

@media (max-width: 576px) {
  /* line 623, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-show-bar__inner .rb-btn {
    flex: 1;
    justify-content: center;
  }
}

/* line 627, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-bar__left,
.rb-show-bar__right {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 635, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-show-content {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 2rem;
  background: #f9fafb;
  min-height: 400px;
}

@media (max-width: 768px) {
  /* line 635, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-show-content {
    padding: 1.5rem 1.5rem;
  }
}

@media (max-width: 576px) {
  /* line 635, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-show-content {
    padding: 1rem 1rem;
  }
}

/* line 652, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
}

@media (max-width: 1200px) {
  /* line 652, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-recipe-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 992px) {
  /* line 652, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-recipe-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  /* line 652, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-recipe-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 652, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-recipe-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}

/* line 676, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card {
  background: #ffffff;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

/* line 686, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
}

/* line 692, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__img-wrap {
  position: relative;
  width: 100%;
  padding-top: 65%;
  overflow: hidden;
  background: #f3f4f6;
  flex-shrink: 0;
}

/* line 701, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* line 710, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card:hover .rb-recipe-card__img {
  transform: scale(1.05);
}

/* line 715, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__img-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
  color: #d1d5db;
}

/* line 729, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__img-gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(to top, rgba(255, 255, 255, 0.6), transparent);
  pointer-events: none;
}

/* line 740, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__type-badge {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  display: inline-flex;
  padding: 3px 10px;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: capitalize;
}

/* line 751, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__type-badge--standard {
  background: rgba(255, 255, 255, 0.9);
  color: #374151;
}

/* line 752, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__type-badge--fitness {
  background: rgba(34, 197, 94, 0.9);
  color: #ffffff;
}

/* line 753, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__type-badge--vegan {
  background: rgba(6, 182, 212, 0.9);
  color: #ffffff;
}

/* line 754, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__type-badge--quick {
  background: rgba(34, 197, 94, 0.9);
  color: #ffffff;
}

/* line 758, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__remove-badge-btn {
  position: absolute;
  top: -6px;
  left: -6px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #ef4444;
  border: 2px solid #ffffff;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
  color: #ffffff;
  padding: 0;
  box-shadow: 0 2px 6px rgba(239, 68, 68, 0.4);
  opacity: 0;
  pointer-events: none;
  transform: scale(0);
}

/* line 780, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__remove-badge-btn svg {
  width: 12px;
  height: 12px;
}

/* line 782, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-grid--jiggle .rb-recipe-card__remove-badge-btn {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

/* line 788, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__remove-badge-btn:hover {
  background: #eb1515;
  transform: scale(1.15);
}

/* line 795, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card--marked {
  opacity: 0.45;
  transform: scale(0.95) !important;
}

/* line 799, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card--marked .rb-recipe-card__remove-badge-btn {
  background: #6b7280;
  box-shadow: none;
}

/* line 806, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__body {
  display: block;
  text-decoration: none;
  color: inherit;
  padding: 0.5rem 1rem 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

/* line 816, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-grid--jiggle .rb-recipe-card__body {
  pointer-events: none;
}

/* line 821, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #1a1a1a;
  margin: 0;
  line-height: 1.3;
  transition: color 0.15s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 835, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__body:hover .rb-recipe-card__title {
  color: #ff6b01;
}

/* line 840, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 0.25rem;
}

/* line 848, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  background: #fff3e6;
  color: #ff6b01;
  white-space: nowrap;
}

/* line 861, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #6b7280;
  margin-top: 2px;
}

/* line 870, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__meta-item {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* line 875, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__meta-item svg {
  width: 13px;
  height: 13px;
}

/* line 879, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__nutrition {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.25rem;
  text-align: center;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #f3f4f6;
}

/* line 889, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__nut-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}

/* line 895, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__nut-item--kcal .rb-recipe-card__nut-val {
  color: #ff6b01;
}

/* line 896, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__nut-item--prot .rb-recipe-card__nut-val {
  color: #22c55e;
}

/* line 897, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__nut-item--carb .rb-recipe-card__nut-val {
  color: #f59e0b;
}

/* line 898, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__nut-item--fat .rb-recipe-card__nut-val {
  color: #ef4444;
}

/* line 901, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__nut-val {
  font-weight: 700;
  font-size: 0.85rem;
}

/* line 906, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__nut-label {
  font-size: 0.65rem;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 914, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__note {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  background: #fff3e6;
  border-left: 3px solid #ff6b01;
  border-radius: 0 0.375rem 0.375rem 0;
  padding: 0.25rem 0.5rem;
  font-size: 0.8rem;
  color: #374151;
  margin-top: 0.5rem;
  line-height: 1.4;
}

/* line 927, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-card__note svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
  margin-top: 2px;
  color: #ff6b01;
}

@keyframes jiggle {
  0% {
    transform: rotate(-1.2deg);
  }
  25% {
    transform: rotate(1.2deg);
  }
  50% {
    transform: rotate(-0.8deg);
  }
  75% {
    transform: rotate(0.8deg);
  }
  100% {
    transform: rotate(-1.2deg);
  }
}

/* line 942, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-grid--jiggle .rb-recipe-card {
  animation: jiggle 0.35s ease-in-out infinite;
  animation-delay: var(--jiggle-delay, 0s);
  overflow: visible;
}

/* line 947, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-grid--jiggle .rb-recipe-card:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transform: none;
}

/* line 953, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-recipe-grid--jiggle .rb-recipe-card__img-wrap {
  overflow: visible;
}

/* line 961, app/assets/stylesheets/pages/_recipe-books.scss */
.mri {
  display: flex;
  align-items: stretch;
  background: #ffffff;
  border-radius: 0.5rem;
  overflow: hidden;
  border: 1.5px solid #f3f4f6;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  min-height: 100px;
}

/* line 971, app/assets/stylesheets/pages/_recipe-books.scss */
.mri:hover {
  border-color: #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 976, app/assets/stylesheets/pages/_recipe-books.scss */
.mri--added {
  border-color: rgba(34, 197, 94, 0.4);
  background: rgba(34, 197, 94, 0.02);
}

/* line 982, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__body {
  flex: 1;
  min-width: 0;
  padding: 0.5rem 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
}

/* line 992, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__top {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 998, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__type {
  display: inline-flex;
  padding: 1px 7px;
  border-radius: 9999px;
  font-size: 0.6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* line 1007, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__type--standard {
  background: #f3f4f6;
  color: #374151;
}

/* line 1008, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__type--fitness {
  background: rgba(34, 197, 94, 0.12);
  color: #17843f;
}

/* line 1009, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__type--vegan {
  background: rgba(6, 182, 212, 0.12);
  color: #04768a;
}

/* line 1012, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__time {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 0.7rem;
  font-weight: 500;
  color: #6b7280;
}

/* line 1020, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__time svg {
  flex-shrink: 0;
}

/* line 1023, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__title {
  font-family: "Raleway", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 1036, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__macros {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-wrap: wrap;
}

/* line 1043, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__macro {
  font-size: 0.65rem;
  font-weight: 600;
  color: #6b7280;
}

/* line 1048, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__macro--kcal {
  color: #ff6b01;
}

/* line 1049, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__macro--prot {
  color: #22c55e;
}

/* line 1050, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__macro--carb {
  color: #f59e0b;
}

/* line 1051, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__macro--fat {
  color: #6b7280;
}

/* line 1054, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__macro-dot {
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: #d1d5db;
  flex-shrink: 0;
}

/* line 1062, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__action {
  margin-top: 2px;
}

/* line 1066, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__add-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 3px 10px;
  background: #ff6b01;
  color: #ffffff;
  border: none;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 1080, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__add-btn svg {
  flex-shrink: 0;
}

/* line 1082, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__add-btn:hover {
  background: #e55d00;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(255, 107, 1, 0.3);
}

/* line 1089, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__added-label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: #22c55e;
}

/* line 1097, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__added-label svg {
  width: 14px;
  height: 14px;
}

/* line 1099, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__added-label--limit {
  color: #6b7280;
  font-weight: 600;
}

/* line 1106, app/assets/stylesheets/pages/_recipe-books.scss */
.mri-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 1113, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__image-wrap {
  position: relative;
  width: 120px;
  flex-shrink: 0;
  overflow: hidden;
}

/* line 1119, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__image-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0.5) 30%, transparent 60%);
  pointer-events: none;
}

/* line 1128, app/assets/stylesheets/pages/_recipe-books.scss */
.mri--added .mri__image-wrap::before {
  background: linear-gradient(to right, rgba(34, 197, 94, 0.02) 0%, rgba(255, 255, 255, 0.5) 30%, transparent 60%);
}

/* line 1133, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 1139, app/assets/stylesheets/pages/_recipe-books.scss */
.mri__image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
  color: #d1d5db;
}

/* line 1152, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal {
  max-width: 560px;
  width: 95vw;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  border-radius: 1.5rem;
  overflow: hidden;
}

/* line 1162, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #f3f4f6;
  flex-shrink: 0;
  background: #ffffff;
}

/* line 1172, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Raleway", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}

/* line 1182, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__title svg {
  width: 20px;
  height: 20px;
  color: #ff6b01;
}

/* line 1185, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__limit {
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  color: #6b7280;
  margin: 2px 0 0;
}

/* line 1193, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__close {
  background: transparent;
  border: none;
  padding: 0.25rem;
  border-radius: 0.375rem;
  cursor: pointer;
  color: #6b7280;
  transition: all 0.15s ease;
  display: flex;
}

/* line 1203, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__close svg {
  width: 18px;
  height: 18px;
}

/* line 1205, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__close:hover {
  background: #f3f4f6;
  color: #1a1a1a;
}

/* line 1211, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__body {
  overflow-y: auto;
  flex: 1;
  padding: 1.5rem;
}

/* line 1217, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__section-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Raleway", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* line 1229, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__section-header svg {
  width: 15px;
  height: 15px;
  color: #ff6b01;
}

/* line 1232, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__section-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  background: #f3f4f6;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  color: #374151;
  margin-left: auto;
}

/* line 1247, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__search {
  position: relative;
  margin-bottom: 1rem;
}

/* line 1251, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__search svg {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: #d1d5db;
  pointer-events: none;
}

/* line 1263, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__search-input {
  width: 100%;
  padding: 0.6rem 1rem 0.6rem 2.5rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  background: #ffffff;
  outline: none;
  transition: border-color 0.15s ease;
}

/* line 1273, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__search-input:focus {
  border-color: #ff6b01;
}

/* line 1275, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__search-input::placeholder {
  color: #d1d5db;
}

/* line 1278, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__divider {
  height: 1px;
  background: #f3f4f6;
  margin: 1.5rem 0;
}

/* line 1284, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid #f3f4f6;
  background: #f9fafb;
  flex-shrink: 0;
}

/* line 1294, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__empty,
.rb-modal__loading {
  text-align: center;
  padding: 2rem 1rem;
  color: #6b7280;
  font-size: 0.9rem;
}

/* line 1302, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-modal__pagination {
  padding-top: 1rem;
  display: flex;
  justify-content: center;
}

/* line 1311, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  min-height: 100vh;
  background: #f9fafb;
}

@media (max-width: 768px) {
  /* line 1311, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-browse {
    padding: 1.5rem 1rem;
  }
}

/* line 1323, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse__back {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #374151;
  text-decoration: none;
  padding: 0.25rem 0.5rem;
  margin-bottom: 1.5rem;
  border-radius: 0.375rem;
  transition: color 0.15s ease;
}

/* line 1336, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse__back svg {
  width: 16px;
  height: 16px;
}

/* line 1338, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse__back:hover {
  color: #ff6b01;
}

/* line 1341, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse__header {
  text-align: center;
  margin-bottom: 3rem;
}

/* line 1346, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse__title {
  font-family: "Raleway", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
}

@media (max-width: 576px) {
  /* line 1346, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-browse__title {
    font-size: 1.6rem;
  }
}

/* line 1358, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse__subtitle {
  font-size: 1.05rem;
  color: #6b7280;
  margin: 0;
}

/* line 1365, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

@media (max-width: 992px) {
  /* line 1365, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-browse-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

@media (max-width: 576px) {
  /* line 1365, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-browse-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

/* line 1383, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card {
  background: #ffffff;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

/* line 1393, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card:hover {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
  transform: translateY(-4px);
}

/* line 1401, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__overlay-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: 1.5rem;
}

/* line 1408, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__overlay-link:focus-visible {
  outline: 3px solid #ff6b01;
  outline-offset: 2px;
}

/* line 1415, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__cover {
  position: relative;
  height: 190px;
  overflow: hidden;
  background: #f3f4f6;
  flex-shrink: 0;
}

@media (max-width: 576px) {
  /* line 1415, app/assets/stylesheets/pages/_recipe-books.scss */
  .rb-browse-card__cover {
    height: 170px;
  }
}

/* line 1428, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__cover-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  width: 100%;
  height: 100%;
  gap: 2px;
}

/* line 1437, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__cover-cell {
  overflow: hidden;
  position: relative;
}

/* line 1441, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__cover-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* line 1449, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card:hover .rb-browse-card__cover-cell img {
  transform: scale(1.09);
}

/* line 1453, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__cover-cell--placeholder {
  background: #f3f4f6;
}

/* line 1458, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* line 1464, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card:hover .rb-browse-card__cover-img {
  transform: scale(1.07);
}

/* line 1469, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__cover-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ff6b01 0%, #b44b00 60%, #1a1a1a 100%);
  color: rgba(255, 255, 255, 0.35);
}

/* line 1480, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__cover-gradient {
  display: none;
}

/* line 1486, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__add-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 10;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #ffffff;
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
  padding: 0;
  color: #374151;
}

/* line 1506, app/assets/stylesheets/pages/_recipe-books.scss */
form .rb-browse-card__add-btn {
  all: unset;
}

/* line 1508, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__add-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* line 1510, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__add-btn:hover {
  transform: scale(1.12);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.22);
}

/* line 1516, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__add-btn--added {
  background: #f0fdf4;
  color: #16a34a;
}

/* line 1520, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__add-btn--added:hover {
  background: #dcfce7;
}

/* line 1527, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__body {
  padding: 1rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1;
}

/* line 1535, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1;
}

/* line 1542, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  transition: color 0.15s ease;
}

/* line 1551, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card:hover .rb-browse-card__title {
  color: #ff6b01;
}

/* line 1556, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__desc {
  font-size: 0.875rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}

/* line 1564, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-browse-card__count {
  font-size: 0.75rem;
  color: #6b7280;
  text-align: right;
  margin-top: auto;
  align-self: flex-end;
}

/* line 1575, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 4rem 2rem;
  gap: 1rem;
}

/* line 1583, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-empty--inside {
  padding: 3rem 2rem;
}

/* line 1589, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-empty__illustration {
  margin-bottom: 0.5rem;
}

/* line 1593, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-empty__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #374151;
  margin: 0;
}

/* line 1601, app/assets/stylesheets/pages/_recipe-books.scss */
.rb-empty__text {
  font-size: 0.95rem;
  color: #6b7280;
  margin: 0;
  max-width: 380px;
  line-height: 1.6;
}

/* line 6, app/assets/stylesheets/pages/_friends.scss */
.friendship-code {
  background: #ffffff;
  border-radius: 1rem;
  border: 2px solid rgba(59, 130, 246, 0.2);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 14, app/assets/stylesheets/pages/_friends.scss */
.friendship-code__header {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  padding: 1rem 1.5rem;
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 24, app/assets/stylesheets/pages/_friends.scss */
.friendship-code__header svg {
  width: 20px;
  height: 20px;
}

/* line 27, app/assets/stylesheets/pages/_friends.scss */
.friendship-code__body {
  padding: 2rem;
  text-align: center;
}

/* line 32, app/assets/stylesheets/pages/_friends.scss */
.friendship-code__value {
  display: inline-block;
  font-family: 'Courier New', Courier, monospace;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 5px;
  color: #ffffff;
  background: #1a1a1a;
  padding: 1rem 2rem;
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
}

/* line 45, app/assets/stylesheets/pages/_friends.scss */
.friendship-code__hint {
  color: #6b7280;
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

/* line 52, app/assets/stylesheets/pages/_friends.scss */
.friendship-code--inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  border: 2px solid rgba(59, 130, 246, 0.15);
  border-radius: 1rem;
  background: #ffffff;
  gap: 1.5rem;
}

@media (max-width: 576px) {
  /* line 52, app/assets/stylesheets/pages/_friends.scss */
  .friendship-code--inline {
    flex-direction: column;
    text-align: center;
  }
}

/* line 68, app/assets/stylesheets/pages/_friends.scss */
.friendship-code--inline__info {
  flex: 1;
}

/* line 72, app/assets/stylesheets/pages/_friends.scss */
.friendship-code--inline__label {
  font-weight: 700;
  color: #374151;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 0.25rem;
}

/* line 81, app/assets/stylesheets/pages/_friends.scss */
.friendship-code--inline__label svg {
  width: 16px;
  height: 16px;
  color: #3b82f6;
}

/* line 84, app/assets/stylesheets/pages/_friends.scss */
.friendship-code--inline__hint {
  font-size: 0.8rem;
  color: #6b7280;
}

/* line 89, app/assets/stylesheets/pages/_friends.scss */
.friendship-code--inline__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 95, app/assets/stylesheets/pages/_friends.scss */
.friendship-code--inline__badge {
  font-family: 'Courier New', Courier, monospace;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 3px;
  color: #ffffff;
  background: #1a1a1a;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
}

/* line 107, app/assets/stylesheets/pages/_friends.scss */
.friend-search {
  background: #ffffff;
  border-radius: 1rem;
  border: 2px solid rgba(34, 197, 94, 0.2);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 115, app/assets/stylesheets/pages/_friends.scss */
.friend-search__header {
  background: linear-gradient(135deg, #22c55e, #1ca24d);
  padding: 1rem 1.5rem;
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 125, app/assets/stylesheets/pages/_friends.scss */
.friend-search__header svg {
  width: 20px;
  height: 20px;
}

/* line 128, app/assets/stylesheets/pages/_friends.scss */
.friend-search__body {
  padding: 2rem;
}

/* line 132, app/assets/stylesheets/pages/_friends.scss */
.friend-search__input-group {
  display: flex;
  gap: 0;
  margin-bottom: 1rem;
}

/* line 138, app/assets/stylesheets/pages/_friends.scss */
.friend-search__input {
  flex: 1;
  font-family: 'Courier New', Courier, monospace;
  font-size: 1.3rem;
  text-align: center;
  letter-spacing: 3px;
  text-transform: uppercase;
  border: 2px solid #e5e7eb;
  border-right: none;
  border-radius: 0.5rem 0 0 0.5rem;
  padding: 1rem;
  outline: none;
  transition: border-color 0.15s ease;
}

/* line 152, app/assets/stylesheets/pages/_friends.scss */
.friend-search__input:focus {
  border-color: #22c55e;
}

/* line 153, app/assets/stylesheets/pages/_friends.scss */
.friend-search__input::placeholder {
  letter-spacing: 1px;
  font-size: 0.9rem;
  color: #d1d5db;
}

/* line 156, app/assets/stylesheets/pages/_friends.scss */
.friend-search__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #22c55e;
  color: #ffffff;
  border: 2px solid #22c55e;
  border-radius: 0 0.5rem 0.5rem 0;
  padding: 1rem 1.5rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease;
}

/* line 169, app/assets/stylesheets/pages/_friends.scss */
.friend-search__btn svg {
  width: 18px;
  height: 18px;
}

/* line 171, app/assets/stylesheets/pages/_friends.scss */
.friend-search__btn:hover {
  background: #1ca24d;
}

/* line 174, app/assets/stylesheets/pages/_friends.scss */
.friend-search__hint {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8rem;
  color: #6b7280;
}

/* line 181, app/assets/stylesheets/pages/_friends.scss */
.friend-search__hint svg {
  width: 14px;
  height: 14px;
}

/* line 185, app/assets/stylesheets/pages/_friends.scss */
.friend-result {
  border: 2px solid rgba(34, 197, 94, 0.2);
  border-radius: 1rem;
  padding: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
}

@media (max-width: 576px) {
  /* line 185, app/assets/stylesheets/pages/_friends.scss */
  .friend-result {
    flex-direction: column;
    text-align: center;
  }
}

/* line 201, app/assets/stylesheets/pages/_friends.scss */
.friend-result__name {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 211, app/assets/stylesheets/pages/_friends.scss */
.friend-result__name svg {
  width: 20px;
  height: 20px;
  color: #6b7280;
}

/* line 214, app/assets/stylesheets/pages/_friends.scss */
.friend-result__email {
  font-size: 0.85rem;
  color: #6b7280;
  margin-bottom: 0.5rem;
}

/* line 220, app/assets/stylesheets/pages/_friends.scss */
.friend-result__code {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.8rem;
  font-weight: 600;
  color: #374151;
  background: #f3f4f6;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 232, app/assets/stylesheets/pages/_friends.scss */
.friend-result__code svg {
  width: 12px;
  height: 12px;
}

/* line 236, app/assets/stylesheets/pages/_friends.scss */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.85rem;
}

/* line 245, app/assets/stylesheets/pages/_friends.scss */
.status-badge svg {
  width: 16px;
  height: 16px;
}

/* line 247, app/assets/stylesheets/pages/_friends.scss */
.status-badge--success {
  background: rgba(34, 197, 94, 0.1);
  color: #22c55e;
}

/* line 248, app/assets/stylesheets/pages/_friends.scss */
.status-badge--warning {
  background: rgba(245, 158, 11, 0.1);
  color: #f59e0b;
}

/* line 249, app/assets/stylesheets/pages/_friends.scss */
.status-badge--info {
  background: rgba(59, 130, 246, 0.1);
  color: #3b82f6;
}

/* line 253, app/assets/stylesheets/pages/_friends.scss */
.how-it-works {
  background: #f9fafb;
  border-radius: 1rem;
  padding: 1.5rem;
  margin-top: 2rem;
}

/* line 260, app/assets/stylesheets/pages/_friends.scss */
.how-it-works__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  color: #3b82f6;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

/* line 269, app/assets/stylesheets/pages/_friends.scss */
.how-it-works__title svg {
  width: 18px;
  height: 18px;
}

/* line 272, app/assets/stylesheets/pages/_friends.scss */
.how-it-works__list {
  list-style: decimal;
  padding-left: 1.5rem;
  margin: 0;
}

/* line 277, app/assets/stylesheets/pages/_friends.scss */
.how-it-works__list li {
  margin-bottom: 0.5rem;
  color: #374151;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* line 283, app/assets/stylesheets/pages/_friends.scss */
.how-it-works__list li strong {
  color: #1a1a1a;
}

/* line 284, app/assets/stylesheets/pages/_friends.scss */
.how-it-works__list li:last-child {
  margin-bottom: 0;
}

/* line 289, app/assets/stylesheets/pages/_friends.scss */
.alert-warning {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.2);
  border-radius: 0.5rem;
  color: #92400e;
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

/* line 301, app/assets/stylesheets/pages/_friends.scss */
.alert-warning svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* line 305, app/assets/stylesheets/pages/_friends.scss */
.friends-section {
  margin-bottom: 2rem;
}

/* line 309, app/assets/stylesheets/pages/_friends.scss */
.friends-section__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  color: #ffffff;
  border-radius: 1rem 1rem 0 0;
}

/* line 319, app/assets/stylesheets/pages/_friends.scss */
.friends-section__header svg {
  width: 18px;
  height: 18px;
}

/* line 321, app/assets/stylesheets/pages/_friends.scss */
.friends-section__header--warning {
  background: linear-gradient(135deg, #f59e0b, #d97706);
}

/* line 322, app/assets/stylesheets/pages/_friends.scss */
.friends-section__header--info {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}

/* line 323, app/assets/stylesheets/pages/_friends.scss */
.friends-section__header--green {
  background: linear-gradient(135deg, #22c55e, #1ca24d);
}

/* line 326, app/assets/stylesheets/pages/_friends.scss */
.friends-section__body {
  background: #ffffff;
  border-radius: 0 0 1rem 1rem;
  border: 1px solid #f3f4f6;
  border-top: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 335, app/assets/stylesheets/pages/_friends.scss */
.friend-request {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid #f3f4f6;
  gap: 1rem;
}

/* line 343, app/assets/stylesheets/pages/_friends.scss */
.friend-request:last-child {
  border-bottom: none;
}

@media (max-width: 576px) {
  /* line 335, app/assets/stylesheets/pages/_friends.scss */
  .friend-request {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* line 351, app/assets/stylesheets/pages/_friends.scss */
.friend-request__name {
  font-weight: 700;
  color: #1a1a1a;
}

/* line 356, app/assets/stylesheets/pages/_friends.scss */
.friend-request__email {
  font-size: 0.85rem;
  color: #6b7280;
}

/* line 361, app/assets/stylesheets/pages/_friends.scss */
.friend-request__badge {
  font-size: 0.75rem;
  font-weight: 600;
  color: #6b7280;
  background: #f3f4f6;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  margin-top: 0.25rem;
  display: inline-block;
}

/* line 372, app/assets/stylesheets/pages/_friends.scss */
.friend-request__actions {
  display: flex;
  gap: 0.5rem;
}

/* line 378, app/assets/stylesheets/pages/_friends.scss */
.friend-card {
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  padding: 1.5rem;
  transition: all 0.3s ease;
}

/* line 386, app/assets/stylesheets/pages/_friends.scss */
.friend-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* line 391, app/assets/stylesheets/pages/_friends.scss */
.friend-card__name {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #1a1a1a;
  margin-bottom: 0.25rem;
}

/* line 399, app/assets/stylesheets/pages/_friends.scss */
.friend-card__email {
  font-size: 0.85rem;
  color: #6b7280;
  margin-bottom: 1rem;
}

/* line 406, app/assets/stylesheets/pages/_friends.scss */
.btn-clipboard {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border: 2px solid rgba(59, 130, 246, 0.3);
  border-radius: 0.5rem;
  background: transparent;
  color: #3b82f6;
  font-weight: 600;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 420, app/assets/stylesheets/pages/_friends.scss */
.btn-clipboard svg {
  width: 16px;
  height: 16px;
}

/* line 422, app/assets/stylesheets/pages/_friends.scss */
.btn-clipboard:hover {
  background: rgba(59, 130, 246, 0.05);
  border-color: #3b82f6;
}

/* line 427, app/assets/stylesheets/pages/_friends.scss */
.btn-clipboard.clipboard-copied {
  background: #22c55e;
  border-color: #22c55e;
  color: #ffffff;
}

/* line 13, app/assets/stylesheets/pages/_groups.scss */
.group-card {
  display: block;
  text-decoration: none;
  background: #ffffff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  border: 1px solid #f3f4f6;
  transition: all 0.3s ease;
  cursor: pointer;
}

/* line 24, app/assets/stylesheets/pages/_groups.scss */
.group-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  text-decoration: none;
}

/* line 30, app/assets/stylesheets/pages/_groups.scss */
.group-card--orange:hover {
  border-color: rgba(255, 107, 1, 0.3);
}

/* line 31, app/assets/stylesheets/pages/_groups.scss */
.group-card--green:hover {
  border-color: rgba(34, 197, 94, 0.3);
}

/* line 34, app/assets/stylesheets/pages/_groups.scss */
.group-card__image {
  height: 128px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 40, app/assets/stylesheets/pages/_groups.scss */
.group-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 46, app/assets/stylesheets/pages/_groups.scss */
.group-card__image--orange {
  background: linear-gradient(135deg, rgba(255, 107, 1, 0.1), rgba(255, 107, 1, 0.05));
}

/* line 48, app/assets/stylesheets/pages/_groups.scss */
.group-card__image--orange svg {
  width: 64px;
  height: 64px;
  color: rgba(255, 107, 1, 0.4);
}

/* line 51, app/assets/stylesheets/pages/_groups.scss */
.group-card__image--green {
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.1), rgba(34, 197, 94, 0.05));
}

/* line 53, app/assets/stylesheets/pages/_groups.scss */
.group-card__image--green svg {
  width: 64px;
  height: 64px;
  color: rgba(34, 197, 94, 0.4);
}

@media (max-width: 576px) {
  /* line 34, app/assets/stylesheets/pages/_groups.scss */
  .group-card__image {
    height: 90px;
  }
  /* line 59, app/assets/stylesheets/pages/_groups.scss */
  .group-card__image--orange svg, .group-card__image--green svg {
    width: 44px;
    height: 44px;
  }
}

/* line 64, app/assets/stylesheets/pages/_groups.scss */
.group-card__body {
  padding: 1.5rem;
}

@media (max-width: 576px) {
  /* line 64, app/assets/stylesheets/pages/_groups.scss */
  .group-card__body {
    padding: 1rem;
  }
}

/* line 72, app/assets/stylesheets/pages/_groups.scss */
.group-card__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #1a1a1a;
  margin-bottom: 0.5rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 83, app/assets/stylesheets/pages/_groups.scss */
.group-card__description {
  font-size: 0.9rem;
  color: #6b7280;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 92, app/assets/stylesheets/pages/_groups.scss */
.group-card__description--empty {
  font-style: italic;
  color: #d1d5db;
}

/* line 98, app/assets/stylesheets/pages/_groups.scss */
.group-card__owner {
  font-size: 0.8rem;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 1rem;
}

/* line 106, app/assets/stylesheets/pages/_groups.scss */
.group-card__owner svg {
  width: 12px;
  height: 12px;
}

/* line 109, app/assets/stylesheets/pages/_groups.scss */
.group-card__stats {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #f3f4f6;
}

/* line 118, app/assets/stylesheets/pages/_groups.scss */
.group-card__stat {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.85rem;
  color: #6b7280;
}

/* line 125, app/assets/stylesheets/pages/_groups.scss */
.group-card__stat svg {
  width: 16px;
  height: 16px;
  color: #d1d5db;
}

/* line 126, app/assets/stylesheets/pages/_groups.scss */
.group-card__stat span {
  font-weight: 600;
}

/* line 129, app/assets/stylesheets/pages/_groups.scss */
.group-card__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  color: #ffffff;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 143, app/assets/stylesheets/pages/_groups.scss */
.group-card__cta svg {
  width: 16px;
  height: 16px;
}

/* line 145, app/assets/stylesheets/pages/_groups.scss */
.group-card__cta--orange {
  background: #ff6b01;
}

/* line 147, app/assets/stylesheets/pages/_groups.scss */
.group-card__cta--orange:hover {
  background: #e55d00;
  color: #ffffff;
}

/* line 150, app/assets/stylesheets/pages/_groups.scss */
.group-card__cta--green {
  background: #22c55e;
}

/* line 152, app/assets/stylesheets/pages/_groups.scss */
.group-card__cta--green:hover {
  background: #1ca24d;
  color: #ffffff;
}

/* line 159, app/assets/stylesheets/pages/_groups.scss */
.section-header__count--amber {
  background: #d4af37;
}

/* line 164, app/assets/stylesheets/pages/_groups.scss */
.invite-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 171, app/assets/stylesheets/pages/_groups.scss */
.invite-card {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  background: #ffffff;
  border: 1px solid rgba(212, 175, 55, 0.25);
  border-radius: 1rem;
  padding: 1rem 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

/* line 182, app/assets/stylesheets/pages/_groups.scss */
.invite-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: rgba(212, 175, 55, 0.5);
}

@media (max-width: 576px) {
  /* line 171, app/assets/stylesheets/pages/_groups.scss */
  .invite-card {
    flex-wrap: wrap;
    gap: 1rem;
  }
}

/* line 194, app/assets/stylesheets/pages/_groups.scss */
.invite-card__icon {
  width: 56px;
  height: 56px;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.12), rgba(212, 175, 55, 0.05));
  border: 1px solid rgba(212, 175, 55, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}

/* line 206, app/assets/stylesheets/pages/_groups.scss */
.invite-card__icon svg {
  width: 28px;
  height: 28px;
  color: rgba(212, 175, 55, 0.6);
}

/* line 213, app/assets/stylesheets/pages/_groups.scss */
.invite-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 220, app/assets/stylesheets/pages/_groups.scss */
.invite-card__info {
  flex: 1;
  min-width: 0;
}

/* line 225, app/assets/stylesheets/pages/_groups.scss */
.invite-card__name {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 236, app/assets/stylesheets/pages/_groups.scss */
.invite-card__meta {
  font-size: 0.82rem;
  color: #6b7280;
  margin: 0 0 0.25rem;
  line-height: 1.4;
}

/* line 242, app/assets/stylesheets/pages/_groups.scss */
.invite-card__meta strong {
  color: #374151;
  font-weight: 600;
}

/* line 248, app/assets/stylesheets/pages/_groups.scss */
.invite-card__description {
  font-size: 0.82rem;
  color: #6b7280;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 259, app/assets/stylesheets/pages/_groups.scss */
.invite-card__actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  /* line 259, app/assets/stylesheets/pages/_groups.scss */
  .invite-card__actions {
    flex-direction: row;
    align-items: center;
  }
}

@media (max-width: 576px) {
  /* line 259, app/assets/stylesheets/pages/_groups.scss */
  .invite-card__actions {
    width: 100%;
    flex-direction: row;
  }
  /* line 276, app/assets/stylesheets/pages/_groups.scss */
  .invite-card__actions .btn-action {
    flex: 1;
    justify-content: center;
  }
}

/* line 280, app/assets/stylesheets/pages/_groups.scss */
.invite-card__actions form {
  display: contents;
}

/* line 286, app/assets/stylesheets/pages/_groups.scss */
.group-show__header {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  padding: 2rem 1.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

@media (max-width: 768px) {
  /* line 286, app/assets/stylesheets/pages/_groups.scss */
  .group-show__header {
    padding: 1.5rem 1rem;
  }
}

@media (max-width: 576px) {
  /* line 286, app/assets/stylesheets/pages/_groups.scss */
  .group-show__header {
    padding: 1rem;
  }
}

/* line 301, app/assets/stylesheets/pages/_groups.scss */
.group-show__header-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  min-width: 0;
}

@media (max-width: 768px) {
  /* line 301, app/assets/stylesheets/pages/_groups.scss */
  .group-show__header-inner {
    flex-direction: column;
    gap: 1rem;
    width: 100%;
  }
}

/* line 318, app/assets/stylesheets/pages/_groups.scss */
.group-show__info-wrapper {
  flex: 1;
  min-width: 0;
}

@media (max-width: 768px) {
  /* line 318, app/assets/stylesheets/pages/_groups.scss */
  .group-show__info-wrapper {
    width: 100%;
  }
}

/* line 328, app/assets/stylesheets/pages/_groups.scss */
.group-show__info-content {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

@media (max-width: 576px) {
  /* line 328, app/assets/stylesheets/pages/_groups.scss */
  .group-show__info-content {
    align-items: center;
  }
}

/* line 340, app/assets/stylesheets/pages/_groups.scss */
.group-show__icon {
  width: 64px;
  height: 64px;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(255, 107, 1, 0.1), rgba(255, 107, 1, 0.05));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid #e5e7eb;
}

/* line 351, app/assets/stylesheets/pages/_groups.scss */
.group-show__icon svg {
  width: 32px;
  height: 32px;
  color: rgba(255, 107, 1, 0.6);
}

/* line 353, app/assets/stylesheets/pages/_groups.scss */
.group-show__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1rem;
}

/* line 361, app/assets/stylesheets/pages/_groups.scss */
.group-show__info {
  flex: 1;
  min-width: 0;
}

/* line 366, app/assets/stylesheets/pages/_groups.scss */
.group-show__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
  word-break: break-word;
}

@media (max-width: 576px) {
  /* line 366, app/assets/stylesheets/pages/_groups.scss */
  .group-show__title {
    font-size: 1.35rem;
  }
}

/* line 379, app/assets/stylesheets/pages/_groups.scss */
.group-show__description {
  color: #6b7280;
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
}

/* line 385, app/assets/stylesheets/pages/_groups.scss */
.group-show__owner {
  font-size: 0.85rem;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* line 392, app/assets/stylesheets/pages/_groups.scss */
.group-show__owner svg {
  width: 14px;
  height: 14px;
}

/* line 393, app/assets/stylesheets/pages/_groups.scss */
.group-show__owner strong {
  color: #374151;
}

/* line 396, app/assets/stylesheets/pages/_groups.scss */
.group-show__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

/* line 403, app/assets/stylesheets/pages/_groups.scss */
.group-show__stat {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: #f3f4f6;
  border-radius: 0.5rem;
  font-size: 0.85rem;
}

/* line 412, app/assets/stylesheets/pages/_groups.scss */
.group-show__stat svg {
  width: 18px;
  height: 18px;
  color: #6b7280;
}

/* line 413, app/assets/stylesheets/pages/_groups.scss */
.group-show__stat strong {
  color: #1a1a1a;
}

/* line 414, app/assets/stylesheets/pages/_groups.scss */
.group-show__stat span {
  color: #6b7280;
}

@media (max-width: 576px) {
  /* line 403, app/assets/stylesheets/pages/_groups.scss */
  .group-show__stat {
    padding: 6px 0.5rem;
    font-size: 0.8rem;
  }
}

/* line 422, app/assets/stylesheets/pages/_groups.scss */
.group-show__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (max-width: 768px) {
  /* line 422, app/assets/stylesheets/pages/_groups.scss */
  .group-show__actions {
    width: 100%;
  }
  /* line 431, app/assets/stylesheets/pages/_groups.scss */
  .group-show__actions .btn-action {
    flex: 1;
    justify-content: center;
    min-width: 0;
    white-space: nowrap;
  }
}

@media (max-width: 576px) {
  /* line 422, app/assets/stylesheets/pages/_groups.scss */
  .group-show__actions {
    gap: 0.25rem;
  }
  /* line 442, app/assets/stylesheets/pages/_groups.scss */
  .group-show__actions .btn-action {
    flex: 1 1 40%;
  }
}

/* line 448, app/assets/stylesheets/pages/_groups.scss */
.btn-action--whatsapp {
  background: #25D366;
  color: #fff;
  border: none;
}

/* line 453, app/assets/stylesheets/pages/_groups.scss */
.btn-action--whatsapp:hover {
  background: #1db954;
  color: #fff;
}

/* line 457, app/assets/stylesheets/pages/_groups.scss */
.group-show__content {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 2rem;
}

@media (max-width: 992px) {
  /* line 457, app/assets/stylesheets/pages/_groups.scss */
  .group-show__content {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  /* line 457, app/assets/stylesheets/pages/_groups.scss */
  .group-show__content {
    padding: 1.5rem 1rem;
    gap: 1.5rem;
  }
}

@media (max-width: 576px) {
  /* line 457, app/assets/stylesheets/pages/_groups.scss */
  .group-show__content {
    padding: 1rem;
    gap: 1rem;
  }
}

/* line 484, app/assets/stylesheets/pages/_groups.scss */
.group-show__main {
  min-width: 0;
  overflow: hidden;
}

/* line 489, app/assets/stylesheets/pages/_groups.scss */
.group-show__sidebar {
  min-width: 0;
}

/* line 494, app/assets/stylesheets/pages/_groups.scss */
.group-status-section {
  margin-bottom: 2rem;
}

/* line 498, app/assets/stylesheets/pages/_groups.scss */
.group-status-section__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

/* line 505, app/assets/stylesheets/pages/_groups.scss */
.group-status-section__header .emoji {
  font-size: 1.5rem;
}

/* line 507, app/assets/stylesheets/pages/_groups.scss */
.group-status-section__header .section-header {
  flex: 1;
  min-width: 0;
  margin-bottom: 0;
}

@media (max-width: 576px) {
  /* line 515, app/assets/stylesheets/pages/_groups.scss */
  .group-status-section__header .btn-action {
    width: 100%;
    justify-content: center;
  }
}

/* line 519, app/assets/stylesheets/pages/_groups.scss */
.group-status-section__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
}

/* line 525, app/assets/stylesheets/pages/_groups.scss */
.group-status-section__count {
  font-size: 0.85rem;
  font-weight: 400;
  color: #6b7280;
}

/* line 532, app/assets/stylesheets/pages/_groups.scss */
.group-recipe {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  margin-bottom: 1rem;
  display: flex;
  transition: box-shadow 0.3s ease, transform 0.15s ease;
}

/* line 545, app/assets/stylesheets/pages/_groups.scss */
.group-recipe::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--type-color, #e5e7eb);
  z-index: 3;
}

/* line 556, app/assets/stylesheets/pages/_groups.scss */
.group-recipe:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}

/* line 563, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__image {
  position: absolute;
  inset: 0 0 0 38%;
  overflow: hidden;
}

/* line 568, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 576, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.7) 12%, rgba(255, 255, 255, 0.15) 30%, transparent 50%);
}

@media (max-width: 576px) {
  /* line 563, app/assets/stylesheets/pages/_groups.scss */
  .group-recipe__image {
    inset: 0 0 0 50%;
  }
}

/* line 594, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__image--empty {
  background: linear-gradient(135deg, #f9fafb, #f3f4f6);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  opacity: 0.3;
}

@media (max-width: 576px) {
  /* line 594, app/assets/stylesheets/pages/_groups.scss */
  .group-recipe__image--empty {
    inset: 0 0 0 50%;
  }
}

/* line 606, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__image--empty::after {
  background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.8) 40%, transparent 100%);
}

/* line 619, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__body {
  position: relative;
  z-index: 2;
  padding: 12px 1rem 10px calc(1rem + 6px);
  max-width: 66%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
  flex: 1;
}

@media (max-width: 576px) {
  /* line 619, app/assets/stylesheets/pages/_groups.scss */
  .group-recipe__body {
    max-width: 58%;
  }
}

/* line 636, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__top {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  flex-wrap: wrap;
}

/* line 644, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__rank {
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 1;
}

/* line 653, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #1a1a1a;
  text-decoration: none;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.15s ease;
}

/* line 667, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__title:hover {
  color: #ff6b01;
}

/* line 670, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__meta {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.72rem;
  color: #6b7280;
  flex-wrap: wrap;
}

/* line 678, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__meta svg {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}

/* line 682, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__vote-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* line 689, app/assets/stylesheets/pages/_groups.scss */
.vote-compact {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 8px;
  border-radius: 9999px;
  border: 1px solid #e5e7eb;
  background: transparent;
  color: #6b7280;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  line-height: 1;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

/* line 704, app/assets/stylesheets/pages/_groups.scss */
.vote-compact:hover {
  border-color: var(--type-color, #ff6b01);
  color: var(--type-color, #ff6b01);
  background: rgba(0, 0, 0, 0.03);
}

/* line 715, app/assets/stylesheets/pages/_groups.scss */
.vote-compact--active {
  border-color: var(--type-color, #ff6b01);
  background: rgba(255, 107, 1, 0.08);
  color: var(--type-color, #ff6b01);
}

@supports (background: color-mix(in srgb, red 10%, transparent)) {
  /* line 715, app/assets/stylesheets/pages/_groups.scss */
  .vote-compact--active {
    background: color-mix(in srgb, var(--type-color, #ff6b01) 10%, transparent);
  }
}

/* line 724, app/assets/stylesheets/pages/_groups.scss */
.vote-compact--active:hover {
  background: rgba(255, 107, 1, 0.14);
}

@supports (background: color-mix(in srgb, red 18%, transparent)) {
  /* line 724, app/assets/stylesheets/pages/_groups.scss */
  .vote-compact--active:hover {
    background: color-mix(in srgb, var(--type-color, #ff6b01) 18%, transparent);
  }
}

/* line 733, app/assets/stylesheets/pages/_groups.scss */
.vote-compact__icon {
  font-size: 0.82rem;
  line-height: 1;
}

/* line 735, app/assets/stylesheets/pages/_groups.scss */
.vote-compact__count {
  font-size: 0.68rem;
  font-weight: 700;
  min-width: 10px;
  text-align: center;
}

/* line 744, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.25rem;
  padding-top: 6px;
  border-top: 1px solid #f3f4f6;
  flex-wrap: nowrap;
}

@media (max-width: 576px) {
  /* line 744, app/assets/stylesheets/pages/_groups.scss */
  .group-recipe__footer {
    flex-wrap: wrap;
  }
}

/* line 758, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__admin-actions {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
  flex-shrink: 0;
  margin-left: auto;
}

@media (max-width: 576px) {
  /* line 758, app/assets/stylesheets/pages/_groups.scss */
  .group-recipe__admin-actions {
    margin-left: 0;
  }
}

/* line 771, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__admin-actions form {
  display: contents;
}

/* line 775, app/assets/stylesheets/pages/_groups.scss */
.group-members {
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  position: sticky;
  top: 2rem;
}

@media (max-width: 992px) {
  /* line 775, app/assets/stylesheets/pages/_groups.scss */
  .group-members {
    position: static;
  }
}

/* line 791, app/assets/stylesheets/pages/_groups.scss */
.group-members__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
}

/* line 800, app/assets/stylesheets/pages/_groups.scss */
.group-members__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #1a1a1a;
}

/* line 807, app/assets/stylesheets/pages/_groups.scss */
.group-members__list {
  padding: 1rem;
  max-height: 400px;
  overflow-y: auto;
}

@media (max-width: 992px) {
  /* line 807, app/assets/stylesheets/pages/_groups.scss */
  .group-members__list {
    max-height: none;
    overflow-y: visible;
  }
}

/* line 821, app/assets/stylesheets/pages/_groups.scss */
.member-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border-radius: 0.5rem;
  transition: background 0.15s ease;
}

/* line 829, app/assets/stylesheets/pages/_groups.scss */
.member-row:hover {
  background: #f9fafb;
}

/* line 832, app/assets/stylesheets/pages/_groups.scss */
.member-row__avatar {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  background: linear-gradient(135deg, rgba(255, 107, 1, 0.2), rgba(255, 107, 1, 0.1));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-weight: 700;
  font-size: 0.85rem;
  color: #ff6b01;
}

/* line 847, app/assets/stylesheets/pages/_groups.scss */
.member-row__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 855, app/assets/stylesheets/pages/_groups.scss */
.member-row__name {
  font-size: 0.9rem;
  font-weight: 600;
  color: #1a1a1a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 864, app/assets/stylesheets/pages/_groups.scss */
.member-row__role {
  display: inline-flex;
  padding: 2px 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.7rem;
  font-weight: 600;
}

/* line 871, app/assets/stylesheets/pages/_groups.scss */
.member-row__role--owner {
  background: rgba(245, 158, 11, 0.1);
  color: #92400e;
}

/* line 872, app/assets/stylesheets/pages/_groups.scss */
.member-row__role--admin {
  background: rgba(59, 130, 246, 0.1);
  color: #1d4ed8;
}

/* line 876, app/assets/stylesheets/pages/_groups.scss */
.group-members__pending {
  padding: 1rem;
  border-top: 1px solid #e5e7eb;
}

/* line 881, app/assets/stylesheets/pages/_groups.scss */
.group-members__pending-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #374151;
  margin-bottom: 0.5rem;
}

/* line 888, app/assets/stylesheets/pages/_groups.scss */
.member-row--pending .member-row__avatar {
  width: 32px;
  height: 32px;
  background: #f3f4f6;
  color: #d1d5db;
  font-size: 0.75rem;
}

/* line 896, app/assets/stylesheets/pages/_groups.scss */
.member-row--pending .member-row__name {
  color: #6b7280;
}

/* line 901, app/assets/stylesheets/pages/_groups.scss */
.group-form__card {
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  margin-bottom: 2rem;
}

/* line 910, app/assets/stylesheets/pages/_groups.scss */
.group-form__card-header {
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  padding: 1rem 1.5rem;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 920, app/assets/stylesheets/pages/_groups.scss */
.group-form__card-header svg {
  width: 18px;
  height: 18px;
  color: #6b7280;
}

/* line 923, app/assets/stylesheets/pages/_groups.scss */
.group-form__card-body {
  padding: 2rem;
}

@media (max-width: 576px) {
  /* line 923, app/assets/stylesheets/pages/_groups.scss */
  .group-form__card-body {
    padding: 1rem;
  }
}

/* line 932, app/assets/stylesheets/pages/_groups.scss */
.friend-invite {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.15s ease;
}

/* line 942, app/assets/stylesheets/pages/_groups.scss */
.friend-invite:hover {
  border-color: rgba(255, 107, 1, 0.3);
  background: #f9fafb;
}

/* line 947, app/assets/stylesheets/pages/_groups.scss */
.friend-invite input[type="checkbox"] {
  margin-top: 2px;
  accent-color: #ff6b01;
}

/* line 953, app/assets/stylesheets/pages/_groups.scss */
.friend-invite__avatar {
  width: 32px;
  height: 32px;
  border-radius: 9999px;
  background: linear-gradient(135deg, rgba(255, 107, 1, 0.2), rgba(255, 107, 1, 0.1));
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-weight: 700;
  font-size: 0.8rem;
  color: #ff6b01;
}

/* line 967, app/assets/stylesheets/pages/_groups.scss */
.friend-invite__name {
  font-weight: 600;
  font-size: 0.9rem;
  color: #1a1a1a;
}

/* line 972, app/assets/stylesheets/pages/_groups.scss */
.friend-invite__name--disabled {
  color: #6b7280;
}

/* line 975, app/assets/stylesheets/pages/_groups.scss */
.friend-invite__email {
  font-size: 0.8rem;
  color: #6b7280;
}

/* line 980, app/assets/stylesheets/pages/_groups.scss */
.friend-invite--disabled {
  cursor: default;
  background: #f9fafb;
  border-color: #f3f4f6;
}

/* line 985, app/assets/stylesheets/pages/_groups.scss */
.friend-invite--disabled:hover {
  border-color: #f3f4f6;
  background: #f9fafb;
  transform: none;
}

/* line 992, app/assets/stylesheets/pages/_groups.scss */
.friend-invite__avatar--disabled {
  background: #f3f4f6;
  color: #d1d5db;
}

/* line 997, app/assets/stylesheets/pages/_groups.scss */
.friend-invite__action--disabled {
  font-size: 0.75rem;
  color: #d1d5db;
  white-space: nowrap;
}

/* line 1003, app/assets/stylesheets/pages/_groups.scss */
.friend-invite__plan-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 0.375rem;
  margin-top: 2px;
}

/* line 1013, app/assets/stylesheets/pages/_groups.scss */
.friend-invite__plan-badge svg {
  flex-shrink: 0;
}

/* line 1015, app/assets/stylesheets/pages/_groups.scss */
.friend-invite__plan-badge--ok {
  background: rgba(22, 163, 74, 0.1);
  color: #16a34a;
}

/* line 1020, app/assets/stylesheets/pages/_groups.scss */
.friend-invite__plan-badge--no {
  background: #f3f4f6;
  color: #6b7280;
}

/* line 1027, app/assets/stylesheets/pages/_groups.scss */
.group-recipes-add {
  max-width: 1280px;
  margin: 0 auto;
}

/* line 1032, app/assets/stylesheets/pages/_groups.scss */
.group-recipes-add__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

@media (max-width: 576px) {
  /* line 1032, app/assets/stylesheets/pages/_groups.scss */
  .group-recipes-add__header {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* line 1046, app/assets/stylesheets/pages/_groups.scss */
.group-recipes-add__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  color: #1a1a1a;
  font-size: 1.1rem;
  word-break: break-word;
}

/* line 1054, app/assets/stylesheets/pages/_groups.scss */
.group-recipes-add__actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

@media (max-width: 576px) {
  /* line 1054, app/assets/stylesheets/pages/_groups.scss */
  .group-recipes-add__actions {
    width: 100%;
  }
  /* line 1062, app/assets/stylesheets/pages/_groups.scss */
  .group-recipes-add__actions .btn-action {
    flex: 1;
    justify-content: center;
  }
}

/* line 1067, app/assets/stylesheets/pages/_groups.scss */
.recipe-select__card--selected {
  border-color: #ff6b01 !important;
  background: rgba(255, 107, 1, 0.03);
}

/* line 1072, app/assets/stylesheets/pages/_groups.scss */
.recipe-select__card--disabled {
  opacity: 0.5;
  cursor: not-allowed !important;
}

/* line 1077, app/assets/stylesheets/pages/_groups.scss */
.recipe-select__existing {
  font-size: 0.75rem;
  font-weight: 600;
  color: #22c55e;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.25rem;
}

/* line 1086, app/assets/stylesheets/pages/_groups.scss */
.recipe-select__existing svg {
  width: 12px;
  height: 12px;
}

/* line 1094, app/assets/stylesheets/pages/_groups.scss */
.rg-filter-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #f3f4f6;
  background: #f9fafb;
}

@media (max-width: 576px) {
  /* line 1094, app/assets/stylesheets/pages/_groups.scss */
  .rg-filter-bar {
    flex-wrap: wrap;
    padding: 0.5rem 1rem;
  }
}

/* line 1108, app/assets/stylesheets/pages/_groups.scss */
.rg-filter-bar__search {
  flex: 1;
  position: relative;
  min-width: 0;
}

@media (max-width: 576px) {
  /* line 1108, app/assets/stylesheets/pages/_groups.scss */
  .rg-filter-bar__search {
    width: 100%;
  }
}

/* line 1119, app/assets/stylesheets/pages/_groups.scss */
.rg-filter-bar__search-icon {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: #d1d5db;
  pointer-events: none;
}

/* line 1130, app/assets/stylesheets/pages/_groups.scss */
.rg-filter-bar__input {
  width: 100%;
  padding: 0.5rem 0.75rem 0.5rem 2rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  background: #ffffff;
  outline: none;
  transition: border-color 0.3s ease;
  font-family: "Montserrat", sans-serif;
}

/* line 1141, app/assets/stylesheets/pages/_groups.scss */
.rg-filter-bar__input:focus {
  border-color: #ff6b01;
}

/* line 1145, app/assets/stylesheets/pages/_groups.scss */
.rg-filter-bar__input::placeholder {
  color: #d1d5db;
}

/* line 1151, app/assets/stylesheets/pages/_groups.scss */
.rg-filter-bar__select-wrap {
  position: relative;
  flex-shrink: 0;
}

@media (max-width: 576px) {
  /* line 1151, app/assets/stylesheets/pages/_groups.scss */
  .rg-filter-bar__select-wrap {
    width: 100%;
  }
}

/* line 1162, app/assets/stylesheets/pages/_groups.scss */
.rg-filter-bar__select {
  appearance: none;
  -webkit-appearance: none;
  padding: 0.5rem 2rem 0.5rem 0.875rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  background: #ffffff;
  color: #374151;
  cursor: pointer;
  outline: none;
  font-family: "Montserrat", sans-serif;
  transition: border-color 0.3s ease;
}

/* line 1176, app/assets/stylesheets/pages/_groups.scss */
.rg-filter-bar__select:focus {
  border-color: #ff6b01;
}

@media (max-width: 576px) {
  /* line 1162, app/assets/stylesheets/pages/_groups.scss */
  .rg-filter-bar__select {
    width: 100%;
  }
}

/* line 1185, app/assets/stylesheets/pages/_groups.scss */
.rg-filter-bar__chevron {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  color: #6b7280;
  pointer-events: none;
}

/* line 1197, app/assets/stylesheets/pages/_groups.scss */
.rg-action-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.5rem;
  background: #ffffff;
  border-bottom: 1px solid #f3f4f6;
  position: sticky;
  top: 0;
  z-index: 10;
}

@media (max-width: 576px) {
  /* line 1197, app/assets/stylesheets/pages/_groups.scss */
  .rg-action-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: auto;
    border-top: 1px solid #e5e7eb;
    border-bottom: none;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
    padding: 0.5rem 1rem;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
  }
}

/* line 1227, app/assets/stylesheets/pages/_groups.scss */
.rg-action-bar__select-all {
  white-space: nowrap;
}

/* line 1232, app/assets/stylesheets/pages/_groups.scss */
.rg-action-bar__count {
  font-size: 0.82rem;
  font-weight: 600;
  color: #ff6b01;
  white-space: nowrap;
  padding: 2px 10px;
  background: rgba(255, 107, 1, 0.08);
  border-radius: 9999px;
}

@media (max-width: 576px) {
  /* line 1232, app/assets/stylesheets/pages/_groups.scss */
  .rg-action-bar__count {
    flex: 1;
    text-align: center;
  }
}

/* line 1247, app/assets/stylesheets/pages/_groups.scss */
.rg-action-bar__submit {
  margin-left: auto;
  white-space: nowrap;
}

@media (max-width: 576px) {
  /* line 1247, app/assets/stylesheets/pages/_groups.scss */
  .rg-action-bar__submit {
    margin-left: 0;
  }
}

/* line 1257, app/assets/stylesheets/pages/_groups.scss */
.rg-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 2px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
  height: 100%;
}

/* line 1269, app/assets/stylesheets/pages/_groups.scss */
.rg-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* line 1275, app/assets/stylesheets/pages/_groups.scss */
.rg-card__image {
  position: relative;
  height: 160px;
  background: #f3f4f6;
  overflow: hidden;
  flex-shrink: 0;
}

/* line 1282, app/assets/stylesheets/pages/_groups.scss */
.rg-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* line 1290, app/assets/stylesheets/pages/_groups.scss */
.rg-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  background: linear-gradient(135deg, #f9fafb, #f3f4f6);
}

/* line 1301, app/assets/stylesheets/pages/_groups.scss */
.rg-card__in-group {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(22, 163, 74, 0.85);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  text-align: center;
  padding: 4px;
  letter-spacing: 0.04em;
}

/* line 1316, app/assets/stylesheets/pages/_groups.scss */
.rg-card__check-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 22px;
  height: 22px;
  background: #ff6b01;
  color: #fff;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

/* line 1336, app/assets/stylesheets/pages/_groups.scss */
.rg-card__name {
  padding: 8px 10px 10px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #1a1a1a;
  line-height: 1.3;
  text-align: center;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* line 1353, app/assets/stylesheets/pages/_groups.scss */
.rg-card__checkbox:checked + .rg-card {
  border-color: #ff6b01;
  background: rgba(255, 107, 1, 0.04);
  box-shadow: 0 0 0 2px rgba(255, 107, 1, 0.18);
}

/* line 1358, app/assets/stylesheets/pages/_groups.scss */
.rg-card__checkbox:checked + .rg-card .rg-card__check-badge {
  opacity: 1;
  transform: scale(1);
}

/* line 1365, app/assets/stylesheets/pages/_groups.scss */
.rg-card--disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

/* line 1369, app/assets/stylesheets/pages/_groups.scss */
.rg-card--disabled:hover {
  transform: none;
  box-shadow: none;
}

/* line 1376, app/assets/stylesheets/pages/_groups.scss */
.rg-card__checkbox {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* line 1389, app/assets/stylesheets/pages/_groups.scss */
.rg-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  padding: 1rem 1.5rem;
}

@media (max-width: 768px) {
  /* line 1389, app/assets/stylesheets/pages/_groups.scss */
  .rg-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 1389, app/assets/stylesheets/pages/_groups.scss */
  .rg-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    padding: 0.5rem;
  }
}

/* line 1406, app/assets/stylesheets/pages/_groups.scss */
.rg-grid .recipe-select__item {
  display: contents;
}

/* line 1411, app/assets/stylesheets/pages/_groups.scss */
.rg-grid .rg-card {
  height: auto;
}

/* line 1417, app/assets/stylesheets/pages/_groups.scss */
.rg-pagination {
  display: flex;
  justify-content: center;
  padding: 1.5rem 1.5rem 1rem;
  border-top: 1px solid #f3f4f6;
}

/* line 1423, app/assets/stylesheets/pages/_groups.scss */
.rg-pagination .pagination {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 1432, app/assets/stylesheets/pages/_groups.scss */
.rg-pagination .pagination li a, .rg-pagination .pagination li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 0.5rem;
  border-radius: 0.5rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 1447, app/assets/stylesheets/pages/_groups.scss */
.rg-pagination .pagination li a {
  color: #6b7280;
  background: #ffffff;
  border: 1px solid #e5e7eb;
}

/* line 1452, app/assets/stylesheets/pages/_groups.scss */
.rg-pagination .pagination li a:hover {
  color: #ff6b01;
  border-color: #ff6b01;
  background: rgba(255, 107, 1, 0.06);
}

/* line 1459, app/assets/stylesheets/pages/_groups.scss */
.rg-pagination .pagination li.pagination__item--active span {
  color: #ffffff;
  background: #ff6b01;
  border: 1px solid #ff6b01;
}

/* line 1465, app/assets/stylesheets/pages/_groups.scss */
.rg-pagination .pagination li.gap span {
  border: none;
  background: none;
  color: #6b7280;
}

@media (max-width: 576px) {
  /* line 1476, app/assets/stylesheets/pages/_groups.scss */
  .form-panel__body {
    padding-bottom: 80px;
  }
}

/* line 1482, app/assets/stylesheets/pages/_groups.scss */
.recipe-source {
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

/* line 1491, app/assets/stylesheets/pages/_groups.scss */
.recipe-source__header {
  background: #f9fafb;
  border-bottom: 1px solid #f3f4f6;
  padding: 1rem 1.5rem;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1501, app/assets/stylesheets/pages/_groups.scss */
.recipe-source__header svg {
  width: 18px;
  height: 18px;
}

/* line 1504, app/assets/stylesheets/pages/_groups.scss */
.recipe-source__body {
  padding: 1.5rem;
}

/* line 1509, app/assets/stylesheets/pages/_groups.scss */
.group-link-share {
  display: flex;
  gap: 0.5rem;
}

@media (max-width: 576px) {
  /* line 1509, app/assets/stylesheets/pages/_groups.scss */
  .group-link-share {
    flex-direction: column;
  }
  /* line 1516, app/assets/stylesheets/pages/_groups.scss */
  .group-link-share .btn-action {
    width: 100%;
    justify-content: center;
  }
}

/* line 1523, app/assets/stylesheets/pages/_groups.scss */
.group-link-share__input {
  flex: 1;
  min-width: 0;
  padding: 1rem;
  border: 2px solid #e5e7eb;
  border-radius: 0.5rem;
  background: #f9fafb;
  font-size: 0.9rem;
  color: #374151;
  outline: none;
}

/* line 1534, app/assets/stylesheets/pages/_groups.scss */
.group-link-share__input:focus {
  border-color: #ff6b01;
}

/* line 1538, app/assets/stylesheets/pages/_groups.scss */
.group-invite-tab {
  padding: 1rem 0;
}

/* line 1541, app/assets/stylesheets/pages/_groups.scss */
.group-invite-tab__hint {
  color: #6b7280;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

/* line 1547, app/assets/stylesheets/pages/_groups.scss */
.group-invite-tab__row {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

@media (max-width: 576px) {
  /* line 1547, app/assets/stylesheets/pages/_groups.scss */
  .group-invite-tab__row {
    flex-direction: column;
  }
  /* line 1556, app/assets/stylesheets/pages/_groups.scss */
  .group-invite-tab__row .btn-action {
    width: 100%;
    justify-content: center;
  }
}

/* line 1563, app/assets/stylesheets/pages/_groups.scss */
.group-invite-tab__input {
  flex: 1;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  font-size: 0.8rem;
  color: #6b7280;
  background: #f9fafb;
  outline: none;
}

@media (max-width: 576px) {
  /* line 1563, app/assets/stylesheets/pages/_groups.scss */
  .group-invite-tab__input {
    width: 100%;
  }
}

/* line 1582, app/assets/stylesheets/pages/_groups.scss */
.rb-btn--whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.625rem 1rem;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.9rem;
  background: #25D366;
  color: #fff;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  margin-bottom: 0.75rem;
}

/* line 1600, app/assets/stylesheets/pages/_groups.scss */
.rb-btn--whatsapp:hover {
  background: #1db954;
  color: #fff;
}

/* line 1604, app/assets/stylesheets/pages/_groups.scss */
.rb-btn--ghost {
  background: transparent;
  border: 1px solid #e5e7eb;
  color: #6b7280;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

/* line 1612, app/assets/stylesheets/pages/_groups.scss */
.rb-btn--ghost:hover {
  border-color: #d1d5db;
  color: #374151;
}

/* line 1615, app/assets/stylesheets/pages/_groups.scss */
.rb-btn--sm {
  padding: 0.375rem 0.75rem;
  font-size: 0.8rem;
}

/* line 1621, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f9fafb;
  padding: 2rem 1.5rem;
}

/* line 1630, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__card {
  background: #ffffff;
  border-radius: 1.5rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  border: 1px solid #e5e7eb;
  max-width: 480px;
  width: 100%;
  overflow: hidden;
  text-align: center;
}

/* line 1641, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__icon {
  width: 80px;
  height: 80px;
  border-radius: 9999px;
  background: linear-gradient(135deg, rgba(255, 107, 1, 0.12), rgba(255, 107, 1, 0.05));
  border: 2px solid rgba(255, 107, 1, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2rem auto 1rem;
  overflow: hidden;
}

/* line 1653, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__icon svg {
  width: 40px;
  height: 40px;
  color: rgba(255, 107, 1, 0.6);
}

/* line 1656, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__icon-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 1662, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__info {
  padding: 0 2rem 2rem;
}

/* line 1666, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__label {
  font-size: 0.85rem;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}

/* line 1674, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__name {
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 0.5rem;
}

/* line 1682, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__description {
  font-size: 0.95rem;
  color: #6b7280;
  margin-bottom: 1rem;
}

/* line 1688, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  font-size: 0.85rem;
  color: #6b7280;
}

/* line 1697, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__cta {
  padding: 2rem;
  border-top: 1px solid #f3f4f6;
  background: #f9fafb;
}

/* line 1703, app/assets/stylesheets/pages/_groups.scss */
.group-invite-page__paywall-msg,
.group-invite-page__login-msg {
  font-size: 0.9rem;
  color: #6b7280;
  margin-bottom: 1rem;
}

/* line 1710, app/assets/stylesheets/pages/_groups.scss */
.rb-btn--primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1.5rem;
  border-radius: 6px;
  font-weight: 600;
  font-size: 0.9rem;
  background: #ff6b01;
  color: #fff;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}

/* line 1726, app/assets/stylesheets/pages/_groups.scss */
.rb-btn--primary:hover {
  background: #e55d00;
  color: #fff;
}

/* line 1729, app/assets/stylesheets/pages/_groups.scss */
.rb-btn--full {
  width: 100%;
}

/* line 1732, app/assets/stylesheets/pages/_groups.scss */
.tab-nav {
  display: flex;
  gap: 0;
  border-bottom: 2px solid #f3f4f6;
  margin-bottom: 1rem;
}

@media (max-width: 576px) {
  /* line 1732, app/assets/stylesheets/pages/_groups.scss */
  .tab-nav {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0;
  }
  /* line 1745, app/assets/stylesheets/pages/_groups.scss */
  .tab-nav::-webkit-scrollbar {
    display: none;
  }
}

/* line 1751, app/assets/stylesheets/pages/_groups.scss */
.tab-nav__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6b7280;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: color 0.3s ease, border-color 0.3s ease;
  white-space: nowrap;
}

/* line 1767, app/assets/stylesheets/pages/_groups.scss */
.tab-nav__item:hover {
  color: #1a1a1a;
}

/* line 1769, app/assets/stylesheets/pages/_groups.scss */
.tab-nav__item--active {
  color: #ff6b01;
  border-bottom-color: #ff6b01;
  font-weight: 600;
}

/* line 1776, app/assets/stylesheets/pages/_groups.scss */
.tab-panel {
  display: block;
}

/* line 1779, app/assets/stylesheets/pages/_groups.scss */
.empty-state {
  text-align: center;
  padding: 2rem 1rem;
}

/* line 1783, app/assets/stylesheets/pages/_groups.scss */
.empty-state__icon {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}

/* line 1789, app/assets/stylesheets/pages/_groups.scss */
.empty-state__text {
  font-size: 0.95rem;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 0.25rem;
}

/* line 1796, app/assets/stylesheets/pages/_groups.scss */
.empty-state__subtext {
  font-size: 0.85rem;
  color: #6b7280;
}

/* line 1803, app/assets/stylesheets/pages/_groups.scss */
.modal-card {
  background: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  margin: 1.5rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(20px);
  transition: transform 0.3s ease;
}

/* line 1817, app/assets/stylesheets/pages/_groups.scss */
.modal-overlay--open .modal-card {
  transform: translateY(0);
}

@media (max-width: 576px) {
  /* line 1803, app/assets/stylesheets/pages/_groups.scss */
  .modal-card {
    margin: 0.5rem;
    max-height: 92vh;
    border-radius: 0.5rem;
  }
}

/* line 1829, app/assets/stylesheets/pages/_groups.scss */
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  border-bottom: 1px solid #f3f4f6;
  flex-shrink: 0;
}

/* line 1837, app/assets/stylesheets/pages/_groups.scss */
.modal-header__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Raleway", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}

/* line 1848, app/assets/stylesheets/pages/_groups.scss */
.modal-header__close {
  background: none;
  border: none;
  color: #6b7280;
  cursor: pointer;
  padding: 0.25rem;
  border-radius: 0.375rem;
  line-height: 0;
  transition: color 0.3s ease;
}

/* line 1858, app/assets/stylesheets/pages/_groups.scss */
.modal-header__close:hover {
  color: #1a1a1a;
}

/* line 1862, app/assets/stylesheets/pages/_groups.scss */
.modal-body {
  padding: 1.5rem;
  overflow-y: auto;
  flex: 1;
}

/* line 1868, app/assets/stylesheets/pages/_groups.scss */
.modal-body__description {
  font-size: 0.875rem;
  color: #6b7280;
  margin-bottom: 1rem;
}

/* line 1874, app/assets/stylesheets/pages/_groups.scss */
.modal-body__content {
  margin-top: 1rem;
}

/* line 1878, app/assets/stylesheets/pages/_groups.scss */
.modal-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid #f3f4f6;
  display: flex;
  justify-content: flex-end;
  flex-shrink: 0;
}

/* line 1887, app/assets/stylesheets/pages/_groups.scss */
.group-category-section {
  margin-bottom: 2rem;
}

/* line 1890, app/assets/stylesheets/pages/_groups.scss */
.group-category-section__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #f3f4f6;
}

/* line 1899, app/assets/stylesheets/pages/_groups.scss */
.group-category-section__emoji {
  font-size: 1.25rem;
}

/* line 1901, app/assets/stylesheets/pages/_groups.scss */
.group-category-section__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #1a1a1a;
  flex: 1;
}

/* line 1909, app/assets/stylesheets/pages/_groups.scss */
.group-category-section__count {
  font-size: 0.8rem;
  font-weight: 600;
  color: #6b7280;
  background: #f3f4f6;
  padding: 2px 8px;
  border-radius: 9999px;
}

/* line 1920, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__category-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 9999px;
  margin-bottom: 0.25rem;
}

/* line 1932, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__status-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 0.375rem;
}

/* line 1941, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__status-badge--cooking {
  background: rgba(234, 88, 12, 0.1);
  color: #ea580c;
}

/* line 1942, app/assets/stylesheets/pages/_groups.scss */
.group-recipe__status-badge--done {
  background: rgba(22, 163, 74, 0.1);
  color: #16a34a;
}

/* line 1946, app/assets/stylesheets/pages/_groups.scss */
.tab-nav__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  background: #e5e7eb;
  color: #374151;
  margin-left: 4px;
}

/* line 1960, app/assets/stylesheets/pages/_groups.scss */
.tab-nav__badge--green {
  background: rgba(22, 163, 74, 0.15);
  color: #16a34a;
}

/* line 1964, app/assets/stylesheets/pages/_groups.scss */
.category-selector {
  margin-bottom: 1.5rem;
  padding: 1rem;
  background: #f9fafb;
  border-radius: 0.5rem;
  border: 1px solid #f3f4f6;
}

/* line 1971, app/assets/stylesheets/pages/_groups.scss */
.category-selector__label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: #374151;
  margin-bottom: 0.5rem;
}

/* line 1979, app/assets/stylesheets/pages/_groups.scss */
.category-selector__options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* line 1985, app/assets/stylesheets/pages/_groups.scss */
.category-selector__radio {
  display: none;
}

/* line 1987, app/assets/stylesheets/pages/_groups.scss */
.category-selector__option {
  cursor: pointer;
}

/* line 1990, app/assets/stylesheets/pages/_groups.scss */
.category-selector__option:has(.category-selector__radio:checked) .category-selector__btn {
  background: #ff6b01;
  color: #ffffff;
  border-color: #ff6b01;
}

/* line 1997, app/assets/stylesheets/pages/_groups.scss */
.category-selector__btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 12px;
  border: 1.5px solid #e5e7eb;
  border-radius: 9999px;
  font-size: 0.8rem;
  font-weight: 600;
  color: #374151;
  background: #ffffff;
  transition: all 0.15s ease;
}

/* line 2010, app/assets/stylesheets/pages/_groups.scss */
.category-selector__btn:hover {
  border-color: #ff6b01;
  color: #ff6b01;
}

/* line 2018, app/assets/stylesheets/pages/_groups.scss */
.btn-action--sm {
  padding: 4px 10px;
  font-size: 0.78rem;
  gap: 4px;
}

/* line 2025, app/assets/stylesheets/pages/_groups.scss */
.shopping-list {
  margin-top: 2rem;
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

/* line 2034, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
}

/* line 2043, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__header-emoji {
  font-size: 1.5rem;
  flex-shrink: 0;
}

/* line 2048, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: #1a1a1a;
  margin: 0;
}

/* line 2056, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__subtitle {
  font-size: 0.78rem;
  color: #6b7280;
  margin: 2px 0 0;
}

/* line 2062, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__recipes {
  padding: 1rem 1.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.5rem;
}

@media (max-width: 576px) {
  /* line 2062, app/assets/stylesheets/pages/_groups.scss */
  .shopping-list__recipes {
    grid-template-columns: 1fr;
  }
}

/* line 2073, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__recipe {
  background: #f9fafb;
  border-radius: 0.5rem;
  border: 1px solid #f3f4f6;
  overflow: hidden;
}

/* line 2080, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__recipe-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: #ffffff;
  border-bottom: 1px solid #f3f4f6;
}

/* line 2089, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__recipe-servings {
  margin-left: auto;
  font-size: 0.75rem;
  color: #6b7280;
  white-space: nowrap;
}

/* line 2095, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__recipe-servings small {
  font-size: 0.7rem;
  opacity: 0.75;
}

/* line 2099, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__export-bar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 12px 1rem;
  background: #f9fafb;
  border-bottom: 1px solid #f3f4f6;
  border-radius: 8px 8px 0 0;
}

@media (max-width: 576px) {
  /* line 2099, app/assets/stylesheets/pages/_groups.scss */
  .shopping-list__export-bar {
    padding: 0.5rem;
    gap: 6px;
  }
  /* line 2114, app/assets/stylesheets/pages/_groups.scss */
  .shopping-list__export-bar .sl-export-btn {
    flex: 1;
    justify-content: center;
    min-width: calc(50% - 3px);
  }
}

/* line 2122, app/assets/stylesheets/pages/_groups.scss */
.sl-export-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  cursor: pointer;
  border: 1px solid #e5e7eb;
  background: #ffffff;
  color: #6b7280;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 2138, app/assets/stylesheets/pages/_groups.scss */
.sl-export-btn svg {
  flex-shrink: 0;
}

/* line 2140, app/assets/stylesheets/pages/_groups.scss */
.sl-export-btn:hover {
  background: #f9fafb;
  border-color: #d1d5db;
  color: #1a1a1a;
}

/* line 2146, app/assets/stylesheets/pages/_groups.scss */
.sl-export-btn--menu {
  border-color: #ff6b01;
  color: #ff6b01;
}

/* line 2149, app/assets/stylesheets/pages/_groups.scss */
.sl-export-btn--menu:hover {
  background: rgba(255, 107, 1, 0.06);
}

/* line 2153, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__recipe-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 9999px;
  background: #ff6b01;
  color: #ffffff;
  font-size: 0.7rem;
  font-weight: 700;
  flex-shrink: 0;
}

/* line 2167, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__recipe-name {
  font-weight: 600;
  font-size: 0.85rem;
  color: #1a1a1a;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 2177, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__recipe-type {
  font-size: 1rem;
  flex-shrink: 0;
}

/* line 2182, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__items {
  list-style: none;
  padding: 0.5rem 1rem;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 2191, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__item {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.82rem;
  color: #374151;
}

/* line 2199, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__item-dot {
  width: 6px;
  height: 6px;
  border-radius: 9999px;
  background: #ff6b01;
  flex-shrink: 0;
  margin-top: 5px;
}

/* line 2209, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__item-text strong {
  color: #1a1a1a;
}

/* line 2212, app/assets/stylesheets/pages/_groups.scss */
.shopping-list__empty {
  font-size: 0.8rem;
  color: #6b7280;
  font-style: italic;
  padding: 0.5rem 1rem;
  margin: 0;
}

/* line 5, app/assets/stylesheets/pages/_auth.scss */
.auth-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: #f9fafb;
  padding: 2rem 1rem;
}

/* line 14, app/assets/stylesheets/pages/_auth.scss */
.auth-card {
  width: 100%;
  max-width: 420px;
  background: #ffffff;
  border-radius: 1.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 3rem 2rem;
}

@media (max-width: 576px) {
  /* line 14, app/assets/stylesheets/pages/_auth.scss */
  .auth-card {
    padding: 2rem 1.5rem;
    border-radius: 1rem;
  }
}

/* line 29, app/assets/stylesheets/pages/_auth.scss */
.auth-brand {
  text-align: center;
  margin-bottom: 3rem;
}

/* line 34, app/assets/stylesheets/pages/_auth.scss */
.auth-brand__logo {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-family: "Raleway", sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 1rem;
}

/* line 44, app/assets/stylesheets/pages/_auth.scss */
.auth-brand__logo svg {
  width: 28px;
  height: 28px;
  color: #ff6b01;
}

/* line 51, app/assets/stylesheets/pages/_auth.scss */
.auth-brand__art {
  color: #1a1a1a;
}

/* line 55, app/assets/stylesheets/pages/_auth.scss */
.auth-brand__food {
  color: #ff6b01;
}

/* line 59, app/assets/stylesheets/pages/_auth.scss */
.auth-brand__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
}

/* line 67, app/assets/stylesheets/pages/_auth.scss */
.auth-brand__subtitle {
  font-size: 0.9rem;
  color: #6b7280;
  margin: 0;
}

/* line 74, app/assets/stylesheets/pages/_auth.scss */
.auth-field {
  margin-bottom: 1.5rem;
}

/* line 78, app/assets/stylesheets/pages/_auth.scss */
.auth-field__label {
  display: block;
  font-weight: 600;
  font-size: 0.85rem;
  color: #374151;
  margin-bottom: 0.5rem;
  letter-spacing: 0.01em;
}

/* line 87, app/assets/stylesheets/pages/_auth.scss */
.auth-field__hint {
  font-size: 0.78rem;
  font-weight: 400;
  color: #d1d5db;
}

/* line 93, app/assets/stylesheets/pages/_auth.scss */
.auth-field__input {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  font-size: 0.95rem;
  outline: none;
  transition: all 0.15s ease;
  background: #f9fafb;
  color: #1a1a1a;
}

/* line 104, app/assets/stylesheets/pages/_auth.scss */
.auth-field__input:focus {
  border-color: #ff6b01;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(255, 107, 1, 0.08);
}

/* line 110, app/assets/stylesheets/pages/_auth.scss */
.auth-field__input::placeholder {
  color: #d1d5db;
}

/* line 116, app/assets/stylesheets/pages/_auth.scss */
.auth-phone {
  display: flex;
  gap: 0;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: all 0.15s ease;
  background: #f9fafb;
}

/* line 125, app/assets/stylesheets/pages/_auth.scss */
.auth-phone:focus-within {
  border-color: #ff6b01;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(255, 107, 1, 0.08);
}

/* line 132, app/assets/stylesheets/pages/_auth.scss */
.auth-phone__country {
  flex-shrink: 0;
  width: 110px;
  padding: 0.8rem 0.5rem 0.8rem 1rem;
  border: none;
  border-right: 1px solid #e5e7eb;
  background: transparent;
  font-size: 0.95rem;
  color: #374151;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  padding-right: 24px;
}

/* line 151, app/assets/stylesheets/pages/_auth.scss */
.auth-phone__number {
  flex: 1;
  padding: 0.8rem 1rem;
  border: none;
  background: transparent;
  font-size: 0.95rem;
  color: #1a1a1a;
  outline: none;
}

/* line 160, app/assets/stylesheets/pages/_auth.scss */
.auth-phone__number::placeholder {
  color: #d1d5db;
}

/* line 166, app/assets/stylesheets/pages/_auth.scss */
.auth-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
}

/* line 172, app/assets/stylesheets/pages/_auth.scss */
.auth-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #ff6b01;
  cursor: pointer;
  border-radius: 3px;
}

/* line 180, app/assets/stylesheets/pages/_auth.scss */
.auth-checkbox label {
  font-size: 0.85rem;
  color: #6b7280;
  cursor: pointer;
}

/* line 188, app/assets/stylesheets/pages/_auth.scss */
.auth-submit {
  width: 100%;
  padding: 0.85rem;
  border: none;
  border-radius: 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.3s ease;
  letter-spacing: 0.02em;
}

/* line 200, app/assets/stylesheets/pages/_auth.scss */
.auth-submit--orange {
  background: #ff6b01;
}

/* line 203, app/assets/stylesheets/pages/_auth.scss */
.auth-submit--orange:hover {
  background: #e55d00;
  box-shadow: 0 4px 16px rgba(255, 107, 1, 0.25);
}

/* line 209, app/assets/stylesheets/pages/_auth.scss */
.auth-submit--blue {
  background: #3b82f6;
}

/* line 212, app/assets/stylesheets/pages/_auth.scss */
.auth-submit--blue:hover {
  background: #2563eb;
  box-shadow: 0 4px 16px rgba(59, 130, 246, 0.25);
}

/* line 220, app/assets/stylesheets/pages/_auth.scss */
.auth-divider {
  border: none;
  border-top: 1px solid #f3f4f6;
  margin: 2rem 0;
}

/* line 227, app/assets/stylesheets/pages/_auth.scss */
.auth-links {
  text-align: center;
}

/* line 230, app/assets/stylesheets/pages/_auth.scss */
.auth-links a {
  display: inline-block;
  color: #6b7280;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.85rem;
  transition: color 0.15s ease;
  margin-bottom: 0.5rem;
}

/* line 239, app/assets/stylesheets/pages/_auth.scss */
.auth-links a:hover {
  color: #ff6b01;
}

/* line 246, app/assets/stylesheets/pages/_auth.scss */
.auth-footer {
  text-align: center;
  margin-top: 2rem;
  font-size: 0.85rem;
  color: #6b7280;
}

/* line 252, app/assets/stylesheets/pages/_auth.scss */
.auth-footer a {
  color: #ff6b01;
  font-weight: 600;
  text-decoration: none;
}

/* line 257, app/assets/stylesheets/pages/_auth.scss */
.auth-footer a:hover {
  text-decoration: underline;
}

/* line 264, app/assets/stylesheets/pages/_auth.scss */
.auth-errors {
  background: rgba(239, 68, 68, 0.04);
  border: 1px solid rgba(239, 68, 68, 0.15);
  border-radius: 0.5rem;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
}

/* line 271, app/assets/stylesheets/pages/_auth.scss */
.auth-errors h5 {
  font-size: 0.85rem;
  font-weight: 700;
  color: #ef4444;
  margin: 0 0 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 280, app/assets/stylesheets/pages/_auth.scss */
.auth-errors h5 svg {
  width: 16px;
  height: 16px;
}

/* line 283, app/assets/stylesheets/pages/_auth.scss */
.auth-errors ul {
  margin: 0;
  padding-left: 1.5rem;
  font-size: 0.82rem;
  color: #eb1515;
}

/* line 289, app/assets/stylesheets/pages/_auth.scss */
.auth-errors ul li {
  margin-bottom: 0.25rem;
}

/* line 294, app/assets/stylesheets/pages/_auth.scss */
.auth-danger-zone {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #f3f4f6;
}

/* line 300, app/assets/stylesheets/pages/_auth.scss */
.auth-danger-zone__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 0.95rem;
  color: #ef4444;
  margin-bottom: 0.25rem;
}

/* line 308, app/assets/stylesheets/pages/_auth.scss */
.auth-danger-zone__text {
  font-size: 0.85rem;
  color: #6b7280;
  margin-bottom: 1rem;
}

/* line 318, app/assets/stylesheets/pages/_auth.scss */
.profile-page {
  min-height: 100vh;
  background: #f9fafb;
  padding: 2rem 1rem 4rem;
}

@media (max-width: 576px) {
  /* line 318, app/assets/stylesheets/pages/_auth.scss */
  .profile-page {
    padding: 1rem 1rem 3rem;
  }
}

/* line 328, app/assets/stylesheets/pages/_auth.scss */
.profile-page__inner {
  max-width: 640px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 337, app/assets/stylesheets/pages/_auth.scss */
.profile-page__back {
  margin-bottom: 0.25rem;
}

/* line 341, app/assets/stylesheets/pages/_auth.scss */
.profile-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #6b7280;
  text-decoration: none;
  transition: color 0.15s ease;
}

/* line 351, app/assets/stylesheets/pages/_auth.scss */
.profile-back-link:hover {
  color: #ff6b01;
}

/* line 357, app/assets/stylesheets/pages/_auth.scss */
.profile-header-card {
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid #f3f4f6;
  padding: 2rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

@media (max-width: 576px) {
  /* line 357, app/assets/stylesheets/pages/_auth.scss */
  .profile-header-card {
    padding: 1.5rem;
    gap: 1rem;
  }
}

/* line 372, app/assets/stylesheets/pages/_auth.scss */
.profile-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #ff6b01;
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  letter-spacing: 0.04em;
}

@media (max-width: 576px) {
  /* line 372, app/assets/stylesheets/pages/_auth.scss */
  .profile-avatar {
    width: 52px;
    height: 52px;
    font-size: 1.1rem;
  }
}

/* line 394, app/assets/stylesheets/pages/_auth.scss */
.profile-header-info {
  flex: 1;
  min-width: 0;
}

/* line 399, app/assets/stylesheets/pages/_auth.scss */
.profile-header-name {
  font-family: "Raleway", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 410, app/assets/stylesheets/pages/_auth.scss */
.profile-header-email {
  font-size: 0.875rem;
  color: #6b7280;
  margin: 0 0 0.5rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 419, app/assets/stylesheets/pages/_auth.scss */
.profile-header-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 426, app/assets/stylesheets/pages/_auth.scss */
.profile-plan-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 9999px;
}

/* line 437, app/assets/stylesheets/pages/_auth.scss */
.profile-plan-badge--pro {
  background: rgba(255, 107, 1, 0.12);
  color: #ff6b01;
}

/* line 442, app/assets/stylesheets/pages/_auth.scss */
.profile-plan-badge--free {
  background: #f3f4f6;
  color: #6b7280;
}

/* line 448, app/assets/stylesheets/pages/_auth.scss */
.profile-header-since {
  font-size: 0.78rem;
  color: #d1d5db;
}

/* line 454, app/assets/stylesheets/pages/_auth.scss */
.profile-section {
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid #f3f4f6;
  overflow: hidden;
}

/* line 460, app/assets/stylesheets/pages/_auth.scss */
.profile-section--danger {
  border-color: rgba(239, 68, 68, 0.15);
}

/* line 465, app/assets/stylesheets/pages/_auth.scss */
.profile-section__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  border-bottom: 1px solid #f3f4f6;
  background: #f9fafb;
}

/* line 473, app/assets/stylesheets/pages/_auth.scss */
.profile-section__header svg {
  color: #6b7280;
  flex-shrink: 0;
}

/* line 478, app/assets/stylesheets/pages/_auth.scss */
.profile-section--danger .profile-section__header {
  background: rgba(239, 68, 68, 0.02);
  border-bottom-color: rgba(239, 68, 68, 0.1);
}

/* line 482, app/assets/stylesheets/pages/_auth.scss */
.profile-section--danger .profile-section__header svg {
  color: #ef4444;
}

/* line 486, app/assets/stylesheets/pages/_auth.scss */
.profile-section__title {
  font-family: "Raleway", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  letter-spacing: 0.02em;
}

/* line 494, app/assets/stylesheets/pages/_auth.scss */
.profile-section__title--danger {
  color: #ef4444;
}

/* line 499, app/assets/stylesheets/pages/_auth.scss */
.profile-section__body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (max-width: 576px) {
  /* line 499, app/assets/stylesheets/pages/_auth.scss */
  .profile-section__body {
    padding: 1.5rem;
  }
}

/* line 511, app/assets/stylesheets/pages/_auth.scss */
.profile-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 517, app/assets/stylesheets/pages/_auth.scss */
.profile-field__label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

/* line 527, app/assets/stylesheets/pages/_auth.scss */
.profile-field__hint {
  font-size: 0.78rem;
  font-weight: 400;
  color: #d1d5db;
}

/* line 533, app/assets/stylesheets/pages/_auth.scss */
.profile-field__required-badge {
  font-size: 0.7rem;
  font-weight: 700;
  color: #ff6b01;
  background: rgba(255, 107, 1, 0.08);
  padding: 2px 8px;
  border-radius: 9999px;
  letter-spacing: 0.03em;
}

/* line 543, app/assets/stylesheets/pages/_auth.scss */
.profile-field__input {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.5rem;
  font-size: 0.95rem;
  font-family: "Montserrat", sans-serif;
  outline: none;
  transition: all 0.15s ease;
  background: #ffffff;
  color: #1a1a1a;
}

/* line 555, app/assets/stylesheets/pages/_auth.scss */
.profile-field__input:focus {
  border-color: #ff6b01;
  box-shadow: 0 0 0 3px rgba(255, 107, 1, 0.08);
}

/* line 560, app/assets/stylesheets/pages/_auth.scss */
.profile-field__input::placeholder {
  color: #d1d5db;
}

/* line 565, app/assets/stylesheets/pages/_auth.scss */
.profile-field__help {
  font-size: 0.78rem;
  color: #6b7280;
  margin: 0;
}

/* line 571, app/assets/stylesheets/pages/_auth.scss */
.profile-field__notice {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  color: #92400e;
  background: rgba(245, 158, 11, 0.06);
  border: 1px solid rgba(245, 158, 11, 0.2);
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
}

/* line 582, app/assets/stylesheets/pages/_auth.scss */
.profile-field__notice svg {
  flex-shrink: 0;
}

/* line 586, app/assets/stylesheets/pages/_auth.scss */
.profile-phone {
  display: flex;
  gap: 0;
  border: 1.5px solid #e5e7eb;
  border-radius: 0.5rem;
  overflow: hidden;
  transition: all 0.15s ease;
  background: #ffffff;
}

/* line 595, app/assets/stylesheets/pages/_auth.scss */
.profile-phone:focus-within {
  border-color: #ff6b01;
  box-shadow: 0 0 0 3px rgba(255, 107, 1, 0.08);
}

/* line 601, app/assets/stylesheets/pages/_auth.scss */
.profile-phone__country {
  flex-shrink: 0;
  width: 110px;
  padding: 0.8rem 0.5rem 0.8rem 1rem;
  border: none;
  border-right: 1.5px solid #e5e7eb;
  background: #f9fafb;
  font-size: 0.9rem;
  color: #374151;
  cursor: pointer;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  padding-right: 24px;
}

/* line 620, app/assets/stylesheets/pages/_auth.scss */
.profile-phone__number {
  flex: 1;
  padding: 0.8rem 1rem;
  border: none;
  background: transparent;
  font-size: 0.95rem;
  font-family: "Montserrat", sans-serif;
  color: #1a1a1a;
  outline: none;
  min-width: 0;
}

/* line 631, app/assets/stylesheets/pages/_auth.scss */
.profile-phone__number::placeholder {
  color: #d1d5db;
}

/* line 637, app/assets/stylesheets/pages/_auth.scss */
.profile-actions {
  display: flex;
  justify-content: flex-end;
}

/* line 642, app/assets/stylesheets/pages/_auth.scss */
.profile-save-btn {
  padding: 0.85rem 3rem;
  background: #ff6b01;
  color: #ffffff;
  border: none;
  border-radius: 0.5rem;
  font-size: 0.95rem;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: all 0.3s ease;
}

/* line 655, app/assets/stylesheets/pages/_auth.scss */
.profile-save-btn:hover {
  background: #e55d00;
  box-shadow: 0 4px 16px rgba(255, 107, 1, 0.3);
  transform: translateY(-1px);
}

@media (max-width: 576px) {
  /* line 642, app/assets/stylesheets/pages/_auth.scss */
  .profile-save-btn {
    width: 100%;
    text-align: center;
  }
}

/* line 668, app/assets/stylesheets/pages/_auth.scss */
.profile-danger-text {
  font-size: 0.875rem;
  color: #6b7280;
  line-height: 1.6;
  margin: 0 0 1.5rem;
}

/* line 675, app/assets/stylesheets/pages/_auth.scss */
.profile-danger-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 1.5rem;
  background: transparent;
  border: 1.5px solid #ef4444;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  color: #ef4444;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: all 0.15s ease;
}

/* line 690, app/assets/stylesheets/pages/_auth.scss */
.profile-danger-btn:hover {
  background: #ef4444;
  color: #ffffff;
}

/* line 697, app/assets/stylesheets/pages/_auth.scss */
.auth-notice {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem;
  background: rgba(245, 158, 11, 0.06);
  border: 1px solid rgba(245, 158, 11, 0.15);
  border-radius: 0.5rem;
  font-size: 0.85rem;
  color: #92400e;
  margin-bottom: 1.5rem;
}

/* line 709, app/assets/stylesheets/pages/_auth.scss */
.auth-notice svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* line 5, app/assets/stylesheets/pages/_static.scss */
.static-page {
  padding: 4rem 0;
  min-height: 100vh;
  background: #ffffff;
}

/* line 11, app/assets/stylesheets/pages/_static.scss */
.static-page__container {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* line 17, app/assets/stylesheets/pages/_static.scss */
.static-page__header {
  margin-bottom: 4rem;
  padding-bottom: 2rem;
  border-bottom: 2px solid #f3f4f6;
}

/* line 23, app/assets/stylesheets/pages/_static.scss */
.static-page__title {
  font-family: "Raleway", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
}

/* line 31, app/assets/stylesheets/pages/_static.scss */
.static-page__updated {
  font-size: 0.85rem;
  color: #6b7280;
  margin: 0;
}

/* line 37, app/assets/stylesheets/pages/_static.scss */
.static-page__content {
  line-height: 1.75;
  color: #374151;
}

/* line 42, app/assets/stylesheets/pages/_static.scss */
.static-page__section {
  margin-bottom: 3rem;
}

/* line 45, app/assets/stylesheets/pages/_static.scss */
.static-page__section h2 {
  font-family: "Raleway", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 1rem;
}

/* line 53, app/assets/stylesheets/pages/_static.scss */
.static-page__section p {
  margin: 0 0 1rem;
  font-size: 0.95rem;
}

/* line 58, app/assets/stylesheets/pages/_static.scss */
.static-page__section ul {
  margin: 0 0 1rem;
  padding-left: 2rem;
}

/* line 62, app/assets/stylesheets/pages/_static.scss */
.static-page__section ul li {
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

/* line 68, app/assets/stylesheets/pages/_static.scss */
.static-page__section a {
  color: #ff6b01;
  font-weight: 600;
  text-decoration: none;
}

/* line 73, app/assets/stylesheets/pages/_static.scss */
.static-page__section a:hover {
  text-decoration: underline;
}

/* line 78, app/assets/stylesheets/pages/_static.scss */
.static-page__section strong {
  color: #1a1a1a;
  font-weight: 600;
}

/* line 88, app/assets/stylesheets/pages/_static.scss */
.contact-page {
  padding: 4rem 0;
  min-height: 100vh;
  background: #f9fafb;
}

/* line 94, app/assets/stylesheets/pages/_static.scss */
.contact-page__container {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* line 101, app/assets/stylesheets/pages/_static.scss */
.contact-page__header {
  text-align: center;
  margin-bottom: 4rem;
}

/* line 106, app/assets/stylesheets/pages/_static.scss */
.contact-page__title {
  font-family: "Raleway", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
}

/* line 114, app/assets/stylesheets/pages/_static.scss */
.contact-page__subtitle {
  font-size: 1rem;
  color: #6b7280;
  margin: 0;
}

/* line 121, app/assets/stylesheets/pages/_static.scss */
.contact-page__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-bottom: 4rem;
}

@media (max-width: 768px) {
  /* line 121, app/assets/stylesheets/pages/_static.scss */
  .contact-page__grid {
    grid-template-columns: 1fr;
  }
}

/* line 132, app/assets/stylesheets/pages/_static.scss */
.contact-card {
  background: #ffffff;
  border-radius: 1rem;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

/* line 140, app/assets/stylesheets/pages/_static.scss */
.contact-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* line 146, app/assets/stylesheets/pages/_static.scss */
.contact-card__icon {
  width: 52px;
  height: 52px;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

/* line 155, app/assets/stylesheets/pages/_static.scss */
.contact-card__icon svg {
  width: 24px;
  height: 24px;
  color: #ffffff;
}

/* line 161, app/assets/stylesheets/pages/_static.scss */
.contact-card__icon--orange {
  background: #ff6b01;
}

/* line 162, app/assets/stylesheets/pages/_static.scss */
.contact-card__icon--green {
  background: #25D366;
}

/* line 163, app/assets/stylesheets/pages/_static.scss */
.contact-card__icon--blue {
  background: #3b82f6;
}

/* line 164, app/assets/stylesheets/pages/_static.scss */
.contact-card__icon--purple {
  background: #8b5cf6;
}

/* line 167, app/assets/stylesheets/pages/_static.scss */
.contact-card__title {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
}

/* line 175, app/assets/stylesheets/pages/_static.scss */
.contact-card__text {
  font-size: 0.85rem;
  color: #6b7280;
  margin: 0 0 1rem;
}

/* line 181, app/assets/stylesheets/pages/_static.scss */
.contact-card__link {
  font-size: 0.9rem;
  font-weight: 600;
  color: #ff6b01;
  text-decoration: none;
}

/* line 187, app/assets/stylesheets/pages/_static.scss */
.contact-card__link:hover {
  text-decoration: underline;
}

/* line 193, app/assets/stylesheets/pages/_static.scss */
.contact-page__social {
  margin-bottom: 4rem;
}

/* line 197, app/assets/stylesheets/pages/_static.scss */
.contact-page__social-title {
  font-family: "Raleway", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
  margin: 0 0 2rem;
}

/* line 206, app/assets/stylesheets/pages/_static.scss */
.contact-page__social-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

@media (max-width: 768px) {
  /* line 206, app/assets/stylesheets/pages/_static.scss */
  .contact-page__social-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* line 216, app/assets/stylesheets/pages/_static.scss */
.social-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
  background: #ffffff;
  border-radius: 1rem;
  padding: 2rem 1rem;
  text-decoration: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  border: 2px solid transparent;
}

/* line 229, app/assets/stylesheets/pages/_static.scss */
.social-card svg {
  width: 32px;
  height: 32px;
  margin-bottom: 0.25rem;
  transition: transform 0.3s ease;
}

/* line 236, app/assets/stylesheets/pages/_static.scss */
.social-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* line 240, app/assets/stylesheets/pages/_static.scss */
.social-card:hover svg {
  transform: scale(1.1);
}

/* line 244, app/assets/stylesheets/pages/_static.scss */
.social-card--instagram svg {
  color: #E4405F;
}

/* line 245, app/assets/stylesheets/pages/_static.scss */
.social-card--instagram:hover {
  border-color: #E4405F;
}

/* line 249, app/assets/stylesheets/pages/_static.scss */
.social-card--youtube svg {
  color: #FF0000;
}

/* line 250, app/assets/stylesheets/pages/_static.scss */
.social-card--youtube:hover {
  border-color: #FF0000;
}

/* line 254, app/assets/stylesheets/pages/_static.scss */
.social-card--facebook svg {
  color: #1877F2;
}

/* line 255, app/assets/stylesheets/pages/_static.scss */
.social-card--facebook:hover {
  border-color: #1877F2;
}

/* line 259, app/assets/stylesheets/pages/_static.scss */
.social-card--tiktok svg {
  color: #000000;
}

/* line 260, app/assets/stylesheets/pages/_static.scss */
.social-card--tiktok:hover {
  border-color: #000000;
}

/* line 264, app/assets/stylesheets/pages/_static.scss */
.social-card__name {
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  color: #1a1a1a;
}

/* line 271, app/assets/stylesheets/pages/_static.scss */
.social-card__handle {
  font-size: 0.8rem;
  color: #6b7280;
}

/* line 277, app/assets/stylesheets/pages/_static.scss */
.contact-page__faq {
  max-width: 700px;
  margin: 0 auto;
}

/* line 282, app/assets/stylesheets/pages/_static.scss */
.contact-page__faq-title {
  font-family: "Raleway", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
  margin: 0 0 2rem;
}

/* line 291, app/assets/stylesheets/pages/_static.scss */
.faq-item {
  background: #ffffff;
  border-radius: 0.5rem;
  margin-bottom: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

/* line 299, app/assets/stylesheets/pages/_static.scss */
.faq-item__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 2rem;
  border: none;
  background: none;
  cursor: pointer;
  text-align: left;
}

/* line 310, app/assets/stylesheets/pages/_static.scss */
.faq-item__question span {
  font-weight: 600;
  font-size: 0.95rem;
  color: #1a1a1a;
}

/* line 316, app/assets/stylesheets/pages/_static.scss */
.faq-item__question svg {
  width: 20px;
  height: 20px;
  color: #6b7280;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

/* line 325, app/assets/stylesheets/pages/_static.scss */
.faq-item__icon--open {
  transform: rotate(180deg);
}

/* line 329, app/assets/stylesheets/pages/_static.scss */
.faq-item__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}

/* line 334, app/assets/stylesheets/pages/_static.scss */
.faq-item__answer p {
  padding: 0 2rem 1.5rem;
  margin: 0;
  font-size: 0.9rem;
  color: #6b7280;
  line-height: 1.6;
}

/* line 342, app/assets/stylesheets/pages/_static.scss */
.faq-item__answer--open {
  max-height: 300px;
}

/* line 345, app/assets/stylesheets/pages/_static.scss */
.faq-item__answer--open p {
  padding-top: 0;
}

/* line 355, app/assets/stylesheets/pages/_static.scss */
.about-page {
  padding: 4rem 0;
  min-height: 100vh;
  background: #ffffff;
}

/* line 361, app/assets/stylesheets/pages/_static.scss */
.about-page__container {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* line 368, app/assets/stylesheets/pages/_static.scss */
.about-page__header {
  text-align: center;
  margin-bottom: 4rem;
  padding-bottom: 2rem;
  border-bottom: 2px solid #f3f4f6;
}

/* line 375, app/assets/stylesheets/pages/_static.scss */
.about-page__title {
  font-family: "Raleway", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
}

/* line 383, app/assets/stylesheets/pages/_static.scss */
.about-page__subtitle {
  font-size: 1.05rem;
  color: #6b7280;
  margin: 0;
}

/* line 390, app/assets/stylesheets/pages/_static.scss */
.about-page__section {
  margin-bottom: 4rem;
}

/* line 393, app/assets/stylesheets/pages/_static.scss */
.about-page__section h2 {
  font-family: "Raleway", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 1rem;
}

/* line 401, app/assets/stylesheets/pages/_static.scss */
.about-page__section > p {
  font-size: 0.95rem;
  color: #374151;
  line-height: 1.75;
  margin: 0;
}

/* line 409, app/assets/stylesheets/pages/_static.scss */
.about-page__section-icon {
  width: 44px;
  height: 44px;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

/* line 418, app/assets/stylesheets/pages/_static.scss */
.about-page__section-icon svg {
  width: 22px;
  height: 22px;
  color: #ffffff;
}

/* line 424, app/assets/stylesheets/pages/_static.scss */
.about-page__section-icon--orange {
  background: #ff6b01;
}

/* line 428, app/assets/stylesheets/pages/_static.scss */
.about-page__features {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 434, app/assets/stylesheets/pages/_static.scss */
.about-page__feature {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

/* line 439, app/assets/stylesheets/pages/_static.scss */
.about-page__feature strong {
  display: block;
  font-size: 0.95rem;
  color: #1a1a1a;
  margin-bottom: 2px;
}

/* line 446, app/assets/stylesheets/pages/_static.scss */
.about-page__feature p {
  font-size: 0.88rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}

/* line 454, app/assets/stylesheets/pages/_static.scss */
.about-page__feature-check {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 107, 1, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}

/* line 465, app/assets/stylesheets/pages/_static.scss */
.about-page__feature-check svg {
  width: 14px;
  height: 14px;
  color: #ff6b01;
}

/* line 473, app/assets/stylesheets/pages/_static.scss */
.about-page__steps {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* line 479, app/assets/stylesheets/pages/_static.scss */
.about-page__step {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

/* line 484, app/assets/stylesheets/pages/_static.scss */
.about-page__step strong {
  display: block;
  font-size: 0.95rem;
  color: #1a1a1a;
  margin-bottom: 2px;
}

/* line 491, app/assets/stylesheets/pages/_static.scss */
.about-page__step p {
  font-size: 0.88rem;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}

/* line 499, app/assets/stylesheets/pages/_static.scss */
.about-page__step-number {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #ff6b01;
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}

/* line 516, app/assets/stylesheets/pages/_static.scss */
.about-page__faq {
  max-width: 700px;
  margin: 0 auto 4rem;
}

/* line 521, app/assets/stylesheets/pages/_static.scss */
.about-page__faq-title {
  font-family: "Raleway", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
  margin: 0 0 2rem;
}

/* line 531, app/assets/stylesheets/pages/_static.scss */
.about-page__cta {
  text-align: center;
  padding: 3rem;
  background: #f9fafb;
  border-radius: 1rem;
}

/* line 537, app/assets/stylesheets/pages/_static.scss */
.about-page__cta h2 {
  font-family: "Raleway", sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
}

/* line 545, app/assets/stylesheets/pages/_static.scss */
.about-page__cta p {
  font-size: 0.95rem;
  color: #6b7280;
  margin: 0 0 2rem;
}

/* line 552, app/assets/stylesheets/pages/_static.scss */
.about-page__cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

/* line 559, app/assets/stylesheets/pages/_static.scss */
.about-page__cta-btn {
  padding: 0.5rem 2rem;
  border-radius: 9999px;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* line 567, app/assets/stylesheets/pages/_static.scss */
.about-page__cta-btn--primary {
  background: #ff6b01;
  color: #ffffff;
}

/* line 571, app/assets/stylesheets/pages/_static.scss */
.about-page__cta-btn--primary:hover {
  background: #d75a00;
  transform: translateY(-1px);
}

/* line 577, app/assets/stylesheets/pages/_static.scss */
.about-page__cta-btn--secondary {
  background: #ffffff;
  color: #ff6b01;
  border: 2px solid #ff6b01;
}

/* line 582, app/assets/stylesheets/pages/_static.scss */
.about-page__cta-btn--secondary:hover {
  background: rgba(255, 107, 1, 0.05);
  transform: translateY(-1px);
}

@media (max-width: 576px) {
  /* line 1, app/assets/stylesheets/pages/_pricing.scss */
  .pricing {
    overflow-x: hidden;
  }
}

/* line 7, app/assets/stylesheets/pages/_pricing.scss */
.pricing__title {
  font-family: 'Raleway', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 0.5rem;
}

/* line 15, app/assets/stylesheets/pages/_pricing.scss */
.pricing__subtitle {
  font-size: 1.125rem;
  color: #6b7280;
}

/* line 21, app/assets/stylesheets/pages/_pricing.scss */
.pricing__trial-banner {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  padding: 0.625rem 1.25rem;
  background: #ecfdf5;
  color: #059669;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 50px;
  border: 1px solid #a7f3d0;
}

/* line 36, app/assets/stylesheets/pages/_pricing.scss */
.pricing__toggle-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
}

/* line 44, app/assets/stylesheets/pages/_pricing.scss */
.pricing__toggle-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: #6b7280;
}

/* line 50, app/assets/stylesheets/pages/_pricing.scss */
.pricing__toggle-badge {
  display: inline-block;
  background: #ecfdf5;
  color: #059669;
  font-size: 0.7rem;
  font-weight: 700;
  padding: 0.15rem 0.5rem;
  border-radius: 50px;
  margin-left: 0.25rem;
  vertical-align: middle;
}

/* line 62, app/assets/stylesheets/pages/_pricing.scss */
.pricing__toggle-switch {
  position: relative;
  display: inline-block;
  width: 52px;
  height: 28px;
  cursor: pointer;
}

/* line 69, app/assets/stylesheets/pages/_pricing.scss */
.pricing__toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* line 76, app/assets/stylesheets/pages/_pricing.scss */
.pricing__toggle-slider {
  position: absolute;
  inset: 0;
  background: #e5e7eb;
  border-radius: 50px;
  transition: background 0.3s ease;
}

/* line 83, app/assets/stylesheets/pages/_pricing.scss */
.pricing__toggle-slider::before {
  content: '';
  position: absolute;
  height: 22px;
  width: 22px;
  left: 3px;
  bottom: 3px;
  background: white;
  border-radius: 50%;
  transition: transform 0.3s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

/* line 96, app/assets/stylesheets/pages/_pricing.scss */
input:checked + .pricing__toggle-slider {
  background: #ff6b01;
}

/* line 99, app/assets/stylesheets/pages/_pricing.scss */
input:checked + .pricing__toggle-slider::before {
  transform: translateX(24px);
}

/* line 106, app/assets/stylesheets/pages/_pricing.scss */
.pricing__swipe-hint {
  display: none;
}

@media (max-width: 576px) {
  /* line 106, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__swipe-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 0.25rem;
    margin-bottom: 1.5rem;
  }
  /* line 117, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__swipe-hint span {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #d1d5db;
  }
  /* line 124, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__swipe-hint span:nth-child(2) {
    background: #ff6b01;
    width: 18px;
    border-radius: 3px;
  }
}

/* line 134, app/assets/stylesheets/pages/_pricing.scss */
.pricing__price-equivalent {
  font-size: 0.875rem;
  color: #6b7280;
  margin-top: 0.25rem;
}

/* line 140, app/assets/stylesheets/pages/_pricing.scss */
.pricing__price-savings {
  font-size: 0.75rem;
  color: #059669;
  font-weight: 600;
  margin-top: 0.125rem;
}

/* line 147, app/assets/stylesheets/pages/_pricing.scss */
.pricing__current-plan {
  text-align: center;
  background: white;
  border-radius: 16px;
  padding: 2.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  max-width: 480px;
  margin: 0 auto;
}

/* line 157, app/assets/stylesheets/pages/_pricing.scss */
.pricing__cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.25rem;
  align-items: start;
}

@media (max-width: 576px) {
  /* line 157, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__cards {
    display: flex;
    gap: 0.75rem;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-left: calc(14% - 0.375rem);
    padding-right: calc(14% - 0.375rem);
    padding-top: 20px;
    padding-bottom: 1rem;
    margin-left: -1rem;
    margin-right: -1rem;
    align-items: start;
  }
  /* line 180, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__cards::-webkit-scrollbar {
    display: none;
  }
}

/* line 184, app/assets/stylesheets/pages/_pricing.scss */
.pricing__card {
  background: white;
  border-radius: 16px;
  padding: 1.75rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  border: 2px solid transparent;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* line 193, app/assets/stylesheets/pages/_pricing.scss */
.pricing__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
}

/* line 198, app/assets/stylesheets/pages/_pricing.scss */
.pricing__card--featured {
  border-color: #ff6b01;
}

@media (max-width: 576px) {
  /* line 184, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__card {
    flex: 0 0 72%;
    min-width: 72%;
    scroll-snap-align: center;
    padding: 1.25rem;
  }
}

/* line 212, app/assets/stylesheets/pages/_pricing.scss */
.pricing__card-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #ff6b01;
  color: white;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.25rem 1rem;
  border-radius: 50px;
  white-space: nowrap;
}

/* line 228, app/assets/stylesheets/pages/_pricing.scss */
.pricing__card-header {
  text-align: center;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #f0f0f0;
}

@media (max-width: 576px) {
  /* line 228, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__card-header {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }
}

/* line 240, app/assets/stylesheets/pages/_pricing.scss */
.pricing__plan-name {
  font-family: 'Raleway', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 0.5rem;
}

@media (max-width: 576px) {
  /* line 240, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__plan-name {
    font-size: 1.15rem;
    margin-bottom: 0.25rem;
  }
}

/* line 253, app/assets/stylesheets/pages/_pricing.scss */
.pricing__price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
}

/* line 260, app/assets/stylesheets/pages/_pricing.scss */
.pricing__price-value {
  font-family: 'Raleway', sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: #1a1a1a;
}

@media (max-width: 576px) {
  /* line 260, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__price-value {
    font-size: 2rem;
  }
}

/* line 271, app/assets/stylesheets/pages/_pricing.scss */
.pricing__price-period {
  font-size: 1rem;
  color: #6b7280;
}

@media (max-width: 576px) {
  /* line 271, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__price-period {
    font-size: 0.85rem;
  }
}

/* line 280, app/assets/stylesheets/pages/_pricing.scss */
.pricing__features {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}

@media (max-width: 576px) {
  /* line 280, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__features {
    margin: 0 0 1rem;
  }
}

/* line 290, app/assets/stylesheets/pages/_pricing.scss */
.pricing__feature {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
  color: #1a1a1a;
  font-size: 0.95rem;
}

@media (max-width: 576px) {
  /* line 290, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__feature {
    font-size: 0.8rem;
    padding: 0.3rem 0;
    gap: 0.5rem;
  }
}

/* line 305, app/assets/stylesheets/pages/_pricing.scss */
.pricing__feature-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: #10b981;
  flex-shrink: 0;
}

@media (max-width: 576px) {
  /* line 305, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__feature-icon {
    width: 1rem;
    height: 1rem;
  }
}

/* line 316, app/assets/stylesheets/pages/_pricing.scss */
.pricing__feature-icon--disabled {
  color: #d1d5db;
}

/* line 321, app/assets/stylesheets/pages/_pricing.scss */
.pricing__feature--disabled {
  color: #9ca3af;
}

/* line 325, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn {
  display: inline-block;
  font-weight: 600;
  padding: 0.875rem 2rem;
  border-radius: 50px;
  transition: all 0.3s ease;
  text-align: center;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
}

@media (max-width: 576px) {
  /* line 325, app/assets/stylesheets/pages/_pricing.scss */
  .pricing__btn {
    padding: 0.65rem 1.25rem;
    font-size: 0.875rem;
  }
}

/* line 342, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* line 347, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn--primary {
  background: #1a1a1a;
  color: white;
}

/* line 351, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn--primary:hover {
  background: #343434;
}

/* line 356, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn--featured {
  background: #ff6b01;
  color: white;
}

/* line 360, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn--featured:hover {
  background: #e76000;
}

/* line 365, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn--outline {
  background: transparent;
  color: #ff6b01;
  border: 2px solid #ff6b01;
}

/* line 370, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn--outline:hover {
  background: #ff6b01;
  color: white;
}

/* line 378, app/assets/stylesheets/pages/_pricing.scss */
.pricing__manage-card {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

/* line 385, app/assets/stylesheets/pages/_pricing.scss */
.pricing__manage-rate-limit {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background: #fef3c7;
  color: #92400e;
  font-size: 0.875rem;
  border-radius: 12px;
  border: 1px solid #fde68a;
}

/* line 397, app/assets/stylesheets/pages/_pricing.scss */
.pricing__danger-zone {
  background: white;
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  border: 1px solid #fecaca;
}

/* line 405, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn--danger {
  background: white;
  color: #dc2626;
  border: 2px solid #dc2626;
}

/* line 410, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn--danger:hover {
  background: #fef2f2;
}

/* line 415, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn--danger-filled {
  background: #dc2626;
  color: white;
}

/* line 419, app/assets/stylesheets/pages/_pricing.scss */
.pricing__btn--danger-filled:hover {
  background: #b91c1c;
}

/* line 424, app/assets/stylesheets/pages/_pricing.scss */
.pricing__comparison {
  max-width: 640px;
  margin: 0 auto;
}

/* line 429, app/assets/stylesheets/pages/_pricing.scss */
.pricing__table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

/* line 437, app/assets/stylesheets/pages/_pricing.scss */
.pricing__table th, .pricing__table td {
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
}

/* line 442, app/assets/stylesheets/pages/_pricing.scss */
.pricing__table thead {
  background: #f9fafb;
}

/* line 445, app/assets/stylesheets/pages/_pricing.scss */
.pricing__table thead th {
  font-weight: 700;
  color: #1a1a1a;
  border-bottom: 2px solid #f0f0f0;
}

/* line 453, app/assets/stylesheets/pages/_pricing.scss */
.pricing__table tbody tr {
  border-bottom: 1px solid #f5f5f5;
}

/* line 456, app/assets/stylesheets/pages/_pricing.scss */
.pricing__table tbody tr:last-child {
  border-bottom: none;
}

/* line 461, app/assets/stylesheets/pages/_pricing.scss */
.pricing__table tbody td {
  color: #6b7280;
}

/* line 464, app/assets/stylesheets/pages/_pricing.scss */
.pricing__table tbody td:first-child {
  color: #1a1a1a;
  font-weight: 500;
}

/* line 5, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes {
  min-height: 100vh;
  background: #f9fafb;
}

/* line 11, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__hero {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d3436 70%, #636e72 100%);
  color: #ffffff;
  padding: 4rem 0 3rem;
  position: relative;
  overflow: hidden;
}

/* line 19, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
  pointer-events: none;
}

/* line 28, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__hero-inner {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* line 37, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__hero-title {
  font-family: "Raleway", sans-serif;
  font-size: 3.5rem;
  font-weight: 800;
  margin-bottom: 1rem;
  background: linear-gradient(45deg, #fff, #f8f9fa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

@media (max-width: 768px) {
  /* line 37, app/assets/stylesheets/pages/_user-recipes.scss */
  .user-recipes__hero-title {
    font-size: 2.5rem;
  }
}

@media (max-width: 576px) {
  /* line 37, app/assets/stylesheets/pages/_user-recipes.scss */
  .user-recipes__hero-title {
    font-size: 2rem;
  }
}

/* line 57, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__hero-subtitle {
  font-size: 1.2rem;
  opacity: 0.9;
  margin-bottom: 2rem;
  font-weight: 300;
}

@media (max-width: 768px) {
  /* line 57, app/assets/stylesheets/pages/_user-recipes.scss */
  .user-recipes__hero-subtitle {
    font-size: 1rem;
  }
}

/* line 69, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: linear-gradient(45deg, #ff6b01, #e55d00);
  color: #ffffff;
  padding: 0.9rem 2rem;
  border-radius: 9999px;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(255, 107, 1, 0.35);
}

/* line 84, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__hero-cta svg {
  width: 20px;
  height: 20px;
}

/* line 89, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__hero-cta:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(255, 107, 1, 0.5);
  color: #ffffff;
}

/* line 95, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__hero-cta:active {
  transform: translateY(-1px);
}

/* line 101, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__content {
  margin-top: -1rem;
  position: relative;
  z-index: 3;
  border-radius: 1.5rem 1.5rem 0 0;
  background: #f9fafb;
  padding: 2rem 1rem 3rem;
}

@media (max-width: 768px) {
  /* line 101, app/assets/stylesheets/pages/_user-recipes.scss */
  .user-recipes__content {
    padding: 2rem 0.5rem 2rem;
  }
}

/* line 116, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipes__tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 0.25rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 700;
  background: rgba(26, 26, 26, 0.08);
  color: inherit;
  line-height: 1;
}

/* line 131, app/assets/stylesheets/pages/_user-recipes.scss */
.filter-tab--active .user-recipes__tab-count {
  background: rgba(255, 255, 255, 0.25);
}

/* line 139, app/assets/stylesheets/pages/_user-recipes.scss */
.filter-tabs {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding: 0 0.5rem 1rem;
  justify-content: center;
  flex-wrap: wrap;
  -webkit-overflow-scrolling: touch;
}

/* line 148, app/assets/stylesheets/pages/_user-recipes.scss */
.filter-tabs::-webkit-scrollbar {
  display: none;
}

/* line 151, app/assets/stylesheets/pages/_user-recipes.scss */
.filter-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.5rem;
  background: #ffffff;
  border: 1.5px solid #e5e7eb;
  border-radius: 9999px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  color: #6b7280;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  text-decoration: none;
}

/* line 168, app/assets/stylesheets/pages/_user-recipes.scss */
.filter-tab svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* line 174, app/assets/stylesheets/pages/_user-recipes.scss */
.filter-tab:hover {
  color: #1a1a1a;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* line 181, app/assets/stylesheets/pages/_user-recipes.scss */
.filter-tab--active, .filter-tab.active {
  background: #ff6b01;
  color: #ffffff;
  border-color: #ff6b01;
  box-shadow: 0 4px 12px rgba(255, 107, 1, 0.3);
}

/* line 187, app/assets/stylesheets/pages/_user-recipes.scss */
.filter-tab--active:hover, .filter-tab.active:hover {
  background: #e55d00;
  color: #ffffff;
}

/* line 197, app/assets/stylesheets/pages/_user-recipes.scss */
.recipes-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 1.5rem;
}

@media (max-width: 1200px) {
  /* line 197, app/assets/stylesheets/pages/_user-recipes.scss */
  .recipes-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 992px) {
  /* line 197, app/assets/stylesheets/pages/_user-recipes.scss */
  .recipes-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  /* line 197, app/assets/stylesheets/pages/_user-recipes.scss */
  .recipes-grid {
    grid-template-columns: 1fr;
  }
}

/* line 211, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card {
  background: #ffffff;
  border-radius: 1.5rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  height: 320px;
  display: flex;
  flex-direction: column;
  border: 2px solid transparent;
}

/* line 223, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  border-color: rgba(255, 107, 1, 0.3);
}

/* line 230, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* line 237, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card:hover .index-card__image-wrapper {
  height: 50%;
}

/* line 242, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

/* line 248, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card:hover .index-card__image {
  transform: scale(1.05);
}

/* line 253, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__placeholder {
  width: 100%;
  height: 100%;
  background: #f3f4f6;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d1d5db;
}

/* line 262, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__placeholder svg {
  width: 48px;
  height: 48px;
}

/* line 268, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.65) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  opacity: 1;
  transition: opacity 0.4s ease;
  z-index: 2;
}

/* line 280, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card:hover .index-card__overlay {
  opacity: 0;
  pointer-events: none;
}

/* line 286, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__overlay-title {
  color: #ffffff;
  font-family: "Raleway", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.3;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4);
  margin: 0;
}

/* line 299, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #ffffff;
  padding: 1rem;
  opacity: 0;
  transform: translateY(16px);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  pointer-events: none;
  height: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* line 315, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card:hover .index-card__info {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* line 322, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.25rem;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-transform: uppercase;
}

/* line 336, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
}

/* line 343, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__time {
  display: flex;
  align-items: center;
  gap: 3px;
  color: #6b7280;
  font-size: 0.8rem;
  font-weight: 500;
}

/* line 351, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__time svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* line 358, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__nutrition {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 0.25rem;
}

/* line 365, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__nutrition-tag {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 2px 6px;
  border-radius: 9999px;
  font-size: 0.65rem;
  font-weight: 600;
  background: #f9fafb;
  color: #6b7280;
  border: 1px solid #f3f4f6;
}

/* line 377, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__nutrition-tag svg {
  width: 11px;
  height: 11px;
  flex-shrink: 0;
}

/* line 383, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__nutrition-tag--calories {
  border-color: rgba(255, 107, 1, 0.3);
  color: #e55d00;
  background: rgba(255, 107, 1, 0.06);
}

/* line 389, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__nutrition-tag--protein {
  border-color: rgba(34, 197, 94, 0.3);
  color: #17843f;
  background: rgba(34, 197, 94, 0.06);
}

/* line 396, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

/* line 402, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #ff6b01;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

/* line 412, app/assets/stylesheets/pages/_user-recipes.scss */
.index-card__tag svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

/* line 422, app/assets/stylesheets/pages/_user-recipes.scss */
.btn-action {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 600;
  text-decoration: none;
  border: 1.5px solid #e5e7eb;
  background: #ffffff;
  color: #6b7280;
  transition: all 0.15s ease;
  cursor: pointer;
}

/* line 437, app/assets/stylesheets/pages/_user-recipes.scss */
.btn-action svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

/* line 443, app/assets/stylesheets/pages/_user-recipes.scss */
.btn-action:hover {
  border-color: #d1d5db;
  color: #1a1a1a;
  background: #f9fafb;
}

/* line 449, app/assets/stylesheets/pages/_user-recipes.scss */
.btn-action--primary {
  border-color: #ff6b01;
  color: #ff6b01;
}

/* line 453, app/assets/stylesheets/pages/_user-recipes.scss */
.btn-action--primary:hover {
  background: #ff6b01;
  color: #ffffff;
}

/* line 459, app/assets/stylesheets/pages/_user-recipes.scss */
.btn-action--danger {
  border-color: #ef4444;
  color: #ef4444;
}

/* line 463, app/assets/stylesheets/pages/_user-recipes.scss */
.btn-action--danger:hover {
  background: #ef4444;
  color: #ffffff;
}

/* line 469, app/assets/stylesheets/pages/_user-recipes.scss */
.btn-action--locked {
  border-color: #d1d5db;
  color: #6b7280;
  opacity: 0.8;
}

/* line 474, app/assets/stylesheets/pages/_user-recipes.scss */
.btn-action--locked:hover {
  background: #ff6b01;
  border-color: #ff6b01;
  color: #ffffff;
  opacity: 1;
}

/* line 486, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipe-card {
  text-decoration: none;
  color: inherit;
  height: 340px;
}

@media (max-width: 768px) {
  /* line 486, app/assets/stylesheets/pages/_user-recipes.scss */
  .user-recipe-card {
    height: 370px;
  }
}

@media (max-width: 576px) {
  /* line 486, app/assets/stylesheets/pages/_user-recipes.scss */
  .user-recipe-card {
    height: 340px;
  }
}

/* line 495, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipe-card__badge {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 10;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 0.5rem;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
  border: 1px solid transparent;
}

/* line 512, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipe-card__badge svg {
  width: 12px;
  height: 12px;
}

/* line 517, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipe-card__badge--public {
  background: rgba(34, 197, 94, 0.9);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.2);
}

/* line 523, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipe-card__badge--private {
  background: rgba(55, 65, 81, 0.85);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.15);
}

/* line 532, app/assets/stylesheets/pages/_user-recipes.scss */
.user-recipe-card__actions {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #f3f4f6;
}

/* line 544, app/assets/stylesheets/pages/_user-recipes.scss */
.recipes-index__empty {
  text-align: center;
  padding: 4rem 1.5rem;
}

/* line 549, app/assets/stylesheets/pages/_user-recipes.scss */
.recipes-index__empty-icon {
  width: 64px;
  height: 64px;
  color: #d1d5db;
  margin: 0 auto 1rem;
  display: block;
}

/* line 557, app/assets/stylesheets/pages/_user-recipes.scss */
.recipes-index__empty-title {
  font-family: "Raleway", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 0.5rem;
}

/* line 565, app/assets/stylesheets/pages/_user-recipes.scss */
.recipes-index__empty-text {
  font-size: 0.95rem;
  color: #6b7280;
  margin: 0 0 2rem;
}

/* line 571, app/assets/stylesheets/pages/_user-recipes.scss */
.recipes-index__empty-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #ff6b01;
  color: #ffffff;
  padding: 0.6rem 2rem;
  border-radius: 9999px;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* line 585, app/assets/stylesheets/pages/_user-recipes.scss */
.recipes-index__empty-link svg {
  width: 16px;
  height: 16px;
}

/* line 590, app/assets/stylesheets/pages/_user-recipes.scss */
.recipes-index__empty-link:hover {
  background: #e55d00;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(255, 107, 1, 0.35);
  color: #ffffff;
}

/* line 9, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx {
  background: #f9fafb;
  min-height: 100vh;
  padding-bottom: 9rem;
}

/* line 19, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-banner {
  position: relative;
  background-image: url(/banners/filter-list-recipes.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 0 0 1.5rem 1.5rem;
  overflow: hidden;
  padding: 4rem 1.5rem 4.5rem;
}

@media (max-width: 768px) {
  /* line 19, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-banner {
    padding: 3rem 1rem 3.5rem;
  }
}

@media (max-width: 576px) {
  /* line 19, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-banner {
    padding: 2rem 1rem 3rem;
  }
}

/* line 41, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-banner__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.65) 60%, rgba(0, 0, 0, 0.75) 100%);
  pointer-events: none;
}

/* line 53, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-banner__inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

/* line 61, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-banner__title {
  font-family: "Raleway", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 0.5rem;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
  line-height: 1.15;
}

@media (max-width: 768px) {
  /* line 61, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-banner__title {
    font-size: 2.25rem;
  }
}

@media (max-width: 576px) {
  /* line 61, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-banner__title {
    font-size: 1.75rem;
  }
}

/* line 79, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-banner__subtitle {
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.85);
  margin: 0 0 2rem;
  font-weight: 400;
}

@media (max-width: 576px) {
  /* line 79, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-banner__subtitle {
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
  }
}

/* line 96, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search {
  max-width: 560px;
  margin: 0 auto;
}

/* line 101, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search__form {
  display: flex;
  align-items: center;
  background: #ffffff;
  border-radius: 9999px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
  padding: 0.25rem;
  gap: 0.25rem;
  transition: box-shadow 0.3s ease;
}

/* line 111, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search__form:focus-within {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 0 0 3px rgba(255, 107, 1, 0.25);
}

/* line 116, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search__icon {
  display: flex;
  align-items: center;
  padding-left: 1rem;
  color: #d1d5db;
  flex-shrink: 0;
}

/* line 123, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search__icon svg {
  width: 18px;
  height: 18px;
}

/* line 129, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search__input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-family: "Montserrat", sans-serif;
  font-size: 0.95rem;
  color: #1a1a1a;
  padding: 0.5rem 0.5rem 0.5rem 0;
  min-width: 0;
}

/* line 140, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search__input::placeholder {
  color: #d1d5db;
}

/* line 145, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 9999px;
  background: #ff6b01;
  border: none;
  cursor: pointer;
  color: #ffffff;
  flex-shrink: 0;
  transition: all 0.15s ease;
}

/* line 159, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search__btn svg {
  width: 18px;
  height: 18px;
}

/* line 164, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search__btn:hover {
  background: #e55d00;
  transform: scale(1.05);
}

/* line 169, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-search__btn:focus-visible {
  outline: 2px solid #ff6b01;
  outline-offset: 2px;
}

/* line 185, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-filter-dock {
  position: relative;
  z-index: 10;
  max-width: 1280px;
  margin: -2rem auto 0;
  padding: 0 1.5rem;
}

@media (max-width: 768px) {
  /* line 185, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-filter-dock {
    margin-top: -1.25rem;
    padding: 0 1rem;
  }
}

@media (max-width: 576px) {
  /* line 185, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-filter-dock {
    margin-top: -1rem;
    padding: 0 0.5rem;
  }
}

/* line 204, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-filter-card {
  background: #ffffff;
  border-radius: 1.5rem;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04), 0 10px 30px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(0, 0, 0, 0.02);
  overflow: visible;
}

/* line 216, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-filters {
  padding: 1rem 1.5rem;
  margin: 0;
  max-width: none;
}

@media (max-width: 768px) {
  /* line 216, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-filters {
    padding: 0.5rem 1rem;
  }
}

/* line 228, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-filters__divider {
  height: 1px;
  background: #f3f4f6;
  margin: 0 1.5rem;
}

@media (max-width: 768px) {
  /* line 228, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-filters__divider {
    margin: 0 1rem;
  }
}

/* line 238, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-filters__row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 6px 2px;
}

/* line 250, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-filters__row::-webkit-scrollbar {
  display: none;
}

/* line 257, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.45rem 1rem;
  border-radius: 9999px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
  border: 1.5px solid #e5e7eb;
  background: #f9fafb;
  color: #6b7280;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
  flex-shrink: 0;
  line-height: 1;
  letter-spacing: 0.01em;
}

/* line 284, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  transition: transform 0.15s ease;
}

/* line 291, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip:hover {
  border-color: #ff6b01;
  color: #ff6b01;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(255, 107, 1, 0.15);
  transform: translateY(-1px);
}

/* line 298, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip:hover svg {
  transform: scale(1.1);
}

/* line 303, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip:focus-visible {
  outline: 2px solid #ff6b01;
  outline-offset: 2px;
}

/* line 309, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--active {
  background: #ff6b01;
  border-color: #ff6b01;
  color: #ffffff;
  box-shadow: 0 3px 12px rgba(255, 107, 1, 0.3);
}

/* line 315, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--active:hover {
  background: #e55d00;
  border-color: #e55d00;
  color: #ffffff;
  box-shadow: 0 5px 16px rgba(255, 107, 1, 0.4);
}

/* line 328, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-section {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* line 336, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-section__bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.5rem 1.5rem;
  border-top: 1px solid #f3f4f6;
}

@media (max-width: 768px) {
  /* line 336, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-tag-section__bar {
    padding: 0.5rem 1rem;
  }
}

/* line 350, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.35rem 0.9rem;
  border-radius: 9999px;
  border: 1.5px solid #e5e7eb;
  background: #f9fafb;
  color: #6b7280;
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 369, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-toggle svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

/* line 375, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-toggle:hover {
  border-color: #ff6b01;
  color: #ff6b01;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(255, 107, 1, 0.12);
}

/* line 382, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-toggle:focus-visible {
  outline: 2px solid #ff6b01;
  outline-offset: 2px;
}

/* line 388, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-toggle--active {
  border-color: #ff6b01;
  color: #ff6b01;
  background: rgba(255, 107, 1, 0.06);
}

/* line 396, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-toggle__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9999px;
  background: #e5e7eb;
  color: #6b7280;
  font-size: 0.68rem;
  font-weight: 700;
}

/* line 411, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-toggle__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9999px;
  background: #ff6b01;
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 700;
}

/* line 426, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-toggle__chevron {
  width: 13px !important;
  height: 13px !important;
  transition: transform 0.3s ease;
  margin-left: 2px;
}

/* line 433, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-section:has(.ridx-tag-panel--open) .ridx-tag-toggle__chevron {
  transform: rotate(180deg);
}

/* line 439, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar__inner .ridx-tag-toggle__chevron {
  transform: rotate(180deg);
}

/* line 442, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar__inner:has(.ridx-tag-panel--open) .ridx-tag-toggle__chevron {
  transform: rotate(0deg);
}

/* line 447, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-active-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0.35rem 0.85rem;
  border-radius: 9999px;
  background: #ff6b01;
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}

/* line 462, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-active-tag svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

/* line 468, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-active-tag:hover {
  background: #e55d00;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(255, 107, 1, 0.35);
}

/* line 478, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.38s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.28s ease;
  opacity: 0;
}

/* line 486, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-panel--open {
  max-height: 480px;
  opacity: 1;
}

/* line 493, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-panel__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding: 1rem 1.5rem 1.5rem;
  border-top: 1px solid #f3f4f6;
}

@media (max-width: 768px) {
  /* line 493, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-tag-panel__inner {
    padding: 1rem 1rem 1.5rem;
  }
}

/* line 508, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0.3rem 0.65rem;
  border-radius: 9999px;
  border: 1.5px solid #e5e7eb;
  background: #f9fafb;
  color: #6b7280;
  font-family: "Montserrat", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
  white-space: nowrap;
  line-height: 1;
}

/* line 531, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-item:hover {
  border-color: #ff6b01;
  color: #ff6b01;
  background: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(255, 107, 1, 0.15);
}

/* line 539, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-item:focus-visible {
  outline: 2px solid #ff6b01;
  outline-offset: 1px;
}

/* line 544, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-item--active {
  background: #ff6b01;
  border-color: #ff6b01;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(255, 107, 1, 0.28);
}

/* line 550, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-item--active:hover {
  background: #e55d00;
  border-color: #e55d00;
  color: #ffffff;
  transform: translateY(-1px);
}

/* line 560, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-item__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 16px;
  padding: 0 3px;
  border-radius: 9999px;
  background: rgba(0, 0, 0, 0.09);
  font-size: 0.62rem;
  font-weight: 700;
}

/* line 572, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-tag-item--active .ridx-tag-item__count {
  background: rgba(255, 255, 255, 0.28);
  color: #ffffff;
}

/* line 582, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-results {
  max-width: 1280px;
  margin: 0 auto;
  padding: 1rem 1.5rem 4rem;
}

@media (max-width: 768px) {
  /* line 582, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-results {
    padding: 1rem 1rem 3rem;
  }
}

/* line 596, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

@media (max-width: 1200px) {
  /* line 596, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 992px) {
  /* line 596, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

@media (max-width: 576px) {
  /* line 596, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }
}

/* line 623, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card {
  position: relative;
  aspect-ratio: 5 / 6;
  border-radius: 1.5rem;
  overflow: hidden;
  background: #f3f4f6;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

/* line 635, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card:hover {
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18), 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-5px);
}

/* line 642, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__link {
  display: block;
  position: absolute;
  inset: 0;
  text-decoration: none;
  color: inherit;
  z-index: 1;
}

/* line 651, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__link:focus-visible {
  outline: 2px solid #ff6b01;
  outline-offset: -3px;
  border-radius: 1.5rem;
}

/* line 659, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* line 667, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card:hover .ridx-card__img {
  transform: scale(1.07);
}

/* line 673, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);
  color: #d1d5db;
}

/* line 682, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__img-placeholder svg {
  width: 48px;
  height: 48px;
}

/* line 691, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__difficulty {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  display: flex;
  align-items: center;
  gap: 3px;
  z-index: 3;
  padding: 5px 6px;
  filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.5));
}

/* line 702, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__difficulty svg {
  width: 20px;
  height: 20px;
  color: #ffffff;
}

/* line 710, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__bottom {
  position: absolute;
  bottom: 0.5rem;
  left: 0.5rem;
  z-index: 6;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  pointer-events: none;
}

/* line 722, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__time {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 9999px;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #ffffff;
  font-family: "Montserrat", sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

@media (max-width: 576px) {
  /* line 722, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-card__time {
    font-size: 0.65rem;
    padding: 3px 7px;
  }
}

/* line 743, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__time svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

/* line 751, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__fav {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 7;
}

/* line 758, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__fav .btn-action,
.ridx-card__fav a.btn-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 9999px;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: none;
  color: #ffffff;
  transition: all 0.15s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* line 775, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__fav .btn-action:hover,
.ridx-card__fav a.btn-action:hover {
  background: rgba(0, 0, 0, 0.65);
  transform: scale(1.1);
}

/* line 780, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__fav .btn-action svg,
.ridx-card__fav a.btn-action svg {
  width: 16px;
  height: 16px;
}

/* line 786, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__fav .btn-action span,
.ridx-card__fav a.btn-action span {
  display: none !important;
}

/* line 792, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__fav .btn-action--filled {
  color: #ff6b01;
  background: rgba(255, 255, 255, 0.92);
}

/* line 796, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__fav .btn-action--filled:hover {
  background: white;
}

/* line 826, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  border-radius: 1.5rem;
  box-shadow: none;
}

/* line 836, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card[data-category="standard"]::after {
  box-shadow: inset -3px 0 0 0 rgba(156, 163, 175, 0.5), inset 0 -3px 0 0 rgba(156, 163, 175, 0.5);
}

/* line 842, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card[data-category="fitness"]::after {
  box-shadow: inset -3px 0 0 0 rgba(34, 197, 94, 0.7), inset 0 -3px 0 0 rgba(34, 197, 94, 0.7);
}

/* line 848, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card[data-category="vegan"]::after {
  box-shadow: inset -3px 0 0 0 rgba(16, 185, 129, 0.7), inset 0 -3px 0 0 rgba(16, 185, 129, 0.7);
}

/* line 854, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card[data-category="drink"]::after {
  box-shadow: inset -3px 0 0 0 rgba(139, 92, 246, 0.7), inset 0 -3px 0 0 rgba(139, 92, 246, 0.7);
}

/* line 860, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card[data-category="dessert"]::after {
  box-shadow: inset -3px 0 0 0 rgba(236, 72, 153, 0.7), inset 0 -3px 0 0 rgba(236, 72, 153, 0.7);
}

/* line 866, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card[data-category="sauce"]::after {
  box-shadow: inset -3px 0 0 0 rgba(245, 158, 11, 0.7), inset 0 -3px 0 0 rgba(245, 158, 11, 0.7);
}

/* line 872, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card[data-category="snack"]::after {
  box-shadow: inset -3px 0 0 0 rgba(59, 130, 246, 0.7), inset 0 -3px 0 0 rgba(59, 130, 246, 0.7);
}

/* line 878, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card[data-category="side_dish"]::after {
  box-shadow: inset -3px 0 0 0 rgba(6, 182, 212, 0.7), inset 0 -3px 0 0 rgba(6, 182, 212, 0.7);
}

/* line 886, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__cat-label {
  position: absolute;
  bottom: 2px;
  right: 2px;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 0;
  border-top-left-radius: 10px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #ffffff;
  white-space: nowrap;
  pointer-events: none;
  -webkit-backdrop-filter: blur(6px);
  background: rgba(156, 163, 175, 0.55);
}

/* line 910, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__cat-corner--fitness .ridx-card__cat-label {
  background: rgba(34, 197, 94, 0.75);
}

/* line 911, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__cat-corner--vegan .ridx-card__cat-label {
  background: rgba(16, 185, 129, 0.75);
}

/* line 912, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__cat-corner--drink .ridx-card__cat-label {
  background: rgba(139, 92, 246, 0.8);
}

/* line 913, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__cat-corner--dessert .ridx-card__cat-label {
  background: rgba(236, 72, 153, 0.8);
}

/* line 914, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__cat-corner--sauce .ridx-card__cat-label {
  background: rgba(245, 158, 11, 0.8);
}

/* line 915, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__cat-corner--snack .ridx-card__cat-label {
  background: rgba(59, 130, 246, 0.8);
}

/* line 916, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__cat-corner--side_dish .ridx-card__cat-label {
  background: rgba(6, 182, 212, 0.8);
}

/* line 919, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__cat-corner {
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
}

/* line 930, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--fitness.ridx-chip--active {
  background: #22c55e;
  border-color: #22c55e;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.35);
}

/* line 935, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--fitness.ridx-chip--active:hover {
  background: #1ca24d;
  border-color: #1ca24d;
}

/* line 941, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--vegan.ridx-chip--active {
  background: #10b981;
  border-color: #10b981;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35);
}

/* line 946, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--vegan.ridx-chip--active:hover {
  background: #0d9367;
  border-color: #0d9367;
}

/* line 952, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--drink.ridx-chip--active {
  background: #8b5cf6;
  border-color: #8b5cf6;
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.35);
}

/* line 957, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--drink.ridx-chip--active:hover {
  background: #6f35f4;
  border-color: #6f35f4;
}

/* line 963, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--dessert.ridx-chip--active {
  background: #ec4899;
  border-color: #ec4899;
  box-shadow: 0 4px 12px rgba(236, 72, 153, 0.35);
}

/* line 968, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--dessert.ridx-chip--active:hover {
  background: #e82384;
  border-color: #e82384;
}

/* line 974, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--sauce.ridx-chip--active {
  background: #f59e0b;
  border-color: #f59e0b;
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.35);
}

/* line 979, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--sauce.ridx-chip--active:hover {
  background: #cf8508;
  border-color: #cf8508;
}

/* line 985, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--snack.ridx-chip--active {
  background: #3b82f6;
  border-color: #3b82f6;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.35);
}

/* line 990, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--snack.ridx-chip--active:hover {
  background: #1469f4;
  border-color: #1469f4;
}

/* line 996, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--side-dish.ridx-chip--active {
  background: #06b6d4;
  border-color: #06b6d4;
  box-shadow: 0 4px 12px rgba(6, 182, 212, 0.35);
}

/* line 1001, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--side-dish.ridx-chip--active:hover {
  background: #0594ac;
  border-color: #0594ac;
}

/* line 1008, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--fitness:not(.ridx-chip--active):hover {
  border-color: #22c55e;
  color: #22c55e;
}

/* line 1009, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--vegan:not(.ridx-chip--active):hover {
  border-color: #10b981;
  color: #10b981;
}

/* line 1010, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--standard:not(.ridx-chip--active):hover {
  border-color: #ff6b01;
  color: #ff6b01;
}

/* line 1011, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--drink:not(.ridx-chip--active):hover {
  border-color: #8b5cf6;
  color: #8b5cf6;
}

/* line 1012, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--dessert:not(.ridx-chip--active):hover {
  border-color: #ec4899;
  color: #ec4899;
}

/* line 1013, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--sauce:not(.ridx-chip--active):hover {
  border-color: #f59e0b;
  color: #f59e0b;
}

/* line 1014, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--snack:not(.ridx-chip--active):hover {
  border-color: #3b82f6;
  color: #3b82f6;
}

/* line 1015, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-chip--side-dish:not(.ridx-chip--active):hover {
  border-color: #06b6d4;
  color: #06b6d4;
}

/* line 1020, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__hover {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem 1rem 42px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.1) 70%, transparent 100%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

/* line 1040, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card:hover .ridx-card__hover {
  opacity: 1;
  pointer-events: auto;
}

/* line 1046, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__title {
  font-family: "Raleway", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 0.25rem;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}

/* line 1063, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__nutrition {
  display: inline-flex;
  gap: 5px;
  flex-wrap: wrap;
}

/* line 1069, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__nut {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-family: "Montserrat", sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  padding: 3px 7px;
  border-radius: 9999px;
  letter-spacing: 0.01em;
  color: #ffffff;
  background: transparent;
  border: 1.5px solid rgba(209, 213, 219, 0.5);
}

/* line 1083, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-card__nut svg {
  width: 11px;
  height: 11px;
  flex-shrink: 0;
  color: #ffffff;
}

@media (max-width: 576px) {
  /* line 1098, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-card:hover {
    transform: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.06);
  }
  /* line 1103, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-card__hover {
    opacity: 1;
    pointer-events: none;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.35) 40%, transparent 70%);
    padding-top: 4rem;
  }
  /* line 1116, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-card__nutrition {
    display: none;
  }
  /* line 1120, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-card__title {
    margin-bottom: 0;
  }
}

/* line 1130, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 4rem 2rem;
  gap: 1rem;
}

/* line 1139, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-empty__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 9999px;
  background: #f3f4f6;
  color: #d1d5db;
  margin-bottom: 0.5rem;
}

/* line 1150, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-empty__icon svg {
  width: 36px;
  height: 36px;
}

/* line 1156, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-empty__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #374151;
  margin: 0;
}

/* line 1164, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-empty__text {
  font-family: "Montserrat", sans-serif;
  font-size: 0.95rem;
  color: #6b7280;
  margin: 0;
  max-width: 360px;
  line-height: 1.6;
}

/* line 1173, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-empty__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.65rem 2rem;
  background: #ff6b01;
  color: #ffffff;
  border-radius: 9999px;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: all 0.15s ease;
  margin-top: 0.5rem;
}

/* line 1187, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-empty__cta:hover {
  background: #e55d00;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(255, 107, 1, 0.35);
}

/* line 1198, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-pagination {
  display: flex;
  justify-content: center;
  padding: 2rem 0 0.5rem;
}

/* line 1203, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-pagination .pagination {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 1212, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-pagination .pagination li a, .ridx-pagination .pagination li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 0.5rem;
  border-radius: 0.5rem;
  font-family: "Montserrat", sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.15s ease;
}

/* line 1227, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-pagination .pagination li a {
  color: #6b7280;
  background: #ffffff;
  border: 1px solid #e5e7eb;
}

/* line 1232, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-pagination .pagination li a:hover {
  color: #ff6b01;
  border-color: #ff6b01;
  background: #fff3e6;
}

/* line 1240, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-pagination .pagination li.active span {
  color: #ffffff;
  background: #ff6b01;
  border: 1px solid #ff6b01;
}

/* line 1247, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-pagination .pagination li.disabled span {
  color: #d1d5db;
  background: #f9fafb;
  border: 1px solid #f3f4f6;
  cursor: default;
}

/* line 1255, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-pagination .pagination li.gap span {
  border: none;
  background: none;
  color: #d1d5db;
  min-width: auto;
}

/* line 1268, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-header {
  background: #ffffff;
  border-bottom: 1px solid #f3f4f6;
  padding: 2rem 1.5rem 1.5rem;
}

@media (max-width: 576px) {
  /* line 1268, app/assets/stylesheets/pages/_recipes-index.scss */
  .favs-header {
    padding: 1.5rem 1rem 1rem;
  }
}

/* line 1278, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-header__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* line 1286, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* line 1293, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-header__title-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* line 1299, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-header__icon {
  color: #ef4444;
  flex-shrink: 0;
}

/* line 1304, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-header__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}

@media (max-width: 576px) {
  /* line 1304, app/assets/stylesheets/pages/_recipes-index.scss */
  .favs-header__title {
    font-size: 1.25rem;
  }
}

/* line 1316, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-header__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 22px;
  padding: 0 8px;
  background: #f3f4f6;
  color: #6b7280;
  font-size: 0.78rem;
  font-weight: 700;
  border-radius: 9999px;
}

/* line 1330, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-header__explore {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #6b7280;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s ease;
}

/* line 1341, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-header__explore:hover {
  color: #ff6b01;
}

/* line 1349, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-search .ridx-search__form {
  max-width: 100%;
  background: #f9fafb;
  border: 1.5px solid #e5e7eb;
}

/* line 1354, app/assets/stylesheets/pages/_recipes-index.scss */
.favs-search .ridx-search__form:focus-within {
  border-color: #ff6b01;
  background: #ffffff;
}

/* line 1364, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-inline-header {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 1.5rem 1rem;
  display: flex;
  align-items: baseline;
  gap: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  /* line 1364, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-inline-header {
    padding: 1.5rem 1rem 0.5rem;
  }
}

/* line 1378, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-inline-header__title {
  font-family: "Raleway", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
}

@media (max-width: 576px) {
  /* line 1378, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-inline-header__title {
    font-size: 1.4rem;
  }
}

/* line 1390, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-inline-header__count {
  font-size: 0.875rem;
  color: #6b7280;
  font-weight: 400;
}

/* line 1400, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 40;
  background: #ffffff;
  border-top: 1px solid #f3f4f6;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* line 1413, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

/* line 1422, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar .ridx-tag-panel {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.38s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.28s ease;
}

/* line 1430, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar .ridx-tag-panel--open {
  max-height: 220px;
  opacity: 1;
  overflow-y: auto;
}

/* line 1437, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar .ridx-tag-panel__inner {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #f3f4f6;
}

/* line 1443, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar__search {
  padding: 0.5rem 1.5rem;
  border-bottom: 1px solid #f3f4f6;
}

@media (max-width: 768px) {
  /* line 1443, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-bottom-bar__search {
    padding: 0.5rem 1rem;
  }
}

/* line 1452, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar__search .ridx-search__form {
  max-width: none;
  border-radius: 0.5rem;
  box-shadow: none;
  border: 1.5px solid #e5e7eb;
  background: #f9fafb;
  padding: 3px 0.25rem;
}

/* line 1460, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar__search .ridx-search__form:focus-within {
  border-color: #ff6b01;
  box-shadow: 0 0 0 3px rgba(255, 107, 1, 0.08);
  background: #ffffff;
}

/* line 1469, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-bottom-bar .ridx-filters {
  padding: 0.25rem 1.5rem;
  padding-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 768px) {
  /* line 1469, app/assets/stylesheets/pages/_recipes-index.scss */
  .ridx-bottom-bar .ridx-filters {
    padding: 0.25rem 1rem;
    padding-bottom: calc(0.25rem + env(safe-area-inset-bottom, 0px));
  }
}

/* line 1480, app/assets/stylesheets/pages/_recipes-index.scss */
.ridx-filters__sep {
  display: inline-block;
  width: 1px;
  height: 24px;
  background: #e5e7eb;
  flex-shrink: 0;
  align-self: center;
  margin: 0 0.25rem;
}
