/*
Theme Name: Pacific Worth
Theme URI: https://pacificworth.com
Author: Isaac Tiaon
Description: A polished Pacific travel blog theme for helping readers decide which destinations, stays, and experiences are truly worth the journey.
Version: 2.0.0
License: GPLv2 or later
Text Domain: pacificworth
*/

/* =========================================================
   1) THEME TOKENS
   ========================================================= */
:root{

  /* =========================================================
     CORE BRAND
     ========================================================= */

  --brand-primary:#FF2F8D;
  --brand-on-primary:#FFFFFF;

  /* Soft blush pink */
  --brand-accent-soft:#FFF0F7;

  /* =========================================================
     NAVIGATION
     ========================================================= */

  --nav-surface:#FFFFFF;
  --nav-ink:#2B2430;

  --nav-ink-hover:#FF2F8D;

  /* =========================================================
     PAGE + TEXT
     ========================================================= */

  --page-surface:#FFF8FB;

  --text-primary:#2B2430;

  --text-muted:#6D6170;

  /* =========================================================
     SURFACES
     ========================================================= */

  --surface-primary:#FFFFFF;

  --surface-secondary:#FFF5FA;

  /* =========================================================
     BORDERS
     ========================================================= */

  --border-light:#F6C6DC;

  --border-strong:#EAA8C7;

  /* =========================================================
     SHADOWS
     ========================================================= */

  --shadow-soft:0 12px 30px rgba(255,47,141,.10);

  --shadow-hover:0 20px 46px rgba(255,47,141,.18);

  /* =========================================================
     BUTTONS
     ========================================================= */

  --btn-primary-bg:#FF2F8D;

  --btn-primary-text:#FFFFFF;

  --btn-primary-bg-hover:#D91F73;

  --btn-primary-text-hover:#FFFFFF;

  /* =========================================================
     SECTION HEADERS
     ========================================================= */

  --section-head-bg:#FFF0F7;

  --section-head-text:#D91F73;

  /* =========================================================
     FOOTER
     ========================================================= */

  --footer-link-hover:#FF77B7;

  /* =========================================================
     RADIUS
     ========================================================= */

  --radius-sm:10px;
  --radius-md:24px;
  --radius-pill:999px;

  /* =========================================================
     TRANSPARENCY
     ========================================================= */

  --white-14:rgba(255,255,255,.14);
  --white-12:rgba(255,255,255,.12);

  /* =========================================================
     GLOBAL MAPPINGS
     ========================================================= */

  --brand-bg:var(--brand-primary);

  --brand-title:var(--brand-on-primary);

  --brand-tagline:#FFE0EF;

  --nav-bg:var(--nav-surface);

  --nav-link:var(--nav-ink);

  --page-bg:var(--page-surface);

  --page-text:var(--text-primary);

  --card-bg:var(--surface-primary);

  --surface:var(--surface-secondary);

  --border:var(--border-light);

  --shadow:var(--shadow-soft);

  --btn-bg:var(--btn-primary-bg);

  --btn-text:var(--btn-primary-text);

  --btn-hover-bg:var(--btn-primary-bg-hover);

  --btn-hover-text:var(--btn-primary-text-hover);

  --side-head-bg:var(--section-head-bg);

  --side-head-text:var(--section-head-text);

  --radius:var(--radius-md);

  --green:var(--brand-bg);
}

/* =========================================================
   2) BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}

body{
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans","Helvetica Neue",sans-serif;
  background:var(--page-bg);
  color:var(--page-text);
  line-height:1.7;
}

img{display:block;max-width:100%;height:auto}
a{color:var(--nav-link-hover);text-decoration:none}
a:hover{color:var(--btn-hover-bg)}
button,input[type="submit"]{cursor:pointer}

.container{width:min(1100px,92%);margin-inline:auto}
.site-content,.main-col,.entry-content{min-width:0;overflow:visible}

/* Elementor full-width pages */
body.elementor-page .site-content .container,
body.elementor-page .site-content .grid,
body.elementor-page .site-content .main-col{width:100%;max-width:none}

/* Gutenberg wide/full */
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.alignwide{width:min(1200px,96%);max-width:1200px;margin-inline:auto}

/* =========================================================
   3) TOPBAR
   ========================================================= */
.topbar{background:var(--brand-bg);color:var(--brand-title);font-size:13px}
.topbar-inner{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:10px 0}
.topbar a{color:var(--brand-title)}
.topbar a:hover{color:var(--footer-link-hover)}
.topbar-links,.topbar-icons{display:flex;align-items:center;flex-wrap:wrap}
.topbar-links{gap:14px}
.topbar-icons{gap:10px}
.icon-pill{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-pill);background:var(--white-12);border:1px solid var(--white-14)}

/* =========================================================
   4) HEADER + NAVIGATION
   ========================================================= */
.site-header.site-header--solid{
  background:linear-gradient(to bottom,var(--brand-bg) 0%,var(--brand-bg) 68%,var(--nav-bg) 68%,var(--nav-bg) 100%);
  border-bottom:1px solid var(--border);
}

.site-header.site-header--solid .branding{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:38px 0 20px;
  text-align:center;
}

.site-branding-text{
  width:100%;
  text-align:center;
}

.site-header .site-title{
  margin:0;
  font-size:clamp(42px,4.4vw,58px);
  line-height:1.05;
  letter-spacing:.3px;
}

.site-header .site-title a{
  color:var(--brand-title);
}

