/* Floozy Lou's — farmhouse brand theme
   Palette sampled from Miranda's logo & banners: deep teal script ink,
   weathered teal wood, rust hearts, sunflower gold, cream distressed wood. */
:root{
  --cream:#FFFFFF; --paper:#FFFFFF; --ink:#23231F;
  --teal-deep:#103641; --teal:#1F5E6F; --teal-weathered:#CEDFD7;
  --rust:#1F5E6F; --rust-dark:#103641; --sun:#1F5E6F;
  --sage:#CEDFD7; --line:#DEEDEF; --radius:16px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);
  font-family:'Nunito',Verdana,sans-serif;line-height:1.65}
a{color:var(--teal-deep)}
img{max-width:100%}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}

/* buffalo-check ribbon under the header, straight off her banners */
.checkstrip{height:12px;opacity:.9;
  background:
   repeating-conic-gradient(#11100e 0% 25%, #ffffff 0% 50%);
  background-size:24px 24px}
header.site{background:var(--paper);border-bottom:3px solid var(--teal-deep)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:88px;height:88px;border-radius:50%;border:2px solid var(--teal-weathered)}
.wordmark{font-family:'Dancing Script',cursive;font-size:2.6rem;line-height:1;color:var(--teal-deep)}
.wordmark small{display:block;font-family:'Nunito',sans-serif;font-size:.68rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--rust);font-weight:700;margin-top:3px}
.nav nav a{margin-left:18px;text-decoration:none;color:var(--teal-deep);font-weight:700;font-size:.98rem}
.nav nav a:hover{color:var(--rust)}

