/* Scoped to the product-first homepage module, not account/checkout/catalog cards. */
.elementor-element.elementor-element-nghp001 > .e-con-inner { max-width:1380px; }
#ng-home-picks.nghp { color:#174e3c; width:100%; font-size:16px; line-height:1.5; }
#ng-home-picks.nghp *, #ng-home-picks.nghp *::before, #ng-home-picks.nghp *::after { box-sizing:border-box; }
.nghp-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; border-left:4px solid #c2a032; padding:2px 0 2px 14px; }
#ng-home-picks.nghp .nghp-eyebrow { font-size:12px; color:#947322; margin:0 0 4px; letter-spacing:.6px; font-weight:600; }
#ng-home-picks.nghp #nghp-title { margin:0; font-size:clamp(24px,2.3vw,32px); line-height:1.35; color:#174e3c; font-weight:700; }
#ng-home-picks.nghp .nghp-help { font-size:14px; color:#174e3c; white-space:nowrap; text-decoration:none; }
#ng-home-picks.nghp .nghp-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 10px; }
#ng-home-picks.nghp .nghp-tabs button { border:1px solid #d7e4dc; background:#f8faf8; color:#174e3c; border-radius:999px; padding:8px 15px; min-height:40px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; box-shadow:none; line-height:1.4; }
#ng-home-picks.nghp .nghp-tabs button[aria-pressed=true] { background:#174e3c; border-color:#174e3c; color:#fff; }
#ng-home-picks.nghp .nghp-tabs button:hover { border-color:#b49824; }
#ng-home-picks.nghp button:focus-visible,#ng-home-picks.nghp a:focus-visible,#ng-home-picks.nghp summary:focus-visible { outline:3px solid #d8b83f; outline-offset:3px; }
#ng-home-picks.nghp .nghp-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
#ng-home-picks.nghp .nghp-description { margin:0; color:#6c7b72; font-size:14px; }
#ng-home-picks.nghp .nghp-shuffle { background:none; border:none; padding:8px 0 8px 12px; color:#174e3c; font:inherit; font-size:14px; white-space:nowrap; cursor:pointer; box-shadow:none; min-height:40px; }
#ng-home-picks.nghp .nghp-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; transition:opacity .15s; }
#ng-home-picks.nghp .nghp-grid[aria-busy=true] { opacity:.55; pointer-events:none; }
#ng-home-picks.nghp .nghp-card { margin:0; min-width:0; border:1px solid #e0e7e1; border-radius:11px; overflow:hidden; background:#fff; display:flex; flex-direction:column; box-shadow:0 3px 12px #173e3108; transition:border-color .2s,box-shadow .2s,transform .2s; }
#ng-home-picks.nghp .nghp-card:hover { border-color:#bea33f; box-shadow:0 7px 20px #173e3114; transform:translateY(-2px); }
#ng-home-picks.nghp .nghp-picture { position:relative; aspect-ratio:1/1; display:block; overflow:hidden; background:#f2f5f1; }
#ng-home-picks.nghp .nghp-picture img { width:100%; height:100%; display:block; object-fit:contain; margin:0; transition:transform .25s; }
#ng-home-picks.nghp .nghp-picture:hover img { transform:scale(1.025); }
#ng-home-picks.nghp .nghp-badge { position:absolute; bottom:8px; left:8px; max-width:calc(100% - 16px); background:#fffaf0f2; color:#655019; font-size:10px; padding:4px 7px; border-radius:5px; font-weight:600; line-height:1.4; }
#ng-home-picks.nghp .nghp-sale-badge { position:absolute; top:8px; right:8px; padding:4px 7px; border-radius:5px; background:#b99721; color:#fff; font-size:12px; font-weight:700; line-height:1.4; }
#ng-home-picks.nghp .nghp-card-body { padding:11px; display:flex; flex-direction:column; flex:1; }
#ng-home-picks.nghp .nghp-card h2 { margin:0 0 7px; font-size:14px; font-weight:600; line-height:1.5; min-height:calc(1.5em * 3); }
#ng-home-picks.nghp .nghp-card h2 a { color:#233f33; text-decoration:none; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
#ng-home-picks.nghp .nghp-hicor { color:#866815; font-size:11px; margin:0 0 6px; }
#ng-home-picks.nghp .nghp-price { margin-top:auto; color:#174e3c; font-size:23px; font-weight:750; line-height:1.35; font-variant-numeric:tabular-nums; }
#ng-home-picks.nghp .nghp-price .amount,#ng-home-picks.nghp .nghp-price bdi { font:inherit; }
#ng-home-picks.nghp .nghp-price-note { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; min-height:18px; margin:2px 0 8px; color:#7c867e; font-size:10px; line-height:1.5; }
#ng-home-picks.nghp .nghp-price-note del { color:#90978f; }
#ng-home-picks.nghp .nghp-price-note .amount,#ng-home-picks.nghp .nghp-price-note bdi { font:inherit; }
#ng-home-picks.nghp .nghp-view { display:flex; align-items:center; justify-content:space-between; gap:4px; padding:7px 10px; margin-top:0; border:1px solid #dce7dd; border-radius:6px; background:#f0f6f1; color:#174e3c; font-size:12px; font-weight:600; text-decoration:none; min-height:34px; }
#ng-home-picks.nghp .nghp-view:hover { background:#174e3c; color:#fff; border-color:#174e3c; }
#ng-home-picks.nghp .nghp-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:12px 0; min-height:30px; }
#ng-home-picks.nghp .nghp-status { margin:0; font-size:13px; color:#748177; }
#ng-home-picks.nghp .nghp-all { color:#174e3c; font-size:14px; text-decoration:none; white-space:nowrap; }
#ng-home-picks.nghp .nghp-empty { grid-column:1/-1; padding:28px 16px; border:1px dashed #d7e2db; border-radius:12px; color:#617268; }
#ng-home-picks.nghp .nghp-guidance-row { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; border-top:1px solid #e8ede8; padding:10px 0 0; }
#ng-home-picks.nghp .nghp-guidance { flex:1; min-width:0; color:#718077; font-size:12px; }
#ng-home-picks.nghp .nghp-guidance summary { cursor:pointer; width:fit-content; font-size:12px; line-height:1.5; }
#ng-home-picks.nghp .nghp-guidance p { margin:7px 0 0; max-width:760px; font-size:12px; line-height:1.65; color:#718077; }
#ng-home-picks.nghp .nghp-guidance:not([open]) > p { display:none; }
#ng-home-picks.nghp .nghp-booking { color:#174e3c; font-size:12px; line-height:1.5; text-decoration:none; white-space:nowrap; }
@media(min-width:768px) and (max-width:1099px) { #ng-home-picks.nghp .nghp-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:767px) {
  .nghp-heading { align-items:flex-start; gap:8px; margin-bottom:14px; padding-left:10px; border-left-width:3px; }
  #ng-home-picks.nghp .nghp-eyebrow { font-size:11px; }
  #ng-home-picks.nghp #nghp-title { font-size:23px; }
  #ng-home-picks.nghp .nghp-help { font-size:12px; margin-top:24px; }
  #ng-home-picks.nghp .nghp-tabs { flex-wrap:nowrap; overflow-x:auto; padding-bottom:5px; scrollbar-width:thin; gap:7px; }
  #ng-home-picks.nghp .nghp-tabs button { flex:0 0 auto; font-size:13px; padding:8px 12px; }
  #ng-home-picks.nghp .nghp-toolbar { align-items:flex-start; margin-bottom:12px; }
  #ng-home-picks.nghp .nghp-description { font-size:12px; }
  #ng-home-picks.nghp .nghp-shuffle { font-size:12px; padding-top:0; min-height:36px; }
  #ng-home-picks.nghp .nghp-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #ng-home-picks.nghp .nghp-card { border-radius:10px; }
  #ng-home-picks.nghp .nghp-card-body { padding:10px; }
  #ng-home-picks.nghp .nghp-card h2 { font-size:13px; margin-bottom:7px; }
  #ng-home-picks.nghp .nghp-badge { font-size:10px; bottom:7px; left:7px; padding:3px 6px; }
  #ng-home-picks.nghp .nghp-price { font-size:19px; }
  #ng-home-picks.nghp .nghp-view { font-size:13px; padding:9px; min-height:42px; }
  #ng-home-picks.nghp .nghp-price-note { font-size:11px; }
  #ng-home-picks.nghp .nghp-footer { align-items:flex-start; }
  #ng-home-picks.nghp .nghp-all { font-size:12px; }
  #ng-home-picks.nghp .nghp-status { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { #ng-home-picks.nghp .nghp-grid,#ng-home-picks.nghp .nghp-picture img,#ng-home-picks.nghp .nghp-card { transition:none; } #ng-home-picks.nghp .nghp-card:hover { transform:none; } }
/* Existing storefront typography uses !important on paragraphs and price amounts.
   Override only this module, keeping account, checkout and other product grids intact. */
#ng-home-picks.nghp p.nghp-eyebrow { font-size:12px !important; }
#ng-home-picks.nghp p.nghp-description { font-size:14px !important; }
#ng-home-picks.nghp p.nghp-status { font-size:13px !important; }
#ng-home-picks.nghp .nghp-guidance p { font-size:12px !important; }
#ng-home-picks.nghp .nghp-price .amount,
#ng-home-picks.nghp .nghp-price bdi,
#ng-home-picks.nghp .nghp-price .woocommerce-Price-currencySymbol,
#ng-home-picks.nghp .nghp-price-note del,
#ng-home-picks.nghp .nghp-price-note .amount,
#ng-home-picks.nghp .nghp-price-note bdi,
#ng-home-picks.nghp .nghp-price-note .woocommerce-Price-currencySymbol { font-size:inherit !important; font-weight:inherit !important; line-height:inherit !important; }
@media(max-width:767px) {
  #ng-home-picks.nghp p.nghp-eyebrow { font-size:11px !important; }
  #ng-home-picks.nghp p.nghp-description { font-size:12px !important; }
  #ng-home-picks.nghp p.nghp-status { font-size:11px !important; }
  /* The homepage mobile bottom bar already provides LINE/Facebook/booking links. */
  body.home .floating-menu-container.ng-contact-menu { display:none !important; }
}
