/*
Theme Name: Samwise
Theme URI: https://georgiemag.com
Author: Georgie Magazine
Description: Custom editorial WordPress theme for Georgie Magazine with editable homepage hero slides and tag-based featured posts.
Version: 2.0.11
License: GPL-2.0-or-later
Text Domain: georgie
*/

:root{
  --bg:#ffffff;
  --text:#0a0a0a;
  --muted:#555;
  --line:#d7d2c9;
  --soft:#ebe8df;
  --max:1100px;
  --font:"Brandon Grotesque","Avenir Next","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  font-size:16px;
  line-height:1.48;
  font-weight:400;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input{font:inherit}
.screen-reader-text{position:absolute;left:-9999px}
.container{max-width:var(--max);margin:0 auto;padding:0 28px}

.site-header{
  height:86px;
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:64px 1fr 64px;
  align-items:center;
  padding:0 28px;
  background:rgba(255,255,255,.98);
  position:sticky;
  top:0;
  z-index:30;
}
.masthead{
  justify-self:center;
  font-weight:700;
  letter-spacing:.48em;
  font-size:clamp(2rem,4.3vw,3.35rem);
  line-height:1;
}
.icon-btn{width:42px;height:42px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}
.burger span,.burger:before,.burger:after{content:"";display:block;width:24px;height:1.5px;background:#000;margin:5px 0}
.search-icon{width:24px;height:24px;border:2px solid #000;border-radius:50%;position:relative}
.search-icon:after{content:"";position:absolute;width:9px;height:2px;background:#000;right:-7px;bottom:0;transform:rotate(45deg)}
.mobile-menu{display:none;border-bottom:1px solid var(--line);padding:18px 24px}
.mobile-menu.is-open{display:block}
.mobile-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:14px;text-transform:uppercase;font-weight:600;letter-spacing:.12em;font-size:.82rem}

/* HOME HERO — now one full editorial image, no headline text */
.hero{border-bottom:1px solid var(--line)}
.hero-slider{
  position:relative;
  height:clamp(430px,58vw,650px);
  overflow:hidden;
  background:#fff;
}
.hero-slide-image{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity 700ms ease, visibility 700ms ease;
}
.hero-slide-image.is-active{
  opacity:1;
  visibility:visible;
  z-index:1;
}
.hero-slide-image a{
  display:block;
  width:100%;
  height:100%;
}
.hero-slide-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:none;
}
.slider-dots{
  position:absolute;
  bottom:22px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:14px;
  z-index:5;
}
.slider-dots button{
  width:8px;height:8px;border-radius:50%;border:1px solid #fff;background:transparent;padding:0;cursor:pointer
}
.slider-dots button.is-active{background:#fff}

.kicker,.meta{
  font-size:.72rem;
  text-transform:uppercase;
  font-weight:600;
  letter-spacing:.08em;
}
.cta,.read-link{
  display:inline-flex;
  gap:10px;
  align-items:center;
  margin-top:18px;
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.06em;
}
.section-row{
  padding:34px 0 44px;
  border-bottom:1px solid var(--line);
}
.category-grid,.feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:56px;
}
.card-head{
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  padding-bottom:12px;
  margin-bottom:16px;
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:600;
}
.story-card img{aspect-ratio:1/1;object-fit:cover;filter:none;width:100%}
.story-card.wide img{aspect-ratio:16/9}
.story-card h2,.story-card h3{
  font-size:1.18rem;
  line-height:1.2;
  letter-spacing:-.015em;
  font-weight:600;
  margin:15px 0 0;
}
.section-title{
  display:flex;justify-content:space-between;align-items:center;
  text-transform:uppercase;font-weight:600;font-size:.8rem;margin-bottom:18px
}
.newsletter-footer{
  text-align:center;
  padding:56px 24px 30px;
  border-top:1px solid var(--line);
}
.newsletter-footer h2{
  font-size:1.08rem;
  letter-spacing:.42em;
  font-weight:500;
}
.newsletter-footer p{font-size:1rem}
.newsletter-form{display:flex;justify-content:center;gap:0;margin:24px auto 24px;max-width:420px}
.newsletter-form input{width:100%;background:transparent;border:1px solid #aaa;padding:14px 18px;border-radius:0}
.newsletter-form button{background:#000;color:#fff;border:1px solid #000;padding:14px 22px;text-transform:uppercase;font-size:.72rem;font-weight:700}
.socials{display:flex;gap:42px;justify-content:center;align-items:center;font-size:1.7rem;font-weight:600;margin:30px 0 62px}
.footer-nav{
  display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:28px 0;
  text-transform:uppercase;letter-spacing:.32em;font-size:.88rem;font-weight:700
}
.footer-nav a:nth-child(1){text-align:left}.footer-nav a:nth-child(2){text-align:center}.footer-nav a:nth-child(3){text-align:right}
.copyright{text-align:center;padding:18px 0 32px;letter-spacing:.04em}

/* Archives */
.page-intro{padding:58px 0 34px;border-bottom:1px solid var(--line)}
.breadcrumb{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}
.page-intro h1{font-size:clamp(3rem,7vw,5.2rem);line-height:.94;margin:0 0 20px;letter-spacing:-.05em;font-weight:700}
.page-intro p{max-width:340px;font-size:1.06rem}
.archive-feature{display:grid;grid-template-columns:62% 1fr;gap:56px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.archive-feature img{aspect-ratio:16/8;object-fit:cover;filter:none;width:100%}
.archive-feature h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.04;margin:18px 0;font-weight:600;letter-spacing:-.03em}
.archive-tools{display:flex;justify-content:space-between;padding:30px 0 22px;text-transform:uppercase;font-size:.76rem;font-weight:700}
.article-list{display:grid;gap:0}
.article-row{display:grid;grid-template-columns:42% 1fr;gap:44px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}
.article-row img{aspect-ratio:16/6.2;object-fit:cover;filter:none;width:100%}
.article-row h2{font-size:1.42rem;line-height:1.12;margin:8px 0;font-weight:600;letter-spacing:-.015em}
.article-row p{max-width:420px;color:#222}
.pagination{text-align:center;padding:36px 0 50px;display:flex;gap:28px;justify-content:center}

/* Issues */
.issue-feature{display:grid;grid-template-columns:42% 1fr;gap:70px;align-items:center;padding:28px 7% 34px;border-bottom:1px solid var(--line)}
.cover{aspect-ratio:4/5;object-fit:cover;filter:none;box-shadow:14px 14px 28px rgba(0,0,0,.15)}
.issue-feature h2{font-size:2.15rem;line-height:1.08;margin:18px 0;font-weight:600}
.issue-row{display:grid;grid-template-columns:170px 1fr auto;gap:42px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.issue-row .cover{width:170px;box-shadow:none}
.issue-row h2{font-size:1.38rem;margin:8px 0;font-weight:600}

/* Single */
.single-hero{padding:56px 0 34px;border-bottom:1px solid var(--line)}
.single-hero h1{font-size:clamp(3rem,8vw,6.3rem);line-height:.95;letter-spacing:-.06em;margin:14px 0 18px;max-width:900px;font-weight:700}
.single-hero .deck{font-size:1.2rem;max-width:620px}
.single-image img{width:100%;max-height:720px;object-fit:cover;filter:none;margin:0 auto;padding:54px 24px;font-size:1.12rem;line-height:1.75}
.article-body p{margin:0 0 1.4em}
.article-body blockquote{margin:50px 0;padding:0 0 0 28px;border-left:2px solid #000;font-size:1.8rem;line-height:1.18;font-weight:600;letter-spacing:-.03em}
.related{border-top:1px solid var(--line);padding:34px 0 54px}

@media(max-width:800px){
  .site-header{height:70px;grid-template-columns:48px 1fr 48px;padding:0 14px}
  .masthead{
  justify-self:center;
  font-weight:700;
  letter-spacing:.48em;
  font-size:clamp(2rem,4.3vw,3.35rem);
  line-height:1;
}
  .archive-feature,.issue-feature,.article-row,.issue-row{grid-template-columns:1fr;gap:24px}
  .hero-slider{height:420px}
  .category-grid,.feature-grid{grid-template-columns:1fr 1fr;gap:28px}
  .issue-row{grid-template-columns:110px 1fr}
  .issue-row .read-link{grid-column:2}
  .footer-nav{letter-spacing:.16em}
}
@media(max-width:520px){
  .container{padding:0 18px}
  .category-grid,.feature-grid{grid-template-columns:1fr}
  .newsletter-form{display:grid}
  .footer-nav{grid-template-columns:1fr;gap:26px;text-align:center}
  .footer-nav a:nth-child(n){text-align:center}
}


/* =========================================================
   SAMWISE IMAGE PLACEMENT SYSTEM v1.2
   Strategic rules so one uploaded Featured Image can crop
   differently depending on where it appears.
   ========================================================= */

/* Reset older global image crops so placement-specific rules win */
.story-card img,
.story-card.wide img,
.archive-feature img,
.article-row img,
.single-image img {
  width: 100%;
  object-fit: cover;
  object-position: center center;
}

/* 1. Homepage section cards: Music / Culture / Film / Issues
   Designed to be editorial but not overly tall. */
.category-grid .story-card img {
  aspect-ratio: 4 / 3;
  max-height: 360px;
}

/* 2. Homepage lower Featured grid
   Smaller, wider editorial thumbnails. */
.feature-grid .story-card img,
.feature-grid .story-card.wide img {
  aspect-ratio: 16 / 9;
  max-height: 260px;
}

/* 3. Category archive lead feature image
   Large landscape editorial image. */
.archive-feature > a img,
.archive-feature > img {
  aspect-ratio: 16 / 8;
  max-height: 440px;
}

/* 4. Category/archive article list thumbnails
   Long horizontal crops for scanning stories. */
.article-row > a img,
.article-row > img {
  aspect-ratio: 16 / 7;
  max-height: 260px;
}

/* 5. Single article hero image
   Big but controlled; never turns into an endless vertical image. */
.single-image img {
  aspect-ratio: 16 / 9;
  max-height: 720px;
}

/* 6. Issue covers stay portrait because they behave like magazine covers. */
.issue-feature .cover,
.issue-row .cover {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

/* Optional crop controls:
   Add one of these classes to an image/card later if needed. */
.crop-top img,
img.crop-top {
  object-position: center top;
}

.crop-center img,
img.crop-center {
  object-position: center center;
}

.crop-bottom img,
img.crop-bottom {
  object-position: center bottom;
}

/* Mobile-specific control:
   Prevent homepage cards from becoming huge vertical images. */
@media (max-width: 800px) {
  .category-grid .story-card img {
    aspect-ratio: 16 / 10;
    max-height: 340px;
  }

  .feature-grid .story-card img,
  .feature-grid .story-card.wide img {
    aspect-ratio: 16 / 10;
    max-height: 300px;
  }

  .archive-feature > a img,
  .archive-feature > img {
    aspect-ratio: 16 / 10;
    max-height: 360px;
  }

  .article-row > a img,
  .article-row > img {
    aspect-ratio: 16 / 9;
    max-height: 320px;
  }

  .single-image img {
    aspect-ratio: 4 / 3;
    max-height: 520px;
  }
}

@media (max-width: 520px) {
  .category-grid .story-card img {
    aspect-ratio: 16 / 9;
    max-height: 280px;
  }

  .story-card h2,
  .story-card h3 {
    font-size: 1.22rem;
  }
}


/* =========================================================
   SAMWISE EDITORIAL ARTICLE SYSTEM v1.4
   Inspired by modern magazine interview/article structure:
   label, headline, credits, date, deck, hero image, clean body,
   Q&A rhythm, image breaks, related stories. No ad placements.
   ========================================================= */

.editorial-article-header {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(48px, 8vw, 96px) 28px 34px;
  text-align: left;
}

.editorial-article-header .kicker {
  margin-bottom: 22px;
}

.editorial-article-title {
  font-size: clamp(3rem, 9vw, 7.8rem);
  line-height: .92;
  letter-spacing: -0.065em;
  font-weight: 700;
  max-width: 980px;
  margin: 0 0 24px;
}

.editorial-article-deck {
  max-width: 720px;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.45;
  color: #111;
  margin: 0 0 28px;
}

.editorial-credit-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.editorial-credit-stack span {
  color: #111;
}

.editorial-hero-image {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 28px 48px;
}

.editorial-hero-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 760px;
  object-fit: cover;
  object-position: center center;
}

.editorial-body {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 28px 64px;
  font-size: 1.12rem;
  line-height: 1.78;
}

.editorial-body > *:first-child {
  margin-top: 0;
}

.editorial-body p {
  margin: 0 0 1.55em;
}

.editorial-body h2,
.editorial-body h3 {
  margin: 2.2em 0 .8em;
  line-height: 1.05;
  letter-spacing: -0.035em;
  font-weight: 700;
}

.editorial-body h2 {
  font-size: clamp(2rem, 4vw, 3.1rem);
}

.editorial-body h3 {
  font-size: clamp(1.45rem, 3vw, 2.1rem);
}

/* Q&A interview styling:
   In WordPress, use bold for questions or Heading 3 for question breaks. */
.editorial-body strong {
  font-weight: 700;
}

.editorial-body p strong:first-child {
  display: inline;
  text-transform: uppercase;
  letter-spacing: .03em;
  font-size: .86em;
}

.editorial-body blockquote {
  margin: 56px 0;
  padding: 0 0 0 28px;
  border-left: 2px solid #000;
  font-size: clamp(1.7rem, 4vw, 2.7rem);
  line-height: 1.13;
  font-weight: 600;
  letter-spacing: -0.045em;
}

/* WordPress image blocks inside articles become editorial image breaks. */
.editorial-body figure.wp-block-image,
.editorial-body .wp-block-image {
  margin: 58px calc(50% - min(50vw, 590px));
}

.editorial-body figure.wp-block-image img,
.editorial-body .wp-block-image img {
  width: 100%;
  max-height: 780px;
  object-fit: cover;
}

.editorial-body figcaption {
  max-width: 820px;
  margin: 12px auto 0;
  padding: 0 28px;
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.4;
}

.editorial-body .wp-block-gallery {
  margin: 58px calc(50% - min(50vw, 590px));
}

.editorial-body .wp-block-gallery img {
  object-fit: cover;
}

.editorial-body hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 54px 0;
}

/* Optional interview intro block. Add a Group block and class: interview-intro */
.editorial-body .interview-intro {
  font-size: 1.28rem;
  line-height: 1.55;
  margin-bottom: 48px;
}

/* Related stories stay magazine-grid clean. */
.related.editorial-related {
  border-top: 1px solid var(--line);
  padding: 38px 0 64px;
}

@media (max-width: 800px) {
  .editorial-article-header {
    padding-top: 44px;
  }

  .editorial-article-title {
    font-size: clamp(2.8rem, 13vw, 4.8rem);
  }

  .editorial-credit-stack {
    display: grid;
    gap: 8px;
  }

  .editorial-hero-image {
    padding-left: 18px;
    padding-right: 18px;
  }

  .editorial-hero-image img {
    aspect-ratio: 4 / 3;
    max-height: 560px;
  }

  .editorial-body {
    padding-left: 22px;
    padding-right: 22px;
    font-size: 1.06rem;
  }

  .editorial-body figure.wp-block-image,
  .editorial-body .wp-block-image,
  .editorial-body .wp-block-gallery {
    margin-left: -22px;
    margin-right: -22px;
  }

  .editorial-body figcaption {
    padding-left: 22px;
    padding-right: 22px;
  }
}


/* =========================================================
   SAMWISE v1.5 COLOUR IMAGE OVERRIDE
   All uploaded media displays in full colour by default.
   If a greyscale image is desired, convert it before uploading.
   ========================================================= */

img,
.wp-post-image,
.hero-slide-image img,
.story-card img,
.archive-feature img,
.article-row img,
.single-image img,
.editorial-hero-image img,
.editorial-body img,
.wp-block-image img,
.wp-block-gallery img,
.cover {
  filter: none !important;
  -webkit-filter: none !important;
}


/* =========================================================
   SAMWISE v1.6 PRODUCTION ARTICLE RESTORE
   Restores large editorial article/interview structure while
   keeping all images in full colour.
   ========================================================= */

.editorial-article-header {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(56px, 8vw, 104px) 28px 36px;
}

.editorial-article-header .kicker {
  display: block;
  margin-bottom: 22px;
  font-size: .78rem;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .08em;
}

.editorial-article-title {
  font-size: clamp(3.4rem, 9vw, 8rem) !important;
  line-height: .9;
  letter-spacing: -0.065em;
  font-weight: 700;
  max-width: 980px;
  margin: 0 0 26px;
}

.editorial-article-deck {
  max-width: 720px;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.45;
  color: #111;
  margin: 0 0 30px;
}

.editorial-credit-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.editorial-hero-image {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 28px 52px;
}

.editorial-hero-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 760px;
  object-fit: cover;
  object-position: center center;
  filter: none !important;
  -webkit-filter: none !important;
}

.editorial-body {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 28px 64px;
  font-size: 1.12rem;
  line-height: 1.78;
}

.editorial-body p {
  margin: 0 0 1.55em;
}

.editorial-body h2,
.editorial-body h3 {
  margin: 2.2em 0 .8em;
  line-height: 1.05;
  letter-spacing: -0.035em;
  font-weight: 700;
}

.editorial-body h2 {
  font-size: clamp(2rem, 4vw, 3.1rem);
}

.editorial-body h3 {
  font-size: clamp(1.45rem, 3vw, 2.1rem);
}

.editorial-body p strong:first-child {
  text-transform: uppercase;
  letter-spacing: .03em;
  font-size: .86em;
}

.editorial-body blockquote {
  margin: 56px 0;
  padding: 0 0 0 28px;
  border-left: 2px solid #000;
  font-size: clamp(1.7rem, 4vw, 2.7rem);
  line-height: 1.13;
  font-weight: 600;
  letter-spacing: -0.045em;
}

.editorial-body figure.wp-block-image,
.editorial-body .wp-block-image {
  margin: 58px calc(50% - min(50vw, 590px));
}

.editorial-body figure.wp-block-image img,
.editorial-body .wp-block-image img,
.editorial-body .wp-block-gallery img {
  width: 100%;
  max-height: 780px;
  object-fit: cover;
  filter: none !important;
  -webkit-filter: none !important;
}

.editorial-body figcaption {
  max-width: 820px;
  margin: 12px auto 0;
  padding: 0 28px;
  font-size: .82rem;
  color: var(--muted);
  line-height: 1.4;
}

.editorial-body .wp-block-gallery {
  margin: 58px calc(50% - min(50vw, 590px));
}

.related.editorial-related {
  border-top: 1px solid var(--line);
  padding: 38px 0 64px;
}

@media (max-width: 800px) {
  .editorial-article-header {
    padding: 44px 22px 30px;
  }

  .editorial-article-title {
    font-size: clamp(2.8rem, 13vw, 4.8rem) !important;
  }

  .editorial-credit-stack {
    display: grid;
    gap: 8px;
  }

  .editorial-hero-image {
    padding-left: 18px;
    padding-right: 18px;
  }

  .editorial-hero-image img {
    aspect-ratio: 4 / 3;
    max-height: 560px;
  }

  .editorial-body {
    padding-left: 22px;
    padding-right: 22px;
    font-size: 1.06rem;
  }

  .editorial-body figure.wp-block-image,
  .editorial-body .wp-block-image,
  .editorial-body .wp-block-gallery {
    margin-left: -22px;
    margin-right: -22px;
  }
}

/* Final global colour safeguard */
img,
.wp-post-image,
.hero-slide-image img,
.story-card img,
.archive-feature img,
.article-row img,
.single-image img,
.editorial-hero-image img,
.editorial-body img,
.wp-block-image img,
.wp-block-gallery img,
.cover {
  filter: none !important;
  -webkit-filter: none !important;
}


/* =========================================================
   SAMWISE v1.7 EDITORIAL GALLERY SYSTEM
   Notion / Dazed-style article image layouts.
   ========================================================= */

.editorial-body {
  max-width: 760px;
}

.editorial-body .wp-block-image {
  margin-top: 52px;
  margin-bottom: 52px;
}

/* Image block style: Editorial Wide Image */
.editorial-body .wp-block-image.is-style-editorial-wide {
  width: min(1100px, calc(100vw - 56px));
  max-width: none;
  margin: 64px calc(50% - min(550px, calc(50vw - 28px)));
}

.editorial-body .wp-block-image.is-style-editorial-wide img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
}

/* Gallery block style: Two-Up Portrait */
.editorial-body .wp-block-gallery.is-style-two-up-portrait {
  width: min(920px, calc(100vw - 56px));
  max-width: none;
  margin: 64px calc(50% - min(460px, calc(50vw - 28px)));
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px !important;
  align-items: start;
}

.editorial-body .wp-block-gallery.is-style-two-up-portrait.has-nested-images figure.wp-block-image,
.editorial-body .wp-block-gallery.is-style-two-up-portrait figure.wp-block-image {
  width: 100% !important;
  margin: 0 !important;
}

.editorial-body .wp-block-gallery.is-style-two-up-portrait figure.wp-block-image img {
  width: 100% !important;
  aspect-ratio: 4 / 5;
  height: auto !important;
  object-fit: cover;
  object-position: center center;
  max-height: none;
}

/* Gallery block style: Three-Up Editorial */
.editorial-body .wp-block-gallery.is-style-three-up-editorial {
  width: min(1100px, calc(100vw - 56px));
  max-width: none;
  margin: 64px calc(50% - min(550px, calc(50vw - 28px)));
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px !important;
  align-items: start;
}

.editorial-body .wp-block-gallery.is-style-three-up-editorial.has-nested-images figure.wp-block-image,
.editorial-body .wp-block-gallery.is-style-three-up-editorial figure.wp-block-image {
  width: 100% !important;
  margin: 0 !important;
}

.editorial-body .wp-block-gallery.is-style-three-up-editorial figure.wp-block-image img {
  width: 100% !important;
  aspect-ratio: 4 / 5;
  height: auto !important;
  object-fit: cover;
  object-position: center center;
  max-height: none;
}

/* Image block style: Full Bleed Image */
.editorial-body .wp-block-image.is-style-full-bleed-image {
  width: 100vw;
  max-width: none;
  margin: 72px calc(50% - 50vw);
}

.editorial-body .wp-block-image.is-style-full-bleed-image img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: cover;
}

.editorial-body .wp-block-image.is-style-editorial-wide figcaption,
.editorial-body .wp-block-image.is-style-full-bleed-image figcaption {
  max-width: 760px;
  margin: 12px auto 0;
  padding: 0 28px;
  font-size: .82rem;
  color: var(--muted);
}

@media (max-width: 800px) {
  .editorial-body .wp-block-image.is-style-editorial-wide,
  .editorial-body .wp-block-gallery.is-style-two-up-portrait,
  .editorial-body .wp-block-gallery.is-style-three-up-editorial {
    width: auto;
    margin-left: -22px;
    margin-right: -22px;
  }

  .editorial-body .wp-block-gallery.is-style-two-up-portrait,
  .editorial-body .wp-block-gallery.is-style-three-up-editorial {
    grid-template-columns: 1fr;
    gap: 22px !important;
  }

  .editorial-body .wp-block-gallery.is-style-two-up-portrait figure.wp-block-image img,
  .editorial-body .wp-block-gallery.is-style-three-up-editorial figure.wp-block-image img {
    aspect-ratio: 4 / 5;
  }

  .editorial-body .wp-block-image.is-style-full-bleed-image {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}


/* =========================================================
   SAMWISE v1.9 ARTICLE CREDIT SYSTEM
   Credit order: WORDS → PHOTOS → DATE
   Words pulls from the WordPress Author.
   Photos is editable per post.
   Date pulls from publish date unless override is used.
   ========================================================= */

.editorial-credit-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.editorial-credit-stack span {
  white-space: nowrap;
}

@media (max-width: 700px) {
  .editorial-credit-stack {
    display: grid;
    gap: 8px;
  }

  .editorial-credit-stack span {
    white-space: normal;
  }
}


/* Samwise 2.0.1 — Article hero image proportion fix only */
.editorial-hero-image img,
.single-image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center;
}


/* Samwise 2.0.3 — footer social icons */
.socials a,
.socials .social-disabled {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  color: #000;
}

.socials svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.socials a:nth-child(2) svg,
.socials .social-disabled svg {
  fill: currentColor;
  stroke: none;
}

.socials .social-disabled {
  opacity: .55;
  cursor: default;
}


/* Samwise 2.0.4 — visible footer social icons fix */
.georgie-socials {
  display: flex !important;
  gap: 42px !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 30px 0 64px !important;
}

.georgie-social-link {
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #000 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.georgie-social-icon {
  width: 34px !important;
  height: 34px !important;
  display: block !important;
  color: #000 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.georgie-social-disabled {
  opacity: .55 !important;
  cursor: default !important;
}


/* Samwise 2.0.5 — footer social icons using supplied IG/TikTok artwork */
.georgie-socials {
  display: flex !important;
  gap: 42px !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 30px 0 64px !important;
}

.georgie-social-link {
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #000 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.georgie-social-img {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Keep Facebook size/position as the visual reference */
.georgie-social-facebook span {
  display: block !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  font-size: 39px !important;
  line-height: 38px !important;
  color: #000 !important;
  transform: translateY(1px);
}

/* Fine-tune supplied icons to match the Facebook visual scale */
.georgie-social-img-instagram {
  width: 36px !important;
  height: 36px !important;
}

.georgie-social-img-tiktok {
  width: 34px !important;
  height: 34px !important;
}

.georgie-social-disabled {
  opacity: .55 !important;
  cursor: default !important;
}


/* Samwise 2.0.6 — archive pagination styling */
.samwise-pagination,
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  padding: 42px 0 56px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .82rem;
  font-weight: 700;
}

.samwise-pagination .page-numbers,
.pagination .page-numbers {
  color: #000;
  text-decoration: none;
}

.samwise-pagination .page-numbers.current,
.pagination .page-numbers.current {
  border-bottom: 1px solid #000;
}


/* Samwise 2.0.7 — editorial pagination refinement */
.samwise-pagination,
.pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 24px !important;
  padding: 74px 0 82px !important;
  margin: 0 !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.samwise-pagination ul,
.pagination ul {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.samwise-pagination li,
.pagination li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.samwise-pagination .page-numbers,
.pagination .page-numbers {
  display: inline-block !important;
  color: #000 !important;
  text-decoration: none !important;
  border: 0 !important;
  padding: 0 0 4px !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}

.samwise-pagination .page-numbers.current,
.pagination .page-numbers.current {
  border-bottom: 1px solid #000 !important;
}

.samwise-pagination .page-numbers.dots,
.pagination .page-numbers.dots {
  border-bottom: 0 !important;
}

.samwise-pagination .page-numbers.next,
.samwise-pagination .page-numbers.prev,
.pagination .page-numbers.next,
.pagination .page-numbers.prev {
  font-size: 32px !important;
  line-height: 1 !important;
  transform: translateY(-1px);
}

@media (max-width: 700px) {
  .samwise-pagination,
  .pagination,
  .samwise-pagination ul,
  .pagination ul {
    gap: 16px !important;
  }

  .samwise-pagination .page-numbers,
  .pagination .page-numbers {
    font-size: 24px !important;
  }
}


/* Samwise 2.0.8 — pagination horizontal layout fix */
nav.samwise-pagination {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  padding: 54px 0 64px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

nav.samwise-pagination ul.page-numbers,
nav.samwise-pagination .page-numbers {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  width: auto !important;
}

nav.samwise-pagination ul.page-numbers li,
nav.samwise-pagination li {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  line-height: 1 !important;
}

nav.samwise-pagination a.page-numbers,
nav.samwise-pagination span.page-numbers,
nav.samwise-pagination .page-numbers a,
nav.samwise-pagination .page-numbers span {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 0 3px !important;
  color: #000 !important;
  text-decoration: none !important;
  border: 0 !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  vertical-align: baseline !important;
}

nav.samwise-pagination span.page-numbers.current,
nav.samwise-pagination .page-numbers.current {
  border-bottom: 1px solid #000 !important;
}

nav.samwise-pagination span.page-numbers.dots,
nav.samwise-pagination .page-numbers.dots {
  border-bottom: 0 !important;
}

nav.samwise-pagination a.page-numbers.next,
nav.samwise-pagination a.page-numbers.prev,
nav.samwise-pagination .page-numbers.next,
nav.samwise-pagination .page-numbers.prev {
  font-size: 18px !important;
  line-height: 1 !important;
  transform: translateY(-1px);
}

@media (max-width: 700px) {
  nav.samwise-pagination ul.page-numbers,
  nav.samwise-pagination .page-numbers {
    gap: 14px !important;
  }

  nav.samwise-pagination a.page-numbers,
  nav.samwise-pagination span.page-numbers,
  nav.samwise-pagination .page-numbers a,
  nav.samwise-pagination .page-numbers span {
    font-size: 16px !important;
  }
}
