/*
 * Pro Recipe Card Styles V4.4
 */
 :root {
    /* Base colors and settings (can be overridden by dynamic styles) */
    --prc-primary-color: #5D8736;
    --prc-text-dark: #2c3e50;
    --prc-text-light: #4a5568;
    --prc-bg-light: #f8f9fa;
    --prc-border-light: rgba(93, 135, 54, 0.1);
    --prc-base-font-size: 16px;
    --prc-card-border-radius: 20px;
    --prc-card-shadow: 0 12px 48px rgba(0,0,0,0.1);
    --prc-card-shadow-hover: 0 24px 64px rgba(0,0,0,0.15);
}

/* --- Main Card Styles (No Changes) --- */
.prc-recipe-card {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-size: var(--prc-base-font-size);
    background: white;
    border-radius: var(--prc-card-border-radius);
    box-shadow: var(--prc-card-shadow);
    overflow: hidden;
    max-width: 900px;
    margin: 3rem auto;
    border: 1px solid var(--prc-border-light);
}
.prc-recipe-image { width: 100%; height: 320px; background-size: cover; background-position: center; position: relative; }
.prc-image-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(0deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0) 50%); }
.prc-recipe-content { padding: 2.5rem; }
.prc-recipe-title { font-size: 2.2em; font-weight: 700; margin-bottom: 0.5rem; line-height: 1.2; text-align: center; }
.prc-recipe-description { font-size: 1.1em; color: var(--prc-text-light); text-align: center; line-height: 1.6; margin: 0 auto 2rem auto; max-width: 85%; }
.prc-recipe-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 1rem; background: linear-gradient(135deg, var(--prc-bg-light) 0%, #e9ecef 100%); padding: 1.5rem; border-radius: var(--prc-card-border-radius); margin-bottom: 2.5rem; border: 1px solid var(--prc-border-light); }
.prc-meta-item { text-align: center; }
.prc-meta-label { font-weight: 700; color: var(--prc-primary-color); font-size: 0.9em; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 0.5rem; display: flex; align-items: center; justify-content: center; gap: 8px; }
.prc-meta-label .fas { font-size: 1.2em; }
.prc-meta-value { font-size: 1.2em; color: var(--prc-text-dark); font-weight: 600; }
.prc-content-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 2.5rem; margin-bottom: 2.5rem; }
.prc-ingredients h4, .prc-instructions h4 { font-size: 1.5em; margin-bottom: 1.5rem; font-weight: 700; padding-bottom: 0.8rem; border-bottom: 2px solid var(--prc-primary-color); display: flex; align-items: center; gap: 0.5rem; }
.prc-ingredients ul { list-style: none; padding: 0; margin: 0; }
.prc-ingredients li { padding: 0.7rem 0 0.7rem 1.8rem; color: var(--prc-text-dark); position: relative; font-size: 1em; border-bottom: 1px solid #f0f0f0; }
.prc-ingredients li::before { content: '✓'; color: var(--prc-primary-color); font-weight: bold; position: absolute; left: 0; top: 50%; transform: translateY(-50%); font-size: 1.1em; }
.prc-instructions ol { list-style: none; padding: 0; margin: 0; }
.prc-instruction-step { margin-bottom: 1.5rem; padding: 1rem; background: #fdfdfd; border-radius: 10px; border-left: 4px solid var(--prc-primary-color); box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
.prc-step-number { font-weight: 700; color: var(--prc-primary-color); font-size: 1em; margin-bottom: 0.5rem; }
.prc-step-text { color: var(--prc-text-dark); font-size: 1em; line-height: 1.6; }
.prc-actions { border-top: 2px solid #e9ecef; padding-top: 2rem; display: flex; flex-direction: column; align-items: flex-start; gap: 2rem; }
.prc-share-container { width: 100%; }
.prc-share-title { font-size: 1.2em; font-weight: 700; color: var(--prc-text-dark); margin-bottom: 1rem; }
.prc-social-share { display: flex; flex-direction: column; gap: 0.8rem; }
.prc-social-btn, .prc-print-btn { padding: 0.8rem 1.5rem; border-radius: 8px; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 0.75rem; font-size: 1em; font-weight: 600; text-decoration: none; transition: all 0.2s ease; }
.prc-social-btn.pinterest { background: #E60023; color: white; }
.prc-social-btn.facebook { background: #1877F2; color: white; }
.prc-social-btn.whatsapp { background: #25D366; color: white; }
.prc-print-btn { background: var(--prc-text-dark); color: white; width: 100%; }

/* --- JUMP TO RECIPE BUTTON STYLES (V4.4) --- */

/* This wrapper is placed at the top of the article content */
#prc-jump-button-wrapper {
    margin-bottom: 2em;
    position: relative;
    /* Ensure no visual space when placeholder is active */
    min-height: 52px; /* Sufficient height to avoid content jump */
}

/* This is a hidden element used to prevent content from jumping */
.prc-jump-button-placeholder {
    display: none;
    height: 52px; /* Match the height of the floating button */
    margin-bottom: 2em; /* Match wrapper margin-bottom */
}

/* This is the main button, which changes based on its class */
#prc-jump-button {
    width: 100%;
    padding: 12px 20px;
    border: none;
    border-radius: 50px; /* Pill shape */
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 1em;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    white-space: nowrap; /* Prevent text wrapping */
}
#prc-jump-button .text {
    /* Always visible, but might be adjusted by fixed styles */
    transition: all 0.3s ease-in-out;
}
#prc-jump-button i {
    font-size: 1.2em;
    transition: all 0.3s ease-in-out;
}

/* This class is added by JS when the user scrolls down, making it fixed and smaller */
#prc-jump-button.is-fixed {
    position: fixed;
    bottom: 25px;
    right: 25px;
    width: auto; /* Allow width to adapt to text + icon */
    z-index: 1000;
    padding: 10px 18px; /* Adjust padding for icon + text */
    height: auto; /* Auto height to fit content */
    min-width: 52px; /* Ensure minimum size */
    box-shadow: 0 5px 20px rgba(0,0,0,0.2); /* Stronger shadow when floating */
}
/* No longer hiding the text for fixed state */

/* This class is added by JS to hide the button */
#prc-jump-button.is-hidden {
    opacity: 0;
    transform: translateY(20px) scale(0.9);
    pointer-events: none;
}

/* --- RESPONSIVE AND PRINT STYLES --- */
@media (max-width: 768px) {
    .prc-recipe-content { padding: 1.5rem; }
    .prc-recipe-image { height: 220px; }
    .prc-recipe-meta { grid-template-columns: 1fr 1fr; }
    .prc-content-grid { grid-template-columns: 1fr; gap: 2rem; }

    /* Adjust fixed button for smaller screens */
    #prc-jump-button.is-fixed {
        bottom: 15px;
        right: 15px;
        padding: 8px 15px;
        font-size: 0.9em;
    }
}

@media print {
    body * { visibility: hidden; }
    #prc-recipe-card, #prc-recipe-card * { visibility: visible; }
    #prc-recipe-card { position: absolute; left: 0; top: 0; width: 100%; max-width: 100%; box-shadow: none; border: none; margin: 0; }
    .prc-recipe-image, .prc-actions, #prc-jump-button-wrapper, #prc-jump-button { display: none !important; }
}