/* ============================================================
   GRIT & GRACE EDIT — BOTANICAL EDITORIAL DESIGN SYSTEM
   Built on the site's OWN established palette (bone/paper/ink/brass/stone) —
   not a new color story. Signature: organic asymmetric border-radius
   ("leaf" shapes on media/cards/buttons), a hand-drawn line-art leaf accent
   next to eyebrows, soft curved section dividers instead of hairlines.
   ============================================================ */

.ggbe-home, .ggbe-ff, .ggbe-cp, .ggbe-post{
  --ggbe-bone:#E7E2D8;
  --ggbe-paper:#F6F3EC;
  --ggbe-stone:#C7BCA6;
  --ggbe-ink:#211F1A;
  --ggbe-graphite:#5B564C;
  --ggbe-brass:#8A6F4E;
  --ggbe-line:rgba(33,31,26,0.14);

  background:var(--ggbe-paper);
  color:var(--ggbe-ink);
  font-family:'Work Sans', sans-serif;
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.ggbe-home *, .ggbe-ff *, .ggbe-cp *, .ggbe-post *{ box-sizing:border-box; }
.ggbe-home img, .ggbe-ff img, .ggbe-cp img, .ggbe-post img{ display:block; max-width:100%; }
.ggbe-home a, .ggbe-ff a, .ggbe-cp a, .ggbe-post a{ text-decoration:none; color:inherit; }
.ggbe-home h1, .ggbe-home h2, .ggbe-home h3,
.ggbe-ff h1, .ggbe-ff h2, .ggbe-ff h3,
.ggbe-cp h1, .ggbe-cp h2, .ggbe-cp h3,
.ggbe-post h1, .ggbe-post h2, .ggbe-post h3{
  font-family:'Fraunces', serif;
  font-weight:400;
  color:var(--ggbe-ink);
  margin:0;
}
.ggbe-home p, .ggbe-ff p, .ggbe-cp p, .ggbe-post p{ margin:0; }

.ggbe-wrap{ max-width:1180px; margin:0 auto; padding:0 6vw; }

/* Eyebrow with a small line-art leaf accent before it */
.ggbe-eyebrow{
  font-family:'Fraunces', serif; font-style:italic; font-weight:400;
  font-size:1.05rem; color:var(--ggbe-brass); display:inline-flex; align-items:center; gap:8px;
}
.ggbe-eyebrow::before{
  content:""; display:inline-block; width:16px; height:16px;
  background-color:var(--ggbe-brass);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M12 21c-4-3-7-7-7-11a7 7 0 0 1 14 0c0 4-3 8-7 11z'/%3E%3Cpath d='M12 21V8'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Cpath d='M12 21c-4-3-7-7-7-11a7 7 0 0 1 14 0c0 4-3 8-7 11z'/%3E%3Cpath d='M12 21V8'/%3E%3C/svg%3E");
  -webkit-mask-size:contain; mask-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
}

/* Organic asymmetric "leaf" radius — the signature shape, used throughout */
.ggbe-leaf-shape{ border-radius:38px 8px 38px 8px; }

/* HERO */
.ggbe-hero{ padding:min(9vh,80px) 0 min(7vh,60px); }
.ggbe-hero-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:center; }
.ggbe-hero h1{ font-size:clamp(2.4rem,5.2vw,4rem); line-height:1.1; margin-top:16px; }
.ggbe-hero h1 .ggbe-soft{ font-style:italic; color:var(--ggbe-brass); }
.ggbe-hero-sub{ font-size:1.02rem; color:var(--ggbe-graphite); max-width:38ch; margin-top:22px; }
.ggbe-hero-actions{ margin-top:30px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.ggbe-btn-primary{
  display:inline-block; background:var(--ggbe-brass); color:var(--ggbe-paper) !important;
  padding:14px 30px; font-size:0.85rem; letter-spacing:0.03em;
  border-radius:100px 100px 100px 10px;
}
.ggbe-btn-primary:hover{ background:var(--ggbe-ink); }
.ggbe-btn-ghost{
  font-size:0.9rem; color:var(--ggbe-graphite);
  border-bottom:1px solid var(--ggbe-brass); padding-bottom:3px;
}
.ggbe-hero-panel{
  aspect-ratio:4/5; background-color:var(--ggbe-bone);
  background-image:linear-gradient(160deg,var(--ggbe-stone),var(--ggbe-bone));
  background-size:cover; background-position:center;
  border-radius:50% 8% 50% 8%; border:1px solid var(--ggbe-line);
}
.ggbe-hero-tag{ display:none; }

/* SECTIONS — curved divider instead of a straight hairline */
.ggbe-home section, .ggbe-ff section{ padding:min(9vh,80px) 0; position:relative; }
.ggbe-section-head{ margin-bottom:48px; padding-bottom:26px; position:relative; }
.ggbe-section-head::after{
  content:""; position:absolute; bottom:0; left:0; width:70px; height:3px;
  background:var(--ggbe-brass); border-radius:6px;
}
.ggbe-section-head h2{ font-size:clamp(1.7rem,2.9vw,2.3rem); margin-top:10px; }
.ggbe-view-all{ font-size:0.85rem; color:var(--ggbe-graphite); }
.ggbe-view-all:hover{ color:var(--ggbe-brass); }

/* CARDS — organic leaf-shaped media frame */
.ggbe-card{ display:block; }
.ggbe-card-media{
  aspect-ratio:4/3; background-color:var(--ggbe-bone);
  background-size:cover; background-position:center;
  border:1px solid var(--ggbe-line); margin-bottom:16px;
  border-radius:38px 8px 38px 8px;
}
.ggbe-card-body h3{ font-family:'Fraunces', serif; font-weight:400; font-size:1.08rem; line-height:1.3; }
.ggbe-card-excerpt{ color:var(--ggbe-graphite); font-size:0.88rem; margin-top:8px; }
.ggbe-card-link{
  display:inline-block; margin-top:12px; font-size:0.8rem; letter-spacing:0.02em; color:var(--ggbe-brass);
  font-style:italic; font-family:'Fraunces', serif;
}
.ggbe-card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }

