/*
Theme Name: Celvion Global
Theme URI: https://www.celvionglobal.com/
Author: White Ink Design Studio
Description: CELVION corporate website theme — ported 1:1 from the original static HTML site. Each page template loads its own stylesheet (assets/css/{slug}.css) and script (assets/js/pages/{slug}.js).
Version: 2.0.0
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: celvion
*/

/* ==========================================================================
   WordPress-only additions. Page design lives in assets/css/{slug}.css.
   ========================================================================== */

/* Reveal animation: original pages use .in — keep .is-visible as an alias */
.reveal.is-visible { opacity: 1; transform: none; }

/* Logged-in admin bar should not cover the fixed navigation */
.admin-bar .site-nav { top: 32px !important; }
.admin-bar .mobile-sidebar { top: 32px; height: calc(100% - 32px); }
@media screen and (max-width: 782px) {
  .admin-bar .site-nav { top: 46px !important; }
  .admin-bar .mobile-sidebar { top: 46px; height: calc(100% - 46px); }
}
@media screen and (max-width: 600px) {
  #wpadminbar { position: fixed !important; }
}

/* Google Translate: hide its toolbar / tooltip, keep the page from jumping down */
.goog-te-banner-frame,
.skiptranslate > iframe,
iframe.skiptranslate,
#goog-gt-tt,
.goog-te-balloon-frame,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf { display: none !important; visibility: hidden !important; }
body { top: 0 !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }
#google_translate_element { display: none !important; }

/* Honeypot field on the contact form */
.celvion-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.rfq-error {
  text-align: center; margin: 16px 0; color: #B42318; background: #FEF3F2;
  border: 1px solid #FECDCA; padding: 12px; border-radius: 8px; font-weight: 600; font-size: 14px;
}

/* Thank-you popup */
.celvion-ty-backdrop {
  display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 999999;
  background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  align-items: center; justify-content: center; padding: 20px;
}
.celvion-ty-backdrop.is-open { display: flex; }
.celvion-ty-card {
  background: #fff; max-width: 520px; width: 100%; max-height: calc(100vh - 40px); overflow-y: auto;
  border-radius: 16px; padding: 36px; position: relative; text-align: center;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25); animation: celvionPop .3s ease-out;
}
.celvion-ty-close {
  position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%;
  border: 0; background: none; font-size: 26px; line-height: 1; color: #5C6469; cursor: pointer;
}
.celvion-ty-close:hover { background: #F0F6F5; }
.celvion-ty-icon {
  width: 64px; height: 64px; margin: 0 auto 20px; border-radius: 50%;
  background: #E4EEEC; color: #005A46; font-size: 30px; display: flex; align-items: center; justify-content: center;
}
.celvion-ty-card h3 { color: #00402F; font-size: 26px; margin-bottom: 8px; }
.celvion-ty-card p { color: #5C6469; font-size: 15px; line-height: 1.6; margin-bottom: 20px; }
.celvion-ty-summary { background: #F8F8F5; border: 1px solid #ECE7DF; border-radius: 10px; padding: 16px; margin-bottom: 24px; }
.celvion-ty-summary h4 { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #005A46; margin-bottom: 8px; }
.celvion-ty-list { list-style: none; padding: 0; margin: 0; text-align: left; font-size: 14px; color: #5C6469; line-height: 1.8; }
@keyframes celvionPop { from { transform: scale(.94); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 480px) { .celvion-ty-card { padding: 28px 20px; } }

/* Blog posts / archives / generic pages (use blog.css as the base) */
.celvion-post-wrap { padding: 140px 0 80px; min-height: 60vh; }
.celvion-post-wrap .entry-content { font-size: 17px; line-height: 1.8; color: #2F3437; }
.celvion-post-wrap .entry-content p,
.celvion-post-wrap .entry-content ul,
.celvion-post-wrap .entry-content ol { margin-bottom: 1.2em; }
.celvion-post-wrap .entry-content ul,
.celvion-post-wrap .entry-content ol { padding-left: 1.4em; }
.celvion-post-wrap .entry-content h2,
.celvion-post-wrap .entry-content h3 { color: #005A46; margin: 1.6em 0 .6em; line-height: 1.3; }
.celvion-post-wrap .entry-content img { border-radius: 12px; height: auto; }
.celvion-post-wrap .entry-content a { color: #005A46; text-decoration: underline; }
.celvion-archive-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px; }
.celvion-archive-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 12px 36px rgba(0, 90, 70, .06); }
.celvion-archive-card img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.celvion-archive-card .inner { padding: 22px; }
.celvion-archive-card h2 { font-size: 20px; line-height: 1.35; margin-bottom: 10px; }
.celvion-archive-card h2 a { color: #005A46; text-decoration: none; }
.celvion-pagination { margin-top: 40px; display: flex; gap: 8px; flex-wrap: wrap; }
.celvion-pagination .page-numbers { padding: 8px 14px; border-radius: 8px; background: #fff; color: #005A46; text-decoration: none; }
.celvion-pagination .current { background: #005A46; color: #fff; }
@media (max-width: 768px) { .celvion-post-wrap { padding: 110px 0 60px; } }

/* buttons / links / headings on blog posts, generic pages and the 404 page */
.celvion-post-wrap a { color: #005A46; }
.celvion-post-wrap .section-title { font-size: clamp(28px, 4vw, 42px); line-height: 1.2; color: #005A46; font-weight: 400; }
.celvion-post-wrap .eyebrow { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #8C5F30; }
.celvion-post-wrap .eyebrow a { color: inherit; text-decoration: none; }
.celvion-post-wrap .btn {
  display: inline-flex; align-items: center; justify-content: center; padding: 12px 26px; border-radius: 30px;
  font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; text-decoration: none;
  border: 1px solid #005A46; transition: all .25s ease; margin-bottom: 8px;
}
.celvion-post-wrap .btn-solid { background: #005A46; color: #fff; }
.celvion-post-wrap .btn-solid:hover { background: #00402F; }
.celvion-post-wrap .btn-outline { background: transparent; color: #005A46; }
.celvion-post-wrap .btn-outline:hover { background: #E4EEEC; }

/* WordPress core alignment classes */
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption-text, .wp-element-caption { font-size: 13px; color: #5C6469; margin-top: 6px; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }
