/*
 * Recipe Card Baseline Styles v4.2.0
 * 
 * Direct CSS translation of the beautiful Google Stitch design.
 * Styles mapped to existing recipe card tags to avoid loading Tailwind.
 * Overrides theme floats and sets full width.
 */

:root {
    --rc-orange: #f67753;
    --rc-orange-hover: #e05e38;
    --rc-orange-light: #fff2ed;
    --rc-orange-border: #fedfd6;
    --rc-blue: #1E88E5;
    --rc-blue-light: #E3F2FD;
    --rc-blue-border: #BBDEFB;
    --rc-text-dark: #111827;
    --rc-text-body: #374151;
    --rc-text-muted: #4b5563;
    --rc-text-light: #9ca3af;
    --rc-border: #f3f4f6;
    --rc-border-line: #e5e7eb;
    --rc-font-serif: 'Playfair Display', Georgia, serif;
    --rc-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --rc-transition: 0.2s ease-in-out;
}

/* ===== Card Container (CRITICAL: Float Override & Full Width) ===== */
.entry-content .recipe-card,
.recipe-card {
    width: 100% !important;
    max-width: 896px !important; /* max-w-4xl */
    margin: 2.5rem auto !important;
    padding: 0 !important;
    border: 1px solid var(--rc-border) !important;
    border-radius: 1rem !important; /* rounded-2xl */
    background: #ffffff !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important; /* shadow-xl */
    font-family: var(--rc-font-sans) !important;
    color: var(--rc-text-body) !important;
    line-height: 1.625 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    position: relative !important;
    
    /* Override theme floated card layouts */
    float: none !important;
    clear: both !important;
    display: block !important;
}

.recipe-card *,
.recipe-card *::before,
.recipe-card *::after {
    box-sizing: border-box !important;
}

/* ===== Hero Image (CRITICAL: Float Override) ===== */
.recipe-card .recipe-floating-image {
    width: 100% !important;
    height: 320px !important; /* h-80 */
    overflow: hidden !important;
    position: relative !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: transparent !important;
}

@media (min-width: 768px) {
    .recipe-card .recipe-floating-image {
        height: 384px !important; /* h-96 */
    }
}

.recipe-card .recipe-floating-image .ns-pinterest-image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    background: transparent !important;
}

.recipe-card .recipe-floating-image img,
.recipe-card .recipe-floating-image .ns-pinterest-image img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* Fix Novashare Pinterest Button on Recipe Card Image to match native in-article buttons */
.recipe-card .recipe-floating-image .ns-pinterest-image-button {
    box-sizing: content-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    height: 18px !important;
    max-height: 18px !important;
    line-height: 18px !important;
    width: auto !important;
    padding: 10px !important;
    border-radius: 0 !important;
    top: 10px !important;
    left: 10px !important;
    bottom: auto !important;
    right: auto !important;
    background: #c92228 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: normal !important;
    box-shadow: none !important;
    z-index: 10 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: 0.3s !important;
}

.recipe-card .recipe-floating-image .ns-pinterest-image-button:hover {
    background: #c92228 !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 50px rgba(0, 0, 0, 0.1) !important;
}

.recipe-card .recipe-floating-image .ns-pinterest-image-button svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
    display: inline-block !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    pointer-events: none !important;
}

.recipe-card .recipe-floating-image .ns-pinterest-image-button span {
    display: inline-block !important;
    font-size: 16px !important;
    line-height: 18px !important;
    font-weight: normal !important;
    color: #ffffff !important;
    margin-left: 4px !important;
}

/* ===== Content Inner Wrapper ===== */
.recipe-card .recipe-content-inner {
    padding: 1.5rem !important; /* p-6 */
}

@media (min-width: 768px) {
    .recipe-card .recipe-content-inner {
        padding: 2.5rem !important; /* md:p-10 */
    }
}

/* ===== Header (Title & Description) ===== */
.recipe-card .recipe-header {
    text-align: center !important;
    margin-bottom: 2rem !important; /* mb-8 */
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
}

.recipe-card .recipe-title {
    font-family: var(--rc-font-serif) !important;
    font-size: 1.875rem !important; /* text-3xl */
    font-weight: 700 !important;
    color: var(--rc-text-dark) !important;
    margin: 0 0 0.75rem 0 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    display: inline-block !important;
    position: relative !important;
    border: none !important;
}

@media (min-width: 768px) {
    .recipe-card .recipe-title {
        font-size: 3rem !important; /* text-5xl */
    }
}

