/* ==========================================================================
   لمّا سافِرت — When I Travelled
   Custom editorial travel-blog theme (Arabic RTL)
   ========================================================================== */

:root{
  --cream:#f3ebdd;
  --paper:#fdf7ee;
  --ink:#2a211c;
  --ink-soft:#4c3f36;
  --muted:#8a7a66;
  --line:#e6d9c6;
  --teal:#7a2233;      /* Bosphorus */
  --teal-deep:#551a27;
  --terracotta:#9c3a48;/* sunset */
  --gold:#b58a4f;
  --shadow:0 24px 60px -30px rgba(38,34,28,.45);
  --maxtext:44rem;
  --maxwide:76rem;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:"Tajawal",sans-serif;
  font-size:20px;
  line-height:2.05;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit}

.kicker{font-family:"Tajawal",sans-serif;font-size:.72rem;letter-spacing:.32em;font-weight:500;text-transform:uppercase;color:var(--terracotta)}
.latin{font-family:"Tajawal",sans-serif}
h1,h2,h3{font-family:"El Messiri",sans-serif;font-weight:700;line-height:1.4;margin:0}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(246,241,232,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav__inner{max-width:var(--maxwide);margin:0 auto;padding:.9rem 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;flex-direction:column;line-height:1;text-decoration:none}
.brand__ar{font-family:"El Messiri",sans-serif;font-weight:700;font-size:1.5rem;color:var(--ink)}
.brand__en{font-family:"Tajawal",sans-serif;font-size:.85rem;letter-spacing:.14em;color:var(--muted);margin-top:.25rem}
.nav__links{display:flex;gap:1.7rem;font-family:"Tajawal",sans-serif;font-size:.95rem;font-weight:500}
.nav__links a{text-decoration:none;color:var(--ink-soft);transition:color .2s;position:relative}
.nav__links a:hover{color:var(--teal)}
.nav__links a::after{content:"";position:absolute;bottom:-6px;right:0;width:0;height:2px;background:var(--terracotta);transition:width .25s}
.nav__links a:hover::after{width:100%}
/* mobile hamburger toggle (hidden on desktop) */
.nav__toggle{display:none;flex-direction:column;justify-content:center;align-items:flex-end;gap:5px;width:44px;height:44px;padding:0;background:transparent;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nav__toggle span{display:block;width:24px;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s ease,opacity .2s ease}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* HERO */
.hero{position:relative;height:88vh;min-height:560px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,20,20,.82) 0%,rgba(15,20,20,.35) 42%,rgba(15,20,20,.15) 100%)}
.hero__inner{position:relative;z-index:2;max-width:var(--maxwide);margin:0 auto;width:100%;padding:0 1.6rem 5rem}
.hero .kicker{color:#e7c4ba}
.hero__title{font-size:clamp(2.6rem,6vw,5rem);line-height:1.15;margin:.6rem 0 .8rem;text-shadow:0 2px 30px rgba(0,0,0,.4);max-width:22ch}
.hero__meta{font-family:"Tajawal",sans-serif;font-size:1rem;color:#e9e2d4;font-weight:300;letter-spacing:.02em}
.hero__cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.8rem;font-family:"Tajawal",sans-serif;font-weight:500;font-size:1rem;background:var(--terracotta);color:#fff;text-decoration:none;padding:.85rem 1.8rem;border-radius:2rem;transition:transform .2s,background .2s}
.hero__cta:hover{background:#661d2b;transform:translateY(-2px)}

/* MANIFESTO */
.manifesto{max-width:52rem;margin:0 auto;padding:5.5rem 1.6rem 4rem;text-align:center}
.manifesto .kicker{display:block;margin-bottom:1.4rem}
.manifesto p{font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.9;color:var(--ink-soft);margin:0}
.manifesto .rule{width:60px;height:2px;background:var(--gold);margin:2rem auto 0}

/* SECTION */
.section{max-width:var(--maxwide);margin:0 auto;padding:2rem 1.6rem 5rem}
.section__head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:2.6rem}
.section__head h2{font-size:2rem}
.section__head a{font-family:"Tajawal",sans-serif;font-size:.9rem;color:var(--teal);text-decoration:none;font-weight:500}

/* CARDS */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem}
.card{text-decoration:none;color:inherit;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card--feature{grid-column:span 7}
.card--side{grid-column:span 5}
.card--soft{grid-column:span 6}
.card__media{position:relative;overflow:hidden}
.card--feature .card__media{aspect-ratio:16/10}
.card--side .card__media{aspect-ratio:16/11}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .card__media img{transform:scale(1.05)}
.card__body{padding:1.5rem 1.7rem 1.9rem}
.card__loc{font-family:"Tajawal",sans-serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terracotta);font-weight:500}
.card__title{font-size:1.7rem;margin:.55rem 0 .7rem;line-height:1.35}
.card--side .card__title{font-size:1.35rem}
.card__excerpt{font-size:1.05rem;color:var(--muted);line-height:1.9;margin:0}
.card__date{font-family:"Tajawal",sans-serif;font-size:.85rem;color:var(--muted);margin-top:1rem}
.card--placeholder{background:transparent;border-style:dashed;justify-content:center;align-items:center;text-align:center;min-height:220px;padding:2rem}
.card--placeholder .soon{font-family:"Tajawal",sans-serif;font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-weight:600}
.card--placeholder h3{font-size:1.6rem;margin:.7rem 0 .3rem;color:var(--ink-soft)}
.card--placeholder p{margin:0;color:var(--muted);font-size:1rem}

/* ABOUT */
.about{background:var(--teal-deep);color:#f2ede2}
.about__inner{max-width:56rem;margin:0 auto;padding:5rem 1.6rem;text-align:center}
.about .kicker{color:#e6b98f}
.about h2{font-size:clamp(1.9rem,3.5vw,2.6rem);margin:1rem 0 1.2rem;color:#fff}
.about p{font-size:1.2rem;line-height:2;color:#d9d2c4;margin:0 auto;max-width:44rem}

/* FOOTER */
.footer{background:var(--ink);color:#c9beac}
.footer__inner{max-width:var(--maxwide);margin:0 auto;padding:3.5rem 1.6rem;display:flex;flex-wrap:wrap;gap:2rem;align-items:center;justify-content:space-between}
.footer .brand__ar{color:#fff}
.footer .brand__en{color:#9c9284}
.footer small{font-family:"Tajawal",sans-serif;font-size:.85rem;color:#8f8676;line-height:1.8}
.footer__social{display:flex;gap:1.3rem;font-family:"Tajawal",sans-serif;font-size:.9rem}
.footer__social a{color:#c9beac;text-decoration:none;transition:color .2s}
.footer__social a:hover{color:var(--gold)}

/* ARTICLE */
.post-hero{position:relative;height:82vh;min-height:520px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.post-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,20,20,.85),rgba(15,20,20,.1) 60%)}
.post-hero__inner{position:relative;z-index:2;max-width:var(--maxtext);margin:0 auto;width:100%;padding:0 1.6rem 4.5rem}
.post-hero__title{font-size:clamp(2.2rem,5vw,4rem);line-height:1.2;margin:.6rem 0 1rem;text-shadow:0 2px 30px rgba(0,0,0,.4)}
.post-hero .meta{font-family:"Tajawal",sans-serif;font-size:.95rem;color:#e9e2d4;font-weight:300;display:flex;gap:1.2rem;flex-wrap:wrap}
.post-hero .meta span{display:inline-flex;align-items:center;gap:.4rem}
.article{max-width:var(--maxtext);margin:0 auto;padding:3.5rem 1.6rem 2rem}
.article > p{margin:0 0 1.6rem}
.lead{font-size:1.28rem;color:var(--ink-soft)}
.pullquote{border-inline-start:3px solid var(--gold);margin:3rem 0;padding:.5rem 1.6rem;font-size:clamp(1.5rem,3vw,2rem);line-height:1.8;color:var(--teal-deep)}
.h-place{margin:3.4rem 0 1.2rem}
.h-place .eyebrow{font-family:"Tajawal",sans-serif;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--terracotta);font-weight:600;display:block;margin-bottom:.5rem}
.h-place h2{font-size:1.9rem;color:var(--ink)}
.map-link{display:inline-flex;align-items:center;gap:.45rem;margin-top:.6rem;font-family:"Tajawal",sans-serif;font-size:.85rem;font-weight:500;color:var(--teal);text-decoration:none;border:1px solid var(--line);background:var(--paper);padding:.35rem .9rem;border-radius:2rem;transition:.2s}
.map-link:hover{border-color:var(--teal);background:#f5ede2}
.map-link svg{width:14px;height:14px;fill:var(--terracotta)}
.figure{margin:2.6rem 0}
.figure img{width:100%;border-radius:10px;box-shadow:var(--shadow)}
.figure figcaption{font-family:"Tajawal",sans-serif;font-size:.85rem;color:var(--muted);margin-top:.7rem;text-align:center}
.figure--wide{width:min(60rem,92vw);margin-inline-start:50%;transform:translateX(50%)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2.6rem 0}
.gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.gallery--wide{width:min(60rem,92vw);margin-inline-start:50%;transform:translateX(50%)}
.tips{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1.4rem 1.8rem;margin:1.6rem 0;font-size:1.05rem}
.tips ul{margin:.4rem 0 0;padding-inline-start:1.2rem}
.tips li{margin:.4rem 0}
.endnote{border-top:1px solid var(--line);margin-top:3rem;padding-top:2rem;font-size:1.2rem;color:var(--ink-soft);font-style:italic}
.back-home{display:inline-flex;align-items:center;gap:.5rem;margin:1rem 0 0;font-family:"Tajawal",sans-serif;font-weight:500;color:var(--teal);text-decoration:none}
/* prev / next article navigation */
.post-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.2rem;max-width:var(--maxtext);margin:2.6rem auto 0;padding-top:1.6rem;border-top:1px solid var(--line)}
.post-nav__link{display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:var(--ink);transition:color .2s}
.post-nav__link:hover{color:var(--teal)}
.post-nav__prev{align-items:flex-start;text-align:start}
.post-nav__next{align-items:flex-end;text-align:end}
.post-nav__dir{font-family:"Tajawal",sans-serif;font-size:.82rem;color:var(--muted)}
.post-nav__title{font-family:"El Messiri",sans-serif;font-weight:600;font-size:1.02rem;line-height:1.35}
.post-nav__all{justify-self:center;white-space:nowrap;font-family:"Tajawal",sans-serif;font-weight:600;font-size:.9rem;color:var(--teal);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--line);border-radius:999px;transition:background .2s,color .2s,border-color .2s}
.post-nav__all:hover{background:var(--teal);border-color:var(--teal);color:#fff}
@media(max-width:640px){
  .post-nav{grid-template-columns:1fr 1fr;gap:1rem}
  .post-nav__all{grid-column:1/-1;grid-row:1;margin-bottom:.2rem}
  .post-nav__prev{grid-column:1;grid-row:2}
  .post-nav__next{grid-column:2;grid-row:2}
  .post-nav__title{font-size:.94rem}
}

@media(max-width:820px){
  body{font-size:18px}
  .nav__toggle{display:flex}
  .nav__links{
    position:absolute;top:100%;inset-inline:0;
    flex-direction:column;gap:0;
    background:var(--paper);border-bottom:1px solid var(--line);
    box-shadow:var(--shadow);
    padding:.3rem 1.6rem 1rem;
    max-height:0;overflow:hidden;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:max-height .3s ease,opacity .25s ease,visibility .25s ease;
  }
  .nav__links.is-open{max-height:80vh;opacity:1;visibility:visible;pointer-events:auto}
  .nav__links a{padding:.9rem .1rem;font-size:1.08rem;border-bottom:1px solid var(--line)}
  .nav__links a:last-child{border-bottom:0}
  .nav__links a::after{display:none}
  .card--feature,.card--side,.card--soft{grid-column:span 12}
  .figure--wide,.gallery--wide{width:auto;margin-inline-start:0;transform:none}
  .gallery{grid-template-columns:1fr}
  .hero{height:78vh}
}

/* ---- refinements: smaller lone images + engagement + comments ---- */
.figure{margin:2.4rem auto;text-align:center}
.figure img{max-width:30rem;width:100%;height:auto;margin:0 auto}
.figure--wide{width:auto;margin-inline-start:auto;transform:none}

.post-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin:2.6rem 0 1rem;padding:1.1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:"Tajawal",sans-serif}
.stat{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.95rem}
.stat svg{width:20px;height:20px;fill:currentColor}
.like-btn{display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);font-family:"Tajawal",sans-serif;font-size:.95rem;font-weight:500;padding:.5rem 1.15rem;border-radius:2rem;transition:.2s}
.like-btn:hover{border-color:var(--terracotta);color:var(--terracotta)}
.like-btn.liked{background:#f4e4e2;border-color:var(--terracotta);color:var(--terracotta)}
.like-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.like-btn.liked svg{fill:var(--terracotta);stroke:var(--terracotta)}

.comments{max-width:var(--maxtext);margin:0 auto;padding:1rem 1.6rem 4rem}
.comments h2{font-size:1.7rem;margin-bottom:1.4rem}
.comment{display:flex;gap:1rem;padding:1.3rem 0;border-top:1px solid var(--line)}
.comment__avatar{width:44px;height:44px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Tajawal",sans-serif;font-weight:700;flex-shrink:0}
.comment__body{flex:1}
.comment__name{font-family:"Tajawal",sans-serif;font-weight:700;color:var(--ink)}
.comment__date{font-family:"Tajawal",sans-serif;font-size:.8rem;color:var(--muted);margin-inline-start:.6rem}
.comment__text{margin:.35rem 0 0;font-size:1.05rem;line-height:1.9}
.comment-form{margin-top:2rem;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1.5rem}
.comment-form h3{font-family:"Tajawal",sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:1rem}
.comment-form input,.comment-form textarea{width:100%;font-family:"Tajawal",sans-serif;font-size:1rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:8px;margin-bottom:.8rem;background:#fff;color:var(--ink)}
.comment-form textarea{min-height:110px;resize:vertical;line-height:1.8}
.comment-form button{font-family:"Tajawal",sans-serif;font-weight:500;background:var(--teal);color:#fff;border:none;padding:.7rem 1.8rem;border-radius:2rem;cursor:pointer;transition:.2s}
.comment-form button:hover{background:var(--teal-deep)}
.comment-note{font-family:"Tajawal",sans-serif;font-size:.8rem;color:var(--muted);margin-top:.9rem}

/* ---- personal story hero (asmaqadah-inspired) ---- */
.intro{max-width:var(--maxwide);margin:0 auto;padding:4.5rem 1.6rem}
.intro__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:2.8rem;align-items:center}
.intro__photo{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow)}
.intro__photo img{width:100%;height:100%;object-fit:cover}
.intro__photo .swap{position:absolute;bottom:10px;inset-inline-start:10px;background:rgba(0,0,0,.6);color:#fff;font-family:"Tajawal",sans-serif;font-size:.72rem;padding:.32rem .75rem;border-radius:2rem}
.intro__text .kicker{display:block;margin-bottom:1rem}
.intro__text h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:1.1rem;line-height:1.3}
.intro__text p{font-size:1.2rem;color:var(--ink-soft);line-height:2;margin:0 0 1.4rem}
.intro__link{font-family:"Tajawal",sans-serif;font-weight:500;color:var(--teal);text-decoration:none}
.intro__link:hover{color:var(--terracotta)}

/* ---- card overlay titles + engagement stats (thedollzter-inspired) ---- */
.card__media{position:relative}
.card__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem;background:linear-gradient(to top,rgba(15,20,20,.85),rgba(15,20,20,.05) 62%)}
.card__overlay .card__loc{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;color:#fff;background:rgba(28,20,18,.42);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);border:1px solid rgba(255,255,255,.16);padding:.34rem .72rem;border-radius:999px}
.card__overlay .card__loc::before{content:"";width:12px;height:12px;flex:0 0 auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffd4c8'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat}
.card__overlay h3{color:#fff;font-size:1.7rem;margin:.4rem 0 .65rem;line-height:1.35;text-shadow:0 2px 20px rgba(0,0,0,.45)}
.card--side .card__overlay h3{font-size:1.3rem}
.card__rule{width:54px;height:2px;background:var(--terracotta)}
.card__body p.card__excerpt{margin:0}
.card__stats{display:flex;gap:1.3rem;font-family:"Tajawal",sans-serif;font-size:.85rem;color:var(--muted);padding:.9rem 1.7rem 1.3rem}
.card__stats span{display:inline-flex;align-items:center;gap:.42rem}
.card__stats svg{width:16px;height:16px;fill:currentColor}
.card__stats .s-like{color:var(--terracotta)}

@media(max-width:820px){.intro__grid{grid-template-columns:1fr}.intro__photo{aspect-ratio:16/10}}

/* two-up feature cards on homepage */
.card--soft .card__media{aspect-ratio:16/10}

/* 3-up gallery in a single row + gallery captions */
.gallery--3{grid-template-columns:repeat(3,1fr)}
.gallery-cap{font-family:"Tajawal",sans-serif;font-size:.82rem;color:var(--muted);text-align:center;margin:-1.7rem 0 2.8rem}
@media(max-width:820px){.gallery--3{grid-template-columns:1fr}}

/* branded masthead hero */
.hero__inner--center{text-align:center;display:flex;flex-direction:column;align-items:center;padding-bottom:6rem}
.hero__inner--center .hero__title{margin:.4rem 0 0;font-size:clamp(3rem,9vw,6rem)}
.hero__brandsub{font-family:"Tajawal",sans-serif;font-size:clamp(1.1rem,2.6vw,1.8rem);color:#f0e8db;letter-spacing:.14em;margin:.1rem 0 1.1rem}
.hero__inner--center .hero__meta{max-width:40rem;font-size:clamp(1rem,1.6vw,1.2rem)}

/* hero kicker legibility on dark images */
.post-hero .kicker{color:#e7c4ba}

/* ===== moving carousel (journeys) ===== */
.showcase{max-width:var(--maxwide);margin:0 auto;padding:3.5rem 1.6rem 0}
.showcase__head{text-align:center;margin-bottom:1.7rem}
.showcase__head .kicker{display:block;margin-bottom:.5rem}
.showcase__head h2{font-size:2rem}
.carousel{position:relative}
.carousel__viewport{overflow:hidden;border-radius:16px;box-shadow:var(--shadow)}
.carousel__track{display:flex;transition:transform .7s cubic-bezier(.4,0,.2,1);direction:ltr}
.slide{position:relative;min-width:100%;height:clamp(340px,54vh,560px);background-size:cover;background-position:center;display:flex;align-items:flex-end;text-decoration:none;color:#fff;overflow:hidden}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(40,20,26,.86),rgba(40,20,26,.12) 62%)}
.slide__inner{position:relative;z-index:2;direction:rtl;text-align:right;padding:2.4rem;max-width:44rem}
.slide__inner .kicker{color:#e7c4ba}
.slide__title{font-family:"El Messiri",sans-serif;font-weight:700;font-size:clamp(1.7rem,4vw,2.8rem);color:#fff;margin:.5rem 0 .6rem;line-height:1.35;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.slide__ex{color:#efe6db;font-size:1.05rem;line-height:1.9;margin:0 0 1.1rem}
.slide__cta{display:inline-flex;font-family:"Tajawal",sans-serif;font-weight:500;background:var(--terracotta);color:#fff;padding:.6rem 1.5rem;border-radius:2rem}
.car__btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:rgba(253,247,238,.85);color:var(--teal-deep);font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;transition:.2s}
.car__btn:hover{background:#fff}
.car__prev{right:14px}
.car__next{left:14px}
.car__dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.1rem}
.car__dot{width:9px;height:9px;border-radius:50%;border:none;background:var(--line);cursor:pointer;padding:0;transition:.25s}
.car__dot.active{background:var(--teal);width:26px;border-radius:5px}
@media(max-width:820px){.car__btn{width:38px;height:38px}}

/* ===== social-media style likes & comments ===== */
.social{max-width:var(--maxtext);margin:0 auto;padding:1rem 1.6rem 4rem}
.sbar{display:flex;align-items:center;gap:.3rem;padding:.6rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:1.7rem;font-family:"Tajawal",sans-serif}
.sbtn{display:inline-flex;align-items:center;gap:.45rem;background:none;border:none;cursor:pointer;color:var(--ink-soft);font-family:inherit;font-size:.95rem;font-weight:500;padding:.5rem .85rem;border-radius:10px;transition:.15s}
.sbtn:hover{background:var(--paper)}
.sbtn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
.sbtn.like.on{color:var(--terracotta)}
.sbtn.like.on svg{fill:var(--terracotta);stroke:var(--terracotta)}
.sbtn.pop svg{animation:spop .35s}
@keyframes spop{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.sviews{margin-inline-start:auto;display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.9rem;font-family:"Tajawal",sans-serif}
.sviews svg{width:18px;height:18px;fill:currentColor}
/* share fallback menu (desktop / no native share) */
.smenu{position:absolute;top:calc(100% + 8px);inset-inline-start:0;z-index:200;display:flex;flex-direction:column;min-width:160px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:.35rem;font-family:"Tajawal",sans-serif}
.smenu a,.smenu button{display:block;text-align:start;background:none;border:0;cursor:pointer;color:var(--ink-soft);text-decoration:none;font-family:inherit;font-size:.92rem;font-weight:500;padding:.6rem .8rem;border-radius:8px;transition:.15s}
.smenu a:hover,.smenu button:hover{background:var(--cream);color:var(--teal)}
.chead{font-family:"El Messiri",sans-serif;font-weight:700;font-size:1.4rem;margin:0 0 1.2rem;color:var(--ink)}
.cfeed{display:flex;flex-direction:column;gap:1.15rem;margin-bottom:1.7rem}
.citem{display:flex;gap:.75rem}
.cavatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-family:"Tajawal",sans-serif;font-weight:700;font-size:1.05rem}
.citem__body{flex:1;min-width:0}
.citem__bubble{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:.7rem 1rem}
.citem__name{font-family:"Tajawal",sans-serif;font-weight:700;color:var(--ink);font-size:.95rem}
.citem__text{margin:.25rem 0 0;font-size:1.02rem;line-height:1.8;color:var(--ink-soft);word-wrap:break-word}
.citem__meta{display:flex;gap:1.1rem;align-items:center;margin:.4rem .7rem 0;font-family:"Tajawal",sans-serif;font-size:.8rem;color:var(--muted)}
.clike{background:none;border:none;cursor:pointer;color:var(--muted);font-family:"Tajawal",sans-serif;font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;gap:.3rem;padding:0}
.clike.on{color:var(--terracotta)}
.clike svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.clike.on svg{fill:var(--terracotta);stroke:var(--terracotta)}
.cbox{display:flex;gap:.75rem;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1rem}
.cbox__main{flex:1}
.cbox input,.cbox textarea{width:100%;font-family:"Tajawal",sans-serif;font-size:1rem;border:1px solid var(--line);border-radius:12px;padding:.55rem .85rem;margin-bottom:.6rem;background:#fff;color:var(--ink)}
.cbox input:focus,.cbox textarea:focus{outline:none;border-color:var(--teal)}
.cbox textarea{min-height:68px;resize:vertical;line-height:1.7}
.cbox__actions{display:flex;justify-content:flex-start}
.cbox button{font-family:"Tajawal",sans-serif;font-weight:600;background:var(--teal);color:#fff;border:none;padding:.55rem 1.7rem;border-radius:2rem;cursor:pointer;transition:.15s}
.cbox button:hover{background:var(--teal-deep)}
.ctoast{position:fixed;bottom:22px;inset-inline-start:50%;transform:translateX(50%);background:var(--ink);color:#fff;padding:.7rem 1.4rem;border-radius:2rem;font-family:"Tajawal",sans-serif;font-size:.9rem;z-index:300;opacity:0;pointer-events:none;transition:opacity .3s}
.ctoast.show{opacity:1}

/* ===== quotes: two lines on white ===== */
.pullquote{background:#fff;border:1px solid var(--line);border-inline-start:0;border-radius:14px;color:var(--teal-deep);font-family:"El Messiri",sans-serif;font-weight:600;text-align:center;font-size:clamp(1.15rem,2.1vw,1.45rem);line-height:1.7;margin:2.4rem auto;padding:1.5rem 1.7rem;max-width:40rem;box-shadow:0 10px 30px -20px rgba(85,26,39,.4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ===== journey date box ===== */
.jdate{display:inline-flex;align-items:center;gap:.55rem;background:var(--paper);border:1px solid var(--line);border-radius:2rem;padding:.45rem 1.15rem;font-family:"Tajawal",sans-serif;font-size:.92rem;color:var(--ink-soft);margin:0 0 1.9rem}
.jdate svg{width:16px;height:16px;fill:var(--terracotta)}
.jdate__label{color:var(--muted)}
.jdate__val{font-weight:600;color:var(--ink)}

/* ===== inline editor ===== */
.edbar{position:fixed;bottom:18px;inset-inline-start:18px;z-index:400;display:flex;gap:.5rem;align-items:center;font-family:"Tajawal",sans-serif}
.edbtn{background:var(--ink);color:#fff;border:none;border-radius:2rem;padding:.6rem 1.2rem;font-family:inherit;font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:var(--shadow)}
.edbtn--main,.edbtn--save{background:var(--teal)}
.edbtn--ghost{background:#fff;color:var(--ink-soft);border:1px solid var(--line)}
.edgrp{display:inline-flex;gap:.5rem;background:rgba(253,247,238,.92);padding:.35rem;border-radius:2rem;box-shadow:var(--shadow)}
body.editing [data-editkey]{outline:2px dashed var(--terracotta);outline-offset:6px;border-radius:6px}
body.editing [data-editkey]:focus{outline-color:var(--teal)}
body.editing .article img,body.editing .post-hero__img,body.editing .intro__photo img,body.editing .card__media img,body.editing .hero__img{cursor:pointer;outline:3px solid var(--terracotta);outline-offset:2px}
body.editing a{cursor:default}

body.editing .slide{cursor:pointer;outline:3px solid var(--terracotta);outline-offset:-3px}

/* ============================================================
   HOME HERO  —  photo mosaic
   ============================================================ */
.hero--mosaic{align-items:center}
.mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:2px}
.mosaic img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.hero--mosaic::after{background:radial-gradient(120% 90% at 50% 45%,rgba(20,14,16,.48) 0%,rgba(20,14,16,.7) 68%,rgba(20,14,16,.85) 100%)}
/* extra glow behind the brand title on the photo mosaic */
.hero--mosaic .hero__inner{position:relative;z-index:3}
.hero--mosaic .hero__inner::before{content:"";position:absolute;top:42%;left:50%;width:min(720px,90%);height:360px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(60,30,34,.6) 0%,rgba(60,30,34,.3) 45%,rgba(60,30,34,0) 72%);filter:blur(8px);z-index:-1;pointer-events:none}
.hero--mosaic .hero__title{text-shadow:0 2px 22px rgba(0,0,0,.55),0 0 28px rgba(255,226,212,.55),0 0 70px rgba(206,132,112,.45)}

@media(max-width:820px){
  .mosaic{grid-template-columns:repeat(3,1fr)}
}

/* home-only decorative travel doodles, scattered lightly in the side gutters */
.homedeco-wrap{position:relative;z-index:0}
.homedeco-wrap>section{position:relative;z-index:1}
.homedeco{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.homedeco svg{position:absolute;width:var(--sz,78px);height:auto;color:var(--gold);opacity:.13;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.homedeco .d-terra{color:var(--terracotta)}
/* only show where the centered content leaves clear gutter space */
@media(max-width:1400px){.homedeco{display:none}}
