/*
 * nomavic-extras.css — hand-written additions on top of nomavic.css (the
 * generated old-site stylesheet; never edit that one).
 *
 * Only for things the old WordPress site did not have: photo cards, the
 * article hero and meta line, the Booking CTA, the author box, related posts,
 * sidebar widgets, pagination of the card archives, forms of the rebuild.
 * Uses the old site's tokens: --ast-global-color-0 (#006241 green),
 * Helvetica body at 20px, Open Sans 600 headings.
 */

:root{
  --nmv-green:var(--ast-global-color-0,#006241);
  --nmv-green-dark:#1d5f43;
  --nmv-mint:#d5f6e7;
  --nmv-tint:#f2f5f7;
  --nmv-rule:#e2e6e4;
  --nmv-grey:#5f6368;
}

/* ---------- Photo cards ---------- */
.nmv-grid{
  display:grid;gap:28px 24px;margin:1.2em 0 1.6em;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
}
.home .nmv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:921px){.home .nmv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:544px){.nmv-grid,.home .nmv-grid{grid-template-columns:1fr;gap:24px}}

.nmv-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--nmv-rule);border-radius:4px;overflow:hidden;min-width:0}
.nmv-card__media{display:block;aspect-ratio:16/10;background:var(--nmv-mint);overflow:hidden}
.nmv-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.nmv-card:hover .nmv-card__media img{transform:scale(1.03)}
/* Gear cards: product shots are cut-outs on white, so show the whole product. */
.nmv-card--product .nmv-card__media{background:#fff;border-bottom:1px solid var(--nmv-rule)}
.nmv-card--product .nmv-card__media img{object-fit:contain;padding:12px;box-sizing:border-box}
.nmv-card--product:hover .nmv-card__media img{transform:scale(1.02)}
.nmv-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.nmv-card__placeholder img{width:50px !important;height:46px !important;object-fit:contain;opacity:.7}
.nmv-card__body{display:flex;flex-direction:column;gap:.35em;padding:14px 16px 16px;flex:1}
.entry-content .nmv-card__cat,.nmv-card__cat{
  font-size:12px;line-height:1.3;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--nmv-green);text-decoration:none;
}
.nmv-card__cat:hover{text-decoration:underline}
.nmv-card .nmv-card__title,.entry-content .nmv-card .nmv-card__title{
  margin:0;padding:0;font-family:Helvetica,Verdana,Arial,sans-serif;font-size:18px;line-height:1.35;font-weight:600;
  text-transform:none;letter-spacing:0;
}
.nmv-card__title a,.entry-content .nmv-card__title a{color:#000;text-decoration:none}
.nmv-card__title a:hover,.entry-content .nmv-card__title a:hover{color:var(--nmv-green);text-decoration:underline}
.nmv-card__excerpt{margin:0;font-size:15px;line-height:1.5;color:#3a3a3a}
.nmv-card__date{margin-top:auto;padding-top:.3em;font-size:13px;color:var(--nmv-grey)}

/* ---------- Buttons ---------- */
.nmv-btn{
  display:inline-block;font-size:16px;font-weight:600;line-height:1;padding:14px 26px;border-radius:2px;cursor:pointer;
  background:var(--nmv-green);color:#fff;border:1px solid var(--nmv-green);text-decoration:none;
}
.nmv-btn:hover,.nmv-btn:focus{background:var(--nmv-green-dark);border-color:var(--nmv-green-dark);color:#fff}
.nmv-btn--outline{background:#fff;color:var(--nmv-green)}
.nmv-btn--outline:hover,.nmv-btn--outline:focus{background:var(--nmv-green);color:#fff}
.nmv-btn[disabled]{opacity:.6;cursor:default}
.nmv-loadmore{display:flex;justify-content:center;margin:.5em 0 2em}

/* ---------- Article: meta line, standfirst, hero ---------- */
.single .entry-meta .nmv-meta-sep{margin:0 .35em;color:#9aa0a6}
.single .entry-header .entry-meta{font-size:16px;color:var(--nmv-grey)}
.nmv-dek{margin:.2em 0 0;font-size:21px;line-height:1.5;color:#3a3a3a}
.nmv-hero{margin:1.2em 0 1.6em}
.nmv-hero img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px}
.nmv-hero figcaption{margin-top:.45em;font-size:13px;line-height:1.4;color:var(--nmv-grey);text-align:right}
.nmv-hero figcaption a{color:var(--nmv-grey)}

/* Figures inside article bodies (generated articles: Pexels photos + credit). */
.single .entry-content figure{margin-top:1.6em;margin-bottom:1.6em}
.single .entry-content figure img{border-radius:4px}
.single .entry-content figcaption,.single .entry-content .wp-element-caption{
  margin-top:.5em;font-size:14px;line-height:1.45;color:var(--nmv-grey);text-align:center;
}
.single .entry-content figcaption a{color:var(--nmv-grey)}

/* ---------- Table of contents (LuckyWP markup, old colours) ---------- */
.lwptoc[data-nmv-toc] summary{list-style:none;cursor:pointer}
.lwptoc[data-nmv-toc] summary::-webkit-details-marker{display:none}
.lwptoc[data-nmv-toc] .lwptoc_toggle{font-weight:400;color:var(--nmv-green-dark)}
.lwptoc[data-nmv-toc] details:not([open]) .lwptoc_toggle_label::before{content:'mostra'}
.lwptoc[data-nmv-toc] details[open] .lwptoc_toggle_label::before{content:'nascondi'}
.lwptoc[data-nmv-toc] details:not([open]) .lwptoc_header{margin-bottom:0}

/* ---------- Booking CTA (travel articles) ---------- */
.nmv-cta{
  display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap;margin:1.8em 0;padding:18px 20px;
  background:var(--nmv-mint);border:2px solid var(--nmv-green-dark);border-radius:7px;
}
.nmv-cta__icon{flex:none;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--nmv-green);color:#fff}
.nmv-cta__text{flex:1 1 260px;min-width:0}
.entry-content .nmv-cta p{margin:0}
.entry-content .nmv-cta .nmv-cta__title{font-size:19px;font-weight:600;color:var(--nmv-green-dark);line-height:1.35}
.entry-content .nmv-cta .nmv-cta__sub{font-size:15px;color:#3a3a3a;margin-top:.2em}
.entry-content a.nmv-cta__btn,.nmv-cta__btn{
  flex:0 1 auto;display:inline-block;padding:13px 20px;border-radius:3px;background:var(--nmv-green);color:#fff;
  font-size:16px;font-weight:600;line-height:1.25;text-align:center;text-decoration:none;
}
.entry-content a.nmv-cta__btn:hover,.nmv-cta__btn:hover{background:var(--nmv-green-dark);color:#fff}
@media (max-width:544px){.nmv-cta__icon{display:none}.nmv-cta__btn{flex:1 1 100%}}

/* ---------- Amazon links in generated gear articles ----------
   They sit mid-sentence, so an inline pill in the orange of the old AAWP
   "Acquista su Amazon" button, with its Amazon icon. */
.entry-content a.nmv-amz-btn{
  display:inline-block;margin:.1em 0;padding:1px 10px 1px 29px;border-radius:3px;
  background:#fa0 url(/legacy/aawp/img/icon-amazon-black.svg) no-repeat 9px 55%;background-size:14px 14px;
  border:1px solid #f90;color:#111;font-size:.9em;font-weight:600;line-height:1.5;text-decoration:none;
}
.entry-content a.nmv-amz-btn:hover,.entry-content a.nmv-amz-btn:focus{background-color:#f90;color:#111;text-decoration:none}

/* ---------- Product cards in generated gear round-ups ----------
   App\Support\ArticleView::productCards() wraps each "### N) …" section in
   <section class="nmv-product"> and its closing Amazon link in
   <p class="nmv-product__cta">, which turns that link into a full button. */
.entry-content .nmv-product{
  margin:2em 0;padding:22px 24px 20px;border:1px solid #d9dedb;border-top:4px solid var(--nmv-green);
  border-radius:4px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.05);
}
.entry-content .nmv-product > h3:first-child{margin-top:0}
.entry-content .nmv-product ul{margin-bottom:1em}
.entry-content .nmv-product > :last-child{margin-bottom:0}
.entry-content p.nmv-product__cta{margin:1.2em 0 0}
.entry-content .nmv-product__cta a.nmv-amz-btn{
  display:block;padding:12px 18px 12px 46px;border-radius:3px;background-position:18px 50%;background-size:18px 18px;
  font-size:16px;line-height:1.35;text-align:left;
}
@media (max-width:544px){.entry-content .nmv-product{padding:18px 16px 16px}}

/* ---------- Headings in generated articles ----------
   The old theme sets h2 and h3 almost alike; in long generated guides that
   flattens the outline. Imported posts keep the old sizes. */
.nmv-generated .entry-content h3{font-size:24px;line-height:1.35;color:#1d3d2f;font-weight:600}
.nmv-generated .entry-content h2{margin-top:1.6em}
@media (max-width:544px){.nmv-generated .entry-content h3{font-size:21px}}

/* ---------- Affiliate note, author box, related ---------- */
.nmv-note{margin:0 0 1.4em;padding:10px 14px;border-left:3px solid var(--nmv-green);background:var(--nmv-tint);font-size:14px;line-height:1.5;color:#3a3a3a}
.nmv-note p{margin:0}

.nmv-author{display:flex;gap:18px;align-items:center;margin:2.2em 0 0;padding:18px 20px;border:2px solid var(--nmv-green);border-radius:4px}
.nmv-author__img{flex:none;width:80px;height:80px;border-radius:50%;object-fit:cover;background:var(--nmv-mint)}
.nmv-author p{margin:0}
.nmv-author__name{font-size:18px;font-weight:600}
.nmv-author__name a{color:var(--nmv-green)}
.nmv-author .nmv-author__bio{margin-top:.25em;font-size:15px;line-height:1.5;color:#3a3a3a}
@media (max-width:544px){.nmv-author{flex-direction:column;text-align:center}}

.nmv-related{margin-top:2.5em}
.nmv-related__title{font-size:26px;color:var(--nmv-green);margin:0 0 .2em}
.nmv-related .nmv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:768px){.nmv-related .nmv-grid{grid-template-columns:1fr}}
.nmv-related .nmv-card__title{font-size:16px}

/* ---------- Sidebar widgets ---------- */
#secondary .widget-title{font-size:20px;color:var(--nmv-green);margin-bottom:.6em}
#secondary .widget ul.nmv-cat-list{margin:0;padding:0;list-style:none;font-size:17px;line-height:1.5}
#secondary .widget ul.nmv-cat-list li{margin:0;padding:.35em 0;border-bottom:1px solid var(--nmv-rule)}
#secondary .widget ul.nmv-cat-list li:last-child{border-bottom:0}
#secondary .widget ul.nmv-cat-list a{color:#000;text-decoration:none}
#secondary .widget ul.nmv-cat-list a:hover{color:var(--nmv-green)}
#secondary .nmv-cat-count{color:var(--nmv-grey);font-size:14px}
#secondary .nmv-note{margin:0}
#secondary .nmv-team-widget{text-align:center}
#secondary .nmv-team-widget img{display:block;margin:0 auto .6em;width:120px;height:auto}
#secondary .nmv-team-widget p{margin:0 0 .5em}
#secondary .nmv-team-widget p.nmv-team-widget__name{font-size:20px;line-height:1.3;font-weight:600}
#secondary .nmv-team-widget__name a{color:var(--nmv-green);text-decoration:none}
#secondary .nmv-team-widget p.nmv-team-widget__bio{font-size:16px;line-height:1.5;color:#3a3a3a;margin-bottom:.8em}
@media (min-width:922px){.nmv-sticky{position:sticky;top:20px}}

/* Search forms (sidebar, search page, 404) reuse the block-search markup. */
.nmv-search-wrap{margin:1em 0 1.5em}

/* ---------- Pagination of the card archives ---------- */
.nmv-pagination .page-numbers{text-decoration:none}

/* ---------- Pages: contact form ---------- */
.tg-form{margin:1.5em 0 0;max-width:640px}
.tg-form .tg-field{margin:0 0 1em}
.tg-form label{display:block;font-weight:600;margin-bottom:.3em}
.tg-form input[type=text],.tg-form input[type=email],.tg-form textarea{width:100%}
.tg-form-note{font-size:14px;color:var(--nmv-grey);margin-top:1em}
.tg-ok{padding:12px 16px;background:var(--nmv-mint);border:2px solid var(--nmv-green-dark);border-radius:4px}
.tg-btn{
  display:inline-block;padding:14px 26px;border-radius:2px;background:var(--nmv-green);color:#fff;border:0;
  font-size:16px;font-weight:600;line-height:1;cursor:pointer;text-decoration:none;
}
.tg-btn:hover{background:var(--nmv-green-dark);color:#fff}

/* 404 */
.entry-content .nmv-404-code{font-size:96px;line-height:1;font-weight:600;color:var(--nmv-green);margin:0 0 .15em}

/* ---------- Category description (archive header) ---------- */
.ast-archive-description .nmv-term-desc{margin-top:.6em;color:#3a3a3a;max-width:760px}
.ast-archive-description .nmv-term-desc p{margin-bottom:.8em;font-size:17px;line-height:1.6;font-weight:400}
.nmv-js .nmv-term-desc--long:not(.is-open){
  max-height:8em;overflow:hidden;
  -webkit-mask-image:linear-gradient(#000 60%,transparent);mask-image:linear-gradient(#000 60%,transparent);
}
.ast-archive-description .nmv-term-desc__more{
  margin-top:.4em;padding:0;border:0;background:none;color:var(--nmv-green);font-family:inherit;font-size:16px;font-weight:600;
  text-decoration:underline;cursor:pointer;
}
.ast-archive-description .nmv-term-desc__more:hover,.ast-archive-description .nmv-term-desc__more:focus{background:none;color:var(--nmv-green-dark)}
