/* =============================================================================
   PROFESSIONAL RECIPE DESIGN - Beautiful Fonts & Perfect Layout
   Font: Playfair Display (headings) + Inter (body)
   ============================================================================= */

/* Variables */
:root{
--primary:#1a1a1a;
--secondary:#8b4513;
--accent:#cd853f;
--text:#2c2c2c;
--text-light:#5a5a5a;
--text-muted:#8a8a8a;
--bg-light:#faf9f7;
--bg-white:#fefefe;
--border:#e8e6e3;
--butter:#f6e6d3;
--sage:#a8b5a1;
--honey:#f0d9b5;
--shadow-sm:0 2px 8px rgba(0,0,0,.06);
--shadow-md:0 4px 16px rgba(0,0,0,.08);
--shadow-lg:0 10px 32px rgba(0,0,0,.1);
--radius:12px;
--transition:.3s ease;
--max-width:1400px;
--content-width:900px;
--sidebar-width:350px;
--font-heading:'Playfair Display',Georgia,serif;
--font-body:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}

/* Base */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-body);font-weight:400;font-size:16px;line-height:1.7;color:var(--text);background:#fff;overflow-x:hidden;padding-top:80px;min-height:100vh}

/* Typography */
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.3;color:var(--primary);margin:0 0 24px;word-wrap:break-word}
h1{font-size:clamp(32px,5vw,56px);font-weight:900;line-height:1.2;letter-spacing:-0.02em}
h2{font-size:clamp(28px,4vw,42px);letter-spacing:-0.01em}
h3{font-size:clamp(22px,3vw,32px)}
h4{font-size:clamp(18px,2.5vw,24px)}
p{margin:0 0 24px;line-height:1.75;word-wrap:break-word}
a{color:var(--secondary);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--accent)}

/* Layout */
.container{max-width:var(--max-width);width:100%;margin:0 auto;padding:0 20px}

/* Content Grid - Main + Sidebar */
.content-grid{display:grid;grid-template-columns:1fr;gap:48px;margin:48px 0}

@media(min-width:1024px){
.content-grid{grid-template-columns:1fr 350px}
}

.main-column{width:100%;max-width:var(--content-width)}
.sidebar{width:100%}

/* Breadcrumb */
.breadcrumb-nav{background:transparent;padding:20px 0 12px;border-bottom:1px solid var(--border)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;list-style:none;font-size:14px;font-weight:500}
.breadcrumb-item{display:flex;align-items:center;color:var(--text-muted)}
.breadcrumb-item+.breadcrumb-item::before{content:'›';margin:0 10px;font-size:18px;color:var(--text-muted)}
.breadcrumb-item a{color:var(--text-light);transition:color .2s}
.breadcrumb-item a:hover{color:var(--secondary)}
.breadcrumb-item.active{color:var(--text);font-weight:600}

