/*
Theme Name: JourneyFor2 Poseidon Ready
Theme URI: https://journeyfor2.com
Author: JourneyFor2
Description: A Poseidon-inspired clean travel magazine theme for JourneyFor2 with Customizer-controlled homepage sections, featured content pinning, media heroes, dropdown menu, full-width pages, and red accents.
Version: 4.3.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: journeyfor2
*/

:root{--accent:#d71920;--text:#222;--muted:#777;--line:#e8e8e8;--bg:#fff;--soft:#f6f6f6;--max:1120px;}
*{box-sizing:border-box} body{margin:0;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65} a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline} img{max-width:100%;height:auto;display:block}.container{width:min(var(--max),calc(100% - 44px));margin-inline:auto}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:999;box-shadow:0 2px 14px rgba(0,0,0,.04)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.site-branding a{color:#2b2b2b;text-decoration:none}.site-title{font-size:31px;font-weight:800;letter-spacing:-1px;line-height:1}.site-tagline{font-size:12px;color:#888;margin-top:4px;text-transform:uppercase;letter-spacing:.08em}.main-navigation ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:0}.main-navigation li{position:relative}.main-navigation a{display:block;padding:31px 14px;color:#333;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;text-decoration:none}.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--accent)}.main-navigation ul ul{display:none;position:absolute;top:100%;right:0;background:#fff;min-width:205px;border:1px solid var(--line);box-shadow:0 12px 25px rgba(0,0,0,.10)}.main-navigation ul li:hover>ul,.main-navigation ul li:focus-within>ul{display:block}.main-navigation ul ul a{padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.menu-toggle{display:none;border:0;background:var(--accent);color:#fff;padding:10px 13px;font-weight:700;border-radius:2px}
.hero{position:relative;overflow:hidden;background:#111}.hero-media{aspect-ratio:16/9;width:100%;max-height:610px}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}.hero-fallback{width:100%;height:100%;background:linear-gradient(135deg,#151515,#555)}.hero-overlay{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));padding:85px 0 46px;color:#fff}.hero-title{font-size:46px;line-height:1.05;margin:0 0 8px;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.35)}.hero-meta{font-size:12px;text-transform:uppercase;letter-spacing:.07em;opacity:.92}.hero-button{display:inline-block;margin-top:18px;background:var(--accent);color:#fff;padding:10px 18px;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.06em}.hero-button:hover{text-decoration:none;background:#b61016;color:#fff}
.main-wrap{padding:44px 0 58px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:42px}.section-title{font-size:14px;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid #222;padding-bottom:10px;margin:0 0 23px;font-weight:800}.section-heading-wrap{margin:0 0 23px}.section-heading-wrap .section-title{margin-bottom:8px}.section-subtitle{margin:0 0 18px;color:#666;font-size:15px}.home-about-section,.home-stay-section{margin:0 0 48px}.home-about-card,.stay-card{border:1px solid var(--line);background:#fff;padding:24px;display:grid;gap:20px}.home-about-card{grid-template-columns:220px 1fr;align-items:center}.home-about-card img,.about-widget img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ddd}.boxed-link{display:inline-block;margin-top:10px;border:2px solid var(--accent);padding:8px 14px}.boxed-link:hover{background:var(--accent);color:#fff;text-decoration:none}.stay-card .socials{margin-top:12px}.about-widget img{margin-bottom:14px}.sidebar p{color:#555;margin-top:0}
.magazine-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;margin-bottom:45px}.lead-card img{aspect-ratio:4/3;object-fit:cover;width:100%;background:#ddd}.entry-title{font-size:24px;line-height:1.18;margin:16px 0 4px;font-weight:800;color:#222}.entry-title a{color:#222}.entry-title a:hover{color:var(--accent);text-decoration:none}.entry-date{font-size:11px;text-transform:uppercase;color:#999;font-weight:700}.excerpt{color:#555;margin:12px 0 0}.read-more{font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.mini-list{display:grid;gap:18px}.mini-post{display:grid;grid-template-columns:96px 1fr;gap:15px;align-items:start}.mini-post img{width:96px;height:70px;object-fit:cover;background:#ddd}.mini-post h3{font-size:15px;line-height:1.25;margin:0 0 5px}.mini-post h3 a{color:#222}.mini-post h3 a:hover{color:var(--accent);text-decoration:none}.mini-post .entry-date{font-size:10px}.three-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:24px 0 48px}.story-box{border:1px solid var(--line);background:#fff}.story-box img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ddd}.story-box-content{padding:18px}.story-box h3{font-size:20px;margin:0 0 8px;line-height:1.2}.story-box h3 a{color:#222}.story-box h3 a:hover{color:var(--accent);text-decoration:none}.story-box p{margin:0;color:#555;font-size:15px}.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.grid-card{border-top:1px solid var(--line);padding-top:22px}.grid-card img{aspect-ratio:16/10;object-fit:cover;width:100%;background:#ddd}.grid-card h3{font-size:20px;line-height:1.2;margin:14px 0 4px}.grid-card h3 a{color:#222}.sidebar .widget{margin-bottom:34px}.widget-title{font-size:14px;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid #222;padding-bottom:10px;margin:0 0 16px}.socials{display:flex;gap:6px}.socials a{width:36px;height:36px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;text-decoration:none}.popular-list{display:grid;gap:15px}.popular-item{display:grid;grid-template-columns:76px 1fr;gap:12px}.popular-item img{width:76px;height:56px;object-fit:cover;background:#ddd}.popular-item strong{font-size:13px;line-height:1.25;color:#222}.popular-item span{display:block;font-size:10px;color:#999;text-transform:uppercase;margin-top:3px}.site-main article,.page-content-box{background:#fff}.page-header{margin-bottom:25px}.page-title{font-size:36px;line-height:1.15;margin:0 0 8px}.entry-content{font-size:18px}.entry-content p{margin:0 0 1.25em}.site-footer{border-top:1px solid var(--line);padding:30px 0;text-align:center;color:#777;font-size:14px;background:#fafafa}.alignfull{margin-left:calc(50% - 50vw);width:100vw;max-width:100vw}.wp-block-image img{height:auto}.admin-bar .site-header{top:32px}
@media(max-width:900px){.home-about-card{grid-template-columns:1fr}.header-inner{height:auto;padding:18px 0;align-items:flex-start}.menu-toggle{display:block}.main-navigation{margin-left:auto}.main-navigation ul{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 10px 22px rgba(0,0,0,.08);flex-direction:column;align-items:stretch}.main-navigation.toggled ul{display:flex}.main-navigation a{padding:13px 22px}.main-navigation ul ul{position:static;display:block;box-shadow:none;border:0;border-left:3px solid var(--accent);margin-left:20px}.layout{grid-template-columns:1fr}.magazine-feature{grid-template-columns:1fr}.three-boxes,.post-grid{grid-template-columns:1fr}.hero-title{font-size:34px}.sidebar{border-top:1px solid var(--line);padding-top:30px}}@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(max-width:520px){.container{width:min(100% - 28px,var(--max))}.site-title{font-size:26px}.hero-overlay{padding:55px 0 30px}.hero-title{font-size:28px}.main-wrap{padding-top:30px}.mini-post{grid-template-columns:82px 1fr}.mini-post img{width:82px;height:62px}}
.socials{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.social-link{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border:1px solid var(--line);background:#fff;text-decoration:none;font-size:12px;font-weight:800;line-height:1}.social-link img{width:28px;height:28px;display:block}.social-link span{padding:0 10px;color:#222}.social-link:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12);text-decoration:none}.muted{color:#777;font-size:14px}

/* JourneyFor2 v2.3: clean standalone social logos, no red boxes or borders */
.socials a.social-link{width:auto !important;min-width:0 !important;height:auto !important;background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;color:inherit !important;display:inline-flex !important;}
.socials a.social-link img{width:30px;height:30px;display:block;border:0;background:transparent;}
.socials a.social-link:hover{transform:none;box-shadow:none;text-decoration:none;opacity:.82;}

/* JourneyFor2 v2.4 page-sidebar and editable magazine refinements */
.page-with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:42px;align-items:start}.page-related-sidebar{border-left:0}.muted{color:#777;font-size:14px}.socials a{background:transparent!important;border:0!important;box-shadow:none!important;width:auto;height:auto;padding:0}.socials a img{width:32px;height:32px;display:block}.socials a span{color:var(--accent);font-size:12px;text-transform:uppercase;font-weight:800}.section-heading-wrap:empty{display:none}
@media(max-width:900px){.page-with-sidebar{grid-template-columns:1fr}.page-related-sidebar{border-top:1px solid var(--line);padding-top:30px}}

.mini-excerpt{font-size:13px;line-height:1.45;color:#555;margin:6px 0 5px}.mini-read-more{display:inline-block;margin-top:2px;color:var(--accent)}

/* Page sidebar category archives */
.page-related-sidebar .archive-list {
  display: grid;
  gap: 0;
}
.page-related-sidebar .archive-item {
  display: block;
  padding: 11px 0;
  border-bottom: 1px solid #eeeeee;
  color: #1f1f1f;
  text-decoration: none;
}
.page-related-sidebar .archive-item:hover .archive-title {
  color: #c5161d;
}
.page-related-sidebar .archive-title {
  display: block;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  line-height: 1.25;
}
.page-related-sidebar .archive-date {
  display: block;
  margin-top: 3px;
  color: #777777;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* JourneyFor2 v3.3 destination archive page */
.archives-intro{max-width:760px;margin:0 auto 34px;text-align:center}.archive-lede{font-size:18px;color:#555}.archive-stats{display:flex;justify-content:center;gap:18px;margin-top:20px}.archive-stats div{border-top:2px solid #222;border-bottom:1px solid var(--line);padding:12px 28px}.archive-stats strong{display:block;font-size:30px;line-height:1;color:#222}.archive-stats span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#777;font-weight:800}.destination-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:34px}.destination-card{border:1px solid var(--line);background:#fff}.destination-image img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#ddd}.destination-card-content{padding:22px}.destination-card h2{font-size:25px;line-height:1.15;margin:0 0 8px}.destination-card h2 a{color:#222}.destination-card h2 a:hover{color:var(--accent);text-decoration:none}.destination-meta{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#777;font-weight:800;margin:14px 0 8px}.home-destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 0 18px}.home-destination-card{border:1px solid var(--line);background:#fff}.home-destination-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.home-destination-card h3{font-size:18px;margin:14px 15px 2px;line-height:1.2}.home-destination-card h3 a{color:#222}.home-destination-card span{display:block;margin:0 15px 15px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#777;font-weight:800}.archive-link-wrap{margin:0 0 44px}.site-footer .footer-links{margin-top:8px}.site-footer .footer-links a{margin:0 8px;color:#555;font-size:13px}.site-footer .footer-links a:hover{color:var(--accent)}@media(max-width:900px){.destination-directory,.home-destination-grid{grid-template-columns:1fr}.archive-stats{flex-direction:column;gap:10px}}


/* JourneyFor2 v3.6 stats, map, related posts, red section dividers */
.section-title,.widget-title{border-bottom-color:var(--accent)!important;}
.archive-stats div{border-top-color:var(--accent)!important;}
.j2-stats-section,.j2-map-section,.j2-related-posts{margin:0 0 48px;}
.j2-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:20px 0 45px;}
.j2-stat{border-top:3px solid var(--accent);border-bottom:1px solid var(--line);padding:18px 10px;text-align:center;background:#fff;}
.j2-stat strong{display:block;font-size:31px;line-height:1;color:#222;font-family:Georgia,'Times New Roman',serif;}
.j2-stat span{display:block;margin-top:8px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#777;font-weight:800;}
.j2-state-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;}
.j2-state-chip{display:block;border:1px solid var(--line);border-top:3px solid var(--accent);background:#fff;padding:18px;text-decoration:none;color:#222;min-height:92px;}
.j2-state-chip:hover{transform:translateY(-1px);box-shadow:0 7px 20px rgba(0,0,0,.08);text-decoration:none;}
.j2-state-chip span{display:block;font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:800;line-height:1.15;}
.j2-state-chip small{display:block;margin-top:8px;color:#777;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;}
.j2-state-filter{display:flex;justify-content:center;gap:10px;align-items:end;flex-wrap:wrap;margin-top:18px;}
.j2-state-filter label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#777;display:block;width:100%;}
.j2-state-filter select{min-width:260px;padding:10px;border:1px solid var(--line);font-size:15px;}
.j2-state-filter button{background:var(--accent);color:#fff;border:0;padding:11px 18px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;}
.related-grid{margin-top:18px;}
@media(max-width:900px){.j2-stats-grid{grid-template-columns:repeat(2,1fr)}.j2-state-map{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.j2-stats-grid,.j2-state-map{grid-template-columns:1fr}}


/* JourneyFor2 v3.8 Travel Guide category filter page */
.j2-guide-intro{margin-bottom:34px}.j2-guide-filter-section{margin-bottom:52px}.section-subtitle{font-size:16px;color:#666;margin-top:-8px;margin-bottom:18px}.j2-guide-filters{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 28px}.j2-guide-filter{border:1px solid var(--line);border-top:3px solid var(--accent);background:#fff;color:#222;padding:10px 15px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:12px;cursor:pointer}.j2-guide-filter:hover,.j2-guide-filter.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.j2-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.j2-guide-card{border:1px solid var(--line);background:#fff}.j2-guide-image img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#ddd}.j2-guide-card-content{padding:20px}.j2-guide-card h2{font-size:22px;line-height:1.15;margin:0 0 8px}.j2-guide-card h2 a{color:#222}.j2-guide-card h2 a:hover{color:var(--accent);text-decoration:none}.j2-guide-card p{color:#555;margin:0 0 12px}@media(max-width:900px){.j2-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.j2-guide-grid{grid-template-columns:1fr}.j2-guide-filter{width:100%}}


/* JourneyFor2 Travel Guide category hub */
.j2-guide-hub-section{margin-bottom:56px}.j2-guide-jump{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 32px}.j2-guide-jump a{display:inline-block;border:1px solid var(--line);border-top:3px solid var(--accent);background:#fff;color:#222;padding:10px 14px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.j2-guide-jump a:hover{background:var(--accent);border-color:var(--accent);color:#fff;text-decoration:none}.j2-guide-category-block{background:#fff;border:1px solid var(--line);padding:26px;margin:0 0 32px}.j2-guide-category-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start;border-bottom:3px solid var(--accent);padding-bottom:14px;margin-bottom:22px}.j2-guide-category-head h2{font-size:28px;margin:0 0 6px}.j2-guide-category-head p{margin:0;color:#666}.j2-guide-view-all{white-space:nowrap;margin-top:6px}.j2-guide-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.j2-guide-mini-card h3{font-size:20px;line-height:1.2;margin:0 0 8px}.j2-guide-mini-card h3 a{color:#222}.j2-guide-mini-card h3 a:hover{color:var(--accent);text-decoration:none}.j2-guide-bottom-link{margin:18px 0 0}.j2-empty-category{color:#666;margin:0}@media(max-width:900px){.j2-guide-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.j2-guide-category-head{display:block}.j2-guide-view-all{display:inline-block;margin-top:12px}}@media(max-width:620px){.j2-guide-category-grid{grid-template-columns:1fr}.j2-guide-category-block{padding:18px}.j2-guide-jump a{width:100%;text-align:center}}


/* JourneyFor2 v3.9: single-post cleanup and sticky reading sidebar */
.single .j2-related-posts{display:none!important;}
@media (min-width:901px){
  .single-post-layout .sidebar,
  .page-with-sidebar .page-related-sidebar{
    position:sticky;
    top:112px;
    align-self:start;
    max-height:none;
    overflow:visible;
  }
  .admin-bar .single-post-layout .sidebar,
  .admin-bar .page-with-sidebar .page-related-sidebar{top:144px;}
}
@media (max-width:900px){
  .single-post-layout .sidebar,
  .page-with-sidebar .page-related-sidebar{position:static;max-height:none;overflow:visible;}
}


/* JourneyFor2 v4.0: clean page sidebar archives without inner scrollbars */
.page-related-sidebar{overflow:visible!important;max-height:none!important;padding-right:0!important;}
.archive-more-link{display:inline-block;margin-top:14px;color:var(--accent);}
.archive-list .archive-item:nth-of-type(n+9){display:none;}

/* JourneyFor2 v4.1 State Landing Page */
.state-landing-main .entry-content{margin-bottom:44px;}
.j2-state-featured-story,.j2-state-auto-section,.j2-state-template-note{margin:0 0 52px;}
.j2-featured-story-card{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;border:1px solid var(--line);background:#fff;padding:24px;}
.j2-featured-story-image img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#ddd;}
.j2-featured-story-content h3{font-size:30px;line-height:1.12;margin:0 0 12px;}
.j2-featured-story-content h3 a{color:#222;}
.j2-featured-story-content h3 a:hover{color:var(--accent);text-decoration:none;}
.j2-featured-story-content p{color:#555;font-size:17px;margin:0 0 12px;}
.j2-state-section-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:20px;}
.j2-state-section-head .section-title{flex:1;margin-bottom:0;}
.j2-state-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.j2-state-card{border:1px solid var(--line);background:#fff;}
.j2-state-card-image img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#ddd;}
.j2-state-card-content{padding:18px;}
.j2-state-card h3{font-size:21px;line-height:1.18;margin:0 0 8px;}
.j2-state-card h3 a{color:#222;}
.j2-state-card h3 a:hover{color:var(--accent);text-decoration:none;}
.j2-state-card p{color:#555;margin:0 0 10px;font-size:15px;}
@media(max-width:900px){.j2-featured-story-card{grid-template-columns:1fr}.j2-state-card-grid{grid-template-columns:1fr}.j2-state-section-head{display:block}.j2-state-section-head .read-more{display:inline-block;margin-top:10px}}

/* JourneyFor2 v4.2: content heading underline matches text width */
.entry-content h2,
.entry-content h3,
.wp-block-heading h2,
.wp-block-heading h3 {
  display: inline-block;
  border-bottom: 3px solid var(--accent);
  padding-bottom: 6px;
  line-height: 1.25;
}
.entry-content h2::after,
.entry-content h3::after,
.wp-block-heading h2::after,
.wp-block-heading h3::after {
  content: none !important;
  display: none !important;
}
.entry-content h2,
.wp-block-heading h2 { margin-top: 1.6em; }
.entry-content h3,
.wp-block-heading h3 { margin-top: 1.35em; }
