/* HCG theme 1.1 upgrades: accessibility, motion, hero, buttons, cards, breadcrumbs, call to action, print. Loaded after style.css. */
:root { --hcg-ring: #1b6b3a; --hcg-shadow: 0 1px 2px rgba(31,51,42,.06), 0 8px 24px rgba(31,51,42,.08); }
::selection { background: rgba(217,163,63,.35); }

/* Accessibility */
.hcg-skip { position: absolute; left: .75rem; top: -4rem; z-index: 100; background: var(--hcg-primary); color: #fff; padding: .7rem 1rem; border-radius: 8px; font-weight: 600; text-decoration: none; transition: top .15s; }
.hcg-skip:focus { top: .75rem; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--hcg-ring); outline-offset: 3px; border-radius: 4px; }
.is-dark :where(a, button):focus-visible, .hcg-footer :where(a, button):focus-visible, .hcg-hero :where(a, button):focus-visible, .hcg-ctaband :where(a):focus-visible { outline-color: #fff; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }

/* Header */
.hcg-header { transition: box-shadow .2s; }
.hcg-header.is-scrolled { box-shadow: 0 6px 20px rgba(31,51,42,.1); }
.hcg-header__inner { height: 76px; }
.hcg-nav a { transition: background .15s, color .15s; }
.hcg-nav a[aria-current="page"] { font-weight: 600; box-shadow: inset 0 -2px 0 var(--hcg-gold); border-radius: 6px 6px 0 0; }
.hcg-cta { transition: transform .15s, box-shadow .15s; }
.hcg-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(48,75,61,.25); opacity: 1; }
.hcg-nav a { white-space: nowrap; }
@media (max-width: 1240px) {
  .hcg-burger { display: flex; }
  .hcg-cta { display: none; }
  .hcg-nav { display: none; position: absolute; top: 76px; left: 0; right: 0; background: var(--hcg-cream); border-bottom: 1px solid var(--hcg-border); padding: .75rem 1.5rem 1rem; box-shadow: 0 14px 24px rgba(31,51,42,.12); }
  .hcg-nav.is-open { display: block; }
  .hcg-nav ul { flex-direction: column; }
  .hcg-nav a { padding: .75rem .5rem; font-size: 1rem; }
}

/* Buttons */
.wp-block-button__link, .hcg-btn { background: var(--hcg-primary); color: #fff; border-radius: 8px; font-weight: 600; text-decoration: none; display: inline-block; padding: .8rem 1.5rem; transition: transform .15s, box-shadow .15s; }
.wp-block-button__link:hover, .hcg-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(31,51,42,.22); color: #fff; }
.hcg-hero .wp-block-buttons { margin-top: 1.75rem; gap: .9rem; }
.hcg-hero .wp-block-button:first-child .wp-block-button__link { background: var(--hcg-gold); color: #1f332a; }
.hcg-hero .wp-block-button:last-child .wp-block-button__link { background: rgba(255,255,255,.14); border: 1.5px solid rgba(255,255,255,.7); color: #fff; }
.hcg-btn--ghost { background: transparent; border: 1.5px solid currentColor; }

/* Hero: strong overlay on the text side, lighter on the right so the photo shows */
.hcg-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(31,51,42,.88) 0%, rgba(31,51,42,.62) 55%, rgba(31,51,42,.25) 100%) !important; opacity: 1 !important; }
.hcg-hero h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.12; }

/* Cards, sections, media */
.hcg-card { transition: transform .18s, box-shadow .18s, border-color .18s; box-shadow: 0 1px 2px rgba(31,51,42,.04); }
.hcg-card:hover { transform: translateY(-3px); box-shadow: var(--hcg-shadow); border-color: #d6ccb2; }
.hcg-section > p:not(.hcg-eyebrow):not(.hcg-stat) { max-width: 78ch; }
.hcg-section.is-compact > p { max-width: none; }
.hcg-section.is-dark.is-compact { padding: 1.4rem 1.5rem; }
.hcg-stat { font-size: 2.4rem; }
.is-dark .hcg-stat { color: var(--hcg-gold); }
.hcg-eyebrow { color: #8a5a12; }
.is-dark .hcg-eyebrow, .hcg-hero .hcg-eyebrow { color: var(--hcg-gold); }
.hcg-section ul { padding-left: 1.2rem; }
.hcg-section li { margin-bottom: .3rem; }
.wp-block-gallery { gap: .75rem; }
.wp-block-gallery .wp-block-image { overflow: hidden; border-radius: 12px; }
.wp-block-gallery img { transition: transform .3s; }
.wp-block-gallery .wp-block-image:hover img { transform: scale(1.04); }
.wp-block-quote { background: rgba(217,163,63,.08); padding: 1rem 1.25rem 1rem 1.5rem; border-radius: 0 10px 10px 0; }
.wp-block-quote p { margin: 0; }
.wp-block-table thead th { background: var(--hcg-sand); text-align: left; }
.hcg-section .wp-block-columns .hcg-card .wp-block-image { margin: -1.5rem -1.5rem 1rem; }
.hcg-section .wp-block-columns .hcg-card .wp-block-image img { border-radius: 12px 12px 0 0; width: 100%; aspect-ratio: 16/10; object-fit: cover; }

/* Breadcrumbs */
.hcg-crumbs { background: var(--hcg-sand); border-bottom: 1px solid var(--hcg-border); }
.hcg-crumbs ol { max-width: 1280px; margin: 0 auto; padding: .6rem 1.5rem; list-style: none; display: flex; flex-wrap: wrap; gap: .35rem; font-size: .82rem; color: var(--hcg-muted); }
.hcg-crumbs li + li::before { content: "\203A"; margin-right: .35rem; color: var(--hcg-muted); }
.hcg-crumbs a { color: var(--hcg-primary); text-decoration: none; }
.hcg-crumbs a:hover { text-decoration: underline; }
.hcg-crumbs [aria-current] { color: var(--wp--preset--color--foreground); font-weight: 500; }

/* Closing call to action */
.hcg-ctaband { background: var(--hcg-primary); color: #fff; padding: 3.25rem 1.5rem; }
.hcg-ctaband__inner { max-width: 1180px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 1.5rem 3rem; align-items: center; justify-content: space-between; }
.hcg-ctaband h2 { color: #fff; margin: 0 0 .4rem; font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
.hcg-ctaband p { margin: 0; color: rgba(255,255,255,.88); max-width: 60ch; }
.hcg-ctaband__btns { display: flex; gap: .8rem; flex-wrap: wrap; }
.hcg-ctaband .hcg-btn { background: var(--hcg-gold); color: #1f332a; }
.hcg-ctaband .hcg-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }

/* Back to top, language switch, footer */
.hcg-top { position: fixed; right: 1.1rem; bottom: 1.1rem; z-index: 60; width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--hcg-primary); color: #fff; font-size: 1.2rem; cursor: pointer; box-shadow: var(--hcg-shadow); }
.hcg-top[hidden] { display: none; }
.hcg-lang a { transition: background .15s; color: #5f564b; }
.hcg-lang a:hover { background: var(--hcg-sand); }
.hcg-footer a:focus-visible { opacity: 1; }

/* Print */
@media print {
  .hcg-header, .hcg-footer, .hcg-ctaband, .hcg-top, .hcg-crumbs, .hcg-skip, .hcg-burger { display: none !important; }
  body { background: #fff; color: #000; }
  .hcg-section { padding: 1rem 0; }
}