.site-header .site-description{
  margin:10px 0 0;
  font-size:12px;
  letter-spacing:1.7px;
  text-transform:uppercase;
  color:var(--brand-tagline);
}

.mobile-menu-toggle{
  display:none;
}

.main-nav{
  background:var(--nav-bg);
  border-block:1px solid var(--border);
}

.main-nav .nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.main-nav .menu,
.main-nav ul.menu{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
  list-style:none;
  margin:0;
  padding:12px 0;
}

.main-nav a{
  display:inline-block;
  padding:8px 12px;
  color:var(--nav-link);
  font-weight:600;
}

.main-nav a:hover,
.main-nav .current-menu-item>a,
.main-nav .current_page_item>a{
  color:var(--nav-link-hover);
}

.nav-search{
  position:relative;
  display:flex;
  align-items:center;
}

.nav-search-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  border:0;
  background:transparent;
  color:var(--nav-link);
  line-height:1;
}

.nav-search-btn:hover{
  color:var(--nav-link-hover);
}

.nav-search-btn img{
  width:18px;
  height:18px;
}

.nav-search-panel[hidden]{
  display:none;
}

.nav-search-panel:not([hidden]){
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  z-index:9999;
  display:block;
  width:min(320px,80vw);
  padding:12px;
  background:var(--card-bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.nav-search-panel input[type="search"]{
  width:100%;
  margin:0;
}

.nav-search-panel .search-submit{
  margin-top:10px;
}

/* =========================================================
   5) LAYOUT
   ========================================================= */
.site-content{padding:34px 0 42px}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px}
@media (max-width:920px){.grid{grid-template-columns:1fr}}

/* =========================================================
   6) POST CARDS + SINGLE CONTENT
   ========================================================= */
.post-card{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  position:relative;
  overflow:hidden;
  margin-bottom:22px;
  background:var(--card-bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  transition:box-shadow .25s ease,transform .25s ease;
}

.post-thumb{position:relative;z-index:1;min-height:190px;overflow:hidden;background:var(--surface)}
.post-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease;will-change:transform}
.post-body{position:relative;z-index:1;padding:20px 20px 22px}
.post-title{margin:0 0 8px;font-size:23px;line-height:1.25}
.post-title a{color:var(--text-primary)}
.post-title a:hover{color:var(--nav-link-hover)}
.post-excerpt{margin:0 0 14px;color:var(--text-muted)}
.post-meta{margin:0 0 10px;font-size:12px;color:var(--text-muted)}
.post-content h1,.post-content h2,.post-content h3{margin:20px 0 10px;line-height:1.25;color:var(--text-primary)}
.post-content p{margin:0 0 15px;color:var(--page-text)}
.post-content a{color:var(--nav-link-hover);text-decoration:underline;text-underline-offset:3px}
.post-content a:hover{color:var(--btn-hover-bg)}

@media (max-width:720px){.post-card{grid-template-columns:1fr}}

/* =========================================================
   7) BUTTONS + FORMS
   ========================================================= */
.btn,.button,.wp-block-button__link,.search-submit,.wpcf7 input.wpcf7-submit,.wpcf7 button.wpcf7-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  border:0;
  border-radius:var(--radius-pill);
  background:var(--btn-bg);
  color:var(--btn-text);
  font-size:15px;
  font-weight:700;
  letter-spacing:.2px;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}

.btn:hover,.button:hover,.wp-block-button__link:hover,.search-submit:hover,.wpcf7 input.wpcf7-submit:hover,.wpcf7 button.wpcf7-submit:hover{
  background:var(--btn-hover-bg);
  color:var(--btn-hover-text);
  transform:translateY(-1px);
}

input[type="search"],input[type="text"],input[type="email"]{
  width:100%;
  padding:11px 13px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--surface);
  color:var(--page-text);
}

/* =========================================================
   8) WIDGETS + SIDEBAR
   ========================================================= */
.widget{
  margin-bottom:18px;
  padding:16px;
  background:var(--card-bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  color:var(--page-text);
}

.widget-title,
.sidebar .widget-title,
.sidebar .widget .wp-block-heading,
.sidebar .widget:is(h1,h2,h3,h4,h5,h6),
.sidebar .widget h1,
.sidebar .widget h2,
.sidebar .widget h3,
.sidebar .widget h4,
.sidebar .widget h5,
.sidebar .widget h6{
  margin:0 0 12px;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--text-muted);
}

.sidebar .widget .wp-block-heading{padding:0}

.sidebar .widget-title--bar{
  margin:-16px -16px 16px;
  padding:14px 12px;
  background:var(--side-head-bg);
  color:var(--side-head-text);
  border-radius:var(--radius) var(--radius) 0 0;
  text-align:center;
  font-weight:800;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.sidebar-card{padding:0;background:transparent;border:0}
.sidebar-avatar{display:flex;justify-content:center;margin:6px 0 14px}

.sidebar-avatar img{
  width:140px;
  height:140px;
  border:4px solid var(--btn-bg);
  border-radius:50%;
  object-fit:cover;
}

.sidebar-text{margin:0 0 12px;font-size:14px;line-height:1.7;color:var(--page-text)}
.widget_about_custom .sidebar-text{text-align:center}
.widget_disclaimer_custom .sidebar-text{text-align:left;color:var(--text-muted);font-size:13.5px;line-height:1.7}

.sidebar-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:220px;
  height:52px;
  margin:16px auto 0;
  background:var(--btn-bg);
  color:var(--btn-text);
  border-radius:var(--radius-pill);
  font-weight:800;
  letter-spacing:.8px;
  text-transform:uppercase;
}