.recipe-card .title-spark-svg {
    position: absolute !important;
    top: -1rem !important;
    right: -2rem !important;
    width: 2rem !important;
    height: 2rem !important;
    color: var(--rc-orange) !important;
}

.recipe-card .recipe-description {
    font-size: 1.125rem !important; /* text-lg */
    color: var(--rc-text-muted) !important;
    margin: 0 auto !important;
    line-height: 1.625 !important;
    max-width: 580px !important;
    text-align: center !important;
}

@media (min-width: 768px) {
    .recipe-card .recipe-description {
        font-size: 1.25rem !important; /* text-xl */
    }
}

/* ===== Boxed Meta Row ===== */
.recipe-card .recipe-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-around !important;
    align-items: stretch !important;
    background-color: #f9fafb !important; /* bg-gray-50 */
    border-radius: 0.75rem !important; /* rounded-xl */
    padding: 0.75rem 0.5rem !important;
    margin: 0 0 1.5rem 0 !important;
    border: 1px solid var(--rc-border) !important;
    float: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    gap: 0.5rem 0 !important;
}

@media (min-width: 768px) {
    .recipe-card .recipe-meta {
        padding: 0.875rem 0.75rem !important;
        margin: 0 0 1.75rem 0 !important;
    }
}

.recipe-card .recipe-time,
.recipe-card .recipe-servings {
    display: contents !important;
}

.recipe-card .time-item,
.recipe-card .servings-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 130px !important;
    min-width: 120px !important;
    max-width: 100% !important;
    width: auto !important;
    padding: 0.25rem 0.5rem !important;
    margin: 0 !important;
    border-right: 1px solid var(--rc-border-line) !important;
    border-bottom: none !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.recipe-card .recipe-meta > *:last-child,
.recipe-card .servings-item:last-child,
.recipe-card .servings-item:last-of-type,
.recipe-card .servings-item,
.recipe-card .recipe-servings {
    border-right: none !important;
    border-bottom: none !important;
}

/* If an item wraps or is wider, allow full width */
.recipe-card .time-item.is-full-width,
.recipe-card .servings-item.is-full-width {
    flex: 1 1 100% !important;
    width: 100% !important;
    border-right: none !important;
    border-bottom: none !important;
}

@media (max-width: 640px) {
    .recipe-card .time-item,
    .recipe-card .servings-item {
        flex: 1 1 calc(50% - 0.5rem) !important;
        min-width: 130px !important;
    }
    .recipe-card .time-item:nth-child(2) {
        border-right: none !important;
    }
    .recipe-card .servings-item {
        border-right: none !important;
        border-bottom: none !important;
    }
}

@media (max-width: 440px) {
    .recipe-card .time-item {
        flex: 1 1 100% !important;
        width: 100% !important;
        border-right: none !important;
        border-bottom: 1px solid var(--rc-border-line) !important;
        padding: 0.5rem 0.5rem !important;
    }
    .recipe-card .servings-item {
        flex: 1 1 100% !important;
        width: 100% !important;
        border-right: none !important;
        border-bottom: none !important; /* No border below servings-item Portionen */
        padding: 0.5rem 0.5rem !important;
    }
    .recipe-card .recipe-meta > *:last-child,
    .recipe-card .servings-item:last-child,
    .recipe-card .servings-item:last-of-type {
        border-bottom: none !important;
    }
}

/* Meta SVG Icons */
.recipe-card .meta-svg {
    width: 1.75rem !important;
    height: 1.75rem !important;
    color: var(--rc-orange) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 0.25rem !important;
    display: block !important;
    flex-shrink: 0 !important;
}

.recipe-card .time-content,
.recipe-card .servings-content {
    display: flex !important;
    flex-direction: column !important;
    line-height: 1.35 !important;
    align-items: center !important;
    width: 100% !important;
}

.recipe-card .time-content strong,
.recipe-card .servings-content strong {
    font-size: 0.8125rem !important; /* text-sm */
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: var(--rc-text-muted) !important;
    font-weight: 600 !important;
    margin-bottom: 0.15rem !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
}

.recipe-card .time-content span,
.recipe-card .servings-content span {
    font-size: 1rem !important;
    color: var(--rc-text-dark) !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

/* ===== Action Buttons Row (Pin Recipe + Print Recipe) ===== */
.recipe-card .rc-btn-row,
.recipe-card .print-btn-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 1rem !important;
    margin-bottom: 2.5rem !important;
    width: 100% !important;
}

