/*
Theme Name: Giggle Gear Tees
Theme URI: https://gigglegeartees.com/
Author: Giggle Gear Tees
Description: Lightweight, mobile-first custom theme for GiggleGearTees.com.
Version: 0.1.34
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: giggle-gear
*/

:root {
  --ggt-cream: #fff9ed;
  --ggt-white: #ffffff;
  --ggt-ink: #0a0a1a;
  --ggt-teal: #1f86a3;
  --ggt-teal-dark: #176b82;
  --ggt-teal-button: #19758d;
  --ggt-orange: #f08c3a;
  --ggt-yellow: #fce171;
  --ggt-muted: #6a6a72;
  --ggt-border: #e7dfd0;
  --ggt-radius: 12px;
  --ggt-max: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ggt-cream);
  color: var(--ggt-ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}
img { max-width: 100%; height: auto; }
a { color: var(--ggt-teal-dark); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--ggt-orange); }
button, input, select, textarea { font: inherit; }

.ggt-wrap { width: min(calc(100% - 32px), var(--ggt-max)); margin-inline: auto; }
.ggt-section { padding: 56px 0; }
.ggt-section--white { background: var(--ggt-white); }

/* Keep the collection page surface continuous through all collection content.
   This prevents the tinted collection background from ending between sections
   when a collection has a long description or multiple rows of designs. */
.ggt-collection-page {
  position: relative;
  isolation: isolate;
  background: var(--ggt-cream);
  overflow: clip;
}
.ggt-collection-page .ggt-collection-banner,
.ggt-collection-page .ggt-collection-hero,
.ggt-collection-page .ggt-collection-intro-section,
.ggt-collection-page > .ggt-section {
  position: relative;
  z-index: 1;
  background: transparent;
}
.ggt-collection-page .ggt-home-collections {
  margin-bottom: 0;
}
.ggt-collection-page + .ggt-site-footer {
  margin-top: 0;
}

/* Collection pages use one continuous cream canvas from the banner through
   the final collection content. Use the body class as the authoritative
   scope so the background cannot fall back to white even when older
   collection content contains legacy wrappers or section classes. */
body.single-ggt_collection,
body.single-ggt_collection main,
body.single-ggt_collection .ggt-collection-page,
body.single-ggt_collection .ggt-collection-hero,
body.single-ggt_collection .ggt-collection-intro-section,
body.single-ggt_collection .ggt-section,
body.single-ggt_collection .ggt-home-collections {
  background: var(--ggt-cream) !important;
}

/* Never let the generic white-section utility split a collection page into
   a white band. Cards stay white; the page canvas stays cream. */
body.single-ggt_collection .ggt-section--white {
  background: var(--ggt-cream) !important;
}

