/* ===================================================================
   ORB Recipe – Rezeptkarte Styles
   Farbpalette: Warm, Nostalgisch, Landhausstil
   =================================================================== */

:root {
    --orb-brown:      #8B4513;
    --orb-brown-dark: #6B3410;
    --orb-cream:      #FDF6E3;
    --orb-green:      #2D5A27;
    --orb-text:       #2C1810;
    --orb-gray:       #666;
    --orb-border:     #DDD4C0;
    --orb-shadow:     rgba(139, 69, 19, 0.12);
    --orb-base-size:  1.05rem;
}

/* Rezeptkarte */
.orb-recipe-card {
    background: var(--orb-cream);
    border: 1px solid var(--orb-border);
    border-radius: 12px;
    padding: 32px;
    margin: 32px 0;
    box-shadow: 0 4px 24px var(--orb-shadow);
    font-family: 'Lora', Georgia, serif;
    font-size: var(--orb-base-size);
    color: var(--orb-text);
    max-width: 780px;
    line-height: 1.75;
}

/* Titel */
.orb-recipe-title {
    font-size: 2rem;
    color: var(--orb-brown);
    margin: 0 0 16px;
    border-bottom: 2px solid var(--orb-border);
    padding-bottom: 12px;
    line-height: 1.3;
}

/* Oma Tutti Zitat */
.orb-oma-quote {
    background: #fff;
    border-left: 4px solid var(--orb-brown);
    border-radius: 0 8px 8px 0;
    padding: 16px 20px;
    margin: 16px 0;
    font-style: italic;
    font-size: 1.1rem;
    color: var(--orb-brown-dark);
    display: flex;
    align-items: center;
    gap: 14px;
}
.orb-oma-avatar { font-size: 2.2rem; }
.orb-oma-quote cite {
    display: block;
    font-size: 1rem;
    margin-top: 6px;
    color: var(--orb-gray);
    font-style: normal;
}

/* Meta-Leiste */
.orb-recipe-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    background: #fff;
    border-radius: 8px;
    padding: 18px;
    margin: 20px 0;
    border: 1px solid var(--orb-border);
}
.orb-meta-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 1;
    min-width: 90px;
    padding: 8px;
}
.orb-meta-icon   { font-size: 1.6rem; margin-bottom: 5px; }
.orb-meta-label  { font-size: 0.85rem; color: var(--orb-gray); text-transform: uppercase; letter-spacing: 0.05em; }
.orb-meta-value  { font-size: 1.05rem; font-weight: 700; color: var(--orb-brown); margin-top: 3px; }

