/* Phase 4 — Experience Knowledge Engine styles. Additive to theme.css. */

/* Hero */
.seraj-exp-hero { position:relative; min-height:70vh; background-size:cover; background-position:center; color:#fff; display:flex; align-items:flex-end; }
.seraj-exp-hero--compact { min-height:52vh; }
.seraj-exp-hero__overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.65) 100%); }
.seraj-exp-hero__inner { position:relative; z-index:1; padding: 8rem 0 3rem; }
.seraj-exp-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-exp-hero__text { max-width: 60ch; opacity:.92; font-size:1.05rem; }
.seraj-exp-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-exp-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); display:inline-flex; align-items:center; gap:.35rem; }
.seraj-exp-hero__cta { display:flex; flex-wrap:wrap; gap:.6rem; }

/* Sticky jump nav */
.seraj-exp-jump { position:sticky; top:0; z-index:20; background: rgba(255,255,255,.94); backdrop-filter: blur(10px); border-bottom:1px solid #eee; }
.seraj-exp-jump ul { list-style:none; margin:0; padding:0; display:flex; gap:1.25rem; overflow-x:auto; scrollbar-width:thin; }
.seraj-exp-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-exp-jump a.is-active, .seraj-exp-jump a:hover { color:#2f5d3a; border-bottom-color:#2f5d3a; }

/* Overview */
.seraj-exp-overview { display:grid; gap:2rem; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
@media (max-width: 900px){ .seraj-exp-overview { grid-template-columns:1fr; } }
.seraj-exp-overview__highlights { background:#f7f5f0; border:1px solid #ece7dc; border-radius:12px; padding:1.25rem 1.4rem; }
.seraj-exp-overview__highlights h3 { margin:0 0 .6rem; font-family:'Fraunces', serif; }
.seraj-exp-overview__highlights ul { padding-left:1.1rem; margin:0; }
.seraj-exp-overview__highlights li { margin: .3rem 0; }

/* Quick facts */
.seraj-exp-facts__grid { list-style:none; padding:0; margin:0; display:grid; gap:1rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.seraj-exp-facts__item { background:#fff; border:1px solid #ece7dc; border-radius:12px; padding: 1rem 1.1rem; display:flex; flex-direction:column; gap:.35rem; transition: transform .2s ease, box-shadow .2s ease; }
.seraj-exp-facts__item:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.seraj-exp-facts__label { font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color:#7b7566; }
.seraj-exp-facts__value { font-weight:600; font-size:1.05rem; color:#20211f; }
.seraj-exp-facts--list .seraj-exp-facts__grid { grid-template-columns: 1fr; }
.seraj-exp-facts--list .seraj-exp-facts__item { flex-direction:row; justify-content:space-between; align-items:center; }

/* Gallery */
.seraj-exp-gallery { display:grid; gap:.6rem; }
.seraj-exp-gallery--mosaic { grid-template-columns: repeat(6, 1fr); grid-auto-rows: 130px; }
.seraj-exp-gallery--mosaic .seraj-exp-gallery__item:nth-child(6n+1) { grid-column: span 3; grid-row: span 2; }
.seraj-exp-gallery--mosaic .seraj-exp-gallery__item:nth-child(6n+2), .seraj-exp-gallery--mosaic .seraj-exp-gallery__item:nth-child(6n+3) { grid-column: span 3; }
.seraj-exp-gallery--mosaic .seraj-exp-gallery__item { grid-column: span 2; }
.seraj-exp-gallery--grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); grid-auto-rows: 220px; }
.seraj-exp-gallery--strip { grid-auto-flow: column; grid-auto-columns: 280px; overflow-x:auto; grid-auto-rows: 200px; }
.seraj-exp-gallery__item { display:block; overflow:hidden; border-radius:10px; position:relative; }
.seraj-exp-gallery__item img { width:100%; height:100%; object-fit:cover; transition: transform .5s ease; }
.seraj-exp-gallery__item:hover img { transform: scale(1.05); }
@media (max-width: 700px){ .seraj-exp-gallery--mosaic { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; } .seraj-exp-gallery--mosaic .seraj-exp-gallery__item { grid-column: span 1 !important; grid-row: auto !important; } }
.seraj-exp-gallery__tour { margin-top:1rem; text-align:center; }

/* Details */
.seraj-exp-details__stats { list-style:none; padding:0; margin:0 0 1.5rem; display:grid; gap:.75rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.seraj-exp-details__stats li { background:#f7f5f0; border-radius:10px; padding:.75rem 1rem; display:flex; flex-direction:column; }
.seraj-exp-details__stats strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color:#7b7566; margin-bottom:.2rem; font-weight:600; }
.seraj-exp-details__blocks { display:grid; gap:1.25rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.seraj-exp-details__block { background:#fff; border:1px solid #ece7dc; border-radius:12px; padding:1.25rem 1.4rem; }
.seraj-exp-details__block h3 { margin:0 0 .5rem; font-family:'Fraunces', serif; }

/* Things to know */
.seraj-exp-know__grid { display:grid; gap:.9rem; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.seraj-exp-know__card { background:#fff; border:1px solid #ece7dc; border-radius:12px; padding:1rem 1.1rem; }
.seraj-exp-know__label { display:block; font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color:#7b7566; margin-bottom:.3rem; }
.seraj-exp-know__value { font-weight:600; }
.seraj-exp-know__carry { margin-top:1.5rem; background:#f7f5f0; border-radius:12px; padding:1.25rem 1.5rem; }
.seraj-exp-know__carry h3 { margin:0 0 .6rem; font-family:'Fraunces', serif; }
.seraj-exp-know__carry ul { columns: 2; padding-left:1.1rem; margin:0; }
@media (max-width:600px){ .seraj-exp-know__carry ul { columns:1; } }

/* Safety */
.seraj-exp-safety__grid { display:grid; gap:.9rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.seraj-exp-safety__card { background:#fff8f0; border:1px solid #f0d9b0; border-radius:12px; padding:1rem 1.2rem; }
.seraj-exp-safety__card h4 { margin:0 0 .35rem; color:#7a4b12; font-size:.9rem; text-transform:uppercase; letter-spacing:.04em; }
.seraj-exp-safety__notes { list-style: disc; padding-left:1.2rem; margin-top:1.25rem; }

/* Map */
.seraj-exp-map__frame { border-radius:16px; overflow:hidden; border:1px solid #ece7dc; background:#f2efe6; }
.seraj-exp-map__placeholder { min-height: 260px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#6c6659; gap:.4rem; }
.seraj-exp-map__placeholder small { font-family: 'JetBrains Mono', monospace; font-size:.8rem; color:#9a9282; }
.seraj-exp-map__embed { display:flex; align-items:center; justify-content:center; min-height:260px; font-weight:600; color:#2f5d3a; }
.seraj-exp-map__notes { margin-top:1rem; }

/* FAQ */
.seraj-exp-faq__item { border-bottom:1px solid #ece7dc; padding: .9rem 0; }
.seraj-exp-faq__item summary { cursor:pointer; font-weight:600; font-family:'Fraunces', serif; font-size:1.1rem; list-style:none; }
.seraj-exp-faq__item summary::-webkit-details-marker { display:none; }
.seraj-exp-faq__item summary::before { content:'+'; margin-right:.5rem; font-weight:400; color:#2f5d3a; }
.seraj-exp-faq__item[open] summary::before { content:'−'; }
.seraj-exp-faq__answer { margin-top:.5rem; color:#4b4a44; }

/* Cards */
.seraj-exp-card { position:relative; transition: transform .3s ease, box-shadow .3s ease; }
.seraj-exp-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0,0,0,.09); }
.seraj-exp-card__media { position:relative; display:block; overflow:hidden; }
.seraj-exp-card__media img { transition: transform .6s ease; }
.seraj-exp-card:hover .seraj-exp-card__media img { transform: scale(1.06); }
.seraj-exp-card__badge { position:absolute; top:.8rem; left:.8rem; background: rgba(47,93,58,.92); color:#fff; font-size:.75rem; font-weight:600; padding:.28rem .6rem; border-radius:999px; letter-spacing:.02em; }
.seraj-exp-card__dest { font-size:.85rem; color:#6c6659; margin:.15rem 0 .4rem; display:inline-flex; align-items:center; gap:.3rem; }
.seraj-exp-card__meta { list-style:none; padding:0; margin:.5rem 0 .75rem; display:flex; flex-wrap:wrap; gap:.35rem; }
.seraj-exp-card__meta li { font-size:.75rem; padding:.2rem .55rem; background:#f2efe6; border-radius:999px; color:#4b4a44; }
.seraj-exp-card__cta { font-weight:600; font-size:.9rem; color:#2f5d3a; text-decoration:none; }
.seraj-exp-card__cta:hover { text-decoration:underline; }
.seraj-exp-card--compact .seraj-exp-card__meta { display:none; }
.seraj-exp-card--editorial .seraj-exp-card__body { padding-top:1rem; }

/* Archive */
.seraj-exp-archive-hero { padding: 5rem 0 2rem; text-align:center; }
.seraj-exp-archive-hero h1 { font-family:'Fraunces', serif; font-size: clamp(2rem, 4vw, 3.2rem); margin: .4rem 0 .75rem; }
.seraj-exp-search { display:grid; gap:.6rem; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); align-items:center; margin-top:1.5rem; }
.seraj-exp-search__field--wide { grid-column: 1 / -1; }
.seraj-exp-search input[type=search], .seraj-exp-search select { width:100%; padding:.75rem 1rem; border:1px solid #ece7dc; border-radius:10px; background:#fff; font-size:.95rem; }

.seraj-exp-feature { display:grid; grid-template-columns: 1.2fr 1fr; gap:2rem; align-items:center; }
@media (max-width: 900px){ .seraj-exp-feature { grid-template-columns: 1fr; } }
.seraj-exp-feature__media img { width:100%; height:100%; object-fit:cover; border-radius:16px; }
.seraj-exp-feature__body h2 { font-family:'Fraunces', serif; font-size: clamp(1.6rem, 3vw, 2.6rem); margin:.4rem 0; }

/* Loose reveal helper (compat with reveal.css) */
.seraj-exp-hero__inner > *, .seraj-exp-facts__item, .seraj-exp-details__block, .seraj-exp-know__card, .seraj-exp-safety__card { will-change: transform; }