/* TRENDING */
.ggbe-trending{ background:var(--ggbe-bone); }
.ggbe-trending-grid{ display:flex !important; gap:30px; }
.ggbe-trend-feature{ flex:1.4 1 0% !important; }
.ggbe-trend-minor-stack{ flex:1 1 0% !important; display:flex !important; flex-direction:column; gap:30px; }
.ggbe-trend-minor{ flex:1 1 0% !important; }
.ggbe-trend-feature .ggbe-card-media{ aspect-ratio:4/3.2 !important; margin-bottom:20px !important; border-radius:44px 10px 44px 10px; }
.ggbe-trend-minor .ggbe-card-media{ aspect-ratio:16/8 !important; margin-bottom:12px !important; border-radius:30px 8px 30px 8px; }
.ggbe-trend-feature h3{ font-size:1.5rem; }
.ggbe-trend-minor h3{ font-size:1rem; }

/* SHOP */
.ggbe-shop-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ggbe-shop-panel{ display:block; padding:44px 36px; border:1px solid var(--ggbe-line); background:var(--ggbe-bone); border-radius:44px 10px 44px 10px; }
.ggbe-shop-panel h3{ font-size:1.5rem; margin-top:12px; }
.ggbe-shop-panel p{ color:var(--ggbe-graphite); margin-top:12px; max-width:34ch; }
.ggbe-shop-panel--dark{ background:var(--ggbe-ink) !important; }
.ggbe-shop-panel--dark h3{ color:var(--ggbe-paper) !important; }
.ggbe-shop-panel--dark p{ color:#B9B4A9 !important; }
.ggbe-shop-panel--dark .ggbe-card-link{ color:var(--ggbe-stone) !important; }

/* NEWSLETTER */
.ggbe-newsletter{ background:var(--ggbe-ink); color:var(--ggbe-paper); }
.ggbe-newsletter-inner{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.ggbe-newsletter h2{ color:var(--ggbe-paper) !important; margin-top:10px; font-size:clamp(1.6rem,2.8vw,2.2rem); }
.ggbe-newsletter p{ color:#B9B4A9; margin-top:10px; }
.ggbe-newsletter .ggbe-eyebrow{ color:var(--ggbe-stone); }
.ggbe-newsletter .ggbe-eyebrow::before{ background-color:var(--ggbe-stone); }
.ggbe-newsletter-form{ display:flex; border-bottom:1px solid var(--ggbe-stone); padding-bottom:14px; gap:16px; }
.ggbe-newsletter-form input{ flex:1; background:transparent; border:none; font-family:'Work Sans', sans-serif; font-size:1rem; color:var(--ggbe-paper); }
.ggbe-newsletter-form button{ background:none; border:none; color:var(--ggbe-paper); cursor:pointer; font-size:0.85rem; font-style:italic; font-family:'Fraunces', serif; }

/* LISTING PAGES */
.ggbe-ff-hero{ background:var(--ggbe-bone); padding:min(9vh,80px) 0 min(7vh,60px); }
.ggbe-ff-hero h1{ font-size:clamp(2.2rem,4.5vw,3.4rem); margin-top:14px; }
.ggbe-ff-intro{ color:var(--ggbe-graphite); max-width:50ch; margin-top:18px; }
.ggbe-ff-grid-section{ padding:min(9vh,80px) 0; }
.ggbe-ff-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:34px 30px; }
.ggbe-ff-empty{ color:var(--ggbe-graphite); padding:40px 0; }

.ggbe-ff-pagination{ display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:60px; padding-top:36px; }
.ggbe-ff-page-item a, .ggbe-ff-page-item span{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:38px; padding:0 12px;
  font-size:0.85rem; color:var(--ggbe-graphite);
  border:1px solid var(--ggbe-line); border-radius:16px 4px 16px 4px;
}
.ggbe-ff-page-item a:hover{ background:var(--ggbe-brass); color:var(--ggbe-paper); border-color:var(--ggbe-brass); }
.ggbe-ff-page-item span.current{ background:var(--ggbe-brass); color:var(--ggbe-paper); border-color:var(--ggbe-brass); }

/* CONTENT PAGES */
.ggbe-cp-hero{ background:var(--ggbe-bone); padding:min(9vh,80px) 0 min(7vh,60px); }
.ggbe-cp-hero h1{ font-size:clamp(2.2rem,4.5vw,3.4rem); margin-top:14px; }
.ggbe-cp-body{ padding:min(9vh,80px) 0; }
.ggbe-cp-body h1{ font-size:clamp(2rem,4vw,2.8rem); margin-bottom:36px; }
.ggbe-cp-body h2, .ggbe-cp-body h3{ margin-top:2em; margin-bottom:0.6em; }
.ggbe-cp-body p{ margin-bottom:1.2em; color:var(--ggbe-graphite); }
.ggbe-cp-body a{ color:var(--ggbe-brass); }
.ggbe-cp-body img{ border-radius:38px 8px 38px 8px; }
.ggbe-cp-body ul, .ggbe-cp-body ol{ margin-bottom:1.2em; padding-left:1.4em; color:var(--ggbe-graphite); }

.ggbe-cp-body ul.products{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; list-style:none; padding:0; }
.ggbe-cp-body ul.products li.product{ border:1px solid var(--ggbe-line); padding:20px; background:var(--ggbe-paper); border-radius:30px 8px 30px 8px; }
.ggbe-cp-body ul.products img{ margin-bottom:14px; border-radius:24px 6px 24px 6px; }
.ggbe-cp-body ul.products .woocommerce-loop-product__title{ font-family:'Fraunces', serif; font-size:1.02rem; color:var(--ggbe-ink); }
.ggbe-cp-body ul.products .price{ color:var(--ggbe-brass); font-size:0.92rem; font-style:italic; font-family:'Fraunces', serif; }
.ggbe-cp-body ul.products .button{
  display:inline-flex !important; align-items:center; justify-content:center;
  margin-top:14px; background:var(--ggbe-brass) !important; color:var(--ggbe-paper) !important;
  padding:10px 22px; font-size:0.8rem; border-radius:30px 8px 30px 8px !important; border:none !important;
  line-height:1.2 !important; min-height:0 !important; height:auto !important; text-align:center;
}
.ggbe-cp-body .woocommerce-result-count,
.ggbe-cp-body .woocommerce-ordering{ font-size:0.82rem; color:var(--ggbe-graphite); }
.ggbe-cp-body .woocommerce-ordering select{ background:transparent; border:1px solid var(--ggbe-line); border-radius:16px; font-size:0.82rem; padding:6px 12px; color:var(--ggbe-ink); }
@media (max-width:960px){ .ggbe-cp-body ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .ggbe-cp-body ul.products{ grid-template-columns:1fr; } }

/* WooCommerce single product */
.ggbe-product{ padding-top:min(6vh,50px); }
.ggbe-product .product_title{ font-family:'Fraunces', serif; font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:0.4em; }
.ggbe-product .price{ color:var(--ggbe-brass) !important; font-size:1.15rem !important; font-style:italic; font-family:'Fraunces', serif !important; }
.ggbe-product .single_add_to_cart_button{
  background:var(--ggbe-brass) !important; color:var(--ggbe-paper) !important;
  border-radius:100px 100px 100px 10px !important; border:none !important; padding:14px 32px !important;
  font-size:0.85rem !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  line-height:1.2 !important; min-height:0 !important; height:auto !important; text-align:center !important;
}
.ggbe-product .single_add_to_cart_button:hover{ background:var(--ggbe-ink) !important; }
.ggbe-product .product_meta{ color:var(--ggbe-graphite) !important; font-size:0.85rem !important; margin-top:24px; padding-top:20px; border-top:1px solid var(--ggbe-line); }
.ggbe-product .product_meta > span{ color:var(--ggbe-graphite) !important; display:block; margin-bottom:6px; }
.ggbe-product .product_meta a{ color:var(--ggbe-brass) !important; }
.ggbe-product .woocommerce-tabs{ margin-top:50px; border-top:1px solid var(--ggbe-line); padding-top:30px; }
.ggbe-product .related.products{ margin-top:60px; padding-top:40px; border-top:1px solid var(--ggbe-line); }
.ggbe-product .related.products > h2{ font-family:'Fraunces', serif; font-size:1.6rem; margin-bottom:30px; }

/* SINGLE POST */
.ggbe-post-hero{ background:var(--ggbe-bone); padding:min(9vh,80px) 0 0; }
.ggbe-post-hero h1{ font-size:clamp(2.1rem,4.2vw,3.2rem); line-height:1.15; margin-top:14px; max-width:26ch; }
.ggbe-post-byline{ margin-top:18px; padding-bottom:min(6vh,50px); font-size:0.85rem; color:var(--ggbe-graphite); font-style:italic; font-family:'Fraunces', serif; }
.ggbe-post-dot{ margin:0 8px; color:var(--ggbe-stone); }
.ggbe-post-featured{ margin-bottom:min(6vh,50px); }
.ggbe-post-featured-media{ aspect-ratio:16/9; background-color:var(--ggbe-stone); background-size:cover; background-position:center; border-radius:50px 10px 50px 10px; }
.ggbe-post .ggbe-wrap > .ggbe-post-body{ max-width:72ch; margin:min(9vh,80px) auto 0; }
.ggbe-post-body h2{ font-size:1.6rem; }
.ggbe-post-body h3{ font-size:1.25rem; }
.ggbe-post-body img{ border-radius:38px 8px 38px 8px; }
.ggbe-post-comments{ max-width:72ch; margin:min(7vh,60px) auto 0; padding-top:min(6vh,50px); border-top:1px solid var(--ggbe-line); }
.ggbe-post-related{ background:var(--ggbe-bone); }

/* 404 */
.ggbe-404{ padding:min(14vh,130px) 0; text-align:center; }
.ggbe-404 h1{ font-size:clamp(2.2rem,4.5vw,3.4rem); margin-top:14px; }
.ggbe-404 p{ color:var(--ggbe-graphite); max-width:50ch; margin:18px auto 0; }
.ggbe-404-search{ max-width:420px; margin:36px auto 0; }
.ggbe-404-search input[type="search"], .ggbe-404-search .search-field{
  width:100%; border:1px solid var(--ggbe-line); background:var(--ggbe-paper);
  padding:14px 20px; font-family:'Work Sans', sans-serif; font-size:0.95rem; color:var(--ggbe-ink);
  border-radius:30px 8px 30px 8px;
}
.ggbe-404-search input[type="submit"], .ggbe-404-search .search-submit{
  margin-top:12px; background:var(--ggbe-brass); color:var(--ggbe-paper);
  border:none; padding:12px 28px; font-size:0.85rem; cursor:pointer; border-radius:100px 100px 100px 10px;
}
.ggbe-404-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:16px 30px; margin-top:50px; padding-top:36px; border-top:1px solid var(--ggbe-line); }
.ggbe-404-links a{ font-size:0.9rem; color:var(--ggbe-brass); font-style:italic; font-family:'Fraunces', serif; }

/* SEARCH */
.ggbe-search-hero{ background:var(--ggbe-bone); padding:min(9vh,80px) 0 min(7vh,60px); }
.ggbe-search-hero h1{ font-size:clamp(2rem,4vw,3rem); margin-top:14px; }
.ggbe-search-hero .ggbe-search-query{ font-style:italic; color:var(--ggbe-brass); }
.ggbe-search-empty{ padding:min(9vh,80px) 0; text-align:center; color:var(--ggbe-graphite); }

@media (max-width:860px){
  .ggbe-hero-grid{ grid-template-columns:1fr; }
  .ggbe-trending-grid{ flex-direction:column; }
  .ggbe-card-grid{ grid-template-columns:1fr; } .ggbe-shop-grid{ grid-template-columns:1fr; } .ggbe-newsletter-inner{ grid-template-columns:1fr; }
}
@media (max-width:960px){ .ggbe-ff-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .ggbe-ff-grid{ grid-template-columns:1fr; } }
