/*
Theme Name: Limited Recipes
Theme URI: https://limitedrecipes.com/
Author: Built for Limited Recipes
Author URI: https://limitedrecipes.com/
Description: A warm, editorial recipe theme for Limited Recipes — cream, deep teal and terracotta, with Fraunces + Inter typography. Faithful to the modern homepage design, with styled posts, pages, archives and search.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: limited-recipes
Tags: blog, food, recipes, two-columns, custom-logo, custom-menu, featured-images, full-width-template
*/

/* ===== Base resets so the theme owns the whole page ===== */
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #f8f4ea; }
img { height: auto; }

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500;1,9..144,600&family=Inter:wght@400;500;600;700&display=swap');

.lr {
  --bg:#f8f4ea; --card:#fdfbf4; --ink:#1f2b29; --muted:#6a7b76;
  --teal:#2f5d5b; --teal-dark:#244a48; --terra:#c4673b; --terra-dark:#a9542d;
  --border:#e7e0d3; --secondary:#efe9da;
  font-family:'Inter',system-ui,sans-serif; color:var(--ink);
  background:var(--bg); line-height:1.6; -webkit-font-smoothing:antialiased;
}
.lr *{box-sizing:border-box; margin:0; padding:0;}
.lr img{display:block; max-width:100%;}
.lr a{text-decoration:none; color:inherit;}
.lr h1,.lr h2,.lr h3,.lr h4{font-family:'Fraunces',Georgia,serif; line-height:1.1; letter-spacing:-.01em; font-weight:600;}
.lr .wrap{max-width:1180px; margin:0 auto; padding:0 24px;}
.lr .eyebrow{font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--terra);}
.lr svg{width:1em; height:1em;}

/* buttons */
.lr .btn{display:inline-flex; align-items:center; gap:8px; border-radius:999px; padding:14px 26px; font-size:.9rem; font-weight:600; cursor:pointer; border:none; transition:all .2s ease;}
.lr .btn-primary{background:var(--teal); color:var(--bg);}
.lr .btn-primary:hover{background:var(--teal-dark);}
.lr .btn-outline{background:transparent; color:var(--teal); border:1.5px solid rgba(47,93,91,.3);}
.lr .btn-outline:hover{background:var(--secondary);}
.lr .btn-accent{background:var(--terra); color:#fff;}
.lr .btn-accent:hover{transform:translateY(-2px); background:var(--terra-dark);}

/* header */
.lr-header{position:sticky; top:0; z-index:50; background:rgba(248,244,234,.88); backdrop-filter:blur(10px); border-bottom:1px solid var(--border);}
.lr-header .bar{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px; max-width:1180px; margin:0 auto;}
.lr-logo{font-family:'Fraunces',serif; font-size:1.6rem; font-weight:600;}
.lr-logo .a{color:var(--teal);} .lr-logo .b{color:var(--terra); font-style:italic;}
.lr-nav{display:flex; gap:4px;}
.lr-nav a{padding:8px 16px; border-radius:999px; font-size:.9rem; font-weight:500; color:rgba(31,43,41,.8); transition:all .2s;}
.lr-nav a:hover{background:var(--secondary); color:var(--teal);}
.lr-header .right{display:flex; align-items:center; gap:8px;}
.lr-iconbtn{width:40px; height:40px; display:grid; place-items:center; border-radius:999px; border:none; background:transparent; color:rgba(31,43,41,.7); cursor:pointer; font-size:1.25rem;}
.lr-iconbtn:hover{background:var(--secondary); color:var(--teal);}

/* hero */
.lr-hero{padding:56px 0 40px;}
.lr-hero .grid{display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:center;}
.lr-hero h1{font-size:clamp(2.6rem,5.5vw,4.4rem); margin:22px 0 0;}
.lr-hero h1 .it{font-style:italic; color:var(--terra);}
.lr-hero .lead{margin-top:22px; max-width:30em; font-size:1.12rem; color:var(--muted);}
.lr-hero .actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:30px;}
.lr-hero .stats{display:flex; align-items:center; gap:22px; margin-top:38px; font-size:.9rem; color:var(--muted);}
.lr-hero .stats strong{color:var(--ink);}
.lr-hero .stats .star{color:var(--terra);}
.lr-hero .divider{width:1px; height:16px; background:var(--border);}
.lr-hero-media{position:relative;}
.lr-hero-media>.frame{border-radius:32px; overflow:hidden; border:1px solid var(--border); box-shadow:0 30px 60px -30px rgba(31,43,41,.35);}
.lr-hero-media img{width:100%; aspect-ratio:4/5; object-fit:cover;}
.lr-badge{position:absolute; left:24px; bottom:-22px; display:flex; align-items:center; gap:12px; background:rgba(253,251,244,.96); backdrop-filter:blur(6px); border:1px solid var(--border); border-radius:18px; padding:12px 20px 12px 12px; box-shadow:0 14px 30px -16px rgba(31,43,41,.4);}
.lr-badge .ic{width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:var(--teal); color:var(--bg); font-size:1.3rem;}
.lr-badge strong{display:block; font-size:.92rem;}
.lr-badge span{font-size:.78rem; color:var(--muted);}

