/*
Theme Name: Penfold Editorial
Theme URI: https://example.com/penfold
Author: Custom Build
Author URI: https://example.com
Description: A clean, editorial lifestyle-magazine WordPress theme with a serif headline font, sticky header, off-canvas mobile menu, author bio boxes, social share icons and a rich multi-column footer. Logo, menus, footer links and social icons are all editable from Appearance > Customize and Appearance > Menus.
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: penfold
Tags: blog, news, one-column, three-columns, custom-logo, custom-menu, featured-images, footer-widgets, threaded-comments, translation-ready
*/

/* ===========================================================
   0. TOKENS
=========================================================== */
:root{
  --me-black:#111111;
  --me-white:#ffffff;
  --me-cream:#f4f1ea;
  --me-gray-100:#f7f7f5;
  --me-gray-300:#e4e2dc;
  --me-gray-500:#8a8880;
  --me-gray-700:#4a4a46;
  --me-link:#1c4e80;
  --me-footer-bg:#0b0b0b;
  --me-font-serif: "Fraunces","Georgia",serif;
  --me-font-sans: "Jost","Helvetica Neue",Arial,sans-serif;
  --me-container: 1300px;
  --me-radius: 2px;
}

/* ===========================================================
   1. RESET / BASE
=========================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--me-font-sans);
  color:var(--me-black);
  background:var(--me-white);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--me-link);text-decoration:none;}
a:hover{text-decoration:underline;}
ul{list-style:none;margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
.me-container{max-width:var(--me-container);margin:0 auto;padding:0 24px;}
.screen-reader-text{position:absolute;left:-9999px;}

h1,h2,h3,h4{font-family:var(--me-font-serif);font-weight:400;margin:0 0 .5em;}

/* ===========================================================
   2. MASTHEAD (logo left, socials right - scrolls away)
=========================================================== */
.me-masthead{background:var(--me-white);}
.me-masthead-inner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:96px;padding-top:12px;padding-bottom:12px;
}
.me-logo{margin:0;}
.me-logo a{color:var(--me-black);text-decoration:none;}
.me-logo img{max-height:44px;width:auto;}
.me-logo-text{
  font-family:var(--me-font-serif);font-weight:500;font-size:46px;line-height:1;
  letter-spacing:-1px;text-transform:lowercase;white-space:nowrap;
}
.me-social-list{display:flex;gap:15px;align-items:center;}
.me-social-list a{color:var(--me-black);display:flex;transition:opacity .2s ease;}
.me-social-list a:hover{opacity:.55;}
.me-social-list svg{width:19px;height:19px;fill:currentColor;}

/* ===========================================================
   3. NAVBAR (sticky)
=========================================================== */
.me-header{
  position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--me-white);
  border-top:1px solid var(--me-gray-300);border-bottom:1px solid var(--me-gray-300);
}
body.admin-bar .me-header{top:32px;}
@media screen and (max-width:782px){body.admin-bar .me-header{top:46px;}}
.me-header.is-scrolled{box-shadow:0 2px 12px rgba(0,0,0,.07);}
/* default navbar */
.me-navbar-main{
  display:flex;align-items:center;justify-content:space-between;
  height:58px;gap:20px;
}
.me-nb-left,.me-nb-right{display:flex;align-items:center;gap:22px;min-width:0;}
.me-mini-logo{
  font-family:var(--me-font-serif);font-weight:500;font-size:24px;line-height:1;
  letter-spacing:-.5px;text-transform:lowercase;white-space:nowrap;
  color:var(--me-black);text-decoration:none;
}
.me-mini-logo:hover{text-decoration:none;}

/* slim article navbar (appears on scroll) */
.me-navbar-slim{display:none;align-items:center;gap:16px;height:58px;}
.me-header.is-slim .me-navbar-main{display:none;}
.me-header.is-slim .me-navbar-slim{display:flex;animation:meSlimIn .22s ease;}
/* Mobile: cats row stays visible in slim mode so the sticky
   header keeps a constant height (height changes break
   position:sticky on mobile browsers) */
