/* ==========================================================
   Lavinia — overrides (loaded after the page stylesheet)
   ========================================================== */

/* Header: menu links — the theme intends zero side padding; Bootstrap's navbar-expand rule was adding 8px per side */
.site-nav .navbar-nav .nav-link{padding-left:0;padding-right:0}

/* Header: menu collapses below 1200px (navbar-expand-xl); keep the theme's mobile menu look for 992-1199px */
@media (min-width:992px) and (max-width:1199.98px){
  .site-nav .navbar-nav{gap:0}
  .site-nav .nav-link{padding:.8rem 0;border-bottom:1px solid var(--line)}
  .site-nav .nav-sub{position:static;min-width:0;border:0;border-bottom:1px solid var(--line);opacity:1;visibility:visible;transform:none;transition:none}
  .site-nav .nav-sub .dropdown-item{padding:.6rem 0 .6rem 1.2rem;color:var(--muted)}
  .site-nav .nav-sub .dropdown-item:hover,.site-nav .nav-sub .dropdown-item:focus{background:none;color:var(--ink)}
}

/* Header: desktop labels never wrap */
@media (min-width:1200px){.site-nav .nav-link,.site-nav .btn-nav{white-space:nowrap}}

/* Header: current page — hover underline on desktop, medium weight in the collapsed menu */
@media (min-width:1200px){.site-nav .nav-link[aria-current="page"]{border-bottom-color:var(--ink)}}
@media (max-width:1199.98px){.site-nav .nav-link[aria-current="page"]{font-weight:500}}

/* Header: language switcher in the top bar */
.topbar .lang-switch{display:flex;align-items:center;gap:.55rem;font-weight:500;letter-spacing:.08em}
.topbar .lang-switch a{opacity:.55}
.topbar .lang-switch a:hover{opacity:1}
.topbar .lang-switch a.active{opacity:1;border-bottom:1px solid #fff}
.topbar .lang-switch span{opacity:.35}

/* ---------- pckg5 ---------- */

/* Blog post page: show the whole image (theme forces 16:9) */
.blog-thumb-whole img{aspect-ratio:auto;height:auto;object-fit:contain}

/* Certificate cards: PDF placeholder is not cropped like a photo */
.equip-card.cert img.is-placeholder{object-fit:contain;background:var(--porcelain);padding:18%}

/* Careers: CV line */
.cv-line{margin-top:1.6rem;font-weight:500}
.cv-line a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* Load more */
.load-more-wrap{margin-top:2.2rem}
.load-more-wrap .btn.is-loading{opacity:.55;pointer-events:none}

/* Request forms */
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-card .alert{border-radius:0}
.book-form .form-control.is-invalid{border-color:#dc3545}

/* Rich text inside page content */
.detail-content figure.image{margin:1.6rem 0}
.detail-content figure.image img{max-width:100%;height:auto}
.detail-content figure.table{overflow-x:auto;margin:1.6rem 0}
.detail-content figure.table table{width:100%;border-collapse:collapse}
.detail-content figure.table td,.detail-content figure.table th{border:1px solid var(--line);padding:.55rem .8rem}
.detail-content blockquote{border-left:3px solid var(--ink);padding-left:1.1rem;margin:1.4rem 0;color:var(--muted)}
.blog-details-content h2.title-two,.blog-details-content h3{margin-top:1.6rem}

/* ---------- pckg6: card hover without grey fill (white-background JPGs) ---------- */
.cat,
.prod-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.cat:hover,
.prod-card:hover{background:#fff;transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.10)}
@media (prefers-reduced-motion:reduce){
  .cat:hover,.prod-card:hover{transform:none}
}

/* ---------- pckg6: card hover without grey background ---------- */
/* Category and product images are JPGs on white; a tinted hover background shows their white square.
   Hover = white card, slight lift, soft shadow (same feel as the certificate cards). */
.cat,
.prod-card{background:#fff;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.cat:hover,
.prod-card:hover{background:#fff;border-color:var(--line);transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.1)}
@media (prefers-reduced-motion:reduce){
  .cat,.prod-card{transition:none}
  .cat:hover,.prod-card:hover{transform:none}
}

/* Product page: main photo frame white instead of grey (JPG white square), thin border keeps the frame */
.prod-hero{background:#fff;border:1px solid var(--line)}

/* ---------- pckg7: product page image box without grey background ---------- */
/* Same idea as the card hover: white box, thin border, soft shadow (static, it is not clickable). */
.prod-hero{background:#fff;border:1px solid var(--line);box-shadow:0 12px 28px rgba(0,0,0,.08)}

/* ---------- pckg11: product short text is rich text now ---------- */
.prod-info .lead-text p{color:inherit;margin:0 0 1rem}
.prod-info .lead-text > :last-child{margin-bottom:0}
.prod-info .lead-text ul,.prod-info .lead-text ol{margin:0 0 1rem;padding-left:1.2rem}
.prod-info .lead-text li{margin-bottom:.35rem}
.prod-info .lead-text h2,.prod-info .lead-text h3{font-size:1.15rem;margin:1.4rem 0 .6rem;color:var(--ink)}
