/* La Receta de la Felicidad — páginas estáticas */
body { margin: 0; background: #ffffff; color: #4a4a4a; font-family: 'Lato', sans-serif; }
a { color: #7b6a55; text-decoration: none; }
a:hover { color: #4a4a4a; text-decoration: underline; }
.masthead { padding: 38px 24px 0; text-align: center; }
.masthead img { max-width: min(560px, 86vw); height: auto; }
.chalk { margin-top: 28px; background: linear-gradient(180deg, #45443f 0%, #3b3a36 45%, #43423d 100%); box-shadow: inset 0 0 40px rgba(0,0,0,0.35); text-align: center; }
.chalk a { display: inline-block; font-family: 'Josefin Sans', sans-serif; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: #cfcabf; padding: 17px 18px 15px; }
.chalk a:hover { color: #ffffff; text-decoration: none; }
.wrap { max-width: 900px; margin: 0 auto; padding: 50px 24px 90px; }
.dateline { display: flex; align-items: center; gap: 20px; }
.dateline .rule { flex: 1; height: 1px; background: #d5d2c9; }
.dateline .d { font-family: 'Josefin Sans', sans-serif; font-weight: 300; font-size: 12.5px; letter-spacing: 0.3em; text-transform: uppercase; color: #9a938a; white-space: nowrap; }
h1 { font-family: 'Josefin Sans', sans-serif; font-weight: 400; font-size: 27px; letter-spacing: 0.22em; text-transform: uppercase; text-align: center; color: #4a4a4a; margin: 30px 0 14px; line-height: 1.5; }
.cats { text-align: center; margin-bottom: 40px; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 15.5px; color: #9b8468; }
.langlink { text-align: center; margin-bottom: 30px; font-family: 'Josefin Sans', sans-serif; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; }
.rx { font-size: 15.5px; line-height: 1.9; color: #5a5a5a; text-align: justify; font-weight: 300; }
.rx p { margin: 0 0 1.4em; }
.rx a { color: #9b8468; border-bottom: 1px solid #d9cfc0; }
.rx img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.rx figure { margin: 34px 0; }
.rx figcaption { text-align: center; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 15px; color: #9a938a; margin-top: 12px; }
.rx hr { border: none; border-top: 1px solid #e8e6e0; margin: 44px auto; width: 120px; }
.rx img.alignleft, .rx img.alignright { display: inline-block; width: calc(50% - 13px); margin: 0 0 16px; vertical-align: bottom; }
.rx img.alignleft { margin-right: 22px; }
.rx .duo { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 40px 0; align-items: end; }
.rx .duo img { width: 100%; margin: 0; }
.rx .duo img.alignleft, .rx .duo img.alignright { width: 100%; margin: 0; display: block; }
.rx .gal { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin: 40px 0; align-items: end; }
.rx .gal figure { margin: 0; }
.rx .gal figure:last-child:nth-child(odd) { grid-column: 1 / -1; }
.rx .gal img { width: 100%; margin: 0; }
.rx .gal figcaption { font-size: 14px; margin-top: 9px; }
.rx ol.instructions .gal { margin: 26px 0 26px -22px; }
.rx h2.fn { font-family: 'Josefin Sans', sans-serif; font-weight: 400; font-size: 21px; letter-spacing: 0.22em; text-transform: uppercase; text-align: center; color: #4a4a4a; margin: 0 0 26px; }
.rx .recipe { border-top: 3px double #d5d2c9; border-bottom: 3px double #d5d2c9; padding: 40px 8px; margin: 44px 0; text-align: left; }
.rx .recipe > p { display: inline-block; margin: 0 30px 10px 0; font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 17px; color: #9a938a; }
.rx .recipe > p .preptime, .rx .recipe > p .cooktime, .rx .recipe .yield .item { color: #4a4a4a; font-style: normal; }
.rx h4.ingredients, .rx h4.instructions { font-family: 'Josefin Sans', sans-serif; font-weight: 400; font-size: 14px; letter-spacing: 0.24em; text-transform: uppercase; color: #4a4a4a; margin: 34px 0 16px; }
.rx ul.ingredients { list-style: none; padding: 0; margin: 0; text-align: left; }
.rx ul.ingredients li.ingredient { padding: 6px 0; border-bottom: 1px solid #efede7; }
.rx li.igroup { list-style: none; font-family: 'Josefin Sans', sans-serif; font-weight: 400; font-size: 12.5px; letter-spacing: 0.2em; text-transform: uppercase; color: #9b8468; padding: 20px 0 8px; border-bottom: none; }
.rx ol.instructions { padding-left: 20px; margin: 0; text-align: left; }
.rx ol.instructions li { margin-bottom: 15px; padding-left: 8px; }
.rx .consejos { background: #f0eee7; padding: 30px 34px; margin: 36px 0; font-size: 14.5px; text-align: left; }
.rx .consejos ul { margin: 10px 0 0; padding-left: 18px; }
.rx .consejos li { margin-bottom: 8px; }
.rx iframe { max-width: 100%; display: block; margin: 24px auto; border: none; }
footer { background: linear-gradient(180deg, #45443f 0%, #3b3a36 60%, #43423d 100%); box-shadow: inset 0 0 40px rgba(0,0,0,0.35); padding: 30px 24px; text-align: center; }
footer .t { font-family: 'Josefin Sans', sans-serif; font-weight: 300; font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase; color: #cfcabf; }
footer .s { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 15px; color: #8f8a80; margin-top: 8px; }
@media (max-width: 760px) {
  .rx .duo, .rx .gal { grid-template-columns: 1fr; }
  .rx img.alignleft, .rx img.alignright { float: none; width: 100%; margin: 0 0 18px; display: block; }
  .rx { text-align: left; }
}