@keyframes meSlimIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.me-slim-title{
  flex:1;min-width:0;text-align:center;
  font-family:var(--me-font-serif);font-style:italic;font-size:15px;color:var(--me-black);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.me-slim-cat{
  flex:1;min-width:0;text-align:center;
  font-family:var(--me-font-sans);font-size:12px;font-weight:600;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--me-black);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* mobile category row */
.me-mobile-cats{background:var(--me-white);}
.me-cats-scroll{overflow-x:auto;scrollbar-width:none;}
.me-cats-scroll::-webkit-scrollbar{display:none;}
.me-cats-scroll ul{display:flex;gap:24px;padding:11px 0;}
.me-cats-scroll a{
  font-family:var(--me-font-sans);font-size:12px;font-weight:500;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--me-black);white-space:nowrap;
}
.me-cats-scroll a:hover{text-decoration:none;opacity:.55;}

.me-hamburger{
  background:none;border:0;padding:6px;display:flex;flex-direction:column;
  gap:5px;justify-content:center;align-items:center;
}
.me-hamburger span{display:block;width:22px;height:2px;background:var(--me-black);}

.me-primary-nav{display:none;}
.me-primary-nav > ul{display:flex;align-items:center;gap:28px;}
.me-primary-nav > ul > li{position:relative;display:flex;align-items:center;height:58px;}
/* caret on items that have sub menus */
.me-primary-nav .menu-item-has-children > a::after{
  content:"";display:inline-block;width:5px;height:5px;margin:0 0 3px 8px;
  border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);
}
/* dropdown (opens on hover, keyboard focus, or tap) */
.me-primary-nav .sub-menu{
  position:absolute;top:100%;left:-18px;z-index:120;display:block;
  min-width:230px;max-width:320px;padding:8px 0;background:var(--me-white);
  border:1px solid var(--me-gray-300);border-top:2px solid var(--me-black);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .18s ease .08s,transform .18s ease .08s,visibility 0s linear .26s;
}
.me-primary-nav li:hover > .sub-menu,
.me-primary-nav li:focus-within > .sub-menu,
.me-primary-nav li.is-open > .sub-menu{
  opacity:1;visibility:visible;transform:none;
  transition:opacity .18s ease,transform .18s ease,visibility 0s;
}
.me-primary-nav .sub-menu li{display:block;position:relative;margin:0;height:auto;}
.me-primary-nav .sub-menu a{
  display:block;padding:9px 22px;font-size:12.5px;line-height:1.4;letter-spacing:1px;
  white-space:normal;border-bottom:0;
}
.me-primary-nav .sub-menu a:hover{background:var(--me-gray-100);border-bottom:0;}
.me-primary-nav .sub-menu .menu-item-has-children > a{padding-right:34px;}
.me-primary-nav .sub-menu .menu-item-has-children > a::after{
  position:absolute;right:16px;top:50%;margin:-3px 0 0;transform:rotate(-45deg);
}
.me-primary-nav .sub-menu .sub-menu{top:-9px;left:100%;}
.me-primary-nav .me-flip > .sub-menu{left:auto;right:-18px;}
.me-primary-nav .sub-menu .me-flip > .sub-menu{left:auto;right:100%;}
.me-primary-nav a{
  font-family:var(--me-font-sans);font-size:13px;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--me-black);font-weight:500;
  border-bottom:2px solid transparent;padding-bottom:6px;
  transition:border-color .2s ease;
}
.me-primary-nav a:hover{text-decoration:none;border-bottom-color:var(--me-black);}

.me-subscribe-link{
  font-family:var(--me-font-sans);font-size:12px;font-weight:600;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--me-black);white-space:nowrap;
}
.me-subscribe-link:hover{text-decoration:none;opacity:.55;}
.me-nav-divider{width:1px;height:24px;background:var(--me-black);flex:none;}

.me-icon-btn{background:none;border:0;padding:4px;color:var(--me-black);display:flex;}
.me-icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;}

