/* ==========================================================================
   MenusPH — Automated Article Design System (visual layer)
   Navy + Gold scheme. Scoped to .entry-content so it only affects
   single-post article bodies, never the rest of the site.
   ========================================================================== */

:root{
  --mph-navy:#1c4775;
  --mph-navy-dark:#153558;
  --mph-navy-tint:#eef2f6;
  --mph-navy-tint-2:#f6f9fb;
  --mph-gold:#eaa53e;
  --mph-gold-dark:#b9781f;
  --mph-gold-light:#fbeed2;
  --mph-border:#e2e8ee;
}

/* Article title */
.entry-title{
  color:var(--mph-navy-dark);
  font-weight:800;
  line-height:1.22;
  letter-spacing:-.01em;
  position:relative;
  display:inline-block;
  padding-bottom:14px;
  margin-bottom:6px;
}
.entry-title::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:60px;height:4px;
  border-radius:2px;
  background:var(--mph-gold);
}

/* Category eyebrow (e.g. "ASIAN") */
.entry-taxonomies .category-links a{
  color:var(--mph-gold-dark);
  font-weight:700;
  font-size:.8em;
  letter-spacing:1px;
  text-decoration:none;
}
.entry-taxonomies .category-links a:hover{
  color:var(--mph-navy);
}

/* Author / date meta line */
.entry-header .entry-meta{
  color:#5b6672;
  font-size:.9em;
}
.entry-header .entry-meta a{
  color:#5b6672;
}

/* Feature image */
.wp-block-post-featured-image{
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(21,53,88,.12);
  animation:menuph-fade-up .6s ease both;
}
.wp-block-post-featured-image img{
  transition:transform .5s ease;
  display:block;
}
/* Hover zoom kept very subtle, and only on real pointer devices, so
   text baked into the image never gets pushed toward/out of frame */
@media (hover:hover) and (pointer:fine){
  .wp-block-post-featured-image:hover img{
    transform:scale(1.012);
  }
}
@keyframes menuph-fade-up{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

/* Headings */
.entry-content h2.wp-block-heading{
  color:var(--mph-navy-dark);
  padding-bottom:10px;
  border-bottom:3px solid var(--mph-gold);
  display:inline-block;
  margin-top:2.4em;
}
.entry-content h3.wp-block-heading{
  color:var(--mph-navy);
  margin-top:1.6em;
}

/* Price / data tables (Gutenberg core table block) */
.entry-content .wp-block-table table{
  border-collapse:collapse;
  width:100%;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 1px 3px rgba(21,53,88,.08);
}
.entry-content .wp-block-table thead th{
  background:var(--mph-navy-dark);
  color:#fff;
  text-align:left;
  padding:12px 14px;
  font-weight:700;
  font-size:.85em;
  letter-spacing:.3px;
  border:none;
}
.entry-content .wp-block-table tbody td{
  padding:11px 14px;
  border-bottom:1px solid var(--mph-border);
  background:#fff;
}
.entry-content .wp-block-table tbody tr:nth-child(even) td{
  background:var(--mph-navy-tint-2);
}
.entry-content .wp-block-table tbody tr:last-child td{
  border-bottom:none;
}
/* Price column highlight — only on tables detected as price tables
   (header's last column reads "Price"/"Cost"/"Amount"), not every table */
.entry-content .wp-block-table table.menuph-price-table td:last-child{
  font-weight:700;
  color:var(--mph-gold-dark);
  white-space:nowrap;
  text-align:center;
}
.entry-content .wp-block-table table.menuph-price-table th:last-child{
  text-align:center;
}

/* Table of Contents */
.entry-content details.menuph-toc{
  border:1px solid var(--mph-border);
  border-radius:10px;
  background:#fff;
  margin:1.6em 0 2em;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(21,53,88,.05);
}
.entry-content .menuph-toc-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 18px;
  cursor:pointer;
  font-weight:700;
  color:var(--mph-navy-dark);
  font-size:1.02em;
  list-style:none;
}
.entry-content .menuph-toc-head::-webkit-details-marker{ display:none; }
.entry-content .menuph-toc-head::marker{ content:""; }
.entry-content .menuph-toc-icon{
  width:26px;height:26px;
  border-radius:50%;
  background:var(--mph-gold);
  color:#fff;
  flex-shrink:0;
  position:relative;
  display:inline-block;
  transition:transform .2s ease;
}
.entry-content .menuph-toc-icon::before,
.entry-content .menuph-toc-icon::after{
  content:"";
  position:absolute;
  background:#fff;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
}
.entry-content .menuph-toc-icon::before{ width:11px; height:2px; }
.entry-content .menuph-toc-icon::after{ width:2px; height:11px; }
.entry-content details.menuph-toc[open] .menuph-toc-icon{ transform:rotate(45deg); }
.entry-content .menuph-toc-body{
  border-top:1px solid var(--mph-border);
  padding:12px 18px 16px;
}
.entry-content .menuph-toc-body ol{ margin:0; padding-left:20px; }
.entry-content .menuph-toc-body li{ margin-bottom:7px; font-size:.95em; }
.entry-content .menuph-toc-body a{
  color:var(--mph-navy);
  text-decoration:none;
  font-weight:600;
}
.entry-content .menuph-toc-body a:hover{ text-decoration:underline; }
.entry-content .menuph-toc-body li{
  border-radius:6px;
  transition:background-color .2s ease;
}

