/*
Theme Name: The Ultimate Chef
Theme URI: https://example.com/the-ultimate-chef
Author: The Ultimate Chef
Description: Bold, fearless recipe theme. Dark UI with a fiery red accent. Custom recipe meta (prep, cook, servings, difficulty), ingredients & instructions, plus Cuisine/Course/Diet taxonomies.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: tuc
*/

:root{
  --tuc-bg:#0e0e0e;
  --tuc-card:#1a1a1a;
  --tuc-border:#262626;
  --tuc-text:#f5f5f5;
  --tuc-muted:#a1a1a1;
  --tuc-primary:#c8102e;
  --tuc-primary-dark:#8a0a20;
  --tuc-primary-fg:#ffffff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--tuc-bg);color:var(--tuc-text);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--tuc-primary)}

.tuc-container{max-width:1200px;margin:0 auto;padding:0 20px}

.tuc-banner{background:rgba(200,16,46,.15);border-bottom:1px solid rgba(200,16,46,.3);text-align:center;font-size:12px;padding:8px 16px}
.tuc-banner strong{font-weight:700}

.tuc-header{position:sticky;top:0;z-index:50;background:#000;border-bottom:1px solid var(--tuc-border)}
.tuc-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}
.tuc-brand{display:flex;align-items:center;gap:12px}
.tuc-brand img{height:44px;width:44px;object-fit:contain}
.tuc-brand-title{font-family:'Playfair Display',Georgia,serif;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#fff;font-size:18px;line-height:1}
.tuc-brand-sub{display:block;font-family:'Inter',sans-serif;font-weight:600;font-size:10px;letter-spacing:.25em;color:var(--tuc-primary);margin-top:4px}

.tuc-nav{display:flex;align-items:center;gap:28px}
.tuc-nav a{color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding-bottom:4px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.tuc-nav a:hover,.tuc-nav .current-menu-item a,.tuc-nav .current_page_item a{border-color:var(--tuc-primary);color:var(--tuc-primary)}
@media (max-width:768px){.tuc-nav{display:none}}

/* Hero */
.tuc-hero{background:radial-gradient(ellipse at top,rgba(200,16,46,.25),transparent 60%),#0e0e0e;border-bottom:1px solid var(--tuc-border);text-align:center;padding:64px 20px}
.tuc-hero-badge{display:inline-block;background:var(--tuc-primary);color:var(--tuc-primary-fg);border-radius:9999px;padding:4px 16px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;margin-bottom:20px}
.tuc-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;color:#fff;font-size:clamp(48px,9vw,128px);line-height:.9;margin:0 0 16px;
  text-shadow:0 1px 0 #ccc,0 2px 0 #b3b3b3,0 3px 0 #8c8c8c,0 4px 0 #666,0 5px 0 #474747,0 6px 1px rgba(0,0,0,.3),0 0 5px rgba(0,0,0,.2),0 1px 3px rgba(0,0,0,.5),0 5px 10px rgba(0,0,0,.35);}
.tuc-hero h1 .tuc-accent{color:var(--tuc-primary);text-shadow:0 1px 0 #b22e44,0 2px 0 #8a1f33,0 3px 0 #631524,0 4px 0 #410c17,0 5px 0 #2b070f,0 6px 1px rgba(0,0,0,.55),0 8px 12px rgba(0,0,0,.45)}
.tuc-hero h1 .tuc-line{display:block}
.tuc-hero p{color:var(--tuc-muted);max-width:560px;margin:0 auto;font-size:18px}
.tuc-search{display:flex;gap:8px;max-width:420px;margin:24px auto 0}
.tuc-search input{flex:1;padding:12px 16px;border-radius:9999px;border:1px solid var(--tuc-border);background:var(--tuc-card);color:#fff;font-size:14px}
.tuc-search input::placeholder{color:var(--tuc-muted)}
.tuc-search button{background:var(--tuc-primary);color:var(--tuc-primary-fg);border:0;border-radius:9999px;padding:12px 20px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background .15s}
.tuc-search button:hover{background:var(--tuc-primary-dark)}

/* Recipe grid */
.tuc-grid{display:grid;gap:28px;padding:48px 0;grid-template-columns:1fr}
@media (min-width:640px){.tuc-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.tuc-grid{grid-template-columns:repeat(3,1fr)}}

.tuc-card{background:var(--tuc-card);border:1px solid var(--tuc-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;box-shadow:0 6px 24px rgba(0,0,0,.4)}
.tuc-card:hover{transform:translateY(-4px);border-color:var(--tuc-primary);box-shadow:0 10px 30px rgba(200,16,46,.25)}
.tuc-card-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#1f1f1f}
.tuc-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tuc-card:hover .tuc-card-image img{transform:scale(1.05)}
.tuc-card-tag{position:absolute;top:12px;left:12px;background:var(--tuc-primary);color:var(--tuc-primary-fg);border-radius:9999px;padding:4px 12px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.15em}
.tuc-card-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.tuc-card-title{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:20px;color:#fff;margin:0;line-height:1.2}
.tuc-card-title a:hover{color:var(--tuc-primary)}
.tuc-card-excerpt{color:var(--tuc-muted);font-size:14px;margin:0}
.tuc-card-meta{margin-top:auto;padding-top:12px;border-top:1px solid var(--tuc-border);display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--tuc-muted)}
.tuc-card-meta span{display:inline-flex;align-items:center;gap:6px}
.tuc-card-meta .tuc-icon{color:var(--tuc-primary)}

/* Single recipe */
.tuc-single{padding:48px 0}
.tuc-single h1{font-family:'Playfair Display',Georgia,serif;font-weight:900;text-transform:uppercase;color:#fff;font-size:clamp(36px,5vw,56px);margin:0 0 16px;line-height:1.05}
.tuc-single .tuc-cuisine-tag{display:inline-block;background:var(--tuc-primary);color:var(--tuc-primary-fg);border-radius:9999px;padding:4px 14px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;margin-bottom:16px}
.tuc-hero-image{aspect-ratio:21/9;border-radius:16px;overflow:hidden;background:#1f1f1f;margin:24px 0}
.tuc-hero-image img{width:100%;height:100%;object-fit:cover}

.tuc-recipe-layout{display:grid;gap:32px;grid-template-columns:1fr}
@media (min-width:900px){.tuc-recipe-layout{grid-template-columns:1fr 320px}}

.tuc-details-box{background:var(--tuc-card);border:1px solid var(--tuc-border);border-left:4px solid var(--tuc-primary);border-radius:12px;padding:20px}
.tuc-details-box h3{font-family:'Playfair Display',Georgia,serif;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#fff;margin:0 0 14px;font-size:18px}
.tuc-details-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--tuc-border);font-size:14px}
.tuc-details-row:last-child{border:0}
.tuc-details-row .tuc-label{color:var(--tuc-muted);text-transform:uppercase;font-size:11px;letter-spacing:.1em;font-weight:700}
.tuc-details-row .tuc-value{color:#fff;font-weight:600}

.tuc-section-title{font-family:'Playfair Display',Georgia,serif;font-weight:800;text-transform:uppercase;color:#fff;font-size:24px;margin:32px 0 12px;border-bottom:2px solid var(--tuc-primary);display:inline-block;padding-bottom:6px}

.tuc-ingredients{list-style:none;padding:0;margin:0}
.tuc-ingredients li{padding:10px 0;border-bottom:1px solid var(--tuc-border);position:relative;padding-left:22px;color:var(--tuc-text);font-size:15px}
.tuc-ingredients li::before{content:"";width:8px;height:8px;background:var(--tuc-primary);border-radius:9999px;position:absolute;left:0;top:18px}

.tuc-instructions{list-style:none;counter-reset:step;padding:0;margin:0}
.tuc-instructions li{counter-increment:step;display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--tuc-border);font-size:15px;line-height:1.6}
.tuc-instructions li::before{content:counter(step);flex:0 0 32px;height:32px;background:var(--tuc-primary);color:var(--tuc-primary-fg);border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}

.tuc-prose p{font-size:16px;color:var(--tuc-text);margin:0 0 16px}

/* Footer */
.tuc-footer{background:#000;border-top:3px solid var(--tuc-primary);margin-top:64px;padding:48px 20px}
.tuc-footer-grid{max-width:1200px;margin:0 auto;display:grid;gap:32px;grid-template-columns:1fr}
@media (min-width:768px){.tuc-footer-grid{grid-template-columns:2fr 1fr}}
.tuc-footer h3{font-family:'Playfair Display',Georgia,serif;font-weight:900;text-transform:uppercase;color:#fff;font-size:24px;margin:0 0 8px}
.tuc-footer p{color:#d9d9d9;font-size:14px;margin:2px 0}
.tuc-footer ul{list-style:none;padding:0;margin:0;font-size:14px;color:#d9d9d9}
.tuc-footer ul li{margin-bottom:8px}
.tuc-footer-bottom{max-width:1200px;margin:32px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);text-align:center;font-size:12px;color:rgba(255,255,255,.6)}

/* WP core align */
.alignleft{float:left;margin:0 16px 16px 0}
.alignright{float:right;margin:0 0 16px 16px}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.screen-reader-text{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