@media (max-width: 520px) {
    .recipe-card .rc-btn-row,
    .recipe-card .print-btn-wrap {
        flex-direction: column !important;
        gap: 0.75rem !important;
    }
}

.recipe-card .rc-btn-pin-large,
.recipe-card .rc-btn-print-large {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    flex: 1 1 0 !important;
    width: 100% !important;
    padding: 0.875rem 1rem !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 0.75rem !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: background-color var(--rc-transition), transform 0.15s ease !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.recipe-card .rc-btn-pin-large {
    background: #e60023 !important; /* Pinterest brand red */
}

.recipe-card .rc-btn-pin-large:hover {
    background: #ad081b !important;
}

.recipe-card .rc-btn-print-large {
    background: var(--rc-orange) !important;
}

.recipe-card .rc-btn-print-large:hover {
    background: var(--rc-orange-hover) !important;
}

.recipe-card .rc-btn-pin-large svg,
.recipe-card .rc-btn-print-large svg {
    width: 1.35rem !important;
    height: 1.35rem !important;
    fill: currentColor !important;
    flex-shrink: 0 !important;
}

/* ===== Two-Column Content Wrapper ===== */
.recipe-card .recipe-columns {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important; /* gap-8 */
    margin-bottom: 2.5rem !important; /* mb-10 */
}

@media (min-width: 768px) {
    .recipe-card .recipe-columns {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; /* md:grid-cols-2 */
        gap: 2rem !important;
        align-items: start !important;
    }
}

/* ===== Section Styling ===== */
.recipe-card .recipe-ingredients,
.recipe-card .recipe-instructions {
    background-color: #f9fafb !important; /* bg-gray-50 */
    border-radius: 1rem !important; /* rounded-2xl */
    padding: 1.5rem !important; /* p-6 */
    border: 1px solid var(--rc-border) !important;
    width: 100% !important;
    margin: 0 !important;
    height: fit-content !important;
    align-self: start !important;
}

.recipe-card .section-title {
    font-family: var(--rc-font-serif) !important;
    font-size: 1.5rem !important; /* text-2xl */
    font-weight: 700 !important;
    color: var(--rc-text-dark) !important;
    margin: 0 0 1.5rem 0 !important; /* mb-6 */
    padding: 0 !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important; /* gap-3 */
}

.recipe-card .section-title-svg {
    width: 1.75rem !important; /* w-7 */
    height: 1.75rem !important; /* h-7 */
    color: var(--rc-orange) !important;
}

/* List Style Reset */
.recipe-card ol,
.recipe-card ul {
    list-style: none !important;
    counter-reset: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.recipe-card li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.recipe-card li::before {
    content: none !important;
    display: none !important;
}

/* ===== Ingredients List ===== */
.recipe-card .ingredient-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.75rem !important; /* gap-3 */
    border-bottom: 1px solid var(--rc-border-line) !important; /* border-gray-200 */
    padding: 5px 0 !important; /* 5px top and 5px bottom */
    margin: 0 !important; /* remove margin */
    background: transparent !important;
    cursor: pointer !important;
    width: 100% !important;
}

.recipe-card .ingredient-item:last-child {
    border-bottom: none !important;
    margin: 0 !important;
}

.recipe-card .ingredient-checkbox {
    width: 1.25rem !important; /* w-5 */
    height: 1.25rem !important; /* h-5 */
    min-width: 1.25rem !important;
    max-width: 1.25rem !important;
    min-height: 1.25rem !important;
    max-height: 1.25rem !important;
    border: 1px solid #d1d5db !important; /* border-gray-300 */
    border-radius: 0.25rem !important; /* rounded */
    background-color: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
    margin-top: 0.25rem !important; /* mt-1 */
    flex-shrink: 0 !important;
}

.recipe-card .ingredient-item:hover .ingredient-checkbox {
    border-color: var(--rc-orange) !important;
}

.recipe-card .ingredient-item.checked .ingredient-checkbox {
    border-color: var(--rc-orange) !important;
    background-color: var(--rc-orange) !important;
}

.recipe-card .ingredient-item.checked .ingredient-checkbox::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 5px !important;
    top: 1px !important;
    width: 5px !important;
    height: 9px !important;
    border: solid #ffffff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}

.recipe-card .ingredient-item.checked .ingredient-text {
    color: var(--rc-text-light) !important;
    text-decoration: line-through !important;
}

.recipe-card .ingredient-text {
    color: var(--rc-text-body) !important;
    font-size: 0.95rem !important;
    flex: 1 !important;
}

/* ===== Instructions List ===== */
.recipe-card .instruction-item {
    display: flex !important;
    align-items: center !important; /* Step number vertically centered */
    gap: 0.875rem !important;
    border-bottom: 1px solid var(--rc-border-line) !important;
    padding: 0.625rem 0 !important; /* optimized lower padding */
    margin: 0 !important; /* remove margin */
    background: transparent !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: opacity var(--rc-transition) !important;
}

.recipe-card .instruction-item:last-child {
    border-bottom: none !important;
    margin: 0 !important;
}

/* Step Number Badge */
.recipe-card .step-number-badge {
    width: 2rem !important; /* w-8 */
    height: 2rem !important; /* h-8 */
    min-width: 2rem !important;
    max-width: 2rem !important;
    min-height: 2rem !important;
    max-height: 2rem !important;
    border-radius: 9999px !important; /* rounded-full */
    background-color: var(--rc-orange) !important; /* bg-orange-500 */
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 700 !important; /* font-bold */
    font-size: 0.875rem !important; /* text-sm */
    flex-shrink: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    border: none !important;
}

/* Hide theme counter markers */
.recipe-card .step-number {
    display: none !important;
}

.recipe-card .instruction-item.checked .step-number-badge {
    background-color: var(--rc-text-light) !important;
}

.recipe-card .instruction-item.checked .instruction-text {
    color: var(--rc-text-light) !important;
    text-decoration: line-through !important;
}

.recipe-card .instruction-text {
    color: var(--rc-text-body) !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    flex: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ===== Collapsible Info Cards (Nutrition & Allergy) ===== */
.recipe-card .info-cards-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
}

.recipe-card .info-card {
    border-radius: 0.75rem !important; /* rounded-xl */
    overflow: hidden !important;
    transition: background-color 0.2s ease !important;
}

.recipe-card .info-card-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    padding: 1rem !important; /* p-4 */
    cursor: pointer !important;
}