.sidebar-cta:hover{background:var(--btn-hover-bg);color:var(--btn-hover-text)}

/* Hostinger sidebar ad */
.widget_hostinger_ad{padding:0;overflow:hidden}
.hostinger-ad__link{display:block}
.hostinger-ad__img{display:block;width:100%;height:auto}

/* Recent posts mini */
.recent-posts-mini{display:grid;gap:12px;list-style:none;margin:0;padding:0}
.recent-posts-mini__link{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center}
.recent-posts-mini__thumb img,
.recent-posts-mini__thumb--fallback{width:54px;height:54px;border-radius:var(--radius-sm)}
.recent-posts-mini__thumb img{object-fit:cover}
.recent-posts-mini__thumb--fallback{display:block;background:var(--surface)}
.recent-posts-mini__title{font-size:14px;line-height:1.25;color:var(--page-text)}
.recent-posts-mini__link:hover .recent-posts-mini__title{color:var(--nav-link-hover)}

/* =========================================================
   9) PAGINATION
   ========================================================= */
.navigation.pagination,.pagination,.pagination-split{margin:40px 0}

.navigation.pagination .nav-links,.pagination .nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  width:100%;
}

.navigation.pagination .page-numbers,
.pagination .page-numbers,
.pagination-split .page-numbers,
.navigation.pagination .prev,
.navigation.pagination .next,
.pagination .prev,
.pagination .next,
.pagination-split__prev a,
.pagination-split__next a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:44px;
  padding:0 16px;
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}

.navigation.pagination .page-numbers,
.pagination .page-numbers,
.pagination-split .page-numbers{background:var(--surface);color:var(--nav-link)}

.navigation.pagination a.page-numbers:hover,
.pagination a.page-numbers:hover,
.pagination-split a.page-numbers:hover,
.navigation.pagination a.prev:hover,
.navigation.pagination a.next:hover,
.pagination a.prev:hover,
.pagination a.next:hover,
.pagination-split__prev a:hover,
.pagination-split__next a:hover{
  background:var(--btn-bg);
  color:var(--btn-text);
  border-color:var(--btn-bg);
  transform:translateY(-1px);
}

.navigation.pagination .prev,
.navigation.pagination .next,
.pagination .prev,
.pagination .next,
.pagination-split__prev a,
.pagination-split__next a{gap:8px;padding:0 18px;background:transparent;color:var(--brand-bg)}

.navigation.pagination .page-numbers.current,
.pagination .page-numbers.current,
.pagination-split .page-numbers.current{
  background:var(--card-bg);
  color:var(--brand-bg);
  border-color:var(--border-strong);
  box-shadow:0 4px 12px rgba(8,62,92,.12);
  cursor:default;
  transform:none;
}

.navigation.pagination .page-numbers.dots,.pagination .page-numbers.dots{
  min-width:auto;
  height:auto;
  padding:0 6px;
  background:transparent;
  border:0;
  color:var(--text-muted);
  box-shadow:none;
  cursor:default;
  transform:none;
}

.navigation.pagination span.prev,
.navigation.pagination span.next,
.pagination span.prev,
.pagination span.next,
.navigation.pagination span.page-numbers.prev,
.navigation.pagination span.page-numbers.next,
.pagination span.page-numbers.prev,
.pagination span.page-numbers.next{
  background:transparent;
  color:var(--text-muted);
  border-color:var(--border);
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
  pointer-events:none;
  transform:none;
}

.navigation.pagination .prev,.pagination .prev{margin-right:auto}
.navigation.pagination .next,.pagination .next{margin-left:auto}

.pagination-split{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%}
.pagination-split__prev{justify-self:start}
.pagination-split__nums{display:flex;align-items:center;flex-wrap:wrap;justify-self:center;gap:10px}
.pagination-split__next{justify-self:end}

@media (max-width:640px){
  .navigation.pagination .prev,
  .navigation.pagination .next,
  .pagination .prev,
  .pagination .next,
  .pagination-split__prev a,
  .pagination-split__next a{
    width:100%;
    margin:0;
    justify-content:center;
  }
}

/* =========================================================
   10) PAGES
   ========================================================= */