@media(min-width:1024px){
  .me-primary-nav{display:block;}
}
@media(max-width:1023px){
  .me-masthead{display:none;}
  /* Fixed (not sticky): sticky was not holding on mobile browsers.
     Body padding compensates the fixed header height (52 + 40). */
  .me-header{position:fixed !important;top:0 !important;left:0 !important;right:0 !important;transform:translateZ(0);}
  body{padding-top:92px;}
  body.admin-bar .me-header{top:46px !important;}
  body.admin-bar{padding-top:138px;}
  .me-navbar-main,.me-navbar-slim{height:52px;gap:12px;}
  .me-nb-left,.me-nb-right{gap:14px;}
  .me-mini-logo{font-size:22px;}
  .me-slim-title{font-size:13px;}
  .me-mobile-cats{height:40px;overflow:hidden;}
  .me-cats-scroll{height:40px;}
  .me-cats-scroll ul{height:40px;padding-top:0;padding-bottom:0;align-items:center;}
  /* Slim (scrolled) article header: hide category row like PureWow */
  .me-header.is-slim .me-mobile-cats{display:none;}
  body.is-slim{padding-top:52px;}
  body.admin-bar.is-slim{padding-top:98px;}
  /* Mobile scrolled (all pages): hide category row */
  .me-header.me-cats-hidden .me-mobile-cats{display:none;}
  body.me-cats-hidden{padding-top:52px;}
  body.admin-bar.me-cats-hidden{padding-top:98px;}
}