/* featured */
.lr-featured{margin-top:80px;}
.lr-featured .box{border-radius:32px; overflow:hidden; border:1px solid var(--border); background:var(--teal); color:var(--bg); display:grid; grid-template-columns:1fr 1fr;}
.lr-featured .media{position:relative; min-height:340px;}
.lr-featured .media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.lr-featured .body{padding:56px; display:flex; flex-direction:column; gap:22px; justify-content:center;}
.lr-featured .eyebrow2{align-self:flex-start; font-size:.72rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; border:1px solid rgba(248,244,234,.3); padding:6px 16px; border-radius:999px;}
.lr-featured h2{font-size:clamp(1.9rem,3.5vw,2.8rem); color:#fff;}
.lr-featured p{color:rgba(248,244,234,.82); max-width:30em;}
.lr-featured .meta{display:flex; gap:24px; font-size:.9rem; color:rgba(248,244,234,.85);}
.lr-featured .meta span{display:inline-flex; align-items:center; gap:8px;}

/* section heads */
.lr-sec{margin-top:96px;}
.lr-sec-head{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px;}
.lr-sec-head h2{font-size:clamp(2rem,4vw,3rem); margin-top:12px;}
.lr-sec-head .viewall{display:inline-flex; align-items:center; gap:8px; font-size:.9rem; font-weight:600; color:var(--teal);}
.lr-sec-head .viewall:hover{color:var(--terra);}
.lr-center{text-align:center;}

/* recipe grid */
.lr-grid{margin-top:40px; display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
.lr-card{display:flex; flex-direction:column; background:var(--card); border:1px solid var(--border); border-radius:18px; overflow:hidden; transition:box-shadow .25s ease, transform .25s ease;}
.lr-card:hover{box-shadow:0 20px 44px -24px rgba(31,43,41,.4); transform:translateY(-3px);}
.lr-card-media{position:relative; overflow:hidden;}
.lr-card-media img{width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .5s ease;}
.lr-card:hover .lr-card-media img{transform:scale(1.05);}
.lr-card-tag{position:absolute; left:12px; top:12px; background:rgba(253,251,244,.92); backdrop-filter:blur(4px); color:var(--teal); font-size:.72rem; font-weight:700; padding:5px 12px; border-radius:999px;}
.lr-card-body{display:flex; flex-direction:column; gap:10px; padding:22px; flex:1;}
.lr-card-body h3{font-size:1.28rem; transition:color .2s;}
.lr-card:hover .lr-card-body h3{color:var(--terra);}
.lr-card-body p{font-size:.9rem; color:var(--muted);}
.lr-card-meta{margin-top:auto; padding-top:6px; display:flex; align-items:center; gap:8px; font-size:.8rem; font-weight:500; color:var(--muted);}

/* categories */
.lr-cats{margin-top:40px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.lr-cat{position:relative; border-radius:18px; overflow:hidden; border:1px solid var(--border); display:block;}
.lr-cat img{width:100%; aspect-ratio:4/5; object-fit:cover; transition:transform .5s ease;}
.lr-cat:hover img{transform:scale(1.05);}
.lr-cat-overlay{position:absolute; inset:0; background:linear-gradient(to top, rgba(31,43,41,.85), rgba(31,43,41,.12) 55%, transparent);}
.lr-cat-text{position:absolute; inset:auto 0 0 0; padding:20px; color:#fff;}
.lr-cat-text h3{font-size:1.5rem; color:#fff;}
.lr-cat-text p{font-size:.85rem; color:rgba(255,255,255,.82);}

/* about */
.lr-about{margin-top:96px;}
.lr-about .box{display:grid; grid-template-columns:.85fr 1fr; gap:48px; align-items:center; background:rgba(239,233,218,.6); border:1px solid var(--border); border-radius:32px; padding:56px;}
.lr-about .photo{position:relative;}
.lr-about .photo .frame{border-radius:28px; overflow:hidden; border:1px solid var(--border);}
.lr-about .photo img{width:100%; aspect-ratio:4/5; object-fit:cover;}
.lr-about .heart{position:absolute; right:-16px; top:-16px; width:72px; height:72px; display:grid; place-items:center; border-radius:999px; background:var(--terra); color:#fff; font-size:1.8rem; box-shadow:0 14px 30px -14px rgba(31,43,41,.5);}
.lr-about h2{font-size:clamp(1.9rem,3.6vw,2.8rem); margin-top:12px;}
.lr-about p{margin-top:18px; color:var(--muted);}
.lr-about .row{display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:30px;}
.lr-about .social{display:flex; gap:10px;}
.lr-about .social a{width:44px; height:44px; display:grid; place-items:center; border-radius:999px; border:1px solid rgba(47,93,91,.25); color:var(--teal); font-size:1.2rem; transition:all .2s;}
.lr-about .social a:hover{background:var(--teal); color:#fff;}

/* newsletter */
.lr-news{margin-top:96px;}
.lr-news .box{background:var(--teal); color:var(--bg); border-radius:32px; padding:72px 24px; text-align:center;}
.lr-news .ic{width:56px; height:56px; margin:0 auto; display:grid; place-items:center; border-radius:999px; background:rgba(248,244,234,.12); font-size:1.5rem;}
.lr-news h2{font-size:clamp(2rem,4vw,3rem); color:#fff; margin:22px auto 0; max-width:16em;}
.lr-news p{margin:16px auto 0; max-width:34em; color:rgba(248,244,234,.82);}
.lr-news form{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:480px; margin:32px auto 0;}
.lr-news input{flex:1 1 240px; border-radius:999px; border:1px solid rgba(248,244,234,.25); background:rgba(248,244,234,.1); color:var(--bg); padding:14px 22px; font-size:.9rem; font-family:inherit;}
.lr-news input::placeholder{color:rgba(248,244,234,.55);}
.lr-news input:focus{outline:none; border-color:rgba(248,244,234,.5);}

/* footer */
.lr-footer{margin-top:96px; border-top:1px solid var(--border); background:rgba(239,233,218,.5);}
.lr-footer .inner{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding:56px 0;}
.lr-footer p.tag{margin-top:16px; max-width:24em; font-size:.9rem; color:var(--muted);}
.lr-footer .social{display:flex; gap:10px; margin-top:20px;}
.lr-footer .social a{width:40px; height:40px; display:grid; place-items:center; border-radius:999px; border:1px solid var(--border); color:var(--teal); font-size:1.1rem; transition:all .2s;}
.lr-footer .social a:hover{background:var(--teal); color:#fff;}
.lr-footer h4{font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-family:'Inter',sans-serif;}
.lr-footer ul{list-style:none; margin-top:16px; display:flex; flex-direction:column; gap:12px;}
.lr-footer ul a{font-size:.9rem; color:var(--muted);}
.lr-footer ul a:hover{color:var(--terra);}
.lr-footer .bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; border-top:1px solid var(--border); padding:24px 0; font-size:.85rem; color:var(--muted);}

/* responsive */
@media (max-width:900px){
  .lr-hero .grid{grid-template-columns:1fr;}
  .lr-hero-media{order:-1;}
  .lr-featured .box{grid-template-columns:1fr;}
  .lr-featured .body{padding:36px;}
  .lr-grid{grid-template-columns:repeat(2,1fr);}
  .lr-about .box{grid-template-columns:1fr; padding:32px;}
  .lr-footer .inner{grid-template-columns:1fr 1fr;}
  .lr-nav{display:none;}
}
@media (max-width:560px){
  .lr-grid{grid-template-columns:1fr;}
  .lr-cats{grid-template-columns:1fr 1fr;}
  .lr-footer .inner{grid-template-columns:1fr;}
}

/* =========================================================
   WORDPRESS CONTENT (posts, pages, archives, search)
   ========================================================= */
.lr .lr-page-head { text-align:center; padding:64px 0 8px; }
.lr .lr-page-head .eyebrow { display:block; margin-bottom:10px; }
.lr .lr-page-head h1 { font-size:clamp(2.2rem,4.5vw,3.4rem); }
.lr .lr-page-head p { margin-top:14px; color:var(--muted); max-width:42em; margin-inline:auto; }

/* Archive / blog / search grid reuse the recipe-card look */
.lr .lr-archive { margin-top:48px; }

/* Single post / page */
.lr .lr-single { max-width:760px; margin:0 auto; padding:56px 24px 0; }
.lr .lr-single .eyebrow { display:block; margin-bottom:12px; }
.lr .lr-single h1.entry-title { font-size:clamp(2.2rem,4.5vw,3.4rem); line-height:1.08; }
.lr .lr-meta { margin-top:16px; display:flex; flex-wrap:wrap; gap:16px; font-size:.85rem; color:var(--muted); }
.lr .lr-feat { margin:32px 0; border-radius:24px; overflow:hidden; border:1px solid var(--border); }
.lr .lr-feat img { width:100%; object-fit:cover; }
.lr .entry-content { font-size:1.06rem; line-height:1.8; color:#2c3a37; }
.lr .entry-content > * { margin-top:1.25em; }
.lr .entry-content h2 { font-size:1.9rem; margin-top:1.6em; }
.lr .entry-content h3 { font-size:1.45rem; margin-top:1.4em; }
.lr .entry-content a { color:var(--terra); text-decoration:underline; text-underline-offset:2px; }
.lr .entry-content img { border-radius:16px; }
.lr .entry-content blockquote { border-left:4px solid var(--terra); padding:4px 0 4px 20px; margin-left:0; color:var(--muted); font-style:italic; }
.lr .entry-content ul, .lr .entry-content ol { padding-left:1.4em; }
.lr .entry-content li { margin-top:.5em; }
.lr .entry-content code { background:var(--secondary); padding:2px 6px; border-radius:6px; font-size:.92em; }
.lr .entry-content pre { background:var(--teal-dark); color:var(--bg); padding:18px; border-radius:14px; overflow:auto; }
.lr .lr-tags { margin-top:36px; display:flex; flex-wrap:wrap; gap:8px; }
.lr .lr-tags a { font-size:.78rem; background:var(--secondary); color:var(--teal); padding:6px 14px; border-radius:999px; }
.lr .lr-postnav { max-width:760px; margin:48px auto 0; display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--border); padding-top:24px; font-size:.9rem; }
.lr .lr-postnav a { color:var(--teal); font-weight:600; }
.lr .lr-postnav a:hover { color:var(--terra); }

/* Pagination */
.lr .lr-pagination { margin:48px 0 0; display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
.lr .lr-pagination .page-numbers { display:grid; place-items:center; min-width:42px; height:42px; padding:0 12px; border-radius:999px; border:1px solid var(--border); color:var(--teal); font-size:.9rem; font-weight:600; }
.lr .lr-pagination .page-numbers.current { background:var(--teal); color:var(--bg); border-color:var(--teal); }
.lr .lr-pagination a.page-numbers:hover { background:var(--secondary); }

/* Comments (basic, tidy) */
.lr .lr-comments { max-width:760px; margin:56px auto 0; }
.lr .lr-comments h2 { font-size:1.6rem; }
.lr .lr-comments ol { list-style:none; padding:0; }
.lr .lr-comments .comment-body { border:1px solid var(--border); background:var(--card); border-radius:16px; padding:18px 20px; margin-top:16px; }
.lr .lr-comments input[type=text], .lr .lr-comments input[type=email], .lr .lr-comments input[type=url], .lr .lr-comments textarea { width:100%; border:1px solid var(--border); border-radius:12px; padding:12px 16px; font-family:inherit; margin-top:6px; background:var(--card); }
.lr .lr-comments .form-submit input { background:var(--teal); color:var(--bg); border:none; border-radius:999px; padding:12px 26px; font-weight:600; cursor:pointer; }

/* Custom logo sizing in header */
.lr .lr-header .custom-logo { max-height:54px; width:auto; display:block; }

/* WordPress core helpers */
.lr .screen-reader-text { position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; }
.lr .aligncenter { display:block; margin-inline:auto; }
.lr .alignright { float:right; margin:0 0 1em 1.5em; }
.lr .alignleft { float:left; margin:0 1.5em 1em 0; }
.lr .wp-caption { max-width:100%; }
.lr .wp-caption-text { font-size:.85rem; color:var(--muted); text-align:center; margin-top:8px; }
.lr .sticky, .lr .gallery-caption, .lr .bypostauthor { }

/* current menu item */
.lr .lr-nav .current-menu-item > a, .lr .lr-nav .current_page_item > a { background:var(--secondary); color:var(--teal); }