body.page .site-content article.widget{
  overflow:hidden;
  padding:24px 22px;
  background:var(--card-bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

body.page .site-content article.widget>.post-title,
body.page .site-content .entry-title{
  margin:0 0 14px;
  color:var(--brand-bg);
  line-height:1.2;
}

body.page .site-content article.widget .post-content,
body.page .site-content article.widget .entry-content{
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:var(--page-text);
}

body.page .site-content article.widget .post-content [class*="wp-block"]{background:transparent}

body.page .site-content article.widget .post-content>*:last-child,
body.page .site-content article.widget .entry-content>*:last-child{margin-bottom:0}


/* =========================================================
   11) FOOTER
   ========================================================= */
.site-footer{
  padding:26px 0;
  background:var(--brand-bg);
  color:var(--brand-title);
  border-top:1px solid var(--white-14);
}

.site-footer a{
  color:var(--brand-title);
}

.site-footer a:hover{
  color:var(--footer-link-hover);
}

.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:18px;
}

.footer-copyright{
  font-size:14px;
}

.footer-menu-list{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:18px;
  list-style:none;
  margin:0;
  padding:0;
}

.footer-menu-list li{
  margin:0;
  padding:0;
}

.footer-menu-list a{
  display:inline-block;
  padding:8px 12px;
  border-radius:var(--radius-pill);
  color:var(--brand-title);
  text-decoration:none;
  font-size:14px;
}

.footer-menu-list a:hover{
  background:transparent;
  color:var(--footer-link-hover);
}

/* =========================================================
   12) IMAGE CAPTIONS
   ========================================================= */
.wp-caption-text,.wp-element-caption,figcaption{
  margin-top:6px;
  color:var(--text-muted);
  font-size:.85em;
  font-weight:600;
  line-height:1.4;
  text-align:center;
}

/* =========================================================
   13) SINGLE PAGE FEATURED ARTICLES
   ========================================================= */
.featured-articles-title{margin:0 0 16px;font-size:1.25rem;color:var(--brand-bg)}
.featured-articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.featured-article-card{display:block;color:inherit;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
.featured-article-image{overflow:hidden;margin-bottom:10px;border-radius:var(--radius)}
.featured-article-image img{width:100%;height:130px;object-fit:cover;transition:transform .5s ease;will-change:transform}
.featured-article-title{margin:0;color:var(--brand-bg);font-size:.95rem;line-height:1.35}
.featured-article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.featured-article-card:hover .featured-article-title{color:var(--btn-hover-bg)}
.featured-article-card:hover .featured-article-image img{transform:scale(1.06)}

@media (max-width:700px){
  .featured-articles-grid{grid-template-columns:1fr}
  .featured-article-image img{height:180px}
}

/* =========================================================
   14) SINGLE PAGE WITHOUT SIDEBARS
   ========================================================= */
.page-container{max-width:1120px;margin:0 auto}
.page-full-width{width:100%}
.page .post-content{width:100%}

/* =========================================================
   15) PACIFIC WORTH ARTICLE FRAMEWORK
   ========================================================= */
.single-post-card{
  padding:28px 24px;
  border-radius:var(--radius-md);
}

.single-post-title{
  margin-top:0;
  font-size:clamp(34px,5vw,52px);
  line-height:1.08;
  color:var(--text-primary);
}

.single-post-meta{margin-bottom:12px}

.single-featured-image{
  margin:18px 0 28px;
  border-radius:var(--radius-lg,26px);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
}

.single-featured-image img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .6s ease;
  will-change:transform;
}

.single-featured-image:hover img{transform:scale(1.04)}

.pacificworth-article,
.jolyti-article,
.pacificworth-article-content,
.jolyti-article-content{
  --radius-lg:26px;
  background:var(--page-surface);
  color:var(--text-primary);
}

.pacificworth-article h2,
.pacificworth-article-content h2,
.jolyti-article h2,
.jolyti-article-content h2{
  font-size:clamp(26px,4vw,36px);
  line-height:1.2;
  margin:46px 0 18px;
  color:var(--text-primary);
  scroll-margin-top:90px;
}

.pacificworth-article h3,
.pacificworth-article-content h3,
.jolyti-article h3,
.jolyti-article-content h3{
  font-size:22px;
  margin:30px 0 12px;
  color:var(--text-primary);
}

.pacificworth-article p,
.pacificworth-article-content p,
.jolyti-article p,
.jolyti-article-content p{
  font-size:18px;
  line-height:1.75;
  color:var(--text-muted);
  margin:0 0 18px;
}

.pacificworth-article ul,
.pacificworth-article-content ul,
.jolyti-article ul,
.jolyti-article-content ul{
  margin:16px 0 24px 22px;
  color:var(--text-muted);
  font-size:18px;
  line-height:1.7;
}

.pacificworth-article a,
.pacificworth-article-content a,
.jolyti-article a,
.jolyti-article-content a{
  color:var(--brand-primary);
  text-decoration:underline;
  text-underline-offset:3px;
}

.pacificworth-article a:hover,
.pacificworth-article-content a:hover,
.jolyti-article a:hover,
.jolyti-article-content a:hover{color:var(--btn-hover-bg)}

.pacificworth-note,
.pacificworth-visual-box,
.pacificworth-image-placeholder,
.pacificworth-faq,
.pacificworth-table-wrap,
.pacificworth-toc,
.jolyti-note,
.jolyti-visual-box,
.jolyti-image-placeholder,
.jolyti-faq,
.jolyti-table-wrap,
.pacificworth-toc,
.jolyti-toc{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.pacificworth-note:hover,
.pacificworth-visual-box:hover,
.pacificworth-image-placeholder:hover,
.pacificworth-faq:hover,
.pacificworth-table-wrap:hover,
.pacificworth-toc:hover,
.jolyti-note:hover,
.jolyti-visual-box:hover,
.jolyti-image-placeholder:hover,
.jolyti-faq:hover,
.jolyti-table-wrap:hover,
.jolyti-toc:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-hover);
}

.pacificworth-note,
.jolyti-note{
  background:#EAF7FA;
  border:none;
  border-left:6px solid #063F5C;
  border-top-left-radius:22px;
  border-bottom-left-radius:22px;
  border-top-right-radius:22px;
  border-bottom-right-radius:22px;
  padding:26px;
  margin:34px 0;
  box-shadow:none;
}

.pacificworth-visual-box,
.pacificworth-image-placeholder,
.pacificworth-faq,
.pacificworth-table-wrap,
.pacificworth-toc,
.jolyti-visual-box,
.jolyti-image-placeholder{
  background:#EDF5F8;
  border:1px solid rgba(6,63,92,.12);
  border-radius:var(--radius-lg,26px);
  padding:26px;
  margin:34px 0;
  box-shadow:var(--shadow-soft);
}

