/* ===== DIY Textil: Yarn Pop design layer (2026-10-11) =====
   Tokens follow the active Novamira design "DIY Textil Yarn Pop". */
@import url("fonts.css");

:root{
  --yp-bg:#FFFAEE; --yp-surface:#FFFFFF; --yp-ink:#1E2A4A; --yp-muted:#55607A;
  --yp-accent:#D93A24; --yp-accent-dark:#B82E1B; --yp-accent-bright:#FF6B4A;
  --yp-sun:#FFC83D; --yp-mint:#2EC4A0; --yp-sky:#5AA9F5; --yp-line:#F0E4CC;
  --yp-head:'Bricolage Grotesque',system-ui,-apple-system,'Segoe UI',sans-serif;
  --yp-body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  --yp-r-sm:10px; --yp-r:22px; --yp-pill:999px;
  --yp-shadow:0 14px 30px -14px rgba(30,42,74,.35);
  --yp-wave-sun:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10' viewBox='0 0 40 10'%3E%3Cpath d='M0 5 Q10 0 20 5 T40 5' fill='none' stroke='%23FFC83D' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E");
  --yp-wave-mint:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10' viewBox='0 0 40 10'%3E%3Cpath d='M0 5 Q10 0 20 5 T40 5' fill='none' stroke='%232EC4A0' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
html body{background:var(--yp-bg)!important;color:var(--yp-ink);}
body,body p,body li,body input,body button,body select,body textarea{font-family:var(--yp-body);}
body p,body li{font-size:18px;line-height:1.7;color:var(--yp-ink);}
body .wp-site-blocks{background:transparent;}
body h1,body h2,body h3,body h4,body .wp-block-post-title,body [class*="playfair-display-font-family"]{
  font-family:var(--yp-head)!important;font-weight:800;color:var(--yp-ink);letter-spacing:-.015em;line-height:1.12;}
body h3,body h4{font-weight:700;}
::selection{background:var(--yp-sun);color:var(--yp-ink);}
:focus-visible{outline:3px solid var(--yp-sky);outline-offset:3px;border-radius:6px;}
.wp-block-heading:empty,.wp-site-blocks p:empty,.wp-site-blocks p:has(> br:only-child){display:none;}
body a{color:var(--yp-accent);}
body .entry-content a:not(.dt-btn):not(.wp-block-button__link){
  color:var(--yp-accent);font-weight:600;text-decoration:underline;text-decoration-color:var(--yp-sun);
  text-decoration-thickness:3px;text-underline-offset:4px;}
body .entry-content a:not(.dt-btn):hover{text-decoration-color:var(--yp-accent);}
img{border-radius:var(--yp-r);}
.custom-logo,.wp-block-site-logo img{border-radius:0;}

/* ---------- Header ---------- */
header.wp-block-template-part{position:sticky;top:0;z-index:50;background:rgba(255,250,238,.92)!important;
  backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);}
body.admin-bar header.wp-block-template-part{top:32px;}
header.wp-block-template-part #sticky-header{display:none;}
header.wp-block-template-part > .alignwide{border-bottom:2px dashed var(--yp-line)!important;padding:6px 20px!important;align-items:center;max-width:1180px;margin-inline:auto;}
header .custom-logo{max-height:60px;width:auto;}
header .wp-block-navigation{font-family:var(--yp-body);}
header .wp-block-navigation .wp-block-navigation-item__content{color:var(--yp-ink)!important;font-weight:600;font-size:16px;
  padding:8px 14px!important;border-radius:var(--yp-pill);transition:background .2s;}
