/* Tour template — public styles. Admin-only chrome lives in tour-admin.css. */

/* Panels and tab groups are toggled with the hidden attribute — it has to win
   over the display values set below. */
[hidden]{display:none !important;}

#main-header{background:rgba(11,31,58,.92) !important;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 2px 24px rgba(0,0,0,.25);border-bottom:1px solid rgba(255,255,255,.08);}
@supports not (backdrop-filter: blur(1px)){#main-header{background:rgba(11,31,58,.97) !important;}}

.tour-page{margin-top:80px;}
#tour-map{width:100%;height:420px;background:#e5e7eb;}
.tour-map-idle{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:.82rem;}

.tour-container{max-width:1200px;margin:32px auto 60px;padding:0 24px;}
.tour-header{grid-area:header;margin:0 0 64px;}
.tour-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#C8861A;margin:0 0 .55rem;}
.tour-container h1{font-size:clamp(1.9rem,4.5vw,3rem);font-weight:900;color:#0B1F3A;letter-spacing:-.03em;line-height:1.1;margin:0;}
.tour-date{margin:12px 0 0;font-size:.78rem;font-weight:600;color:#a0a0b0;letter-spacing:.03em;}

.tour-row{display:grid;grid-template-columns:200px minmax(0,1fr);column-gap:28px;grid-template-areas:"nav header" "nav main";align-items:start;}
.tour-nav{grid-area:nav;position:sticky;top:96px;}
.tour-nav-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;padding:0 6px 8px;}
.place-tab{display:flex;align-items:center;gap:9px;padding:8px 14px;border-radius:50rem;cursor:pointer;color:#374151;font-size:.85rem;font-weight:500;transition:background .15s,color .15s;user-select:none;margin-bottom:2px;border:1px solid transparent;width:100%;text-align:left;background:transparent;font-family:inherit;}
.place-tab:hover{background:#f3f4f6;}
.place-tab.active{background:#0B1F3A;color:#fff;}
.place-tab .place-num{width:20px;height:20px;border-radius:50%;font-size:.67rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(0,0,0,.07);}
.place-tab.active .place-num{background:rgba(255,255,255,.2);}
.place-num.place-num-empty,.place-tab.active .place-num.place-num-empty{background:transparent;}
.place-tab .place-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.places-sep{width:100%;height:1px;margin:0 6px 2px;background:#e5e7eb;}
.tour-nav-hint{display:flex;align-items:center;gap:7px;margin-top:12px;padding:0 6px;font-size:.72rem;font-style:italic;color:#9ca3af;}
.tour-nav-hint svg{width:13px;height:13px;color:#E9A83E;flex-shrink:0;animation:hintUp 1.6s ease-in-out infinite;}
@keyframes hintUp{0%,100%{transform:translateY(0);}50%{transform:translateY(-3px);}}
@media(prefers-reduced-motion:reduce){.tour-nav-hint svg{animation:none;}}

.tour-main{grid-area:main;min-width:0;}
.tour-subtabs-bar{display:flex;align-items:center;gap:26px;border-bottom:2px solid #e5e7eb;margin-bottom:20px;flex-wrap:wrap;}
.tour-subtabs-bar>span{padding:9px 0;}
.subtabs-group{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.sub-tab{display:inline-flex;align-items:center;gap:6px;padding:9px 2px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-bottom:3px solid transparent;background:transparent;color:#9ca3af;transition:color .15s,border-color .15s;margin-bottom:-2px;font-family:inherit;}
.sub-tab:hover{color:#0B1F3A;}
.sub-tab.active{color:#0B1F3A;border-bottom-color:#E9A83E;}

#tour-content{min-height:200px;}
.tour-panel-place{font-size:1.45rem;font-weight:900;color:#0B1F3A;letter-spacing:-.02em;margin:0 0 4px;}
.tour-panel-tab{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#C8861A;margin:0 0 18px;}
.tour-panel-place.is-quiet{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.tour-block-title{font-size:1.1rem;font-weight:700;color:#0B1F3A;margin-bottom:10px;}
.tour-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;color:#9ca3af;text-align:center;gap:10px;}
.tour-empty p{font-size:.85rem;}
.tour-loading{display:flex;align-items:center;justify-content:center;padding:40px;color:#9ca3af;font-size:.85rem;gap:10px;}
@keyframes spin{to{transform:rotate(360deg);}}
.spin{animation:spin .8s linear infinite;}

.tour-md{line-height:1.75;color:#374151;font-size:.9rem;}
.tour-md p{margin:0 0 1rem;}
.tour-md h1,.tour-md h2,.tour-md h3,.tour-md h4{font-weight:800;color:#0B1F3A;letter-spacing:-.01em;margin:1.4rem 0 .6rem;}
.tour-md h1{font-size:1.35rem;}
.tour-md h2{font-size:1.18rem;}
.tour-md h3{font-size:1.05rem;}
.tour-md h4{font-size:.95rem;}
.tour-md a{color:#C8861A;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.tour-md a:hover{color:#E9A83E;}
.tour-md strong{font-weight:700;color:#0B1F3A;}
.tour-md em{font-style:italic;}
.tour-md ul,.tour-md ol{padding-left:1.4rem;margin:0 0 1rem;}
.tour-md ul li{list-style-type:disc;}
.tour-md ol li{list-style-type:decimal;}
.tour-md li{margin-bottom:.35rem;}
.tour-md blockquote{border-left:3px solid #E9A83E;padding:.5rem 1rem;margin:1rem 0;background:#fffbf2;color:#5a5a6a;font-style:italic;}
.tour-md code{background:#f3f4f6;padding:.15rem .4rem;border-radius:4px;font-size:.85em;font-family:monospace;}
.tour-md pre{background:#0B1F3A;color:#e5e7eb;padding:1rem;border-radius:6px;overflow-x:auto;margin:0 0 1rem;}
.tour-md pre code{background:none;padding:0;}
.tour-md img{max-width:100%;border-radius:4px;}
.tour-md hr{border:none;height:1px;background:#e5e7eb;margin:1.2rem 0;}

.tour-block{margin-bottom:28px;}
.tour-block-image{overflow:hidden;}
.tour-gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.tour-gal-cell{display:flex;flex-direction:column;gap:5px;}
.tour-gal-item{cursor:pointer;position:relative;border-radius:4px;overflow:hidden;background:#f3f4f6;aspect-ratio:4/3;box-shadow:0 1px 4px rgba(0,0,0,.08);}
.tour-gal-item img{width:100%;height:100%;object-fit:cover;display:block;}
.tour-gal-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);padding:12px 10px 8px;}
.tour-gal-cap p{color:#fff;font-size:.78rem;font-weight:600;margin:0;line-height:1.3;}
.tour-gal-empty{color:#9ca3af;font-size:.82rem;grid-column:1/-1;text-align:center;padding:16px 0;}
.tour-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:4px;background:#000;}
.tour-video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;}
.tour-share{margin-top:40px;padding-top:20px;border-top:1px solid #e5e7eb;}

#gal-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:4000;align-items:center;justify-content:center;}
#gal-lightbox.open{display:flex;}
#gal-lb-img{max-width:90vw;max-height:86vh;border-radius:4px;object-fit:contain;box-shadow:0 4px 40px rgba(0,0,0,.4);}
.lb-btn{position:absolute;background:rgba(255,255,255,.1);border:none;color:#fff;cursor:pointer;border-radius:8px;transition:background .15s;display:flex;align-items:center;justify-content:center;}
.lb-btn:hover{background:rgba(255,255,255,.22);}
#lb-close{top:18px;right:22px;width:40px;height:40px;font-size:1.3rem;line-height:1;}
#lb-prev{left:16px;top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:1.6rem;}
#lb-next{right:16px;top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:1.6rem;}
#lb-caption{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.65);font-size:.8rem;text-align:center;max-width:500px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

@media(max-width:640px){
    #tour-map{height:260px;}
    .tour-row{grid-template-columns:1fr;grid-template-areas:"header" "nav" "main";}
    .tour-header{margin-bottom:28px;}
    .tour-nav{position:static;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px;}
    .tour-nav-label{width:100%;}
    .place-tab{border:1px solid #e5e7eb;width:auto;}
}