/* Header */
.recipe-header{padding:48px 0;background:var(--bg-light);min-height:420px}
.recipe-header-content{max-width:900px;margin:0 auto}
.recipe-title{margin:0 0 32px;word-wrap:break-word}
.recipe-description{font-size:19px;line-height:1.8;padding:32px;background:var(--butter);border-left:5px solid var(--accent);border-radius:0 12px 12px 0;margin:32px 0;font-family:var(--font-body);word-wrap:break-word}
.recipe-description p{margin:0}
.recipe-meta-info{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:32px;background:#fff;border-radius:16px;box-shadow:var(--shadow-md);margin:32px 0;min-height:160px}
.author-info{display:flex;align-items:center;gap:20px}
.author-avatar-placeholder{width:80px;height:80px;min-width:80px;min-height:80px;border-radius:50%;background:var(--bg-light);overflow:hidden;border:3px solid var(--border)}
.author-avatar{width:100%;height:100%;object-fit:cover}
.author-details{display:flex;flex-direction:column;gap:6px}
.author-name{font-size:16px;font-weight:600;font-family:var(--font-body)}
.publish-date{font-size:14px;color:var(--text-muted);font-weight:500}
.recipe-rating{display:flex;flex-direction:column;align-items:flex-end;gap:10px;justify-self:end}
.stars{color:var(--accent);font-size:20px;display:flex;gap:4px}
.rating-text{font-size:15px;color:var(--text-light);font-weight:600;white-space:nowrap}

/* Actions */
.recipe-actions{padding:32px 0;background:#fff;border-bottom:1px solid var(--border)}
.actions-wrapper{display:flex;flex-wrap:wrap;gap:16px;max-width:900px;margin:0 auto}
.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 24px;height:52px;background:#fff;color:var(--text);border:2px solid var(--border);border-radius:26px;font-size:15px;font-weight:600;white-space:nowrap;transition:all var(--transition);box-shadow:var(--shadow-sm);font-family:var(--font-body)}
.action-btn:hover{background:var(--secondary);color:#fff;border-color:var(--secondary);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.action-btn svg{flex-shrink:0}

/* Hero & Images */
.hero-image{width:100%;max-width:100%;margin:0 0 56px;aspect-ratio:1/1;overflow:hidden;border-radius:20px;box-shadow:var(--shadow-lg)}
.hero-image img{width:100%;height:100%;object-fit:cover;display:block}

.process-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin:48px 0}
.process-image-item{width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:16px;box-shadow:var(--shadow-md)}
.process-image-item img{width:100%;height:100%;object-fit:cover}

.final-image{width:100%;max-width:600px;margin:48px auto;aspect-ratio:1/1;overflow:hidden;border-radius:20px;box-shadow:var(--shadow-lg)}
.final-image img{width:100%;height:100%;object-fit:cover}

/* Article */
.recipe-article{margin:0 0 56px}
.lead-paragraph{font-size:20px;line-height:1.8;padding:40px;background:linear-gradient(135deg,rgba(240,217,181,.25),rgba(246,230,211,.4));border-left:6px solid var(--accent);border-radius:0 16px 16px 0;margin:0 0 48px;font-weight:500;word-wrap:break-word}

.kitchen-needs,.perfect-pairings{margin:32px 0}
.kitchen-dot-item,.pairing-dot-item{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:24px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:20px;border-left:4px solid var(--accent);transition:transform .2s}
.kitchen-dot-item:hover,.pairing-dot-item:hover{transform:translateX(4px)}
.kitchen-dot,.pairing-dot{width:14px;height:14px;background:linear-gradient(135deg,var(--secondary),var(--accent));border-radius:50%;margin-top:6px;box-shadow:0 0 10px rgba(139,69,19,.3)}
.kitchen-content h5,.pairing-content h5{font-size:18px;font-weight:700;color:var(--secondary);margin:0 0 10px;font-family:var(--font-heading)}
.kitchen-content p,.pairing-content p{font-size:16px;color:var(--text-light);margin:0;line-height:1.7}
/* Recipe Card */
.recipe-card{background:#fff;padding:56px;border-radius:24px;box-shadow:var(--shadow-lg);margin:64px 0;max-width:100%;border-top:6px solid var(--secondary)}
.recipe-card-title{font-size:clamp(28px,4vw,40px);margin:0 0 20px;color:var(--secondary);font-family:var(--font-heading)}
.recipe-card-description{font-size:17px;color:var(--text-light);margin-bottom:32px}
.interaction-hint{font-size:14px;color:var(--text-muted);font-style:italic;margin-bottom:16px}
/* Times */
.recipe-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;padding:32px;background:var(--bg-light);border-radius:16px;margin:0 0 40px}
.time-item{display:flex;align-items:center;gap:16px;padding:24px;background:#fff;border-radius:12px;min-height:110px;box-shadow:var(--shadow-sm);transition:transform .2s}
.time-item:hover{transform:translateY(-4px)}
.time-item svg{color:var(--secondary);flex-shrink:0}
.time-info{display:flex;flex-direction:column}
.time-label{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:700;margin-bottom:8px}
.time-value{font-size:26px;font-weight:900;color:var(--primary);font-family:var(--font-heading)}
/* Meta Grid */
.recipe-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;padding:32px;background:var(--honey);border-radius:16px;margin:0 0 40px}
.meta-item{padding:20px;background:#fff;border-radius:10px;font-size:16px;box-shadow:var(--shadow-sm);font-family:var(--font-body)}
.meta-item strong{color:var(--secondary);font-weight:700}
.meta-item a{font-weight:600}
/* Ingredients */
.ingredients-list{background:var(--bg-light);padding:32px;border-radius:16px;margin:24px 0;list-style:none}
.ingredient-item{min-height:72px;padding:20px 28px;margin:0 0 16px;background:#fff;border-radius:12px;border:2px solid var(--border);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px;cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm)}
.ingredient-item:hover{transform:translateX(8px);box-shadow:var(--shadow-md);border-color:var(--secondary)}
.ingredient-item.completed{background:#f0f9f4;border-color:var(--sage)}
.ingredient-checkbox{width:36px;height:36px;min-width:36px;min-height:36px;border:3px solid var(--secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}
.ingredient-item.completed .ingredient-checkbox{background:var(--sage);border-color:var(--sage)}
.ingredient-text{font-size:17px;color:var(--text);font-weight:500;line-height:1.6;word-wrap:break-word;font-family:var(--font-body)}
.ingredient-item.completed .ingredient-text{text-decoration:line-through;color:var(--text-muted);opacity:.6}
.checkmark{color:#fff;font-weight:900;font-size:18px;opacity:0;transition:opacity var(--transition)}
.ingredient-item.completed .checkmark{opacity:1}
/* Instructions */
.instructions-list{background:var(--bg-light);padding:32px;border-radius:16px;margin:24px 0;list-style:none;counter-reset:step-counter}
.instruction-item{min-height:140px;padding:28px;margin:0 0 20px;background:#fff;border-radius:12px;border:2px solid var(--border);display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:24px;cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow-sm)}
.instruction-item:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:var(--accent)}
.instruction-item.completed{background:#f0f9f4;border-color:var(--sage)}
.step-number-badge{width:56px;height:56px;min-width:56px;min-height:56px;border-radius:50%;background:linear-gradient(135deg,var(--secondary),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:22px;box-shadow:0 6px 16px rgba(139,69,19,.3);font-family:var(--font-heading)}
.instruction-item.completed .step-number-badge{background:var(--sage)}
.step-content{flex:1}
.step-title{font-size:20px;font-weight:700;color:var(--primary);margin:0 0 14px;line-height:1.4;word-wrap:break-word;font-family:var(--font-heading)}
.instruction-item.completed .step-title{text-decoration:line-through;color:var(--text-muted);opacity:.7}
.step-description{font-size:16px;color:var(--text-light);line-height:1.8;word-wrap:break-word;font-family:var(--font-body)}
.instruction-item.completed .step-description{text-decoration:line-through;opacity:.6}
.step-checkbox{width:36px;height:36px;min-width:36px;min-height:36px;border:3px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}
.instruction-item.completed .step-checkbox{background:var(--sage);border-color:var(--sage)}
/* Nutrition */
.nutrition-facts{padding:40px;background:linear-gradient(135deg,var(--sage),#95a78e);color:#fff;border-radius:20px;margin:40px 0;box-shadow:var(--shadow-lg)}
.nutrition-facts h4{color:#fff;font-size:28px;text-align:center;margin:0 0 28px;font-family:var(--font-heading)}
.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px}
.nutrition-item{text-align:center;padding:24px;background:rgba(255,255,255,.2);border-radius:12px;backdrop-filter:blur(10px)}
.nutrition-label{font-size:14px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;display:block;margin-bottom:10px;font-family:var(--font-body)}
.nutrition-value{font-size:32px;font-weight:900;display:block;font-family:var(--font-heading)}
/* Notes & Tips */
.recipe-notes,.recipe-tips{padding:36px;background:var(--butter);border-radius:16px;margin:40px 0;box-shadow:var(--shadow-md);border-left:6px solid var(--accent)}
.recipe-notes h4,.recipe-tips h4{color:var(--secondary);font-size:24px;margin:0 0 24px;font-family:var(--font-heading)}
.recipe-notes ul,.recipe-tips ul{margin:0;padding-left:28px}
.recipe-notes li,.recipe-tips li{font-size:16px;color:var(--text);margin-bottom:14px;line-height:1.8;word-wrap:break-word}
/* FAQ */
.recipe-faq{margin:64px 0}
.recipe-faq h2{font-size:clamp(28px,4vw,40px);margin:0 0 40px;color:var(--secondary);text-align:center;font-family:var(--font-heading)}
.faq-container{max-width:900px}
.accordion-item{margin:0 0 20px;background:#fff;box-shadow:var(--shadow-sm);border-radius:12px;overflow:hidden;border:2px solid var(--border);transition:border-color .2s}
.accordion-item:hover{border-color:var(--accent)}
.accordion-header{margin:0}
.accordion-button{font-weight:700;font-size:17px;padding:24px 28px;border:none;background:#fff;color:var(--text);width:100%;text-align:left;cursor:pointer;word-wrap:break-word;font-family:var(--font-heading);position:relative;padding-right:60px}
.accordion-button::after{content:'+';position:absolute;right:28px;top:50%;transform:translateY(-50%);font-size:28px;font-weight:700;color:var(--secondary);transition:transform .3s}
.accordion-button:not(.collapsed)::after{transform:translateY(-50%) rotate(45deg)}
.accordion-button:not(.collapsed){background:var(--bg-light);color:var(--secondary)}
.accordion-body{font-size:16px;line-height:1.8;color:var(--text-light);padding:0 28px 24px;word-wrap:break-word;font-family:var(--font-body)}
.accordion-collapse{overflow:hidden;transition:all .3s ease}
.accordion-collapse.collapse{display:none}
.accordion-collapse.show{display:block}
/* Sidebar */
.sidebar{position:sticky;top:100px;height:fit-content}
.author-card{background:#fff;padding:32px;border-radius:20px;box-shadow:var(--shadow-lg);text-align:center;margin-bottom:32px;border-top:5px solid var(--secondary)}
.author-card-image{width:120px;height:120px;margin:0 auto 20px;border-radius:50%;overflow:hidden;border:4px solid var(--border);box-shadow:var(--shadow-md)}
.author-card-image img{width:100%;height:100%;object-fit:cover}
.author-card-name{font-size:24px;font-weight:700;color:var(--secondary);margin:0 0 16px;font-family:var(--font-heading)}
.author-card-bio{font-size:15px;color:var(--text-light);line-height:1.7;margin-bottom:24px}
.author-social{display:flex;gap:16px;justify-content:center}
.author-social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--bg-light);border-radius:50%;color:var(--secondary);transition:all .3s}
.author-social a:hover{background:var(--secondary);color:#fff;transform:translateY(-3px)}
.related-recipes{background:#fff;padding:32px;border-radius:20px;box-shadow:var(--shadow-md);border:1px solid var(--border)}
.related-recipes h3{font-size:22px;font-weight:700;color:var(--secondary);margin:0 0 24px;font-family:var(--font-heading)}
/* Mobile */
@media(max-width:768px){
body{padding-top:70px}
.content-grid{gap:32px}
.recipe-header{min-height:auto;padding:32px 0}
.recipe-header-content{padding:0 16px}
.recipe-title{font-size:28px}
.recipe-description{font-size:17px;padding:24px}
.recipe-meta-info{grid-template-columns:1fr;padding:24px;min-height:auto}
.author-info{justify-content:center}
.recipe-rating{align-items:center;justify-self:center;margin-top:20px}
.recipe-actions{padding:20px 0}
.actions-wrapper{flex-direction:column}
.action-btn{width:100%;height:48px}
.recipe-card{padding:28px 20px;margin:40px 0}
.recipe-times{grid-template-columns:1fr;padding:24px}
.recipe-meta-grid{grid-template-columns:1fr;padding:24px}
.instruction-item{grid-template-columns:auto 1fr;min-height:auto;padding:20px}
.step-checkbox{display:none}
.step-number-badge{width:48px;height:48px;font-size:20px}
.sidebar{position:static;top:auto}
.process-images{grid-template-columns:1fr;gap:24px}
}
@media(max-width:576px){
.container{padding:0 12px}
.recipe-card{padding:24px 16px}
.lead-paragraph{padding:28px;font-size:18px}
}
/* Print */
@media print{
.recipe-actions,.breadcrumb-nav,.navbar,.footer,.newsletter-section,.sidebar{display:none!important}
body{padding-top:0}
}