header .wp-block-navigation .wp-block-navigation-item__content:hover{background:#FFF0C7;text-decoration:none;}
header .wp-block-navigation__submenu-container{background:var(--yp-surface)!important;border:2px dashed var(--yp-line)!important;
  border-radius:16px!important;padding:8px!important;box-shadow:var(--yp-shadow);min-width:230px!important;}
header .wp-block-navigation__submenu-container .wp-block-navigation-item__content{display:block;}
header .wp-block-social-links .wp-social-link{color:var(--yp-accent)!important;}
@media (max-width:781px){body.admin-bar header.wp-block-template-part{top:46px;}}

/* ---------- Buttons ---------- */
body .wp-block-button__link,body .dt-btn{background:var(--yp-accent)!important;color:#fff!important;border:0!important;
  border-radius:var(--yp-pill)!important;font:700 17px/1 var(--yp-body)!important;padding:15px 28px!important;
  box-shadow:0 3px 0 var(--yp-accent-dark)!important;text-decoration:none!important;transition:transform .12s,box-shadow .12s,background .2s;}
body .wp-block-button__link:hover,body .dt-btn:hover{background:var(--yp-accent-dark)!important;}
body .wp-block-button__link:active,body .dt-btn:active{transform:translateY(3px);box-shadow:0 0 0 var(--yp-accent-dark)!important;}
body .is-style-outline .wp-block-button__link{background:transparent!important;color:var(--yp-ink)!important;
  border:2px solid var(--yp-ink)!important;box-shadow:none!important;}
body .is-style-outline .wp-block-button__link:hover{background:var(--yp-ink)!important;color:#fff!important;}

/* ---------- Homepage ---------- */
body.home main > .wp-block-group:first-child{padding-top:56px!important;padding-bottom:8px!important;}
body.home main > .wp-block-group:first-child h2{font-size:clamp(2rem,1.2rem + 3.2vw,3.6rem)!important;line-height:1.05!important;
  max-width:16ch;margin-inline:auto!important;text-align:center;}
body.home main > .wp-block-group:first-child h2::after{content:"";display:block;width:180px;height:12px;margin:18px auto 0;
  background:var(--yp-wave-sun) repeat-x center/40px 10px;}
body.home main h2.wp-block-heading{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.4rem);}

/* Post cards (query loop) */
body .wp-block-post-template.is-layout-grid{gap:26px!important;}
body .wp-block-post-template > li.wp-block-post{background:var(--yp-surface);border-radius:var(--yp-r);overflow:hidden;
  border-bottom:6px solid var(--yp-sun);box-shadow:0 1px 0 var(--yp-line);transition:transform .2s ease,box-shadow .2s ease;}
body .wp-block-post-template > li.wp-block-post:nth-child(3n+2){border-bottom-color:var(--yp-mint);}
body .wp-block-post-template > li.wp-block-post:nth-child(3n){border-bottom-color:var(--yp-sky);}
body .wp-block-post-template > li.wp-block-post:hover{transform:translateY(-3px);box-shadow:var(--yp-shadow);}
body .wp-block-post-template .wp-block-cover{min-height:360px!important;border-radius:0!important;}
body .wp-block-post-template .wp-block-cover img{border-radius:0;transition:transform .5s ease;}
body .wp-block-post-template > li:hover .wp-block-cover img{transform:scale(1.04);}
body .wp-block-post-template .wp-block-cover__background{background:linear-gradient(180deg,rgba(30,42,74,0) 40%,rgba(30,42,74,.82) 100%)!important;opacity:1!important;}
body .wp-block-post-template .wp-block-post-title{font-size:1.3rem!important;line-height:1.15!important;margin:0 0 6px!important;text-align:left;}
body .wp-block-post-template .wp-block-post-title a{color:#fff!important;text-decoration:none!important;}
body .wp-block-post-template .wp-block-cover__inner-container{padding:18px!important;}
body .wp-block-post-template .wp-block-post-date{font-size:14px;font-weight:600;opacity:.9;text-align:left;}

/* About section on homepage */
body.home .wp-block-columns .wp-block-cover:has(.wp-block-cover__inner-container p:empty:only-child){min-height:320px;border-radius:var(--yp-r);
  background:radial-gradient(circle at 30% 30%,var(--yp-sun) 0 22%,transparent 23%),radial-gradient(circle at 70% 65%,var(--yp-mint) 0 18%,transparent 19%),#FFF0C7;}

/* ---------- Single post ---------- */
body.single main h1.wp-block-post-title{font-size:clamp(2rem,1.3rem + 2.8vw,3.2rem)!important;line-height:1.06!important;
  max-width:20ch;margin:40px auto 8px!important;padding:0 20px;}
body.single .wp-block-column.has-white-background-color{background:transparent!important;}
body.single .wp-block-post-featured-image img{border-radius:var(--yp-r);box-shadow:var(--yp-shadow);}
body.single .entry-content{max-width:720px;margin-inline:auto;}
body.single .entry-content > *{max-width:68ch;}
body.single .entry-content h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);margin:2.2em 0 .7em;padding-bottom:14px;
  background:var(--yp-wave-sun) repeat-x left bottom/40px 10px;background-size:40px 10px;background-repeat:repeat-x;
  background-position:left bottom;display:inline-block;max-width:100%;}
body.single .entry-content h2:nth-of-type(2n){background-image:var(--yp-wave-mint);}
body.single .entry-content h3{font-size:1.3rem;margin:1.8em 0 .5em;}
body.single .entry-content ul{padding-left:0;list-style:none;}
body.single .entry-content ul > li{position:relative;padding-left:30px;margin:.45em 0;}
body.single .entry-content ul > li::before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:12px;border-radius:50%;
  background:var(--yp-mint);box-shadow:inset -3px -3px 0 rgba(30,42,74,.18);}
