/*
Theme Name: Hauntly Cinematic Editable
Theme URI: https://hauntly.co
Author: OpenAI
Description: A dark cinematic, dashboard-editable WordPress theme for haunted stays affiliate content.
Version: 3.2.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: hauntly
*/

:root{
  --bg:#05080d; --bg2:#08101a; --card:#0b121d; --card2:#101827; --line:rgba(255,255,255,.13);
  --text:#f7f0e8; --muted:#b7b2ad; --dim:#817b7f; --purple:#8b5cf6; --purple2:#a678ff;
  --gold:#d9b66f; --serif: Georgia, 'Times New Roman', serif; --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6} a{color:inherit;text-decoration:none} img{max-width:100%;height:auto;display:block}
.hauntly-page{min-height:100vh;background:radial-gradient(circle at 50% 0%,rgba(86,43,154,.18),transparent 30%),linear-gradient(180deg,#03060a 0%,#05080d 52%,#07101a 100%)}
.container{width:min(1400px,calc(100% - 80px));margin:0 auto}.section{padding:70px 0}.eyebrow{color:var(--purple2);text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:13px}.serif{font-family:var(--serif)}
.site-header{position:absolute;top:0;left:0;right:0;z-index:20;padding:28px 0}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:34px}.brand{display:flex;flex-direction:column;gap:4px;min-width:230px}.brand-name{font-family:var(--serif);font-size:52px;line-height:.85;letter-spacing:.05em;font-weight:800;text-shadow:0 2px 18px rgba(255,255,255,.18)}.brand-ghost{font-size:28px;margin-right:8px;vertical-align:middle}.brand-tag{font-size:10px;text-transform:uppercase;letter-spacing:.27em;color:#d9d3cd}.main-nav{display:flex;gap:38px;align-items:center;font-family:var(--serif);font-size:16px}.nav-actions{display:flex;gap:20px;align-items:center}.ghost-btn{border:1px solid rgba(166,120,255,.72);border-radius:9px;padding:13px 22px;color:#decaff;background:rgba(35,20,52,.28);font-family:var(--serif)}
.hero{position:relative;min-height:760px;overflow:hidden;padding:140px 0 32px}.hero-bg{position:absolute;inset:0;background-position:center top;background-size:cover;z-index:0}.hero-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,5,9,.98) 0%,rgba(2,5,9,.77) 34%,rgba(2,5,9,.25) 65%,rgba(2,5,9,.5) 100%),linear-gradient(180deg,rgba(2,5,9,.22) 0%,rgba(2,5,9,.58) 70%,#05080d 100%)}.hero-inner{position:relative;z-index:2}.hero-copy{max-width:720px;margin-top:40px}.hero-kicker{font-size:15px;margin-bottom:14px}.hero-title{font-family:var(--serif);font-size:74px;line-height:.98;letter-spacing:-.035em;margin:0 0 22px;text-shadow:0 3px 26px rgba(0,0,0,.65)}.hero-sub{font-size:20px;max-width:560px;color:#ece5dc;margin:0 0 32px}.search-panel{width:min(760px,100%);display:grid;grid-template-columns:1.2fr 1fr .8fr auto;align-items:center;background:rgba(12,13,25,.82);border:1px solid rgba(166,120,255,.43);box-shadow:0 18px 55px rgba(0,0,0,.45);backdrop-filter:blur(10px);border-radius:10px;padding:14px 16px}.search-field{display:flex;gap:13px;align-items:center;padding:0 18px;border-right:1px solid rgba(255,255,255,.09)}.search-field:last-of-type{border-right:0}.search-icon{font-size:25px;color:#eee}.search-label{font-weight:700;font-size:14px;color:#fff}.search-small{font-size:13px;color:#c2bfc7}.search-submit{border:none;background:linear-gradient(135deg,#7c3aed,#9b6bf2);color:#fff;border-radius:8px;padding:16px 28px;font-weight:800;font-size:16px;cursor:pointer}.trust-row{margin-top:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:25px;width:min(850px,100%)}.trust-item{display:flex;gap:14px;align-items:flex-start}.trust-ico{font-size:30px;color:var(--purple)}.trust-title{font-family:var(--serif);font-size:17px;color:#fff}.trust-text{font-size:13px;color:#d1cbd0}.quote-card{position:absolute;right:7%;bottom:88px;z-index:3;width:300px;border:1px solid rgba(255,255,255,.15);background:rgba(9,13,20,.72);backdrop-filter:blur(8px);border-radius:12px;padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.38)}.quote-mark{font-size:54px;line-height:.5;color:var(--purple)}.quote-card p{margin:5px 0 10px}.stars{color:var(--purple);letter-spacing:2px}.divider{height:1px;background:rgba(255,255,255,.12);margin:0 auto;width:min(1400px,calc(100% - 80px))}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.section-title{font-family:var(--serif);font-size:31px;line-height:1.1;margin:4px 0 0}.view-link{color:var(--purple2);font-family:var(--serif);font-size:18px}.stay-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.stay-card{overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:11px;background:linear-gradient(180deg,#101827,#08101a);position:relative;box-shadow:0 18px 45px rgba(0,0,0,.25)}.stay-img{height:178px;background:#111;background-size:cover;background-position:center;position:relative}.stay-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,8,13,.83))}.badge{position:absolute;z-index:2;top:14px;left:14px;border-radius:7px;background:linear-gradient(135deg,#7c3aed,#6d45c7);padding:6px 12px;color:#fff;font-weight:800;font-size:12px}.heart{position:absolute;top:14px;right:14px;z-index:2;width:34px;height:34px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.25)}.stay-content{padding:18px 16px}.stay-title{font-family:var(--serif);font-size:22px;margin:0 0 2px}.stay-loc{color:#d1cbd0;margin-bottom:12px}.stay-bottom{display:flex;justify-content:space-between;align-items:end}.rating{color:#d1cbd0}.price{text-align:right}.price small{color:#89838a}.price strong{font-size:18px;color:#fff}.experience{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center}.experience h2{font-family:var(--serif);font-size:47px;line-height:1.05;margin:8px 0 15px}.pills{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pill{border:1px solid rgba(166,120,255,.45);background:rgba(84,44,150,.18);border-radius:999px;padding:12px 18px;color:#e8ddff}.map-box{height:300px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),#08111b;background-size:70px 70px;position:relative;overflow:hidden}.pin{position:absolute;width:17px;height:17px;background:var(--purple);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 25px var(--purple)}.pin:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#cbb6ff;top:5px;left:5px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.journal-card{border:1px solid rgba(255,255,255,.13);background:#0d1420;border-radius:12px;padding:24px}.journal-card h3{font-family:var(--serif);font-size:24px;color:#d6bdff;margin-top:0}.cta{padding:95px 0;text-align:center;background:radial-gradient(circle at 50% 50%,rgba(116,62,209,.18),transparent 45%)}.cta h2{font-family:var(--serif);font-size:48px;line-height:1.05;margin:10px auto 26px;max-width:800px}.cta-btn{display:inline-block;background:linear-gradient(135deg,#7c3aed,#9b6bf2);padding:15px 28px;border-radius:8px;color:#fff;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.site-footer{background:#e9dfcf;color:#14110f;padding:46px 0}.site-footer .container{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-brand{font-family:var(--serif);font-size:25px;font-weight:bold}.footer-links{display:flex;gap:20px;font-size:13px}
.single-wrap{padding:130px 0 70px}.single-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px}.single-hero-img{height:460px;border-radius:14px;border:1px solid var(--line);background-size:cover;background-position:center}.single-title{font-family:var(--serif);font-size:56px;line-height:1;margin:24px 0 5px}.meta-row{display:flex;gap:18px;align-items:center;color:#d1cbd0}.booking-box{position:sticky;top:24px;border:1px solid var(--line);border-radius:14px;background:#0e1420;padding:26px}.booking-box h3{font-family:var(--serif);font-size:25px}.book-btn{display:block;text-align:center;background:linear-gradient(135deg,#7c3aed,#9b6bf2);padding:15px;border-radius:8px;margin:16px 0;font-weight:800}.content-panel{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.content-panel h2{font-family:var(--serif);font-size:31px}.reports{display:flex;flex-wrap:wrap;gap:10px}.report{border:1px solid rgba(166,120,255,.4);border-radius:999px;padding:9px 14px;background:rgba(124,58,237,.12)}
@media(max-width:1000px){.container,.divider{width:min(100% - 34px,720px)}.site-header{padding:18px 0}.brand-name{font-size:36px}.main-nav,.nav-actions{display:none}.hero{min-height:auto;padding:95px 0 30px}.hero-title{font-size:49px}.search-panel{grid-template-columns:1fr;gap:12px}.search-field{border-right:0;border-bottom:1px solid rgba(255,255,255,.09);padding:10px}.search-submit{width:100%}.trust-row,.stay-grid,.experience,.journal-grid,.single-layout{grid-template-columns:1fr}.quote-card{position:relative;right:auto;bottom:auto;margin:28px 0 0;width:100%}.stay-img{height:230px}.section{padding:44px 0}.site-footer .container{display:block}.footer-links{flex-wrap:wrap;margin-top:20px}.pills{grid-template-columns:1fr}.single-title{font-size:42px}.single-hero-img{height:300px}}

.eyebrow,.brand-name,.brand-tag,.hero-title,.stars,.cta-btn{letter-spacing:0}
.journal-archive,.post-page{background:linear-gradient(180deg,#05080d 0%,#08101a 52%,#05080d 100%)}
.journal-hero,.post-hero{padding:142px 0 54px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(124,58,237,.13),rgba(5,8,13,0))}
.compact-hero{padding-bottom:38px}
.journal-hero-inner{display:grid;grid-template-columns:1fr;gap:24px;align-items:end}
.journal-hero h1,.post-hero h1{font-family:var(--serif);font-size:44px;line-height:1.02;margin:10px 0 16px;max-width:920px}
.journal-hero p,.post-hero p{max-width:720px;margin:0;color:#d8d1cf;font-size:18px}
.journal-hero-panel,.toc-box,.internal-links-panel,.booking-box{border-radius:8px}
.journal-hero-panel{border:1px solid rgba(217,182,111,.24);background:rgba(13,20,32,.72);padding:22px}
.journal-hero-panel h2,.toc-box h2,.internal-links-panel h2{font-family:var(--serif);font-size:22px;line-height:1.15;margin:0 0 14px}
.journal-topic-links{display:flex;flex-wrap:wrap;gap:10px}
.journal-topic-links a,.journal-chip,.post-tags a{border:1px solid rgba(217,182,111,.34);background:rgba(217,182,111,.08);color:#f2dbac;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}
.journal-grid{display:grid;grid-template-columns:1fr;gap:22px}
.journal-post-card{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0d1420;box-shadow:0 20px 42px rgba(0,0,0,.24)}
.journal-card-image{display:block;aspect-ratio:1.55/1;background:#101827;overflow:hidden}
.journal-card-image img,.featured-post-image img,.post-hero-image img{width:100%;height:100%;object-fit:cover}
.journal-card-body{padding:20px;display:flex;min-height:260px;flex-direction:column;align-items:flex-start}
.journal-card-body h2{font-family:var(--serif);font-size:25px;line-height:1.12;margin:14px 0 10px}
.journal-card-body p{color:#d1cbd0;margin:0 0 18px}
.journal-card-meta,.post-meta-line{display:flex;flex-wrap:wrap;gap:10px 16px;color:#a9a2a8;font-size:13px;margin-top:auto}
.featured-post-card{display:grid;grid-template-columns:1fr;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:linear-gradient(135deg,#101827,#0b121d)}
.featured-post-image{aspect-ratio:1.55/1;overflow:hidden;background:#101827}
.featured-post-copy{padding:24px}
.featured-post-copy h2{font-family:var(--serif);font-size:34px;line-height:1.06;margin:16px 0 12px}
.featured-post-copy p{color:#d8d1cf;margin:0 0 18px;font-size:17px}
.read-more-link,.view-link{font-weight:800}
.empty-journal{grid-column:1/-1;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0d1420;padding:26px}
.empty-journal h2{font-family:var(--serif);margin:0 0 8px}
.journal-bottom-grid{display:grid;grid-template-columns:1fr;gap:22px;padding-bottom:70px}
.plan-cta,.signup-cta{display:grid;grid-template-columns:1fr;gap:18px;align-items:center;border:1px solid rgba(217,182,111,.25);border-radius:8px;background:linear-gradient(135deg,rgba(217,182,111,.12),rgba(124,58,237,.12));padding:24px}
.plan-cta h2,.signup-cta h2{font-family:var(--serif);font-size:30px;line-height:1.08;margin:8px 0 10px}
.plan-cta p,.signup-cta p{color:#d8d1cf;margin:0}
.signup-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.signup-actions a:not(.ghost-btn){border-bottom:1px solid rgba(217,182,111,.6);color:#f2dbac;font-weight:800}
.navigation.pagination{margin-top:32px}
.nav-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.page-numbers{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#0d1420;color:#f7f0e8;padding:0 12px}
.page-numbers.current{background:#d9b66f;color:#14110f;border-color:#d9b66f;font-weight:900}
.post-hero-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.post-hero-copy .journal-chip{display:inline-flex;margin-bottom:14px}
.post-hero-image{margin:0;border:1px solid rgba(255,255,255,.13);border-radius:8px;aspect-ratio:1.55/1;overflow:hidden;background:#101827}
.share-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.share-links a{border:1px solid rgba(166,120,255,.45);border-radius:999px;background:rgba(124,58,237,.11);padding:9px 13px;color:#eadfff;font-weight:800;font-size:13px}
.post-layout{display:grid;grid-template-columns:1fr;gap:30px;padding:44px 0 70px}
.post-sidebar{display:grid;gap:18px;align-content:start}
.toc-box,.internal-links-panel{border:1px solid rgba(255,255,255,.12);background:#0d1420;padding:20px}
.toc-box ol{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.toc-box a{color:#d8d1cf;font-size:14px}
.toc-level-3{padding-left:14px}
.mini-link-list{display:grid;gap:10px;margin-top:18px}
.mini-link-list h3{font-family:var(--serif);font-size:18px;margin:0}
.mini-link-list a{display:grid;gap:2px;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}
.mini-link-list small{color:#a9a2a8}
.post-content{font-size:18px;color:#eee8df}
.post-content > *:first-child{margin-top:0}
.post-content p,.post-content ul,.post-content ol{max-width:760px}
.post-content h2,.post-faq h2{font-family:var(--serif);font-size:34px;line-height:1.12;margin:42px 0 14px;color:#fff}
.post-content h3,.faq-item h3{font-family:var(--serif);font-size:25px;line-height:1.18;margin:28px 0 10px;color:#f2dbac}
.post-content a{text-decoration:underline;text-decoration-color:rgba(217,182,111,.55);text-underline-offset:3px}
.post-content blockquote{max-width:760px;margin:32px 0;padding:16px 20px;border-left:3px solid #d9b66f;background:rgba(217,182,111,.08);color:#f7f0e8}
.post-faq{margin-top:46px;border-top:1px solid var(--line);padding-top:34px}
.faq-list{display:grid;gap:14px}
.faq-item{border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0d1420;padding:20px}
.faq-item h3{margin-top:0}
.faq-item p:last-child{margin-bottom:0}
.post-tags{display:flex;flex-wrap:wrap;gap:10px;margin:34px 0 0}
.post-next-prev{display:grid;grid-template-columns:1fr;gap:14px;margin-top:34px;border-top:1px solid var(--line);padding-top:24px}
.post-next-prev div{border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0d1420;padding:16px}
.post-next-prev span{display:block;color:#a9a2a8;font-size:13px;text-transform:uppercase;font-weight:800;margin-bottom:4px}
.related-posts{padding:4px 0 34px}
.compact-grid .journal-card-body{min-height:230px}
.compact-grid .journal-card-body h2{font-size:22px}
.page-links{margin-top:26px}
@media(min-width:760px){
 .journal-grid{grid-template-columns:repeat(2,1fr)}
 .journal-bottom-grid,.post-next-prev{grid-template-columns:1fr 1fr}
 .plan-cta,.signup-cta{padding:30px}
 .journal-hero h1,.post-hero h1{font-size:58px}
}
@media(min-width:1080px){
 .journal-hero-inner,.post-hero-grid{grid-template-columns:minmax(0,1fr) 430px}
 .featured-post-card{grid-template-columns:1.05fr .95fr}
 .featured-post-image{aspect-ratio:auto;min-height:390px}
 .journal-grid{grid-template-columns:repeat(3,1fr)}
 .post-layout{grid-template-columns:280px minmax(0,1fr)}
 .post-sidebar{position:sticky;top:24px}
 .post-content{max-width:820px}
 .plan-cta,.signup-cta{grid-template-columns:1fr auto}
}

.stay-guide-page,.stay-archive{background:linear-gradient(180deg,#05080d 0%,#08101a 48%,#05080d 100%)}
.stay-guide-hero{padding:142px 0 54px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(217,182,111,.12),rgba(5,8,13,0))}
.stay-guide-hero-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.stay-guide-hero h1{font-family:var(--serif);font-size:44px;line-height:1.02;margin:10px 0 16px;max-width:880px}
.stay-guide-hero p{max-width:720px;margin:0;color:#ded7d3;font-size:18px}
.stay-guide-hero-image{margin:0;border:1px solid rgba(255,255,255,.14);border-radius:8px;aspect-ratio:1.55/1;overflow:hidden;background:#101827}
.stay-guide-hero-image img{width:100%;height:100%;object-fit:cover}
.stay-hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.stay-hero-facts span,.journal-topic-links span,.stay-card-facts span{border:1px solid rgba(217,182,111,.34);background:rgba(217,182,111,.08);color:#f2dbac;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800}
.stay-guide-layout{display:grid;grid-template-columns:1fr;gap:30px;padding:44px 0 70px}
.stay-guide-sidebar{display:grid;gap:18px;align-content:start}
.stay-booking-box h2{font-family:var(--serif);font-size:25px;line-height:1.15;margin:0 0 10px}
.stay-booking-box p{color:#d8d1cf}
.stay-guide-main{min-width:0}
.stay-guide-section{border-top:1px solid var(--line);padding:34px 0}
.stay-guide-section:first-child{border-top:0;padding-top:0}
.stay-guide-section h2{font-family:var(--serif);font-size:34px;line-height:1.12;margin:0 0 16px;color:#fff}
.stay-guide-section h3{font-family:var(--serif);font-size:24px;line-height:1.16;margin:24px 0 10px;color:#f2dbac}
.stay-guide-section p,.stay-guide-section li{font-size:18px;color:#eee8df}
.stay-guide-section p{max-width:820px}
.quick-guide-table{display:grid;border:1px solid rgba(255,255,255,.13);border-radius:8px;overflow:hidden;background:#0d1420}
.quick-guide-row{display:grid;grid-template-columns:1fr;gap:4px;padding:14px 16px;border-top:1px solid rgba(255,255,255,.09)}
.quick-guide-row:first-child{border-top:0}
.quick-guide-row span{color:#a9a2a8;font-size:13px;text-transform:uppercase;font-weight:900}
.quick-guide-row strong{color:#fff;font-size:16px}
.report-list{display:grid;grid-template-columns:1fr;gap:10px;margin:0;padding:0;list-style:none}
.report-list li{position:relative;border:1px solid rgba(166,120,255,.28);border-radius:8px;background:rgba(124,58,237,.1);padding:13px 14px 13px 36px}
.report-list li:before{content:"";position:absolute;left:16px;top:24px;width:8px;height:8px;border-radius:50%;background:#d9b66f}
.booking-info-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}
.booking-info-grid div{border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0d1420;padding:16px}
.booking-info-grid span{display:block;color:#a9a2a8;font-size:13px;text-transform:uppercase;font-weight:900;margin-bottom:5px}
.booking-info-grid strong{color:#fff}
.inline-cta{margin-top:24px;border:1px solid rgba(217,182,111,.25);border-radius:8px;background:linear-gradient(135deg,rgba(217,182,111,.12),rgba(124,58,237,.12));padding:22px}
.inline-cta h3{margin-top:0}
.source-notes{color:#eee8df}
.source-notes a{text-decoration:underline;text-decoration-color:rgba(217,182,111,.6);text-underline-offset:3px}
.stay-archive-grid{grid-template-columns:1fr}
.archive-stay-card .stay-content p{color:#d1cbd0;margin:10px 0 14px}
.stay-card-facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.related-stays{padding-top:36px}
@media(min-width:760px){
 .stay-guide-hero h1{font-size:58px}
 .quick-guide-row{grid-template-columns:230px 1fr;gap:18px;align-items:start}
 .report-list{grid-template-columns:repeat(2,1fr)}
 .booking-info-grid{grid-template-columns:repeat(2,1fr)}
 .stay-archive-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1080px){
 .stay-guide-hero-grid{grid-template-columns:minmax(0,1fr) 460px}
 .stay-guide-layout{grid-template-columns:300px minmax(0,1fr)}
 .stay-guide-sidebar{position:sticky;top:24px}
 .stay-archive-grid{grid-template-columns:repeat(3,1fr)}
 .stay-guide-main{max-width:900px}
}