/* Bewertung */
.orb-rating-widget {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 16px 0;
    padding: 14px 18px;
    background: #fff8ee;
    border-radius: 8px;
    border: 1px solid var(--orb-border);
    font-size: 1rem;
}
.orb-rating-label { font-size: 1rem; color: var(--orb-text); }
.orb-stars { display: flex; gap: 4px; }
.orb-star {
    font-size: 1.8rem;
    color: #DDD4C0;
    cursor: pointer;
    transition: color 0.15s, transform 0.1s;
    line-height: 1;
}
.orb-star:hover,
.orb-star.orb-star--active { color: #F5A623; transform: scale(1.15); }
.orb-rating-avg { font-size: 1rem; color: var(--orb-gray); }
.orb-rating-message { font-size: 1rem; color: var(--orb-green); font-weight: 600; }

/* Aktions-Buttons */
.orb-recipe-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 18px 0; }
.orb-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 22px;
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    text-decoration: none;
    font-family: inherit;
    transition: opacity 0.2s;
    letter-spacing: 0.02em;
}
.orb-btn:hover { opacity: 0.85; text-decoration: none; }
.orb-btn-print     { background: var(--orb-brown); color: #fff !important; }
.orb-btn-pinterest { background: #E60023; color: #fff !important; font-size: 1rem; }

/* Zutaten */
.orb-ingredients { margin: 28px 0; }
.orb-ingredients h3,
.orb-instructions h3 {
    font-size: 1.4rem;
    color: var(--orb-brown);
    border-bottom: 1px solid var(--orb-border);
    padding-bottom: 10px;
    margin-bottom: 18px;
}
.orb-ingredient-group {
    font-size: 1.1rem;
    color: var(--orb-brown-dark);
    font-weight: 700;
    margin: 18px 0 10px;
}
.orb-ingredient-list  { list-style: none; padding: 0; margin: 0; }
.orb-ingredient-list li {
    padding: 9px 0;
    border-bottom: 1px dotted var(--orb-border);
    font-size: 1.05rem;
    display: flex;
    gap: 10px;
    align-items: baseline;
    line-height: 1.5;
}
.orb-ingredient-list li strong {
    min-width: 60px;
    color: var(--orb-brown);
}
.orb-ingredient-note { color: var(--orb-gray); font-size: 0.95rem; font-style: italic; }

/* Zubereitung */
.orb-instructions { margin: 28px 0; }
.orb-instruction-group {
    font-size: 1.1rem;
    color: var(--orb-brown-dark);
    font-weight: 700;
    margin: 18px 0 10px;
}
.orb-step {
    display: flex;
    gap: 18px;
    margin-bottom: 22px;
    align-items: flex-start;
}
.orb-step-number {
    background: var(--orb-brown);
    color: #fff;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    min-width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
    margin-top: 3px;
}
.orb-step-content p {
    margin: 0 0 8px;
    line-height: 1.75;
    font-size: 1.05rem;
}
.orb-step-tip {
    background: #fff8ee;
    border-left: 3px solid var(--orb-brown);
    padding: 10px 14px;
    border-radius: 0 6px 6px 0;
    font-size: 1rem;
    color: var(--orb-brown-dark);
    font-style: italic;
    margin-top: 6px;
}

/* Jump Button */
.orb-jump-button {
    display: inline-block;
    background: var(--orb-brown);
    color: #fff !important;
    padding: 12px 26px;
    border-radius: 6px;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 1.05rem;
    margin: 12px 0;
    transition: background 0.2s;
}
.orb-jump-button:hover { background: var(--orb-brown-dark); }

/* Amazon Produkte */
.orb-amazon-section { margin: 30px 0; }
.orb-amazon-section h3 { font-size: 1.3rem; color: var(--orb-brown); margin-bottom: 16px; }
.orb-amazon-grid { display: flex; flex-wrap: wrap; gap: 16px; }
.orb-amazon-product {
    display: flex;
    gap: 16px;
    background: #fff;
    border: 1px solid var(--orb-border);
    border-radius: 8px;
    padding: 16px;
    flex: 1;
    min-width: 260px;
    max-width: 380px;
    align-items: flex-start;
}
.orb-amazon-image img {
    width: 90px;
    height: 90px;
    object-fit: contain;
    border-radius: 4px;
}
.orb-amazon-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--orb-text);
    margin-bottom: 8px;
    line-height: 1.4;
}
.orb-amazon-price {
    font-size: 1.1rem;
    color: var(--orb-brown);
    font-weight: 700;
    margin-bottom: 12px;
}
.orb-amazon-btn {
    display: inline-block;
    background: #FF9900;
    color: #fff !important;
    padding: 9px 16px;
    border-radius: 4px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s;
}
.orb-amazon-btn:hover { background: #e68900; }
.orb-amazon-disclaimer {
    font-size: 0.9rem;
    color: var(--orb-gray);
    margin-top: 10px;
    font-style: italic;
}

/* Outro */
.orb-story-outro {
    background: #fff;
    border-top: 2px solid var(--orb-border);
    padding-top: 22px;
    margin-top: 28px;
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--orb-text);
}

/* Responsive */
@media (max-width: 600px) {
    .orb-recipe-card  { padding: 20px 16px; font-size: 1rem; }
    .orb-recipe-title { font-size: 1.5rem; }
    .orb-recipe-meta  { gap: 8px; }
    .orb-meta-item    { min-width: 70px; }
    .orb-amazon-product { max-width: 100%; }
    .orb-btn          { font-size: 0.95rem; padding: 10px 16px; }
}

/* Druckstyle */
@media print {
    .orb-recipe-actions,
    .orb-rating-widget,
    .orb-amazon-section,
    .orb-btn,
    .orb-jump-button { display: none !important; }
    .orb-recipe-card { box-shadow: none; border: none; padding: 0; font-size: 12pt; }
    .orb-recipe-title { font-size: 18pt; }
    .orb-step-number { background: #000; -webkit-print-color-adjust: exact; }
}