/* Tables scroll horizontally on narrow screens instead of squeezing text */
.entry-content .wp-block-table{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.entry-content .wp-block-table table{
  min-width:480px;
}
.entry-content .wp-block-table tbody tr{
  transition:background-color .15s ease;
}
.entry-content details.menuph-faq-item:not([open]) .menuph-faq-q{
  transition:background-color .15s ease;
}

/* Hover highlights — real pointer devices only, so taps on mobile
   don't get stuck showing a "hover" state */
@media (hover:hover) and (pointer:fine){
  .entry-content .menuph-toc-body li:hover{
    background:var(--mph-navy-tint);
  }
  .entry-content .wp-block-table tbody tr:hover td{
    background:var(--mph-navy-tint);
  }
  .entry-content details.menuph-faq-item:not([open]) .menuph-faq-q:hover{
    background:#21507e;
  }
}

/* Small-screen spacing */
@media (max-width:480px){
  .entry-content .menuph-toc-head,
  .entry-content .menuph-faq-q{
    padding:12px 14px;
  }
  .entry-content .menuph-toc-body{
    padding:10px 14px 14px;
  }
}

/* FAQ accordion */
.entry-content .menuph-faq{ margin-top:.8em; }
.entry-content details.menuph-faq-item{
  border:1px solid var(--mph-border);
  border-radius:8px;
  margin-bottom:10px;
  overflow:hidden;
  background:#fff;
}
.entry-content .menuph-faq-q{
  background:var(--mph-navy);
  color:#fff;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  font-weight:700;
  font-size:1em;
  list-style:none;
  gap:14px;
}
.entry-content .menuph-faq-q::-webkit-details-marker{ display:none; }
.entry-content .menuph-faq-q::marker{ content:""; }
.entry-content details.menuph-faq-item[open] .menuph-faq-q{ background:var(--mph-navy-dark); }
.entry-content .menuph-faq-icon{
  color:var(--mph-gold);
  font-size:1.3em;
  font-weight:800;
  flex-shrink:0;
  position:relative;
  width:20px;height:20px;
  display:inline-block;
}
.entry-content .menuph-faq-icon::before,
.entry-content .menuph-faq-icon::after{
  content:"";
  position:absolute;
  background:var(--mph-gold);
  top:50%;left:50%;
  transform:translate(-50%,-50%);
}
.entry-content .menuph-faq-icon::before{ width:14px; height:2px; }
.entry-content .menuph-faq-icon::after{ width:2px; height:14px; }
.entry-content details.menuph-faq-item[open] .menuph-faq-icon::after{ transform:translate(-50%,-50%) rotate(90deg) scaleY(0); }
.entry-content .menuph-faq-a{
  background:var(--mph-navy-tint);
  padding:2px 18px;
}
.entry-content .menuph-faq-a p{ margin:0; padding:14px 0; font-size:.95em; }

/* Conclusion — kept as a plain section, no special box treatment */
.entry-content .menuph-conclusion{
  margin:1.6em 0;
}