.ggt-site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,249,237,.96);
  border-bottom: 1px solid var(--ggt-border);
  backdrop-filter: blur(8px);
}
.ggt-header-inner {
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.ggt-brand { display:flex; align-items:center; gap:12px; flex:0 0 auto; text-decoration:none; color:var(--ggt-ink); }
.ggt-brand img { width: 56px; height:56px; object-fit:cover; border-radius:50%; }
.ggt-brand-name { font-size: 1.1rem; font-weight: 900; letter-spacing:.02em; }

.ggt-nav { margin-left:auto; display:flex; align-items:center; gap:20px; }
.ggt-nav a { font-weight:800; font-size:.93rem; text-decoration:none; color:var(--ggt-ink); }
.ggt-nav a:hover { color:var(--ggt-teal-dark); }
.ggt-nav .ggt-rb { border:2px solid var(--ggt-teal); border-radius:999px; padding:9px 14px; color:var(--ggt-teal-dark); }
.ggt-nav-collections { position:relative; }
.ggt-nav-collections summary { cursor:pointer; list-style:none; font-weight:800; font-size:.93rem; }
.ggt-nav-collections summary::-webkit-details-marker { display:none; }
.ggt-nav-collections summary::after { content:'⌄'; margin-left:5px; display:inline-block; }
.ggt-nav-collections[open] summary::after { transform:rotate(180deg); }
.ggt-nav-collections summary:focus-visible, .ggt-nav-collection-links a:focus-visible, .ggt-collection-card:focus-visible { outline:3px solid var(--ggt-orange); outline-offset:3px; }
.ggt-nav-collection-links { position:absolute; top:calc(100% + 14px); right:0; z-index:60; width:max-content; min-width:230px; max-width:min(380px,calc(100vw - 32px)); max-height:60vh; overflow-y:auto; padding:8px; border:1px solid var(--ggt-border); border-radius:12px; background:var(--ggt-white); box-shadow:0 14px 32px rgba(10,10,26,.16); }
.ggt-nav-collection-links a, .ggt-nav-collection-links span { display:block; padding:9px 12px; border-radius:7px; }
.ggt-nav-collection-links a:hover, .ggt-nav-collection-links a[aria-current="page"] { background:#e9f5f7; }
.ggt-nav-collection-links span { color:var(--ggt-muted); }
.ggt-mobile-toggle { display:none; margin-left:auto; border:0; background:none; font-size:1.4rem; padding:10px; }

.ggt-hero { padding: 76px 0 58px; overflow:hidden; }
.ggt-hero-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:56px; align-items:center; }
.ggt-eyebrow { color:var(--ggt-teal-dark); font-weight:900; letter-spacing:.12em; text-transform:uppercase; font-size:.78rem; }
.ggt-title {
  font-size: clamp(2.8rem, 6vw, 5.8rem);
  line-height: .92;
  letter-spacing:-.045em;
  margin:.2em 0;
  font-weight: 950;
  text-transform: uppercase;
}
.ggt-lead { font-size: clamp(1.05rem, 2vw, 1.35rem); max-width: 56ch; color:#35353d; }
.ggt-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }

.ggt-btn {
  display:inline-flex; align-items:center; justify-content:center; min-height:46px;
  padding: 11px 18px; border-radius:999px; border:2px solid transparent;
  font-weight:900; text-decoration:none; transition:.16s ease;
}
.ggt-btn--primary { background:var(--ggt-teal-button); color:white; }
.ggt-btn--primary:hover { background:var(--ggt-teal-dark); color:white; transform:translateY(-1px); }
.ggt-btn--secondary { background:transparent; border-color:var(--ggt-ink); color:var(--ggt-ink); }
.ggt-btn--secondary:hover { background:var(--ggt-ink); color:white; transform:translateY(-1px); }
.ggt-btn--rb { background:var(--ggt-teal-button); color:white; width:100%; font-size:1.05rem; }

.ggt-hero-art {
  min-height: 360px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 20% 20%, rgba(252,225,113,.8), transparent 36%),
    radial-gradient(circle at 78% 70%, rgba(240,140,58,.25), transparent 38%),
    linear-gradient(140deg, rgba(31,134,163,.14), rgba(255,255,255,.6));
  border:1px solid var(--ggt-border);
  display:flex; align-items:center; justify-content:center; padding:34px;
}
.ggt-hero-art img { width:min(70%, 360px); border-radius:50%; box-shadow:0 18px 45px rgba(10,10,26,.12); }

.ggt-section-title { font-size:clamp(1.7rem,3vw,2.5rem); margin:0 0 8px; text-transform:uppercase; letter-spacing:-.02em; }
.ggt-section-intro { margin:0 0 28px; color:var(--ggt-muted); }

