/* tt-personalize rows. Append to tattitude.css when integrating (≈0.6 KB).
   Height is reserved BEFORE JS runs so rows never push content down (CLS 0):
   - product/cart rows always render -> always reserve;
   - home "picked"/"recent" only for returning visitors: an inline <head> snippet adds
     html.tt-p when localStorage.tt_prefs exists (see docs/personalization.md §5). */
[data-tt-rec]{margin:2.5rem auto;max-width:1200px;padding:0 1rem}
[data-tt-rec=picked],[data-tt-rec=recent]{display:none}
.tt-p [data-tt-rec=picked],.tt-p [data-tt-rec=recent]{display:block}
[data-tt-rec=similar],[data-tt-rec=complete],.tt-p [data-tt-rec=picked]{min-height:var(--tt-row-h,390px)}
.tt-p [data-tt-rec=recent]{min-height:var(--tt-recent-h,210px)}
[data-tt-rec][hidden]{display:none!important}
.tt-h{font-size:1.6rem;margin:0 0 .25rem}
.tt-sub{margin:0 0 1rem;color:var(--wp--preset--color--muted,#5E5862);font-size:.95rem}
.tt-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
[data-tt-rec=recent] .tt-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}
[data-tt-rec=recent] .tt-pr{display:none}
.tt-card a{display:block;color:inherit;text-decoration:none}
.tt-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#F1E9DD}
.tt-n{display:block;margin-top:.5rem;font-size:.95rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tt-pr{display:block;font-weight:600;margin-top:.2rem}
@media (max-width:700px){
 .tt-row,[data-tt-rec=recent] .tt-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:44%;overflow-x:auto;scroll-snap-type:x mandatory;gap:.9rem}
 [data-tt-rec=recent] .tt-row{grid-auto-columns:30%}
 .tt-card{scroll-snap-align:start}
 [data-tt-rec=similar],[data-tt-rec=complete],.tt-p [data-tt-rec=picked]{min-height:var(--tt-row-h-m,300px)}
 .tt-p [data-tt-rec=recent]{min-height:var(--tt-recent-h-m,190px)}
}