.hero{padding:8px 0 8px;text-align:center}
.hero .banner{border-radius:18px;border:3px solid #fff;box-shadow:0 8px 28px rgba(16,54,65,.18);width:100%}
.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:2.5rem;line-height:1.15;margin:6px 0 10px;color:var(--teal-deep)}
.hero h1 .heart{color:var(--rust)}
.hero p{font-size:1.15rem;color:#4c5652;max-width:640px;margin:0 auto 22px}
.btn{display:inline-block;background:var(--teal-deep);color:#fff;text-decoration:none;
  padding:13px 30px;border-radius:999px;font-size:1.15rem;font-weight:700;border:none;cursor:pointer;
  box-shadow:0 3px 0 #081F24}
.btn:hover{background:var(--teal)}
.btn.secondary{background:var(--teal-deep);box-shadow:0 3px 0 #081F24}
.btn.secondary:hover{background:var(--teal)}
.btn.gold{background:var(--teal-deep);color:#fff;box-shadow:0 3px 0 #081F24}
.btn.gold:hover{background:var(--teal)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;padding:26px 0}
.card{background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--teal);
  border-radius:var(--radius);padding:22px;overflow:hidden}
.card.accent-rust{border-top-color:var(--rust)}
.card.accent-sun{border-top-color:var(--sun)}
.card.accent-sage{border-top-color:var(--sage)}
.card h3{margin-top:0;font-family:'Playfair Display',Georgia,serif;font-size:1.3rem;color:var(--teal-deep)}
.card p{color:#4c5652}
.card .cardimg{margin:-22px -22px 16px;width:calc(100% + 44px);max-width:none;display:block}
h2.section{font-family:'Playfair Display',Georgia,serif;font-size:1.8rem;margin:30px 0 6px;color:var(--teal-deep)}
h2.section .heart{color:var(--rust);font-size:1.3rem}
.post-list{display:grid;gap:18px;padding:12px 0 30px}
.post-card{background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--sun);
  border-radius:var(--radius);padding:22px}
.post-card h3{margin:4px 0 8px;font-family:'Playfair Display',Georgia,serif;font-size:1.4rem}
.post-card h3 a{text-decoration:none;color:var(--teal-deep)}
.post-card h3 a:hover{color:var(--rust)}
.meta{color:var(--rust);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.post-card p{color:#4c5652;margin:6px 0 0}
.shopband{margin:2px 0 2px;text-align:center}
.shopband img{border-radius:18px;border:3px solid #fff;box-shadow:0 8px 28px rgba(16,54,65,.18);width:100%}
.shopband a{display:block}
article.post{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  padding:34px;margin:30px 0}
article.post h1{font-family:'Playfair Display',Georgia,serif;font-size:2.1rem;line-height:1.2;margin:6px 0 10px;color:var(--teal-deep)}
article.post p{font-size:1.06rem}
.tag{display:inline-block;background:#DEEDEF;color:var(--teal-deep);border-radius:999px;
  padding:2px 12px;font-size:.85rem;font-weight:700;margin-right:6px}
footer.site{background:var(--teal-deep);margin-top:44px;padding:28px 0 38px;
  color:#DEEDEF;text-align:center;font-size:.95rem}
footer.site a{color:#FFFFFF;text-decoration:none;font-weight:700}
footer.site .heart{color:#CEDFD7}
.freebie{background:var(--teal-deep);border-radius:var(--radius);color:#FFFFFF;
  padding:30px 28px;margin:6px 0 30px;text-align:center;border:3px solid var(--teal-weathered)}
.freebie h2{font-family:'Playfair Display',Georgia,serif;margin:0 0 8px;font-size:1.7rem;color:#fff}
.freebie h2 .heart{color:#fff}
.freebie p{max-width:560px;margin:0 auto 18px;color:#DEEDEF}
.freebie .btn{background:#FFFFFF;color:var(--teal-deep);box-shadow:0 3px 0 #CEDFD7}
.freebie .btn:hover{background:#DEEDEF}
.tagline{font-size:1.3rem !important;font-weight:700;color:var(--teal-deep) !important;max-width:680px !important}
.aboutshops{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:20px 0}
.usage{font-weight:700;color:var(--teal-deep);font-size:.95rem}
.hero .banner.slim{max-width:680px;margin:0 auto;display:block}
.aboutshops .card{display:flex;flex-direction:column}
.aboutshops .card p:last-child{margin-top:auto;padding-top:12px}
.aboutshops .card .btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:80px}
.shopspot{background:#DEEDEF;border:2px solid var(--teal-weathered);border-radius:var(--radius);
  padding:28px;text-align:center;margin:6px 0 30px}
.shopspot h2{font-family:'Playfair Display',Georgia,serif;margin:0 0 8px;font-size:1.7rem;color:var(--teal-deep)}
.shopspot h2 .heart{color:var(--teal)}
.shopspot p{max-width:620px;margin:0 auto 18px;color:#3C4A45}
.freebie .duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;margin-top:8px}
.freebie .duo h3{font-family:'Playfair Display',Georgia,serif;font-size:1.3rem;margin:0 0 6px;color:#fff}
.freebie .duo p{margin:0 auto 16px}
.blogcta{text-align:center;margin:2px 0 26px}
/* post order buttons: compact so the label fits one line on mobile */
article.post .btn{font-size:1.05rem;padding:11px 22px;white-space:nowrap;max-width:100%}

.center-post{text-align:center}
.center-post .card{text-align:center}
.center-post ul{display:inline-block;text-align:left}
@media (max-width:560px){ .hero h1{font-size:1.9rem} .wordmark{font-size:1.9rem} .brand img{width:64px;height:64px} article.post{padding:24px 18px} article.post .btn{font-size:.98rem;padding:10px 16px} }

/* whole-card links: no underlines */
a.card{text-decoration:none;color:inherit}

.freebie .duo>div{display:flex;flex-direction:column}
.freebie .duo .btn{margin-top:auto;align-self:center}

/* shop card faces (About / Explore My Shops) */
.card h3 .shopface{width:46px;height:46px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px;border:2px solid var(--teal)}

/* blog index post rows: graphic on the left, title + excerpt beside it
   (scoped to .post-rows so the homepage keeps its .post-card list) */
.post-rows{display:grid;gap:18px;padding:12px 0 30px}
a.post-row{display:flex;flex-direction:row;gap:18px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);
  border-left:5px solid var(--sun);border-radius:var(--radius);padding:16px;text-decoration:none;color:inherit}
a.post-row:hover{border-color:var(--teal-weathered);box-shadow:0 4px 14px rgba(16,54,65,.10)}
.post-row img{width:270px;height:203px;object-fit:cover;border-radius:10px;flex:0 0 auto}
.post-row .pad{min-width:0}
.post-row h3{margin:4px 0 6px;font-family:'Playfair Display',Georgia,serif;font-size:1.35rem;line-height:1.25;color:var(--teal-deep)}
.post-row p{color:#4c5652;margin:0 0 6px}
.post-row .more{color:var(--teal);font-weight:700}
@media (max-width:620px){
  a.post-row{flex-direction:column;gap:10px;padding:12px;align-items:stretch}
  .post-row img{width:100%;height:auto}
  .post-row h3{font-size:1.08rem}
  .post-row p{font-size:.92rem}
}

/* back-to-blog link at the foot of each post */
.backtoblog{text-align:center;margin:2px 0 34px;font-size:1.05rem;font-weight:700}
.backtoblog a{color:var(--teal-deep);text-decoration:none}
.backtoblog a:hover{color:var(--rust);text-decoration:underline}