.ggt-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.ggt-card {
  background: var(--ggt-white); border:1px solid var(--ggt-border); border-radius:var(--ggt-radius);
  overflow:hidden; min-width:0; transition:.16s ease;
}
.ggt-card:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(10,10,26,.08); }
.ggt-card-art { aspect-ratio: 4/5; display:flex; align-items:center; justify-content:center; background:#fffdf7; padding:18px; }
.ggt-card-art img { width:100%; height:100%; object-fit:contain; }
.ggt-card-body { padding:15px 16px 17px; }
.ggt-card-title { margin:0; font-size:1.05rem; line-height:1.15; font-weight:900; text-transform:uppercase; }
.ggt-card-title a { color:var(--ggt-ink); text-decoration:none; }
.ggt-card-meta { color:var(--ggt-muted); font-size:.86rem; margin-top:7px; }

.ggt-design-page { padding:48px 0 68px; }
.ggt-design-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:clamp(28px,4vw,54px); align-items:start; }
.ggt-design-art { min-width:0; background:white; border:1px solid var(--ggt-border); border-radius:18px; padding:clamp(12px,2vw,28px); display:flex; justify-content:center; }
.ggt-design-art img { display:block; width:100%; max-height:680px; object-fit:contain; }
.ggt-design-info { min-width:0; }
.ggt-design-info h1 { font-size:clamp(2rem,3.5vw,3.45rem); text-transform:uppercase; line-height:1.03; margin:10px 0 22px; letter-spacing:-.03em; overflow-wrap:break-word; }
.ggt-design-desc { font-size:1.1rem; color:#33343a; margin:0 0 24px; }
.ggt-design-info .ggt-btn--rb { margin:4px 0 0; }
.ggt-btn--rb:hover { background:var(--ggt-teal-dark); color:white; transform:translateY(-1px); }
.ggt-btn:focus-visible, .ggt-card a:focus-visible, .ggt-tag:focus-visible, .ggt-collection-chip:focus-visible, .ggt-share a:focus-visible, .ggt-share button:focus-visible, .ggt-topic-search:focus-visible { outline:3px solid var(--ggt-orange); outline-offset:3px; }
.ggt-design-topics { margin-top:28px; border-top:1px solid var(--ggt-border); padding-top:16px; }
.ggt-design-topics h2 { margin:0; color:var(--ggt-teal-dark); font-size:1rem; font-weight:800; }
.ggt-tags { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; }
.ggt-tag { display:inline-flex; padding:7px 11px; border-radius:999px; background:#e9f5f7; color:var(--ggt-teal-dark); font-weight:800; font-size:.82rem; text-decoration:none; }
.ggt-tag:hover { background:var(--ggt-teal-dark); color:white; }
.ggt-share { margin-top:28px; padding-top:18px; border-top:1px solid var(--ggt-border); }
.ggt-share-label { display:block; margin-bottom:10px; font-weight:800; }
.ggt-share-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ggt-share-actions a, .ggt-share-actions button { display:inline-flex; align-items:center; min-height:42px; padding:8px 13px; border:1px solid var(--ggt-teal); border-radius:999px; background:white; color:var(--ggt-teal-dark); font:inherit; font-size:.9rem; font-weight:800; text-decoration:none; cursor:pointer; }
.ggt-share-actions a:hover, .ggt-share-actions button:hover { background:var(--ggt-teal-dark); color:white; }
.ggt-copy-status { display:block; margin-top:6px; min-height:1.4em; font-size:.85rem; color:var(--ggt-muted); }
.ggt-topic-intro { max-width:70ch; color:var(--ggt-muted); margin:0 0 28px; }
.ggt-topic-explore { margin-top:44px; padding:30px; border:1px solid var(--ggt-border); border-radius:18px; background:var(--ggt-white); }
.ggt-topic-explore h2 { margin:0 0 18px; font-size:clamp(1.45rem,2.5vw,2rem); line-height:1.15; }
.ggt-topic-explore h3 { margin:22px 0 0; font-size:1.05rem; }
.ggt-topic-explore .ggt-tags { margin-top:12px; }
.ggt-topic-count { opacity:.7; margin-left:5px; font-size:.75em; }
.ggt-topic-next { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:24px; }
.ggt-topic-search { font-weight:800; margin-left:6px; }
.ggt-pagination { margin-top:32px; }
.ggt-browse-all { margin:32px 0 0; text-align:center; }
.ggt-pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.ggt-pagination .page-numbers { display:inline-flex; min-width:42px; min-height:42px; align-items:center; justify-content:center; padding:8px 12px; border:1px solid var(--ggt-border); border-radius:8px; background:white; text-decoration:none; font-weight:800; }
.ggt-pagination .page-numbers.current { background:var(--ggt-teal-button); border-color:var(--ggt-teal-button); color:white; }
.ggt-pagination > .page-numbers { margin-right:8px; }
.ggt-related { border-top:1px solid var(--ggt-border); }

/* Featured Papa Squatch collection on the home page. */
.ggt-home-papa { padding:42px 0 48px; background:var(--ggt-cream); }
.ggt-home-papa-card { overflow:hidden; border:1px solid var(--ggt-border); border-radius:20px; background:var(--ggt-white); box-shadow:0 10px 30px rgba(10,10,26,.07); }
.ggt-home-papa-banner img { display:block; width:100%; height:auto; }
.ggt-home-papa-body { display:grid; gap:14px; padding:clamp(24px,4vw,42px); }
.ggt-home-papa-body h2 { margin:0; font-size:clamp(2rem,4vw,3.25rem); line-height:1; text-transform:uppercase; }
.ggt-home-papa-body p { max-width:72ch; margin:0; font-size:1.08rem; line-height:1.65; color:#35353d; }
.ggt-home-papa-body .ggt-btn { justify-self:start; margin-top:4px; }

.ggt-collection-banner { padding:32px 0 0; }
.ggt-collection-banner-frame { overflow:hidden; border:1px solid var(--ggt-border); border-radius:18px; background:var(--ggt-white); box-shadow:0 10px 30px rgba(10,10,26,.08); }
.ggt-collection-banner-image { display:block; width:100%; height:auto; max-width:100%; }
.ggt-collection-hero { padding:52px 0 28px; }
.ggt-collection-banner + .ggt-collection-hero { padding-top:28px; }
.ggt-collection-hero h1 { font-size:clamp(2.1rem,4vw,3.7rem); margin:0; text-transform:uppercase; line-height:1.04; }
.ggt-collection-hero .ggt-lead { font-size:clamp(1.15rem,2vw,1.35rem); line-height:1.6; }
.ggt-collection-intro-section { padding:0 0 20px; }
.ggt-collection-intro { font-size:clamp(1.125rem,1.4vw,1.25rem); line-height:1.7; color:#35353d; }
.ggt-collection-intro > :first-child { margin-top:0; }
.ggt-collection-intro > :last-child { margin-bottom:0; }
.ggt-collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ggt-collection-card { display:block; min-width:0; border:1px solid var(--ggt-border); border-radius:var(--ggt-radius); overflow:hidden; background:var(--ggt-white); color:var(--ggt-ink); text-decoration:none; transition:.16s ease; }
.ggt-collection-card:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(10,10,26,.08); }
.ggt-collection-card-image { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.ggt-collection-card-body { display:grid; gap:8px; padding:20px; }
.ggt-collection-card-body strong { font-size:1.15rem; line-height:1.2; }
.ggt-collection-card-body > span:not(.ggt-collection-card-action) { color:#45454d; font-size:1.05rem; line-height:1.5; }
.ggt-collection-card-action { color:var(--ggt-teal-dark); font-weight:800; }
.ggt-content { max-width:820px; }

.ggt-site-footer { background:var(--ggt-ink); color:white; padding:42px 0; margin-top:40px; }
.ggt-site-footer a { color:white; }
.ggt-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:30px; }
.ggt-footer-title { font-weight:950; font-size:1.2rem; }
.ggt-footer-small { color:#d8d8dc; font-size:.9rem; }

.ggt-coming-soon {
  min-height:100vh; display:grid; place-items:center; padding:32px;
  background:
    radial-gradient(circle at 15% 20%, rgba(252,225,113,.8), transparent 28%),
    radial-gradient(circle at 85% 80%, rgba(240,140,58,.28), transparent 32%),
    var(--ggt-cream);
}
.ggt-coming-card { text-align:center; width:min(680px,100%); }
.ggt-coming-card img { width:180px; height:180px; border-radius:50%; object-fit:cover; box-shadow:0 18px 42px rgba(10,10,26,.14); }
.ggt-coming-card h1 { font-size:clamp(2.5rem,8vw,5.3rem); line-height:.9; margin:.35em 0 .2em; text-transform:uppercase; }
.ggt-coming-card p { font-size:1.2rem; color:#44444b; }

.ggt-empty {
  border:1px dashed var(--ggt-border); border-radius:var(--ggt-radius); padding:30px;
  background:rgba(255,255,255,.55); color:var(--ggt-muted);
}

@media (max-width: 980px) {
  .ggt-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ggt-hero-grid, .ggt-design-grid { grid-template-columns:1fr; }
  .ggt-hero-art { min-height:300px; }
  .ggt-nav { display:none; position:absolute; left:0; right:0; top:72px; background:var(--ggt-cream); border-bottom:1px solid var(--ggt-border); padding:16px 20px 22px; flex-direction:column; align-items:flex-start; }
  .ggt-nav.is-open { display:flex; }
  .ggt-nav-collections { width:100%; }
  .ggt-nav-collection-links { position:static; max-width:100%; width:100%; margin-top:10px; box-shadow:none; }
  .ggt-mobile-toggle { display:block; }
  .ggt-brand-name { display:none; }
  .ggt-design-art img { max-height:600px; }
  .ggt-collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .ggt-wrap { width:min(calc(100% - 22px), var(--ggt-max)); }
  .ggt-section { padding:42px 0; }
  .ggt-hero { padding:48px 0 40px; }
  .ggt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .ggt-card-body { padding:12px; }
  .ggt-card-title { font-size:.92rem; }
  .ggt-footer-grid { grid-template-columns:1fr; }
  .ggt-design-page { padding:24px 0 42px; }
  .ggt-design-grid { gap:26px; }
  .ggt-design-info h1 { font-size:clamp(1.85rem,8vw,2.8rem); }
  .ggt-design-art img { max-height:none; }
  .ggt-collection-grid { grid-template-columns:1fr; }
  .ggt-collection-banner { padding-top:20px; }
  .ggt-collection-banner-frame { border-radius:12px; }
  .ggt-collection-banner + .ggt-collection-hero { padding-top:22px; }
  .ggt-topic-explore { padding:22px 17px; }
  .ggt-topic-next .ggt-btn { width:100%; }
  .ggt-topic-search { margin:6px 0 0; }
}
@media (max-width: 360px) {
  .ggt-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; }
}

.ggt-design-collections { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.ggt-collection-chip { display:inline-flex; padding:7px 11px; border-radius:999px; background:#fff1e5; color:#8a4211; font-weight:800; font-size:.82rem; text-decoration:none; }
a.ggt-collection-chip:hover { background:#8a4211; color:white; }
.ggt-image-pending { width:100%; min-height:420px; display:grid; place-items:center; text-align:center; padding:30px; border:2px dashed var(--ggt-border); border-radius:12px; color:var(--ggt-muted); background:#fffdf7; }
.ggt-long-description { margin-top:28px; padding-top:24px; border-top:1px solid var(--ggt-border); }
.ggt-long-description h2 { font-size:1.35rem; line-height:1.2; margin:0 0 14px; }
.ggt-long-description p { margin:0 0 1em; }


/* Design metadata added by Giggle Gear Engine 0.9.21+. */
.ggt-design-collections { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.ggt-collection-chip { display:inline-flex; align-items:center; min-height:34px; padding:6px 11px; border:1px solid var(--ggt-border); border-radius:999px; background:var(--ggt-white); font-size:.86rem; font-weight:800; text-decoration:none; }
.ggt-design-context { display:flex; flex-wrap:wrap; gap:8px 16px; margin:0 0 18px; color:var(--ggt-muted); font-size:.9rem; }
.ggt-design-context strong { color:var(--ggt-ink); }
.ggt-design-cta { margin:22px 0 0; }
.ggt-cta-microcopy { margin:8px 0 0; color:var(--ggt-muted); font-size:.82rem; line-height:1.4; }


/* 0.1.29 — unify ALL collection pages with the Papa Squatch layout. */
body.single-ggt_collection .ggt-collection-hero {
  padding: 28px 0 22px !important;
}
body.single-ggt_collection .ggt-collection-hero .ggt-wrap {
  width: min(calc(100% - 32px), var(--ggt-max));
  margin-inline: auto;
}
body.single-ggt_collection .ggt-collection-hero .ggt-lead {
  max-width: 62ch;
  margin-bottom: 0;
}
body.single-ggt_collection .ggt-collection-description {
  max-width: 62ch;
  margin-top: 42px;
  font-size: clamp(1.125rem,1.4vw,1.25rem);
  line-height: 1.7;
  color: #35353d;
}
body.single-ggt_collection .ggt-collection-description > :first-child { margin-top:0; }
body.single-ggt_collection .ggt-collection-description > :last-child { margin-bottom:0; }
body.single-ggt_collection .ggt-collection-designs {
  padding-top: 42px;
  background: transparent !important;
}
body.single-ggt_collection .ggt-collection-designs .ggt-section-title {
  margin-top: 0;
  text-transform: uppercase;
}
/* Do not center/narrow legacy intro blocks on collection pages. */
body.single-ggt_collection .ggt-collection-intro,
body.single-ggt_collection .ggt-content.ggt-collection-intro {
  max-width: none !important;
  margin-inline: 0 !important;
}

/* 0.1.29 homepage Papa feature */
.ggt-home-papa { background: var(--ggt-cream); }
.ggt-home-papa-card { border-radius: 18px; overflow: hidden; }
.ggt-home-papa-banner { display:block; }
.ggt-home-papa-banner img { display:block; width:100%; height:auto; }


/* 0.1.30 — collection header/description alignment fix.
   Keep every collection page visually consistent with Papa Squatch:
   banner, title, excerpt, and long description all live on the same cream
   canvas and align to the same left edge. */
body.single-ggt_collection .ggt-collection-hero {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 28px 0 20px !important;
}
body.single-ggt_collection .ggt-collection-hero .ggt-wrap {
  display: block !important;
  width: min(calc(100% - 32px), var(--ggt-max)) !important;
  max-width: var(--ggt-max) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: left !important;
}
body.single-ggt_collection .ggt-collection-hero .ggt-lead {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
body.single-ggt_collection .ggt-collection-description {
  display: block !important;
  width: 100% !important;
  max-width: 920px !important;
  margin: 46px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: clamp(1.125rem,1.4vw,1.25rem) !important;
  line-height: 1.7 !important;
  color: #35353d !important;
}
body.single-ggt_collection .ggt-collection-description p,
body.single-ggt_collection .ggt-collection-description > * {
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
body.single-ggt_collection .ggt-collection-description > :first-child { margin-top: 0 !important; }
body.single-ggt_collection .ggt-collection-description > :last-child { margin-bottom: 0 !important; }
body.single-ggt_collection .ggt-collection-designs {
  padding-top: 48px !important;
}


/* 0.1.31 — collection body copy lives in its own full-width wrapper.
   This removes the legacy centered-content offset and makes all collection
   descriptions line up with the banner/title edge like Papa Squatch. */
body.single-ggt_collection .ggt-collection-body-copy {
  background: transparent !important;
  margin: 0 !important;
  padding: 28px 0 8px !important;
}
body.single-ggt_collection .ggt-collection-body-copy > .ggt-wrap {
  width: min(calc(100% - 32px), var(--ggt-max)) !important;
  max-width: var(--ggt-max) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: left !important;
}
body.single-ggt_collection .ggt-collection-body-copy .ggt-collection-description {
  display: block !important;
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: clamp(1.125rem,1.4vw,1.25rem) !important;
  line-height: 1.7 !important;
  color: #35353d !important;
}
body.single-ggt_collection .ggt-collection-body-copy .ggt-collection-description > * {
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}
body.single-ggt_collection .ggt-collection-body-copy .ggt-collection-description > :first-child { margin-top: 0 !important; }
body.single-ggt_collection .ggt-collection-body-copy .ggt-collection-description > :last-child { margin-bottom: 0 !important; }
body.single-ggt_collection .ggt-collection-body-copy + .ggt-collection-designs {
  padding-top: 40px !important;
}


/* 0.1.32 — collection hero parity with Papa Squatch.
   Title, excerpt, and long description are one left-aligned content block. */
body.single-ggt_collection .ggt-collection-hero--unified {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 28px 0 20px !important;
}
body.single-ggt_collection .ggt-collection-hero--unified > .ggt-wrap {
  width: min(calc(100% - 32px), var(--ggt-max)) !important;
  max-width: var(--ggt-max) !important;
  margin-inline: auto !important;
  padding: 0 !important;
  text-align: left !important;
}
body.single-ggt_collection .ggt-collection-description--unified {
  display: block !important;
  width: 100% !important;
  max-width: 920px !important;
  margin: 34px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: clamp(1.125rem,1.4vw,1.25rem) !important;
  line-height: 1.7 !important;
  color: #35353d !important;
}
body.single-ggt_collection .ggt-collection-description--unified p {
  margin: 0 !important;
  max-width: none !important;
  text-align: left !important;
}
body.single-ggt_collection .ggt-collection-hero--unified + .ggt-collection-designs {
  padding-top: 42px !important;
}