.recipe-card .info-card-header-left {
    display: flex !important;
    align-items: flex-start !important;
    gap: 1rem !important; /* gap-4 */
    flex: 1 !important;
}

/* Inner white circle wrapper for icon */
.recipe-card .info-card-icon-wrap {
    background-color: #ffffff !important;
    border-radius: 9999px !important;
    padding: 0.5rem !important;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px 0 rgba(0,0,0,0.06) !important; /* shadow-sm */
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
}

.recipe-card .info-card-icon {
    width: 1.5rem !important; /* w-6 */
    height: 1.5rem !important; /* h-6 */
    flex-shrink: 0 !important;
}

.recipe-card .info-card-content-block {
    flex-grow: 1 !important;
}

.recipe-card .info-card-title {
    font-weight: 700 !important;
    color: var(--rc-text-dark) !important;
    font-size: 0.875rem !important; /* text-sm */
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important; /* tracking-wide */
    margin: 0.25rem 0 0 0 !important;
    line-height: 1.2 !important;
}

.recipe-card .info-card-body-text {
    font-size: 0.875rem !important; /* text-sm */
    color: var(--rc-text-muted) !important;
    margin: 0.25rem 0 0 0 !important;
    line-height: 1.5 !important;
    display: none; /* Collapsed by default */
}

.recipe-card .info-card-arrow {
    width: 1.25rem !important; /* w-5 */
    height: 1.25rem !important; /* h-5 */
    color: #9ca3af !important; /* text-gray-400 */
    flex-shrink: 0 !important;
    margin-top: 0.25rem !important; /* mt-1 */
    transition: transform var(--rc-transition) !important;
}

/* Active Open Card state */
.recipe-card .info-card.open .info-card-body-text {
    display: block !important;
}

.recipe-card .info-card.open .info-card-arrow {
    transform: rotate(180deg) !important;
}

/* Nutrition card colors */
.recipe-card .nutrition-card {
    background-color: var(--rc-orange-light) !important;
    border: 1px solid var(--rc-orange-border) !important;
}

.recipe-card .nutrition-card:hover {
    background-color: rgba(255, 243, 224, 0.7) !important;
}

.recipe-card .nutrition-card .info-card-icon {
    color: var(--rc-orange) !important;
}

/* Allergy card colors */
.recipe-card .allergy-card {
    background-color: var(--rc-blue-light) !important;
    border: 1px solid var(--rc-blue-border) !important;
}

.recipe-card .allergy-card:hover {
    background-color: rgba(227, 242, 253, 0.7) !important;
}

.recipe-card .allergy-card .info-card-icon {
    color: var(--rc-blue) !important;
}