body.single .entry-content ol{padding-left:1.2em;}
body.single .entry-content ol > li::marker{color:var(--yp-accent);font-weight:800;font-family:var(--yp-head);}
body.single .entry-content blockquote{border:0;border-left:6px solid var(--yp-sky);background:var(--yp-surface);border-radius:0 var(--yp-r-sm) var(--yp-r-sm) 0;
  padding:16px 20px;margin:1.6em 0;font-style:normal;}
body.single .entry-content figure img,body.single .entry-content p > img{border-radius:var(--yp-r);}

/* Internal links and related projects */
body .diyt-inline{background:var(--yp-surface)!important;border:0!important;border-left:6px solid var(--yp-mint)!important;
  border-radius:0 var(--yp-r-sm) var(--yp-r-sm) 0!important;padding:14px 18px!important;font-size:17px;}
body .diyt-related{border-top:0!important;margin-top:3em!important;}
body .diyt-related h2{background:none!important;padding:0!important;display:block!important;font-size:1.7rem!important;}
body .diyt-related .diyt-item{background:var(--yp-surface);border-radius:18px;overflow:hidden;padding-bottom:12px;
  border-bottom:5px solid var(--yp-sun);transition:transform .2s;}
body .diyt-related .diyt-item:nth-child(2){border-bottom-color:var(--yp-mint);}
body .diyt-related .diyt-item:nth-child(3){border-bottom-color:var(--yp-sky);}
body .diyt-related .diyt-item:nth-child(4){border-bottom-color:var(--yp-accent-bright);}
body .diyt-related .diyt-item:hover{transform:translateY(-3px);}
body .diyt-related .diyt-item img{border-radius:0!important;margin-bottom:10px!important;}
body .diyt-related .diyt-item span{display:block;padding:0 12px;font-family:var(--yp-head);font-weight:700;color:var(--yp-ink);}
body .entry-content .diyt-related a{text-decoration:none!important;}
body .diyt-author{background:transparent!important;border:2px dashed var(--yp-mint);border-radius:var(--yp-r)!important;padding:20px 22px!important;}
body .diyt-author strong{font-family:var(--yp-head);font-size:1.15rem;}

/* ---------- Footer ---------- */
body footer.wp-block-template-part{background:var(--yp-ink);color:#E6EAF4;margin-top:64px;padding:36px 20px 28px;
  border-top:8px solid var(--yp-sun);}
body footer.wp-block-template-part p{color:#C9D0E2;font-size:15px;}
body footer.wp-block-template-part a,body footer .wp-block-navigation-item__content{color:#FFFFFF!important;font-weight:600;
  text-transform:none!important;letter-spacing:0!important;font-size:15px;}
body footer .wp-block-navigation-item__content:hover{color:var(--yp-sun)!important;}

/* ---------- Motion safety ---------- */
@media (prefers-reduced-motion:reduce){
  body *{transition:none!important;animation:none!important;}
  body .wp-block-post-template > li:hover .wp-block-cover img{transform:none;}
}
@media (max-width:781px){
  body p,body li{font-size:17px;}
  body .wp-block-post-template .wp-block-cover{min-height:300px!important;}
  body.home main > .wp-block-group:first-child{padding-top:32px!important;}
}