.pacificworth-note strong,
.pacificworth-visual-box strong,
.jolyti-note strong,
.jolyti-visual-box strong{color:var(--brand-primary)}

.pacificworth-image-placeholder,
.pacificworth-image-card,
.jolyti-image-placeholder,
.pacificworth-image-card,
.jolyti-image-card{overflow:hidden}

.pacificworth-image-placeholder,
.jolyti-image-placeholder{
  text-align:center;
  border:2px dashed var(--border-strong);
  background:#FFFFFF;
}

.pacificworth-image-placeholder img,
.pacificworth-image-card img,
.jolyti-image-placeholder img,
.jolyti-image-card img{
  width:100%;
  display:block;
  border-radius:20px;
  transition:transform .6s ease;
  will-change:transform;
}

.pacificworth-image-placeholder:hover img,
.pacificworth-image-card:hover img,
.jolyti-image-placeholder:hover img,
.jolyti-image-card:hover img{transform:scale(1.06)}

.pacificworth-image-placeholder p,
.jolyti-image-placeholder p{
  margin:0;
  color:var(--text-muted);
}

.pacificworth-placeholder-title,
.jolyti-placeholder-title{
  display:inline-block;
  background:var(--brand-accent-soft);
  color:var(--brand-primary);
  padding:8px 14px;
  border-radius:var(--radius-pill);
  font-weight:700;
  margin-bottom:14px;
}

.pacificworth-image-card,
.jolyti-image-card{
  border-radius:var(--radius-lg,26px);
  margin:34px 0;
  box-shadow:var(--shadow-soft);
  transition:transform .28s ease,box-shadow .28s ease;
}

.pacificworth-image-card:hover,
.jolyti-image-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-hover);
}

.pacificworth-toc,
.jolyti-toc{
  background:var(--surface-secondary);
  border:1px solid var(--border-light);
  border-radius:var(--radius-lg,26px);
  padding:24px 26px;
  margin:38px 0;
  box-shadow:var(--shadow-soft);
}

.pacificworth-toc-title,
.jolyti-toc-title{
  font-size:20px!important;
  font-weight:700;
  color:var(--brand-primary)!important;
  margin-bottom:14px!important;
}

.pacificworth-toc ul,
.jolyti-toc ul{list-style:none;margin:0;padding:0}
.pacificworth-toc li,
.jolyti-toc li{margin:12px 0}

.pacificworth-toc a,
.jolyti-toc a{
  color:var(--text-primary);
  text-decoration:none;
  font-weight:600;
  transition:color .2s ease,padding-left .2s ease;
}

.pacificworth-toc a:hover,
.jolyti-toc a:hover{
  color:var(--brand-primary);
  padding-left:4px;
}

.pacificworth-table-wrap,
.jolyti-table-wrap{
  overflow-x:auto;
  margin:34px 0;
  border-radius:var(--radius-lg,26px);
  box-shadow:var(--shadow-soft);
}

.pacificworth-meaning-table,
.jolyti-meaning-table{
  width:100%;
  border-collapse:collapse;
  background:#FFFFFF;
  border:1px solid var(--border-light);
}

.pacificworth-meaning-table th,
.jolyti-meaning-table th{
  background:var(--brand-primary);
  color:#FFFFFF;
  text-align:left;
  padding:18px;
  font-size:17px;
}

.pacificworth-meaning-table td,
.jolyti-meaning-table td{
  padding:18px;
  border-bottom:1px solid var(--border-light);
  color:var(--text-muted);
  font-size:17px;
  line-height:1.6;
  transition:background .22s ease;
}

.pacificworth-meaning-table tr:hover td,
.jolyti-meaning-table tr:hover td{background:#F8FFFF}
.pacificworth-meaning-table tr:last-child td,
.jolyti-meaning-table tr:last-child td{border-bottom:none}

.pacificworth-faq,
.jolyti-faq{
  background:#FFFFFF;
  border:1px solid var(--border-light);
  border-radius:var(--radius-lg,26px);
  padding:24px;
  margin:24px 0;
  box-shadow:var(--shadow-soft);
}

.pacificworth-faq h3,
.jolyti-faq h3{
  margin-top:0;
  color:var(--brand-primary);
}
/* Pacific Worth highlight panel styles are included above with .pacificworth-note and .jolyti-note. */

.pacificworth-travel-tip{
  background:linear-gradient(135deg,#EAF8FA 0%,#FFF6DA 100%);
  border:1px solid var(--border-light);
  border-radius:var(--radius-lg,26px);
  padding:24px 26px;
  margin:34px 0;
  box-shadow:var(--shadow-soft);
}

.pacificworth-travel-tip strong{color:var(--brand-primary)}

}

/* =========================================================
   16) HOMEPAGE + BLOG FEED HOVER FIXES
   ========================================================= */

/* Blog feed cards should not lift on homepage or blog index */
body.home .post-card:hover,
body.blog .post-card:hover,
.blog-feed .post-card:hover,
.blog-feed-card .post-card:hover{
  transform:none;
  box-shadow:var(--shadow-soft);
}

/* Normal post cards outside the homepage/blog feed can still lift */
body:not(.home):not(.blog) .post-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
}

/* Default image zoom outside homepage/blog feed */
body:not(.home):not(.blog) .post-card:hover .post-thumb img{
  transform:scale(1.06);
}

