/*
Theme Name: VG Shipping
Theme URI: https://vgshipping.com/
Author: 51sanhao
Author URI: https://www.51sanhao.com/
Description: VG Shipping — China freight forwarding, sourcing and supply chain coordination. WordPress theme converted from the static wgm templates and organised after the jnicon_theme conventions.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vg-shipping
Tags: business, corporate, custom-menu, featured-images, translation-ready
*/

/*
 * The visual layer lives in the per-page stylesheets copied from the static
 * templates (site.css / inner-site.css + one section stylesheet). This file
 * only carries the WordPress theme header plus a few global resets so the
 * block editor and WordPress-generated markup stay consistent.
 */

html {
	-webkit-text-size-adjust: 100%;
}

body.admin-bar [data-vg-header] {
	top: 32px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.alignleft {
	float: left;
	margin-right: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption,
.wp-caption-text,
.gallery-caption {
	max-width: 100%;
}

.sticky,
.bypostauthor {
	display: block;
}

/* Footer headings stay compact across all page templates. */
body .vg-footer .vg-footer-col h3,
body .vg-footer .vg-footer-newsletter h3 {
	font-size: 16px;
	line-height: 1.3;
	letter-spacing: .01em;
	white-space: nowrap;
}
@media (max-width: 760px) {
	body .vg-footer .vg-footer-col h3,
	body .vg-footer .vg-footer-newsletter h3 {
		font-size: 14px;
	}
}

/* About and Contact hero descriptions use regular text weight. */
body .ed-hero--about .ed-hero-content > p:not(.ed-kicker),
body .ed-hero--contact .ed-hero-content > p:not(.ed-kicker) {
	font-weight: 400;
}

/* FAQ center: ten entries per page, using the site's existing blue pager. */
.resource-faq-count{margin:36px 0 0;text-align:center;font-size:14px;line-height:1.5;color:#536c84}
.resource-faq-pagination{margin-top:24px;gap:8px;flex-wrap:wrap}
.resource-faq-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;box-sizing:border-box;border:1px solid transparent;border-radius:50%;font-size:16px;font-weight:700;color:#104580;text-decoration:none}
.resource-faq-pagination .current{background:#104580;color:#fff}
.resource-faq-pagination .prev,.resource-faq-pagination .next{padding:0 16px;border-radius:4px}
.resource-faq-pagination .dots{min-width:24px;padding:0;color:#536c84}
.resource-faq-pagination a:focus-visible{outline:2px solid #104580;outline-offset:3px}

/* Site QA 2026-10-23: preserve the existing blue/red identity and page hierarchy. */
body.wp-theme-vg-shipping {
  --vg-slate: #53687d;
  --ed-text: #53687d;
  --qa-body: 16px;
  --qa-section-space: clamp(64px, 6vw, 96px);
}
body .home-section, body .route-section, body .service-section,
body .resource-section, body .ed-section {
  padding-block: var(--qa-section-space);
}
body .home-section h2, body .route-heading h2,
body .service-heading h2, body .resource-heading h2 {
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1.16;
  letter-spacing: -.02em;
}
body .home-section p:not(.vg-eyebrow), body .service-row p,
body .freight-row p, body .ocean-cost-row p, body .route-section p:not(.route-eyebrow),
body .resource-section p:not(.resource-eyebrow), body .ed-company-copy p,
body .ed-cap-grid p, body .ed-stage-grid p, body .ed-trust-grid p,
body .ed-faq-list p, body .ed-article-faq p {
  font-size: var(--qa-body);
  line-height: 1.65;
}
body .ed-blog-intro { max-width: 880px; margin: 0 0 32px; color: #53687d; }
body .ed-blog-intro p { font-size: 16px; line-height: 1.7; }
/* Grid items must be allowed to shrink before a table can scroll locally. */
body .ed-blog-layout > *, body .ed-blog-article, body .blog-content,
body .ed-blog-article section, body .ed-related-service > *,
body .vg-cpt-grid > * { min-width: 0; }
body .vg-fob-table-scroll { width: 100%; max-width: 100%; overflow: auto; }
body .ed-blog-article, body .blog-content { overflow-wrap: anywhere; }
body .ed-blog-article figure { max-width: 100%; margin-inline: 0; }
body .ed-blog-article img, body .blog-content img { max-width: 100%; }
body .ed-blog-article section h2 { font-size: clamp(26px, 2.2vw, 32px); line-height: 1.25; }
body .vg-cpt-filter.is-active, body .vg-cpt-filter:hover { background: #164b80; border-color: #164b80; color: #fff; }
body .ocean-brand-grid img { object-fit: contain; }
body main :is(h1,h2,h3) { overflow-wrap: break-word; }
body .vg-footer-contacts a, body .vg-footer-contacts span { overflow-wrap: anywhere; }
body :is(input,select,textarea):focus-visible {
  outline: 2px solid #164b80 !important; outline-offset: 3px;
}
body a:focus-visible, body button:focus-visible, body summary:focus-visible {
  outline: 2px solid #164b80; outline-offset: 4px;
}
body .screen-reader-text:focus {
  clip: auto; clip-path: none; width: auto; height: auto; margin: 0;
  top: 8px; left: 8px; padding: 14px 20px; z-index: 100000;
  background: #fff; color: #102c49;
}
@media (max-width: 1100px) {
  body .vg-nav-expand, body .vg-menu-toggle { min-width: 44px; min-height: 44px; }
}
@media (max-width: 900px) {
  body .ed-blog-layout { grid-template-columns: minmax(0, 1fr); }
  body .blog-detail-page .ed-blog-sidebar { min-width: 0; }
}
@media (max-width: 760px) {
  body.wp-theme-vg-shipping { --qa-section-space: 52px; }
  body :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size: 16px; }
  body .home-hero-content > p:not(.home-hero-kicker) { font-size: 16px; line-height: 1.65; }
  body .ed-article-hero { height: auto; aspect-ratio: 16 / 10; }
  body .ed-blog-article section { margin-block: 32px; }
  body .ed-blog-article section h3 { font-size: 22px; }
  body .ed-article-meta, body .ed-article-end { flex-wrap: wrap; }
  body .route-tabs button, body .ed-tabs a, body .ed-tabs button { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body *, body *::before, body *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
}


/* Shared header search: consistent styling and a geometrically centered icon. */
[data-vg-header] .vg-header .vg-header-actions .vg-search-open {
  position: relative;
  background: #edf4fa;
  border: 1px solid #d7e4f0;
  border-radius: 50%;
  color: #174f86;
  font-size: 0;
  line-height: 1;
  padding: 0;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
[data-vg-header] .vg-header .vg-header-actions .vg-search-open::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 22px;
  height: 22px;
  transform: translate(-50%, -50%);
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210.5%22%20cy%3D%2210.5%22%20r%3D%226.5%22%2F%3E%3Cpath%20d%3D%22m15.5%2015.5%204.5%204.5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210.5%22%20cy%3D%2210.5%22%20r%3D%226.5%22%2F%3E%3Cpath%20d%3D%22m15.5%2015.5%204.5%204.5%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
  pointer-events: none;
}
[data-vg-header] .vg-header .vg-header-actions .vg-search-open:hover {
  background: #dceaf6;
  border-color: #bdd2e5;
  color: #0c2543;
}
[data-vg-header] .vg-header .vg-header-actions .vg-search-open:focus-visible {
  outline: 2px solid #174f86;
  outline-offset: 3px;
}


/* Footer contacts: retain saved values while keeping the QR beside company details. */
[data-vg-footer] .vg-footer-contacts > [hidden] {
  display: none;
}
[data-vg-footer] .vg-footer-brand > .vg-footer-qr {
  padding-inline-start: 45px; /* Match the 25px contact icon plus its 20px gap. */
  margin-top: 28px;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 18px;
}
[data-vg-footer] .vg-footer-brand > .vg-footer-qr figure {
  flex: 0 0 120px;
  margin: 0;
}
[data-vg-footer] .vg-footer-brand > .vg-footer-qr img {
  width: 120px;
  max-width: 100%;
  height: auto;
}
[data-vg-footer] .vg-footer-content > .vg-footer-lower {
  grid-template-columns: minmax(0, 1fr);
}


/* Contact information card: temporarily hide direct phone and WhatsApp details. */
body[data-page="contact"] .ed-contact-info > a[href^="https://wa.me/"],
body[data-page="contact"] .ed-contact-info > a[href^="tel:"] {
  display: none;
}
