/* Phase 5 — Travel Planning Knowledge Engine. Additive to theme.css. */

/* Hero */
.seraj-tg-hero { position:relative; min-height:70vh; background-size:cover; background-position:center; color:#fff; display:flex; align-items:flex-end; }
.seraj-tg-hero--compact { min-height:52vh; }
.seraj-tg-hero__overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.7) 100%); }
.seraj-tg-hero__inner { position:relative; z-index:1; padding: 8rem 0 3rem; }
.seraj-tg-hero__title { font-family:'Fraunces', serif; font-size: clamp(2.2rem, 5vw, 4rem); line-height:1.05; margin:.4rem 0 .6rem; max-width:22ch; }
.seraj-tg-hero__text { max-width:60ch; opacity:.92; font-size:1.05rem; }
.seraj-tg-hero__meta { list-style:none; padding:0; margin:1.2rem 0 1.4rem; display:flex; flex-wrap:wrap; gap:.4rem .8rem; font-size:.9rem; }
.seraj-tg-hero__meta li { background: rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); padding:.35rem .7rem; border-radius:999px; backdrop-filter: blur(6px); }
.seraj-tg-hero__cta { display:flex; flex-wrap:wrap; gap:.6rem; }

/* Jump nav */
.seraj-tg-jump { position:sticky; top:0; z-index:20; background: rgba(255,255,255,.94); backdrop-filter: blur(10px); border-bottom:1px solid #eee; }
.seraj-tg-jump ul { list-style:none; margin:0; padding:0; display:flex; gap:1.25rem; overflow-x:auto; scrollbar-width:thin; }
.seraj-tg-jump a { display:inline-block; padding: 1rem .1rem; font-weight:600; font-size:.9rem; color:#333; border-bottom:2px solid transparent; white-space:nowrap; text-decoration:none; }
.seraj-tg-jump a.is-active, .seraj-tg-jump a:hover { color:#2f5d3a; border-bottom-color:#2f5d3a; }

/* Quick facts */
.seraj-tg-facts { list-style:none; padding:0; margin:0; display:grid; gap:1rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.seraj-tg-facts__item { background:#fff; border:1px solid #ece7dc; border-radius:14px; padding:1.1rem 1.2rem; display:flex; flex-direction:column; gap:.3rem; transition: transform .2s ease, box-shadow .2s ease; }
.seraj-tg-facts__item:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,0,0,.06); }
.seraj-tg-facts__icon { font-size:1.4rem; }
.seraj-tg-facts__label { font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:#7b7566; }
.seraj-tg-facts__value { font-weight:600; font-size:1.05rem; color:#20211f; }

/* Prose */
.seraj-container--narrow { max-width: 780px; margin:0 auto; }
.seraj-prose p { font-size:1.06rem; line-height:1.75; color:#3a3a34; }

/* Itinerary */
.seraj-tg-days { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.9rem; position:relative; }
.seraj-tg-itinerary--timeline .seraj-tg-days::before { content:""; position:absolute; left:22px; top:8px; bottom:8px; width:2px; background:#e5dfd0; }
.seraj-tg-day { background:#fff; border:1px solid #ece7dc; border-radius:14px; padding: .6rem 1rem 1rem; position:relative; }
.seraj-tg-day__toggle { width:100%; display:flex; align-items:center; gap:1rem; background:transparent; border:0; padding: .8rem .2rem; cursor:pointer; font-weight:600; font-family:'Fraunces', serif; font-size:1.2rem; color:#20211f; text-align:left; }
.seraj-tg-day__num { flex:0 0 auto; width:36px; height:36px; border-radius:50%; background:#2f5d3a; color:#fff; display:inline-flex; align-items:center; justify-content:center; font-family:'Inter',sans-serif; font-size:.95rem; }
.seraj-tg-day__title { flex:1 1 auto; }
.seraj-tg-day__chev { transition: transform .2s ease; }
.seraj-tg-day__toggle[aria-expanded="true"] .seraj-tg-day__chev { transform: rotate(180deg); }
.seraj-tg-day__body { padding: .4rem 0 .4rem 3rem; }
.seraj-tg-day__desc { margin: 0 0 .8rem; color:#3a3a34; }
.seraj-tg-day__slots { display:grid; gap:.6rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-bottom:.8rem; }
.seraj-tg-day__slot { background:#f7f5f0; border-radius:10px; padding:.7rem .9rem; }
.seraj-tg-day__slot-label { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:#7b7566; margin-bottom:.15rem; }
.seraj-tg-day__stay { background:#f2efe3; border-radius:10px; padding:.6rem .9rem; margin: .4rem 0; }
.seraj-tg-day__pin { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:#7b7566; }
.seraj-tg-day__refs { margin: .4rem 0; font-size:.95rem; }
.seraj-tg-day__refs ul { display:inline; margin:0; padding:0; list-style:none; }
.seraj-tg-day__refs li { display:inline; margin-right:.5rem; }
.seraj-tg-day__notes { margin-top:.6rem; font-size:.9rem; color:#5b5546; }

/* Map placeholder */
.seraj-tg-map__frame { background:#f7f5f0; border:1px dashed #d8d0bc; border-radius:14px; min-height: 280px; display:flex; align-items:center; justify-content:center; text-align:center; }
.seraj-tg-map__placeholder span { font-size:2.4rem; display:block; margin-bottom:.4rem; }
.seraj-tg-map__link { font-weight:600; color:#2f5d3a; }

/* Budget */
.seraj-tg-budget__grid { list-style:none; padding:0; margin:0; display:grid; gap:1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.seraj-tg-budget__card { background:#fff; border:1px solid #ece7dc; border-radius:14px; padding:1.1rem 1.2rem; display:flex; flex-direction:column; gap:.25rem; transition: transform .2s ease, box-shadow .2s ease; }
.seraj-tg-budget__card:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0,0,0,.06); }
.seraj-tg-budget__label { font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:#7b7566; }
.seraj-tg-budget__amount { font-family:'Fraunces', serif; font-size:1.5rem; color:#2f5d3a; }
.seraj-tg-budget__note { font-size:.85rem; color:#5b5546; }
.seraj-tg-budget__total { margin-top:1.2rem; display:flex; justify-content:space-between; align-items:center; padding: 1rem 1.3rem; background:#2f5d3a; color:#fff; border-radius:14px; }
.seraj-tg-budget__total strong { font-family:'Fraunces', serif; font-size:1.4rem; }
.seraj-tg-budget__table { width:100%; border-collapse:collapse; background:#fff; border-radius:12px; overflow:hidden; }
.seraj-tg-budget__table th, .seraj-tg-budget__table td { padding:.7rem 1rem; border-bottom:1px solid #ece7dc; text-align:left; }
.seraj-tg-budget__table th { background:#f7f5f0; font-size:.8rem; text-transform:uppercase; letter-spacing:.05em; color:#7b7566; }

/* Packing / checklist */
.seraj-tg-packing__grid { display:grid; gap:1.2rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.seraj-tg-packing__group { background:#fff; border:1px solid #ece7dc; border-radius:14px; padding:1rem 1.2rem; }
.seraj-tg-packing__group h3 { font-family:'Fraunces', serif; font-size:1.15rem; margin:0 0 .5rem; color:#2f5d3a; }
.seraj-tg-packing--flat .seraj-tg-packing__group { border:none; background:transparent; padding:0; }
.seraj-tg-check { display:flex; align-items:center; gap:.55rem; cursor:pointer; padding:.25rem 0; }
.seraj-tg-check input { width:18px; height:18px; accent-color:#2f5d3a; }
.seraj-tg-check input:checked + span { text-decoration:line-through; color:#8a8272; }
.seraj-tg-checklist__list { list-style:none; padding:0; margin:0; }

/* Tips + responsible */
.seraj-tg-tips__list { list-style:none; padding:0; margin: 0 0 1rem; display:grid; gap:.4rem; }
.seraj-tg-tips__list li { background:#f7f5f0; border-radius:10px; padding:.6rem .9rem; }
.seraj-tg-tips__emergency { margin-top:1rem; padding:1rem 1.2rem; border-left:3px solid #b23a3a; background:#fdf3f3; border-radius:8px; }
.seraj-tg-responsible__card { display:flex; gap:1rem; align-items:flex-start; background:#eef5e9; border-radius:14px; padding:1.2rem 1.4rem; }
.seraj-tg-responsible__card span { font-size:1.8rem; }

/* FAQ */
.seraj-faq details { background:#fff; border:1px solid #ece7dc; border-radius:12px; padding:.9rem 1.2rem; margin-bottom:.6rem; }
.seraj-faq summary { cursor:pointer; font-weight:600; font-family:'Fraunces', serif; font-size:1.05rem; color:#20211f; }
.seraj-faq details[open] summary { color:#2f5d3a; }
.seraj-faq p { margin: .5rem 0 0; color:#3a3a34; }

/* Cards */
.seraj-tg-card__meta { list-style:none; padding:0; margin: 0 0 .4rem; display:flex; flex-wrap:wrap; gap:.5rem; font-size:.82rem; color:#5b5546; }

/* Archive */
.seraj-tg-archive-hero { position:relative; background-size:cover; background-position:center; padding: 5rem 0 4rem; }
.seraj-tg-archive-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg, #f7f5f0, #eef5e9); z-index:-1; }
.seraj-tg-search { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.2rem; }
.seraj-tg-search__field { flex:1 1 180px; display:flex; }
.seraj-tg-search__field--wide { flex-basis:100%; }
.seraj-tg-search__field input, .seraj-tg-search__field select { width:100%; padding:.7rem .9rem; border-radius:10px; border:1px solid #d8d0bc; background:#fff; font: inherit; }
.seraj-tg-chip-list { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.5rem; }
.seraj-tg-chip { display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .9rem; background:#fff; border:1px solid #ece7dc; border-radius:999px; text-decoration:none; color:#20211f; font-weight:600; }
.seraj-tg-chip span { background:#2f5d3a; color:#fff; padding:.1rem .5rem; border-radius:999px; font-size:.75rem; font-weight:600; }
.seraj-tg-chip:hover { border-color:#2f5d3a; }
.seraj-tg-feature { display:grid; gap:1.6rem; grid-template-columns: 1.2fr 1fr; align-items:center; }
@media (max-width:820px){ .seraj-tg-feature { grid-template-columns:1fr; } }
.seraj-tg-feature__media img { width:100%; height:100%; object-fit:cover; border-radius:16px; }
.seraj-tg-feature__body h2 { font-family:'Fraunces', serif; font-size: clamp(1.6rem, 3vw, 2.4rem); margin:.3rem 0 .5rem; }

@media (max-width: 700px){
	.seraj-tg-day__body { padding-left:0; }
	.seraj-tg-itinerary--timeline .seraj-tg-days::before { display:none; }
}

/* --- Guide body content (editor output) ------------------------------- */
.seraj-tg-content .seraj-prose > *:first-child { margin-top: 0; }
.seraj-tg-content .seraj-prose img,
.seraj-tg-content .seraj-prose iframe,
.seraj-tg-content .seraj-prose table { max-width: 100%; height: auto; }
.seraj-tg-content .seraj-prose { overflow-wrap: anywhere; }

/* Hero gutters — never let text touch the device edge. */
.seraj-tg-hero .seraj-container {
	padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
}
.seraj-tg-hero__title { overflow-wrap: anywhere; text-wrap: balance; min-width: 0; }
.seraj-tg-jump ul { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Byline + share rail under the guide hero (all posts). */
.seraj-tg-byline{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.25rem max(1rem,env(safe-area-inset-left));border-bottom:1px solid var(--seraj-border,rgba(0,0,0,.08));}
.seraj-tg-byline .seraj-post__author{display:flex;align-items:center;gap:.75rem;}
.seraj-tg-byline .seraj-post__avatar{border-radius:50%;}
.seraj-tg-byline small{display:block;opacity:.7;font-size:.8125rem;}
.seraj-tg-byline__share{display:flex;gap:.4rem;flex-wrap:wrap;}
.seraj-post__outro{padding-block:2rem 3rem;}