/* Homepage/blog feed images zoom without removing tilt */
body.home .post-card:hover .post-thumb img,
body.blog .post-card:hover .post-thumb img,
.blog-feed .post-card:hover .post-thumb img,
.blog-feed-card .post-card:hover .post-thumb img{
  transform:rotate(var(--post-image-tilt, 0deg)) scale(1.06);
}

/* Tilt support for common tilted image classes */
.post-thumb img.tilt-left,
.post-thumb.tilt-left img,
.tilt-left .post-thumb img,
.post-card.tilt-left .post-thumb img{
  --post-image-tilt:-3deg;
  transform:rotate(-3deg);
}

.post-thumb img.tilt-right,
.post-thumb.tilt-right img,
.tilt-right .post-thumb img,
.post-card.tilt-right .post-thumb img{
  --post-image-tilt:3deg;
  transform:rotate(3deg);
}

.post-thumb img.tilt-small-left,
.post-thumb.tilt-small-left img,
.tilt-small-left .post-thumb img,
.post-card.tilt-small-left .post-thumb img{
  --post-image-tilt:-2deg;
  transform:rotate(-2deg);
}

.post-thumb img.tilt-small-right,
.post-thumb.tilt-small-right img,
.tilt-small-right .post-thumb img,
.post-card.tilt-small-right .post-thumb img{
  --post-image-tilt:2deg;
  transform:rotate(2deg);
}

/* Preserve tilt while zooming */
.post-thumb img.tilt-left:hover,
.post-thumb.tilt-left:hover img,
.tilt-left .post-thumb:hover img,
.post-card.tilt-left:hover .post-thumb img{
  transform:rotate(-3deg) scale(1.06);
}

.post-thumb img.tilt-right:hover,
.post-thumb.tilt-right:hover img,
.tilt-right .post-thumb:hover img,
.post-card.tilt-right:hover .post-thumb img{
  transform:rotate(3deg) scale(1.06);
}

.post-thumb img.tilt-small-left:hover,
.post-thumb.tilt-small-left:hover img,
.tilt-small-left .post-thumb:hover img,
.post-card.tilt-small-left:hover .post-thumb img{
  transform:rotate(-2deg) scale(1.06);
}

.post-thumb img.tilt-small-right:hover,
.post-thumb.tilt-small-right:hover img,
.tilt-small-right .post-thumb:hover img,
.post-card.tilt-small-right:hover .post-thumb img{
  transform:rotate(2deg) scale(1.06);
}

/* =========================================================
   17) MOBILE
   ========================================================= */
@media (max-width:700px){
  .single-post-card{padding:22px 16px}

  .pacificworth-article p,
.pacificworth-article-content p,
.jolyti-article p,
  .pacificworth-article ul,
.pacificworth-article-content ul,
.jolyti-article ul,
  .jolyti-article-content p,
  .jolyti-article-content ul,
  .pacificworth-meaning-table td,
.jolyti-meaning-table td{font-size:17px}

  .jolyti-toc,
  .pacificworth-note,
.pacificworth-visual-box,
.pacificworth-image-placeholder,
.pacificworth-faq,
.pacificworth-table-wrap,
.pacificworth-toc,
.jolyti-note,
  .jolyti-visual-box,
  .jolyti-image-placeholder,
  .pacificworth-faq,
.jolyti-faq{padding:22px}

  .site-header.site-header--solid{
    background:var(--brand-bg);
  }

  .site-header.site-header--solid .branding{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:92px;
    padding:18px 56px 16px;
  }

  .site-header .site-title{
    font-size:28px;
  }

  .site-header .site-description{
    margin-top:6px;
    font-size:9px;
    line-height:1.4;
    letter-spacing:1.2px;
  }

  .mobile-menu-toggle{
    display:inline-flex;
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:40px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.35);
    border-radius:10px;
    background:rgba(255,255,255,.08);
    color:#FFFFFF;
    font-size:25px;
    line-height:1;
  }

  .main-nav{
    display:none;
    background:var(--nav-bg);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
  }

  .main-nav.is-open{
    display:block;
  }

  .main-nav .nav-inner{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:100%;
  }

  .main-nav .menu,
  .main-nav ul.menu{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:0;
    padding:0;
  }

  .main-nav .menu li{
    width:100%;
    border-bottom:1px solid var(--border);
  }

  .main-nav a{
    display:block;
    width:100%;
    padding:14px 20px;
    text-align:left;
  }

  .nav-search{
    width:100%;
    padding:12px 20px;
  }

  .nav-search-btn{
    width:100%;
    justify-content:flex-start;
    padding:10px 0;
  }

  .nav-search-panel:not([hidden]){
    position:static;
    width:100%;
    margin-top:10px;
  }

  .site-footer{
    padding:24px 0;
    text-align:center;
  }

  .footer-inner{
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:14px;
  }

  .footer-menu-list{
    justify-content:center;
    gap:8px 14px;
  }

  .footer-menu-list a{
    padding:6px 8px;
    font-size:12px;
  }

}

/* Make page titles blend into the background */
body.page .entry-title,
body.page .page-title,
body.page .post-title{
  color: var(--page-bg) !important;
  margin: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
}

/* ========================================================

   ======================================================== */
/* =========================================================
   MOBILE HEADER + FOOTER FINAL FIX
   ========================================================= */

