/* Mahera Gallery slider input and magazine presentation refresh */
.hero.container-wide {
  cursor: grab;
  touch-action: none !important;
  user-select: none;
  -webkit-user-select: none;
}
.hero.container-wide.mahera-slider-dragging { cursor: grabbing; }
.hero.container-wide img { -webkit-user-drag: none; user-drag: none; }
.hero.container-wide .hero-arrow,
.hero.container-wide .hero-dots button { cursor: pointer; }

.editorial-hero {
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr);
  grid-template-rows: auto auto auto;
  grid-template-areas: "eyebrow image" "title image" "description image";
  align-items: center;
  column-gap: clamp(24px, 5vw, 72px);
  max-width: 1240px;
  margin: clamp(24px, 4vw, 56px) auto 42px;
  padding: clamp(24px, 4.5vw, 58px);
  overflow: hidden;
  border: 1px solid #e9ded2;
  border-radius: 28px;
  background: radial-gradient(circle at 88% 8%, #fffdf9 0, transparent 34%), linear-gradient(120deg, #f5eee6, #eee2d6);
  box-shadow: 0 18px 48px rgba(68, 45, 26, .08);
}
.editorial-hero > .eyebrow { grid-area: eyebrow; align-self: end; color: #9a7554; font-size: 11px; letter-spacing: .08em; }
.editorial-hero > h1 { grid-area: title; max-width: 610px; margin: 10px 0 4px; color: #24201d; font-size: clamp(30px, 4vw, 48px); font-weight: 600; line-height: 1.42; }
.editorial-hero > p { grid-area: description; max-width: 590px; margin: 8px 0 0; color: #6e6258; font-size: clamp(14px, 1.25vw, 17px); line-height: 2.1; }
.editorial-hero > .magazine-hero-image { grid-area: image; grid-column: 1; grid-row: 1 / span 3; width: 100%; height: clamp(250px, 31vw, 390px); margin: 0; border: 5px solid rgba(255,255,255,.74); border-radius: 22px; box-shadow: 0 18px 38px rgba(44, 28, 17, .16); }

.magazine-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 24px) !important;
  align-items: stretch;
  max-width: 1240px;
  margin-inline: auto;
  margin-bottom: clamp(42px, 7vw, 88px) !important;
}
.magazine-grid > article {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #eee6de;
  border-radius: 20px;
  background: #fffdfa;
  box-shadow: 0 8px 24px rgba(48, 34, 23, .055);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.magazine-grid > article:hover { transform: translateY(-5px); border-color: #dfcbb7; box-shadow: 0 18px 38px rgba(48, 34, 23, .12); }
.magazine-grid > article .magazine-cover { flex: 0 0 auto; width: 100%; height: 240px; overflow: hidden; background: #f1e8df; }
.magazine-grid > article .magazine-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.magazine-grid > article:hover .magazine-cover img { transform: scale(1.045); }
.magazine-grid > article > div { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; padding: 20px 22px 22px; }
.magazine-grid > article > div > span:first-child { display: inline-flex; align-items: center; min-height: 27px; padding: 3px 11px; border: 1px solid #eadccc; border-radius: 30px; background: #f8f1e9; color: #886b50; font-size: 11px; }
.magazine-grid > article h2 { margin: 12px 0 6px; color: #24211e; font-size: clamp(17px, 1.5vw, 21px); font-weight: 600; line-height: 1.7; }
.magazine-grid > article h2 a { text-decoration: none; text-underline-offset: 4px; }
.magazine-grid > article h2 a:hover { color: #8d6a49; text-decoration: underline; }
.magazine-grid > article p { display: -webkit-box; overflow: hidden; margin: 0 0 14px; color: #746c65; font-size: 13px; line-height: 2; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.magazine-grid > article .magazine-read { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 6px; color: #43382f; font-size: 12px; font-weight: 600; text-decoration: none; }
.magazine-grid > article .magazine-read:hover { color: #9a7554; }
.magazine-grid > article.featured { grid-column: span 2; grid-row: span 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: stretch; }
.magazine-grid > article.featured .magazine-cover { height: 100%; min-height: 420px; }
.magazine-grid > article.featured .magazine-cover img { min-height: 100%; }
.magazine-grid > article.featured > div { justify-content: center; padding: clamp(22px, 3vw, 38px); }
.magazine-grid > article.featured h2 { font-size: clamp(23px, 2.4vw, 32px); line-height: 1.6; }
.magazine-grid > article.featured p { display: block; overflow: visible; font-size: 14px; -webkit-line-clamp: unset; }
.magazine-grid .empty { grid-column: 1 / -1; padding: 52px 24px; border: 1px dashed #ddcdbc; border-radius: 20px; background: #fbf7f1; text-align: center; }

.journal-article { max-width: 960px !important; padding-top: clamp(24px, 5vw, 54px) !important; padding-bottom: 88px !important; color: #302b27; }
.journal-article .journal-back { display: inline-flex; align-items: center; gap: 7px; padding: 9px 15px; border: 1px solid #e9ded3; border-radius: 30px; background: #fffdfa; color: #6f6257; font-size: 12px; text-decoration: none; transition: background .2s ease, color .2s ease; }
.journal-article .journal-back:hover { background: #f4ece3; color: #33271d; }
.journal-article > header { box-sizing: border-box; max-width: none; margin: 22px 0 18px; padding: clamp(24px, 5vw, 54px); border: 1px solid #eee4da; border-radius: 24px; background: radial-gradient(circle at 90% 0, #fff 0, transparent 32%), linear-gradient(130deg, #faf6f0, #f3e9de); text-align: right; }
.journal-article > header .eyebrow { display: inline-flex; align-items: center; min-height: 29px; padding: 3px 12px; border: 1px solid #e6d5c3; border-radius: 30px; background: rgba(255,255,255,.68); color: #896d53; font-size: 11px; }
.journal-article > header h1 { max-width: 780px; margin: 16px 0 8px; color: #25211e; font-size: clamp(29px, 4.2vw, 48px); font-weight: 600; line-height: 1.5; }
.journal-article > header p { max-width: 760px; margin: 0; color: #6e6258; font-size: clamp(14px, 1.4vw, 17px); line-height: 2.15; }
.journal-meta-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: 760px; margin: 0 auto 18px; padding: 11px 0; border-bottom: 1px solid #eee7e0; color: #81766d; font-size: 12px; }
.journal-read-time { display: inline-flex; align-items: center; gap: 8px; }
.journal-read-time::before { width: 7px; height: 7px; border-radius: 50%; background: #b99573; content: ""; }
.journal-share { min-height: 38px; padding: 8px 15px; border: 1px solid #e7d7c8; border-radius: 30px; background: #fffdfa; color: #514238; font: inherit; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.journal-share:hover { border-color: #c9a98a; background: #f7efe7; }
.journal-cover { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 16 / 9; border: 5px solid #fff; border-radius: 23px; background: #f2e8df; box-shadow: 0 16px 42px rgba(48, 34, 23, .13); object-fit: cover; }
.journal-content { max-width: 760px !important; margin: clamp(28px, 5vw, 48px) auto !important; color: #39332e !important; font-size: clamp(15px, 1.5vw, 17px) !important; line-height: 2.35 !important; white-space: pre-line; overflow-wrap: anywhere; }
.journal-article > .btn { min-height: 46px; padding: 11px 22px; border-radius: 30px; text-decoration: none; }
.journal-not-found { max-width: 760px; margin-block: 60px; padding: 50px 24px; border: 1px solid #eee4da; border-radius: 24px; background: #fbf7f1; }

@media (hover: hover) and (pointer: fine) {
  .hero.container-wide { cursor: grab; }
  .hero.container-wide.mahera-slider-dragging { cursor: grabbing; }
}
@media (max-width: 900px) {
  .magazine-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .magazine-grid > article.featured { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 640px) {
  .editorial-hero { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto auto; grid-template-areas: "eyebrow" "title" "description" "image"; gap: 6px; margin: 18px 14px 28px; padding: 23px 20px 20px; border-radius: 21px; }
  .editorial-hero > h1 { margin: 5px 0 0; font-size: clamp(27px, 8vw, 36px); }
  .editorial-hero > p { margin-top: 5px; font-size: 14px; line-height: 1.95; }
  .editorial-hero > .magazine-hero-image { grid-column: auto; grid-row: auto; height: 205px; margin-top: 14px; border-width: 3px; border-radius: 16px; }
  .magazine-grid { grid-template-columns: minmax(0, 1fr); gap: 14px !important; padding-inline: 14px; }
  .magazine-grid > article .magazine-cover { height: 220px; }
  .magazine-grid > article.featured { display: flex; grid-column: auto; grid-row: auto; }
  .magazine-grid > article.featured .magazine-cover { height: 230px; min-height: 0; }
  .magazine-grid > article.featured .magazine-cover img { min-height: 0; }
  .magazine-grid > article > div, .magazine-grid > article.featured > div { padding: 17px 18px 19px; }
  .magazine-grid > article.featured h2 { font-size: 21px; }
  .journal-article { padding-inline: 15px !important; padding-top: 22px !important; }
  .journal-article > header { margin: 16px 0 14px; padding: 23px 19px; border-radius: 19px; }
  .journal-article > header h1 { margin-top: 12px; font-size: clamp(25px, 8vw, 34px); }
  .journal-cover { border-width: 3px; border-radius: 17px; aspect-ratio: 4 / 3; }
  .journal-meta-bar { margin-bottom: 8px; font-size: 11px; }
  .journal-share { min-height: 36px; padding-inline: 12px; font-size: 11px; }
  .journal-content { margin-block: 24px !important; line-height: 2.2 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .magazine-grid > article, .magazine-grid > article .magazine-cover img { transition: none !important; }
}
