/*
Theme Name: Yarnberry Patterns
Theme URI: https://example.com/
Author: Yarnberry Patterns
Description: A responsive, editorial crochet patterns and amigurumi blog theme.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: yarnberry-studio
*/
:root{
 --yb-cream:#fff9f5;--yb-blush:#fbdde6;--yb-rose:#e58aa7;--yb-berry:#6e2a57;
 --yb-ink:#352a30;--yb-muted:#75666d;--yb-line:#eadde1;--yb-white:#fff;
 --yb-serif:Georgia,"Times New Roman",serif;--yb-sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--yb-cream);color:var(--yb-ink);font-family:var(--yb-sans);font-size:16px;line-height:1.7}
a{color:var(--yb-berry);text-decoration:none}
a:hover{color:#52263a}
img{max-width:100%;height:auto;display:block}
button,input{font:inherit}
.yb-container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.yb-topline{background:var(--yb-berry);color:#fff;text-align:center;padding:8px 12px;font-size:12px;letter-spacing:.08em}
.yb-header{background:rgba(255,248,245,.96);border-bottom:1px solid var(--yb-line)}
.yb-header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.yb-brand{font-family:var(--yb-serif);font-size:clamp(27px,3vw,38px);line-height:1.1;color:var(--yb-berry);font-weight:700;letter-spacing:-.04em}
.yb-tagline{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--yb-muted);margin-top:7px}
.yb-nav ul{display:flex;gap:22px;align-items:center;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.yb-nav a{font-size:13px;font-weight:700;color:var(--yb-ink)}
.yb-nav a:hover{color:var(--yb-rose)}
.yb-menu-toggle{display:none;background:transparent;border:1px solid var(--yb-line);padding:8px 12px;border-radius:4px}
.yb-hero{padding:58px 0 52px}
.yb-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:54px}
.yb-eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--yb-berry);font-size:11px;font-weight:700}
.yb-hero h1{font-family:var(--yb-serif);font-size:clamp(42px,5vw,68px);line-height:1.04;letter-spacing:-.045em;font-weight:500;margin:18px 0}
.yb-hero p{max-width:510px;color:var(--yb-muted);font-size:17px}
.yb-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.yb-button{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;background:var(--yb-berry);color:#fff;border:1px solid var(--yb-berry);border-radius:3px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.yb-button:hover{background:#52263a;color:#fff}
.yb-button-outline{background:transparent;color:var(--yb-berry)}
.yb-button-outline:hover{background:var(--yb-blush);color:var(--yb-berry)}
.yb-hero-image{min-height:420px;border-radius:48% 48% 4px 4px;overflow:hidden;background:var(--yb-blush);position:relative}
.yb-hero-image img{width:100%;height:100%;min-height:420px;object-fit:cover}
.yb-image-placeholder{display:grid;place-items:center;text-align:center;padding:30px;min-height:420px;color:var(--yb-berry);font-family:var(--yb-serif);font-size:28px;background:linear-gradient(145deg,#f4dde4,#fff1eb)}
.yb-section{padding:55px 0}
.yb-section-tint{background:#fff}
.yb-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}
.yb-section-head h2,.yb-page-title{font-family:var(--yb-serif);font-size:clamp(32px,4vw,46px);font-weight:500;line-height:1.1;letter-spacing:-.03em;margin:8px 0}
.yb-section-head p{margin:0;color:var(--yb-muted);max-width:480px}
.yb-text-link{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;white-space:nowrap}
.yb-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.yb-card{min-width:0}
.yb-card-image{aspect-ratio:4/3;background:var(--yb-blush);overflow:hidden}
.yb-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.yb-card:hover .yb-card-image img{transform:scale(1.035)}
.yb-card-placeholder{height:100%;min-height:180px;display:grid;place-items:center;padding:18px;text-align:center;color:var(--yb-berry);font-family:var(--yb-serif);font-size:23px}
.yb-card-meta{margin-top:17px;color:var(--yb-berry);font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.yb-card h3{font-family:var(--yb-serif);font-size:25px;line-height:1.2;font-weight:500;margin:8px 0}
.yb-card p{font-size:14px;color:var(--yb-muted);margin:0}
.yb-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.yb-category{background:var(--yb-blush);padding:28px 24px;min-height:155px;display:flex;flex-direction:column;justify-content:end}
.yb-category:nth-child(2){background:#f8e9df}.yb-category:nth-child(3){background:#e9e4ef}
.yb-category span{font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.yb-category h3{font-family:var(--yb-serif);font-size:28px;font-weight:500;margin:5px 0 0}
.yb-about-strip{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center}
.yb-about-art{background:var(--yb-blush);min-height:250px;display:grid;place-items:center;font-family:var(--yb-serif);font-size:34px;color:var(--yb-berry);text-align:center;padding:20px}
.yb-about-copy h2{font-family:var(--yb-serif);font-size:40px;font-weight:500;line-height:1.1;margin:10px 0}
.yb-about-copy p{color:var(--yb-muted)}
.yb-newsletter{background:var(--yb-blush);padding:44px 24px;text-align:center}
.yb-newsletter h2{font-family:var(--yb-serif);font-size:36px;font-weight:500;margin:0 0 8px}
.yb-newsletter p{color:var(--yb-muted);margin:0 auto 18px;max-width:560px}
.yb-footer{background:#35282d;color:#fff;padding:42px 0 20px}
.yb-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
.yb-footer .yb-brand{color:#fff}.yb-footer p,.yb-footer a{color:#e8dadd;font-size:13px}
.yb-footer h3{font-family:var(--yb-serif);font-size:22px;font-weight:500;margin-top:0}
.yb-footer ul{list-style:none;margin:0;padding:0}.yb-footer li{margin:6px 0}
.yb-footer-bottom{border-top:1px solid #604c53;margin-top:28px;padding-top:16px;font-size:11px;color:#d4c5c9}
.yb-content-wrap{padding:48px 0 70px}
.yb-post-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:54px;justify-content:center}
.yb-entry-header{margin-bottom:28px}
.yb-entry-title{font-family:var(--yb-serif);font-size:clamp(36px,5vw,56px);font-weight:500;line-height:1.08;letter-spacing:-.035em;margin:12px 0}
.yb-entry-meta{font-size:12px;color:var(--yb-muted)}
.yb-featured img{width:100%;max-height:600px;object-fit:cover}
.yb-entry-content{font-size:17px;line-height:1.85}
.yb-entry-content h2,.yb-entry-content h3{font-family:var(--yb-serif);font-weight:500;line-height:1.2;margin-top:1.7em}
.yb-entry-content h2{font-size:34px}.yb-entry-content h3{font-size:26px}
.yb-entry-content blockquote{border-left:3px solid var(--yb-rose);margin:25px 0;padding:8px 20px;color:var(--yb-muted)}
.yb-sidebar{background:#fff;padding:24px;height:max-content}
.yb-sidebar h2{font-family:var(--yb-serif);font-weight:500;font-size:25px;margin-top:0}
.yb-search-form{display:flex;gap:6px}.yb-search-form input{width:100%;min-width:0;padding:10px;border:1px solid var(--yb-line)}
.yb-search-form button{border:0;background:var(--yb-berry);color:#fff;padding:0 12px}
.yb-pagination{margin-top:35px}
.yb-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.yb-pagination a,.yb-pagination span{padding:8px 12px;border:1px solid var(--yb-line)}
.yb-pagination .current{background:var(--yb-berry);color:#fff}
.yb-404{text-align:center;padding:80px 20px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){
 .yb-header-inner{min-height:80px;flex-wrap:wrap;padding:16px 0}
 .yb-menu-toggle{display:block}
 .yb-nav{display:none;width:100%;padding:10px 0}
 .yb-nav.is-open{display:block}
 .yb-nav ul{flex-direction:column;align-items:flex-start;gap:12px}
 .yb-hero-grid{grid-template-columns:1fr;gap:28px}
 .yb-hero{padding-top:36px}.yb-hero-image,.yb-hero-image img,.yb-image-placeholder{min-height:300px}
 .yb-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .yb-post-layout{grid-template-columns:1fr;gap:28px}
 .yb-sidebar{order:2}
}
@media(max-width:560px){
 .yb-container{width:min(100% - 28px,1160px)}
 .yb-card-grid,.yb-categories,.yb-about-strip,.yb-footer-grid{grid-template-columns:1fr}
 .yb-section{padding:38px 0}
 .yb-section-head{align-items:flex-start;flex-direction:column}
 .yb-card h3{font-size:23px}
 .yb-hero h1{font-size:44px}
 .yb-about-copy h2{font-size:34px}
}


/* Yarnberry Patterns homepage refresh (v1.1.0) */
.yb-topline{background:var(--yb-berry);font-size:11px;letter-spacing:.12em}
.yb-header{background:rgba(255,249,245,.97);position:relative;z-index:5}
.yb-header-inner{min-height:88px}
.yb-brand{font-size:clamp(26px,2.7vw,36px);letter-spacing:-.035em}
.yb-tagline{letter-spacing:.12em}
.yb-nav ul{gap:clamp(12px,1.8vw,24px)}
.yb-nav a{font-size:12px;letter-spacing:.035em}
.yb-hero{padding:54px 0 64px}
.yb-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(28px,5vw,68px)}
.yb-hero-copy{max-width:560px}
.yb-hero h1{font-size:clamp(42px,5.3vw,72px);line-height:1.02;letter-spacing:-.05em;margin:16px 0 20px}
.yb-hero p{font-size:17px;line-height:1.8;max-width:480px}
.yb-button{padding:14px 21px;border-radius:2px;transition:transform .2s ease,background .2s ease}
.yb-button:hover{transform:translateY(-1px)}
.yb-hero-image{min-height:450px;border-radius:46% 46% 5px 5px;box-shadow:0 18px 55px rgba(110,42,87,.09)}
.yb-hero-image img{min-height:450px}
.yb-hero-art{height:100%;min-height:450px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:30px;background:radial-gradient(circle at 70% 25%,#fffaf6 0 12%,transparent 12.5%),radial-gradient(circle at 67% 30%,#e58aa7 0 18%,transparent 18.5%),radial-gradient(circle at 42% 54%,#d9c8f0 0 22%,transparent 22.5%),radial-gradient(circle at 67% 70%,#b7cdb4 0 21%,transparent 21.5%),linear-gradient(140deg,#fbdde6 0%,#fff1e9 52%,#eadff2 100%)}
.yb-hero-art:before{content:"";position:absolute;width:170px;height:170px;left:10%;top:13%;border-radius:50%;background:repeating-radial-gradient(circle at 45% 45%,#fff7f0 0 5px,#e8b2c5 6px 10px);opacity:.92;box-shadow:0 18px 35px rgba(110,42,87,.12)}
.yb-hero-art:after{content:"";position:absolute;width:140px;height:140px;right:9%;top:12%;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#fff8f1 0 5px,#c8b5e2 6px 10px);opacity:.92}
.yb-hero-art-label{position:relative;z-index:1;max-width:245px;padding:18px 20px;background:rgba(255,249,245,.9);color:var(--yb-berry);font:italic 25px/1.15 var(--yb-serif);box-shadow:0 10px 30px rgba(53,42,48,.08)}
.yb-section{padding:64px 0}
.yb-section-tint{background:#fff}
.yb-section-head{margin-bottom:30px}
.yb-section-head h2,.yb-page-title{font-size:clamp(32px,3.8vw,46px)}
.yb-card-grid{gap:30px}
.yb-card{padding-bottom:4px}
.yb-card-image{aspect-ratio:4/3;border-radius:2px;background:linear-gradient(135deg,#fbdde6,#fff1e9)}
.yb-card-placeholder{min-height:210px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.9),transparent 38%),linear-gradient(135deg,#fbdde6,#f8e9df 60%,#e9e4ef);font-size:22px}
.yb-card-meta{margin-top:16px}
.yb-card h3{font-size:25px}
.yb-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.yb-category{position:relative;isolation:isolate;min-height:245px;padding:22px;overflow:hidden;background:linear-gradient(145deg,#fbdde6,#f8e9df);transition:transform .2s ease}
.yb-category:hover{transform:translateY(-3px);color:var(--yb-berry)}
.yb-category:before{content:"";position:absolute;z-index:-1;width:180px;height:180px;border-radius:50%;right:-25px;top:-28px;background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.9) 0 5px,rgba(229,138,167,.28) 6px 10px)}
.yb-category:nth-child(2){background:linear-gradient(145deg,#fff1e9,#fbdde6)}
.yb-category:nth-child(2):before{background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.9) 0 5px,rgba(183,205,148,.45) 6px 10px)}
.yb-category:nth-child(3){background:linear-gradient(145deg,#e9e4ef,#fbdde6)}
.yb-category:nth-child(3):before{background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.9) 0 5px,rgba(217,200,240,.8) 6px 10px)}
.yb-category-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.88}
.yb-category:after{content:"";position:absolute;inset:35% 0 0;z-index:-1;background:linear-gradient(transparent,rgba(255,249,245,.97))}
.yb-category span{font-size:10px;color:var(--yb-berry);letter-spacing:.12em}
.yb-category h3{font-size:clamp(23px,2.2vw,29px);color:var(--yb-ink);max-width:240px}
.yb-about-strip{gap:clamp(28px,5vw,60px)}
.yb-about-art{position:relative;min-height:300px;background:radial-gradient(circle at 30% 30%,#fff7f0 0 13%,transparent 13.5%),radial-gradient(circle at 65% 58%,#d9c8f0 0 19%,transparent 19.5%),radial-gradient(circle at 35% 70%,#b7cdb4 0 20%,transparent 20.5%),linear-gradient(145deg,#fbdde6,#fff1e9);font-size:clamp(28px,3vw,38px);line-height:1.15}
.yb-about-copy h2{font-size:clamp(34px,4vw,46px)}
.yb-newsletter{background:linear-gradient(120deg,#fbdde6,#fff1e9 65%,#e9e4ef);padding:clamp(32px,5vw,56px) 24px}
.yb-newsletter h2{font-size:clamp(30px,3.8vw,42px)}
.yb-footer{background:#352a30}
@media(max-width:850px){
 .yb-hero-grid{grid-template-columns:1fr;gap:30px}
 .yb-hero-copy{max-width:700px}
 .yb-hero-image,.yb-hero-image img,.yb-hero-art{min-height:350px}
 .yb-categories{grid-template-columns:repeat(3,minmax(0,1fr))}
 .yb-category{min-height:210px}
}
@media(max-width:620px){
 .yb-container{width:min(100% - 30px,1160px)}
 .yb-hero{padding:34px 0 42px}
 .yb-hero h1{font-size:clamp(39px,11vw,52px)}
 .yb-hero p{font-size:16px}
 .yb-hero-image,.yb-hero-image img,.yb-hero-art{min-height:300px}
 .yb-hero-art:before{width:125px;height:125px}
 .yb-hero-art:after{width:110px;height:110px}
 .yb-section{padding:42px 0}
 .yb-card-grid{grid-template-columns:1fr}
 .yb-card-image{aspect-ratio:5/3}
 .yb-categories{grid-template-columns:1fr}
 .yb-category{min-height:190px}
 .yb-about-art{min-height:220px}
 .yb-newsletter{padding:34px 18px}
}