@media (max-width: 768px){

  .site-header.site-header--solid{
    background:var(--brand-bg) !important;
  }

  .site-header.site-header--solid .branding{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:88px !important;
    padding:16px 58px 14px !important;
    text-align:center !important;
  }

  .site-branding-text{
    text-align:center !important;
  }

  .site-header .site-title{
    font-size:26px !important;
    line-height:1.1 !important;
    margin:0 !important;
  }

  .site-header .site-description{
    font-size:9px !important;
    line-height:1.35 !important;
    letter-spacing:1.1px !important;
    margin-top:5px !important;
  }

  .mobile-menu-toggle{
    display:flex !important;
    position:absolute !important;
    right:14px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:40px !important;
    height:40px !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid rgba(255,255,255,.35) !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
    font-size:25px !important;
    line-height:1 !important;
    z-index:9999 !important;
  }

  .main-nav{
    display:none !important;
    width:100% !important;
    background:var(--nav-bg) !important;
    border-top:1px solid var(--border) !important;
    border-bottom:1px solid var(--border) !important;
  }

  .main-nav.is-open{
    display:block !important;
  }

  .main-nav .nav-inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:100% !important;
  }

  .main-nav .menu,
  .main-nav ul.menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  .main-nav .menu li{
    width:100% !important;
    border-bottom:1px solid var(--border) !important;
  }

  .main-nav a{
    display:block !important;
    width:100% !important;
    padding:14px 20px !important;
    text-align:left !important;
  }

  .nav-search{
    width:100% !important;
    padding:12px 20px !important;
  }

  .nav-search-btn{
    width:100% !important;
    justify-content:flex-start !important;
  }

  .nav-search-panel:not([hidden]){
    position:static !important;
    width:100% !important;
    margin-top:10px !important;
  }

  .site-footer{
    text-align:center !important;
    padding:24px 0 !important;
  }

  .footer-inner{
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    gap:12px !important;
  }

  .footer-menu-list{
    justify-content:center !important;
    gap:8px 12px !important;
  }

  .footer-menu-list a{
    font-size:12px !important;
    padding:6px 8px !important;
  }
}

/* =========================================================
   18) PACIFIC WORTH PUBLISHED ARTICLE CLEAN STYLES
   These rules replace the <style> block previously pasted inside
   individual WordPress posts.
   ========================================================= */

/* Article wrapper used inside published HTML */
.jolyti-article,
.jolyti-article-content {
  background: #FFFFFF !important;
}

/* Make article content safe inside the WordPress single post column */
.jolyti-article,
.jolyti-article-content,
.jolyti-article *,
.jolyti-article-content * {
  box-sizing: border-box;
}

.jolyti-article,
.jolyti-article-content {
  width: 100%;
  max-width: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* Table wrapper: no sideways scroll, better wrapping */
.jolyti-table-wrap {
  width: 100%;
  overflow: visible !important;
  margin: 24px 0;
}

/* Table design copied from the published article style block */
.jolyti-meaning-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 16px;
  line-height: 1.55;
  background: #FFFFFF;
}

.jolyti-meaning-table th,
.jolyti-meaning-table td {
  border: 1px solid #CFE8E8;
  padding: 14px 16px;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
}

.jolyti-meaning-table th {
  background: #E9FAFA;
  color: #173746;
  font-weight: 700;
}

.jolyti-meaning-table td {
  color: #173746;
}

/* Image placeholders used while diagrams are being prepared */
.jolyti-image-placeholder {
  margin: 28px 0;
  background: #E9FAFA;
  border-radius: 18px;
  border: 2px solid #CFE8E8;
  padding: 28px;
  text-align: center;
  box-shadow: none;
}

.jolyti-image-placeholder div {
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  color: #365A5A;
}

/* Keep notes and FAQ clean with the Pacific Worth palette */
.jolyti-note,
.jolyti-faq {
  border-color: #CFE8E8;
}

@media (max-width: 768px) {
  .jolyti-meaning-table {
    font-size: 15px;
  }

  .jolyti-meaning-table th,
  .jolyti-meaning-table td {
    padding: 12px 10px;
  }
}

/* Extra small-screen protection: keep text readable without horizontal scrolling */
@media (max-width: 560px) {
  .jolyti-table-wrap {
    border: 0;
    box-shadow: none;
    background: transparent;
  }

  .jolyti-meaning-table,
  .jolyti-meaning-table thead,
  .jolyti-meaning-table tbody,
  .jolyti-meaning-table tr,
  .jolyti-meaning-table th,
  .jolyti-meaning-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .jolyti-meaning-table thead {
    display: none;
  }

  .jolyti-meaning-table tr {
    margin: 0 0 14px;
    border: 1px solid #CFE8E8;
    border-radius: 16px;
    overflow: hidden;
    background: #FFFFFF;
  }

  .jolyti-meaning-table td {
    border: 0;
    border-bottom: 1px solid #CFE8E8;
    background: #FFFFFF !important;
  }

  .jolyti-meaning-table td:last-child {
    border-bottom: 0;
  }

  .jolyti-meaning-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    color: #063F5C;
    font-weight: 700;
  }

  .jolyti-meaning-table td[data-label=""]::before,
  .jolyti-meaning-table td:not([data-label])::before {
    display: none;
  }
}

/* =========================================================
   18) PACIFIC WORTH TABLE DESIGN UPGRADE
   Inspired by Balcony Haven table styling, adapted to Pacific Worth.
   This section intentionally comes late in the file so it overrides
   older plain table styles above.
   ========================================================= */