/* ===========================================================
   4. OFF-CANVAS MOBILE / CATEGORY MENU
=========================================================== */
.me-offcanvas{
  position:fixed;inset:0 auto 0 0;width:320px;max-width:85vw;background:var(--me-white);
  transform:translateX(-105%);transition:transform .3s ease;z-index:200;
  overflow-y:auto;box-shadow:2px 0 20px rgba(0,0,0,.15);
}
.me-offcanvas.is-open{transform:translateX(0);}
.me-offcanvas-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:190;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.me-offcanvas-overlay.is-open{opacity:1;pointer-events:auto;}
.me-offcanvas-head{display:flex;align-items:center;gap:10px;padding:18px 20px;border-bottom:1px solid var(--me-gray-300);}
.me-offcanvas-search{
  flex:1;display:flex;align-items:center;border-bottom:1px solid var(--me-gray-500);padding:6px 0;
}
.me-offcanvas-search input{border:0;flex:1;font-size:15px;outline:none;padding:4px;}
.me-offcanvas-close{background:none;border:0;font-size:22px;line-height:1;padding:4px 8px;}
.me-offcanvas-menu{padding:10px 0;}
.me-offcanvas-menu .menu-item,.me-offcanvas-menu .cat-item{position:relative;}
.me-offcanvas-menu .menu-item-has-children > a{padding-right:62px;}
.me-sub-toggle{
  position:absolute;top:0;right:0;width:54px;height:49px;padding:0;
  background:none;border:0;border-left:1px solid var(--me-gray-100);color:var(--me-black);
  display:flex;align-items:center;justify-content:center;
}
.me-sub-toggle::before{
  content:"";width:7px;height:7px;margin-top:-4px;
  border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s ease;
}
.me-sub-toggle[aria-expanded="true"]::before{transform:rotate(-135deg);margin-top:3px;}
.me-offcanvas-menu .sub-menu{display:none;background:var(--me-gray-100);}
.me-offcanvas-menu .menu-item.is-open > .sub-menu{display:block;}
.me-offcanvas-menu .sub-menu li a{padding-left:38px;font-size:14px;border-bottom:1px solid #eceae4;}
.me-offcanvas-menu .sub-menu .sub-menu li a{padding-left:54px;}
.me-offcanvas-menu .sub-menu .sub-menu .sub-menu li a{padding-left:70px;}
.me-offcanvas-menu .sub-menu .me-sub-toggle{height:44px;border-left-color:#eceae4;}
.me-offcanvas-menu li a{
  display:block;padding:12px 22px;font-size:15px;color:var(--me-black);border-bottom:1px solid var(--me-gray-100);
}

/* ===========================================================
   5. EDITORS' PICKS / HOMEPAGE GRID
=========================================================== */
.me-section-title{
  font-family:var(--me-font-serif);font-size:22px;margin:38px 0 20px;
  padding-bottom:10px;border-bottom:2px solid var(--me-black);
}
.me-grid{display:grid;grid-template-columns:1fr;gap:30px 24px;align-items:start;margin-bottom:10px;}
@media(min-width:640px){
  .me-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(min-width:900px){
  .me-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.me-card{min-width:0;display:block;}
.me-card-thumb{display:block;position:relative;width:100%;overflow:hidden;border-radius:var(--me-radius);margin-bottom:12px;aspect-ratio:16/10;background:var(--me-gray-100);}
.me-card-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;transition:none;}
.me-card-eyebrow{display:block;font-size:11px;line-height:1.4;letter-spacing:1.2px;text-transform:uppercase;color:var(--me-gray-700);margin:0 0 8px;}
.me-card-eyebrow a{color:var(--me-link);}
.me-card-title{font-family:var(--me-font-serif);font-size:20px;line-height:1.3;margin:0;overflow-wrap:break-word;word-wrap:break-word;}
.me-card-title a{color:var(--me-black);}
.me-card-title a:hover{text-decoration:underline;}

.me-pagination{
  display:flex;
  justify-content:center;
  gap:12px;
  margin:30px 0 60px;
}
.me-pagination a,
.me-pagination button{
  display:inline-block;
  border:1px solid var(--me-black);
  color:var(--me-black);
  background:transparent;
  font-family:var(--me-font-sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:1.5px;
  text-transform:uppercase;
  padding:14px 40px;
  border-radius:var(--me-radius);
  text-decoration:none;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.me-pagination a:hover,
.me-pagination button:hover:not(:disabled){
  background:var(--me-black);
  color:var(--me-white);
  text-decoration:none;
}
.me-pagination button:disabled{opacity:.6;cursor:wait;}

.me-archive-grid{display:grid;grid-template-columns:1fr;gap:30px;margin:30px 0 50px;}
@media(min-width:700px){.me-archive-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:1080px){.me-archive-grid{grid-template-columns:repeat(4,1fr);}}

/* Homepage sections */
.me-home-section{display:flow-root;position:relative;margin:0;padding:56px 0 0;}
.me-home-section:first-child{padding-top:40px;}
#me-load-more-wrap{display:flow-root;position:relative;padding-top:56px;}
#me-more-grid:empty{display:none;}
.me-home .me-pagination{margin:10px 0 60px;}
.me-home-title{
  font-family:var(--me-font-sans);font-size:20px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--me-black);
  margin:0 0 30px;padding:0 0 14px;line-height:1.3;border-bottom:2px solid var(--me-black);
  position:relative;clear:both;
}
.me-home-title a{color:var(--me-black);}
.me-home-title a:hover{text-decoration:none;opacity:.6;}
@media(min-width:1080px){
  .me-grid.me-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
}
.me-card-eyebrow{text-transform:uppercase;}

/* --- Layout: lead (first 2 cards wide, rest in 4 columns) --- */
.me-grid-lead .me-card-wide .me-card-thumb{aspect-ratio:16/9;}
.me-grid-lead .me-card-wide .me-card-title{font-size:24px;}
@media(min-width:900px){
  .me-grid.me-grid-lead{grid-template-columns:repeat(4,minmax(0,1fr));}
  .me-grid-lead .me-card-wide{grid-column:span 2;}
}
@media(max-width:899px){
  .me-grid-lead .me-card-wide{grid-column:span 1;}
  .me-grid-lead .me-card-wide .me-card-thumb{aspect-ratio:16/10;}
  .me-grid-lead .me-card-wide .me-card-title{font-size:20px;}
}

/* --- Layout: masonry (now a stable grid: no CSS columns = no overlap) --- */
.me-masonry{display:grid;grid-template-columns:1fr;gap:30px 24px;align-items:start;margin-bottom:10px;}
@media(min-width:560px){.me-masonry{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(min-width:900px){.me-masonry{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(min-width:1180px){.me-masonry{grid-template-columns:repeat(4,minmax(0,1fr));}}
.me-masonry .me-card{width:100%;margin:0;}
.me-masonry .me-card-masonry .me-card-thumb{aspect-ratio:16/10;}

/* --- Layout: ranked (numbered list) --- */
.me-ranked{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 48px;margin-bottom:10px;}
@media(max-width:700px){.me-ranked{grid-template-columns:1fr;}}
.me-ranked-item{
  display:flex;gap:18px;align-items:center;min-width:0;
  padding:18px 0;border-bottom:1px solid var(--me-gray-300);
}
.me-rank-num{
  font-family:var(--me-font-serif);font-size:46px;line-height:1;
  color:var(--me-gray-300);min-width:58px;flex:none;
}
.me-rank-thumb{width:112px;flex:none;aspect-ratio:4/3;overflow:hidden;border-radius:var(--me-radius);background:var(--me-gray-100);}
.me-rank-thumb{display:block;}
.me-rank-thumb img{width:100%;height:100%;object-fit:cover;display:block;transform:none;transition:none;}
.me-rank-text{min-width:0;}
.me-rank-text .me-card-title{font-size:17px;}

/* --- Layout: horizontal cards --- */
.me-horizontal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 36px;align-items:start;}
@media(max-width:700px){.me-horizontal{grid-template-columns:1fr;}}
.me-hcard{display:flex;gap:18px;align-items:flex-start;min-width:0;}
.me-hcard-thumb{width:150px;flex:none;margin-bottom:0;aspect-ratio:4/3;}
.me-hcard-text .me-card-eyebrow{margin-bottom:6px;}
.me-hcard-text{min-width:0;}
.me-hcard-text .me-card-title{font-size:18px;}

/* Breadcrumbs */
.me-breadcrumbs{margin-top:22px;margin-bottom:0;}
.me-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;margin:0;padding:0;list-style:none;}
.me-breadcrumbs li{display:inline-flex;align-items:center;font-size:12px;line-height:1.5;letter-spacing:1px;text-transform:uppercase;color:var(--me-gray-700);}
.me-breadcrumbs li + li::before{content:"/";margin:0 10px;color:var(--me-gray-500);}
.me-breadcrumbs a{color:var(--me-gray-700);}
.me-breadcrumbs a:hover{color:var(--me-black);text-decoration:underline;}
.me-breadcrumbs .is-current{color:var(--me-black);font-weight:500;}
.me-breadcrumbs + main .me-section-title,.me-breadcrumbs + .me-container .me-section-title{margin-top:18px;}
.me-breadcrumbs + main .me-single-header{margin-top:22px;}
@media(max-width:700px){.me-breadcrumbs li{font-size:11px;letter-spacing:.8px;}}

/* Subcategory chips on category pages */
.me-subcats{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:0 0 30px;}
.me-subcats-label{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--me-gray-700);margin-right:4px;}
.me-subcats ul{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;}
.me-subcats a{
  display:inline-block;padding:8px 18px;border:1px solid var(--me-gray-300);border-radius:999px;
  font-size:12px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--me-black);line-height:1.3;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.me-subcats a:hover{border-color:var(--me-black);text-decoration:none;}
.me-subcats a.is-current{background:var(--me-black);border-color:var(--me-black);color:var(--me-white);}

/* ===========================================================
   6. SINGLE POST
=========================================================== */
.me-single-header{max-width:820px;margin:44px auto 26px;text-align:center;}
.me-single-eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;}
.me-single-eyebrow a{color:var(--me-link);}
.me-single-title{font-size:clamp(30px,5vw,46px);line-height:1.15;margin-bottom:16px;}
.me-single-dek{font-size:13px;letter-spacing:1.4px;text-transform:uppercase;color:var(--me-gray-700);margin-bottom:20px;}
.me-single-byline{font-size:13px;color:var(--me-gray-700);padding-bottom:22px;border-bottom:1px solid var(--me-gray-300);display:inline-block;}
.me-single-byline a{color:var(--me-black);font-weight:600;}
.me-single-thumb{max-width:1100px;margin:0 auto 30px;}
.me-single-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:var(--me-radius);}
.me-single-content{max-width:720px;margin:0 auto;font-size:18px;line-height:1.75;}
.me-single-content p{margin:0 0 22px;}
.me-single-content h2,.me-single-content h3{margin-top:36px;}
.me-single-content img{border-radius:var(--me-radius);margin:24px 0;}

/* Author box */
.me-author-box{
  max-width:720px;margin:50px auto;padding:26px 0;border-top:1px solid var(--me-black);border-bottom:1px solid var(--me-black);
  display:flex;gap:20px;align-items:flex-start;
}
.me-author-box img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;}
.me-author-box h4{margin:0 0 2px;}
.me-author-box h4 a{color:var(--me-link);}
.me-author-role{font-size:13px;color:var(--me-gray-700);margin-bottom:8px;}
.me-author-bio{font-size:13px;color:var(--me-gray-700);}
.me-author-bio li{position:relative;padding-left:14px;margin-bottom:4px;}
.me-author-bio li::before{content:"•";position:absolute;left:0;}

.me-share-row{display:flex;gap:12px;justify-content:center;align-items:center;margin:30px auto;max-width:720px;}
.me-share-row a{
  width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;
  transition:transform .2s ease,opacity .2s ease;
}
.me-share-row a:hover{transform:translateY(-2px);opacity:.9;}
.me-share-row svg{width:17px;height:17px;fill:currentColor;}
.me-share-pinterest{background:#c8232c;}
.me-share-facebook{background:#1877f2;}
.me-share-x{background:#111;}
.me-share-x svg{width:15px;height:15px;}
.me-share-link{background:#ff7a59;}
.me-share-email{background:#f06292;}

/* Comments / "The Conversation" - minimal, rounded, mobile-safe */
.me-comments{width:100%;max-width:720px;margin:44px auto;padding:0;min-width:0;overflow-wrap:anywhere;}
@media(max-width:760px){.me-comments{padding:0 16px;margin:32px auto;}}
.me-comments-title{font-family:var(--me-font-serif);font-size:22px;margin:0;padding-bottom:12px;border-bottom:1px solid var(--me-gray-300);}
.me-comments-sub{font-size:13px;line-height:1.5;color:var(--me-gray-700);margin:12px 0 4px;}
.me-comments-sub a{color:var(--me-black);text-decoration:underline;}
.me-comments-list{min-width:0;}

/* list */
.me-comments-list .comment-list,.me-comments-list .children{list-style:none;margin:0;padding:0;}
.me-comments-list .comment-list{margin:14px 0 10px;}
.me-comments-list .comment{margin:0 0 12px;padding:0;list-style:none;min-width:0;}
.me-comments-list .comment-body{padding:16px 18px;background:var(--me-gray-100);border-radius:18px;min-width:0;}
.me-comments-list .children{margin:12px 0 0 14px;}
.me-comments-list .children .comment{margin-bottom:0;}
.me-comments-list .children .comment + .comment{margin-top:12px;}
.me-comments-list .children .comment-body{background:var(--me-white);border:1px solid var(--me-gray-300);}
.me-comments-list .comment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin:0 0 10px;font-size:12px;color:var(--me-gray-700);}
.me-comments-list .comment-author{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%;}
.me-comments-list .comment-author .avatar{flex:none;width:36px;height:36px;border-radius:50%;object-fit:cover;margin:0;}
.me-comments-list .comment-author .fn{font-style:normal;font-weight:600;font-size:14px;color:var(--me-black);overflow-wrap:anywhere;line-height:1.3;min-width:0;}
.me-comments-list .comment-author .fn a{color:inherit;}
.me-comments-list .comment-author .says{display:none;}
.me-comments-list .comment-metadata{font-size:12px;line-height:1.4;}
.me-comments-list .comment-metadata a{color:var(--me-gray-700);}
.me-comments-list .comment-metadata a:hover{color:var(--me-black);}
.me-comments-list .comment-awaiting-moderation{display:block;margin:0 0 8px;font-size:12px;font-style:italic;color:var(--me-gray-500);}
.me-comments-list .comment-content{font-size:15px;line-height:1.65;overflow-wrap:anywhere;word-wrap:break-word;}
.me-comments-list .comment-content p{margin:0 0 10px;}
.me-comments-list .comment-content p:last-child{margin-bottom:0;}
.me-comments-list .comment-content img,.me-comments-list .comment-content iframe,.me-comments-list .comment-content video{max-width:100%;height:auto;border-radius:12px;}
.me-comments-list .reply{margin-top:10px;}
.me-comments-list .reply a{display:inline-block;padding:5px 12px;border:1px solid var(--me-gray-300);border-radius:999px;background:var(--me-white);font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--me-black);}
.me-comments-list .reply a:hover{border-color:var(--me-black);text-decoration:none;}
.me-comments-list .comment-meta .edit-link{margin-left:8px;}
@media(max-width:600px){
  .me-comments-list .comment-body{padding:14px;border-radius:16px;}
  .me-comments-list .children{margin-left:8px;}
  .me-comments-list .children .children .children{margin-left:0;}
}
.me-comments-list .comment-navigation,.me-comments-list .comments-pagination{margin:18px 0;}
.me-comments-list .comments-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.me-comments-list .comments-pagination .page-numbers{display:inline-block;padding:7px 14px;border:1px solid var(--me-gray-300);border-radius:999px;font-size:12px;color:var(--me-black);}
.me-comments-list .comments-pagination .page-numbers.current{background:var(--me-black);border-color:var(--me-black);color:#fff;}
.me-comments-list .comments-pagination a.page-numbers:hover{border-color:var(--me-black);text-decoration:none;}

/* form */
.me-comments-list .comment-respond{margin-top:26px;min-width:0;}
.me-comments-list .children .comment-respond{margin-top:12px;}
.me-comments-list .comment-reply-title{font-family:var(--me-font-serif);font-size:20px;margin:0 0 14px;}
.me-comments-list .comment-reply-title small{font-family:var(--me-font-sans);font-size:12px;margin-left:10px;white-space:nowrap;}
.me-comment-form{display:block;margin:0;padding:0;background:none;border:0;}
.me-comment-form p{margin:0 0 14px;min-width:0;}
@media(min-width:600px){
  .me-comment-form{display:flex;flex-wrap:wrap;gap:0 14px;}
  .me-comment-form > *{flex:1 1 100%;}
  .me-comment-form .comment-form-author,.me-comment-form .comment-form-email{flex:1 1 calc(50% - 7px);min-width:0;}
}
.me-comment-form label{display:block;margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--me-gray-700);}
.me-comment-form .required{color:var(--me-gray-500);}
.me-comment-form textarea,
.me-comment-form input[type=text],
.me-comment-form input[type=email]{
  display:block;width:100%;max-width:100%;margin:0;padding:12px 16px;
  font-family:var(--me-font-sans);font-size:16px;line-height:1.4;color:var(--me-black);
  background:var(--me-white);border:1px solid var(--me-gray-300);border-radius:16px;
  -webkit-appearance:none;appearance:none;transition:border-color .2s ease;
}
.me-comment-form textarea{min-height:120px;resize:none;}
.me-comment-form textarea:focus,
.me-comment-form input[type=text]:focus,
.me-comment-form input[type=email]:focus{outline:none;border-color:var(--me-black);}
.me-comment-count{display:block;margin-top:6px;text-align:right;font-size:12px;color:var(--me-gray-500);}
.me-comment-form .comment-notes,.me-comment-form .logged-in-as{font-size:13px;line-height:1.5;color:var(--me-gray-700);}
.me-comment-form .logged-in-as a{color:var(--me-black);text-decoration:underline;}
.me-comment-form .comment-form-cookies-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;color:var(--me-gray-700);}
.me-comment-form .comment-form-cookies-consent input{flex:none;width:16px;height:16px;margin:3px 0 0;accent-color:var(--me-black);}
.me-comment-form .comment-form-cookies-consent label{margin:0;font-size:13px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--me-gray-700);}
.me-comment-form .form-submit{margin:2px 0 0;}
.me-comment-form input[type=submit]{
  display:inline-block;margin:0;padding:13px 32px;border:1px solid var(--me-black);border-radius:999px;
  background:var(--me-black);color:#fff;cursor:pointer;-webkit-appearance:none;appearance:none;
  font-family:var(--me-font-sans);font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;
  transition:background .2s ease;
}
.me-comment-form input[type=submit]:hover{background:#333;}
@media(max-width:600px){.me-comment-form input[type=submit]{width:100%;}}

.me-powered-row{
  max-width:720px;margin:10px auto 0;display:flex;justify-content:space-between;
  font-size:12px;color:var(--me-gray-700);padding:16px 0;border-top:1px solid var(--me-gray-300);
}
.me-powered-row a{color:var(--me-gray-700);margin-left:14px;}
.me-powered-links ul{display:flex;gap:0;list-style:none;margin:0;padding:0;}
.me-powered-links li{margin:0;}

/* More stories you'll love */
.me-related{background:var(--me-gray-100);padding:40px 0 50px;margin-top:20px;}
.me-related-title{
  text-align:center;font-family:var(--me-font-serif);font-size:26px;
  padding-bottom:16px;border-bottom:1px solid var(--me-black);max-width:720px;margin:0 auto 30px;
}

/* ===========================================================
   7. FOOTER
=========================================================== */
/* PureWow-style footer: company/legal columns + brand block */
.me-footer{background:#000;color:#fff;padding:56px 0 34px;margin-top:20px;}
.me-footer-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:44px;}
.me-footer-col h5{
  display:inline-block;
  font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:#fff;
  border-bottom:1px solid #fff;padding-bottom:10px;margin:0 0 14px;
}
.me-footer-col ul{list-style:none;margin:0;padding:0;}
.me-footer-col li{margin-bottom:10px;}
.me-footer-col a{color:#e7e5e0;font-size:14px;text-decoration:none;}
.me-footer-col a:hover{color:#fff;text-decoration:underline;}
.me-footer-brandmini{margin-top:30px;font-family:var(--me-font-serif);font-size:22px;letter-spacing:4px;color:#fff;}
.me-footer-copy{font-size:10px;line-height:1.8;color:#8a8a8a;margin:12px 0 0;max-width:230px;}
.me-footer-subscribe{margin-top:30px;}
.me-footer-subscribe a{
  display:inline-block;border:1px solid #fff;color:#fff;background:none;text-decoration:none;
  padding:10px 24px;font-size:11px;font-weight:500;letter-spacing:1.6px;text-transform:uppercase;
  transition:background .2s ease,color .2s ease;
}
.me-footer-subscribe a:hover{background:#fff;color:#000;}
.me-footer-brand{text-align:right;}
.me-footer-logo{font-family:var(--me-font-serif);font-weight:400;font-size:clamp(42px,5vw,66px);line-height:1;margin:0 0 22px;color:#fff;}
.me-footer-logo a{color:#fff;text-decoration:none;}
.me-footer-nav ul{display:flex;gap:28px;justify-content:flex-end;flex-wrap:wrap;margin:0 0 26px;padding:0;list-style:none;}
.me-footer-nav a{color:#fff;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;text-decoration:none;}
.me-footer-nav a:hover{opacity:.65;}
.me-footer-search{display:flex;align-items:center;gap:8px;border-bottom:1px solid #fff;max-width:280px;margin:0 0 26px auto;padding:6px 0;}
.me-footer-search svg{width:14px;height:14px;stroke:#fff;flex:none;}
.me-footer-search input{flex:1;background:none;border:0;outline:none;color:#fff;font-size:12px;letter-spacing:2px;font-family:var(--me-font-sans);}
.me-footer-search input::placeholder{color:#fff;opacity:.8;}
.me-footer-social{display:flex;gap:18px;justify-content:flex-end;list-style:none;margin:0;padding:0;}
.me-footer-social a{display:flex;align-items:center;justify-content:center;color:#fff;}
.me-footer-social a:hover{opacity:.65;}
.me-footer-social svg{width:18px;height:18px;fill:#fff;}
@media(max-width:860px){
  .me-footer-grid{grid-template-columns:1fr 1fr;gap:36px;}
  .me-footer-brand{grid-column:1/-1;text-align:left;margin-top:10px;}
  .me-footer-nav ul{justify-content:flex-start;}
  .me-footer-search{margin:0 0 26px;}
  .me-footer-social{justify-content:flex-start;}
}
@media(max-width:520px){
  .me-footer-grid{grid-template-columns:1fr;gap:32px;}
  .me-footer-subscribe{text-align:left;}
}

/* ===========================================================
   9. MOTION SAFETY
=========================================================== */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition:none !important;animation:none !important;}
}

/* ===========================================================
   10. UTIL
=========================================================== */
.me-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
@media(max-width:1023px){.me-desktop-only{display:none;}}
@media(min-width:1024px){.me-mobile-only{display:none;}}

/* ===========================================================
   11. SINGLE POSTS ONLY - Albert Sans, underlined links, heading contrast
   (scoped to body.single-post article: header, footer and other pages untouched)
=========================================================== */
body.single-post article{
  --me-font-sans:"Albert Sans","Helvetica Neue",Arial,sans-serif;
  font-family:var(--me-font-sans);
}
body.single-post article .me-comments,
body.single-post article .me-comments textarea,
body.single-post article .me-comments input,
body.single-post article .me-comments button{font-family:var(--me-font-sans);}
/* headings and paragraphs share the same black */
body.single-post .me-single-content p,
body.single-post .me-single-content li,
body.single-post .me-single-content h2,
body.single-post .me-single-content h3,
body.single-post .me-single-content h4,
body.single-post .me-comments-list .comment-content{color:var(--me-black);}
body.single-post .me-single-content h2,
body.single-post .me-single-content h3,
body.single-post .me-single-content h4{font-weight:500;}
/* links inside the post text are underlined */
body.single-post .me-single-content a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
body.single-post .me-single-content a:hover{text-decoration-thickness:2px;}
/* mobile: keep post text away from the screen edges */
@media(max-width:760px){
  body.single-post article.post{padding-left:20px;padding-right:20px;}
  body.single-post article.post .me-comments{padding-left:0;padding-right:0;}
}