.pacificworth-table-wrap,
.jolyti-table-wrap {
  width: 100%;
  margin: 1.8rem 0 2.2rem;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid #D7E9ED;
  border-radius: 18px;
  background: #FFFFFF;
  box-shadow: 0 12px 30px rgba(10,50,70,.08);
}

.pacificworth-meaning-table,
.jolyti-meaning-table {
  width: 100%;
  min-width: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed;
  background: #FFFFFF;
  border: 0 !important;
  border-radius: 18px;
  overflow: hidden;
}

.pacificworth-meaning-table th,
.jolyti-meaning-table th,
.pacificworth-meaning-table td,
.jolyti-meaning-table td {
  padding: 16px 18px !important;
  text-align: left;
  vertical-align: top;
  line-height: 1.58;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  hyphens: none;
  border-left: 0 !important;
  border-right: 0 !important;
}

.pacificworth-meaning-table th,
.jolyti-meaning-table th {
  background: #063F5C !important;
  color: #FFFFFF !important;
  font-weight: 800;
  font-size: 16px;
  border-bottom: 0 !important;
}

.pacificworth-meaning-table th:first-child,
.jolyti-meaning-table th:first-child {
  border-top-left-radius: 18px;
}

.pacificworth-meaning-table th:last-child,
.jolyti-meaning-table th:last-child {
  border-top-right-radius: 18px;
}

.pacificworth-meaning-table td,
.jolyti-meaning-table td {
  color: #173746 !important;
  font-size: 16.5px;
  border-top: 1px solid #D7E9ED !important;
  border-bottom: 0 !important;
  background: #FFFFFF;
}

.pacificworth-meaning-table tbody tr:nth-child(even) td,
.jolyti-meaning-table tbody tr:nth-child(even) td {
  background: #F2FAFC !important;
}

.pacificworth-meaning-table tbody tr:hover td,
.jolyti-meaning-table tbody tr:hover td {
  background: #EAF7FA !important;
}

/* Mobile: turn wide tables into clean stacked cards, no sideways scroll. */
@media (max-width: 768px) {
  .pacificworth-table-wrap,
  .jolyti-table-wrap {
    margin: 1.6rem 0 2rem;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible !important;
  }

  .pacificworth-meaning-table,
  .jolyti-meaning-table,
  .pacificworth-meaning-table thead,
  .jolyti-meaning-table thead,
  .pacificworth-meaning-table tbody,
  .jolyti-meaning-table tbody,
  .pacificworth-meaning-table tr,
  .jolyti-meaning-table tr,
  .pacificworth-meaning-table th,
  .jolyti-meaning-table th,
  .pacificworth-meaning-table td,
  .jolyti-meaning-table td {
    display: block;
    width: 100%;
    min-width: 0 !important;
  }

  .pacificworth-meaning-table thead,
  .jolyti-meaning-table thead {
    display: none;
  }

  .pacificworth-meaning-table tr,
  .jolyti-meaning-table tr {
    margin: 0 0 14px;
    border: 1px solid #D7E9ED;
    border-radius: 16px;
    overflow: hidden;
    background: #FFFFFF;
    box-shadow: 0 8px 22px rgba(10,50,70,.07);
  }

  .pacificworth-meaning-table td,
  .jolyti-meaning-table td {
    padding: 12px 14px !important;
    border-top: 1px solid #D7E9ED !important;
    background: #FFFFFF !important;
    font-size: 16px;
  }

  .pacificworth-meaning-table td:first-child,
  .jolyti-meaning-table td:first-child {
    border-top: 0 !important;
    background: #063F5C !important;
    color: #FFFFFF !important;
    font-weight: 800;
  }

  .pacificworth-meaning-table td::before,
  .jolyti-meaning-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    color: #063F5C;
    font-weight: 800;
    line-height: 1.35;
  }

  .pacificworth-meaning-table td:first-child::before,
  .jolyti-meaning-table td:first-child::before {
    color: #FFFFFF;
  }
}

/* =========================================================
   SIDEBAR ABOUT ME CARD
   Add this to style.css
   ========================================================= */

.widget_about_me_custom{
  padding:0;
  overflow:hidden;
}

.sidebar-about-card{
  padding:22px 18px 24px;
  text-align:center;
  background:#FFFFFF;
  border:1px solid var(--border-light, #D7E9ED);
  border-radius:18px;
}

.sidebar-about-image-wrap{
  display:flex;
  justify-content:center;
  margin:4px 0 16px;
}

.sidebar-about-image{
  width:200px;
  height:200px;
  border-radius:50%;
  object-fit:cover;
  border:5px solid var(--brand-accent-soft, #EAF7FA);
  box-shadow:0 10px 24px rgba(10,50,70,.10);
}

.sidebar-about-title{
  margin:0 0 14px;
  color:var(--brand-primary, #063F5C);
  font-size:15px;
  font-weight:800;
  letter-spacing:1px;
  line-height:1.25;
  text-transform:uppercase;
}

.sidebar-about-text{
  margin:0 auto 18px;
  max-width:250px;
  color:var(--text-primary, #173746);
  font-size:15px;
  line-height:1.7;
}

.sidebar-about-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 22px;
  border-radius:999px;
  background:var(--brand-primary, #063F5C);
  color:#FFFFFF;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  transition:background .2s ease, transform .2s ease;
}

.sidebar-about-button:hover{
  background:var(--nav-ink-hover, #0B7C91);
  color:#FFFFFF;
  transform:translateY(-1px);
}

@media (max-width:920px){
  .sidebar-about-image{
    width:140px;
    height:140px;
  }
}

