/* Small additions to the approved design for the live submission workflow. */
[hidden] { display:none !important; }
.skip-link { position:fixed; inset-inline-start:1rem; top:-6rem; padding:.7rem 1rem; color:#fff; background:#173a21; z-index:1000; }
.skip-link:focus { top:1rem; }
.language-links,.social-links { display:flex; flex-wrap:wrap; gap:.8rem 1.25rem; }
.language-links { padding:1.5rem 0; border-block-start:1px solid #ffffff24; margin-top:2rem; font-size:.85rem; }
.language-links [aria-current=page] { color:#bedc7a; }
.social-links { margin-top:1rem; }
.breadcrumbs { padding-top:1.1rem; font-size:.82rem; color:#5c6d5b; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; list-style:none; gap:.5rem; margin:0; padding:0; }
.breadcrumbs li+li::before { content:'/'; margin-inline-end:.5rem; color:#85927f; }
.breadcrumbs a:hover { text-decoration:underline; }
.consent-field { display:flex; align-items:flex-start; gap:.65rem; margin:1.2rem 0 .7rem; font-size:.85rem; line-height:1.65; }
.consent-field input { width:1.1rem; height:1.1rem; min-height:0; padding:0; flex:0 0 1.1rem; margin-top:.3rem; accent-color:#5c811a; }
.consent-field a { text-decoration:underline; text-underline-offset:.2em; }
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.form-message { overflow-wrap:anywhere; }
.form-message[data-kind=error] { border:1px solid #ba4a3e; background:#fff3f1; color:#762b23; }
.form-message[data-kind=pending] { background:#f4f7ef; color:#294128; }
.form-message[data-kind=success] { background:#edf6df; color:#2d4d16; }
.inquiry-submit:disabled { opacity:.6; cursor:wait; }
.inquiry-new { margin-top:.75rem; }
.publication-body { max-width:980px; }
.publication-body h1 { max-width:100%; overflow-wrap:anywhere; }
.publication-body p { margin-top:1.4rem; }
.publication-body>img { margin-top:2rem; }
.publication-body h2 { margin-top:2.5rem; }
.spec-table { width:100%; border-collapse:collapse; margin-top:1.5rem; overflow-wrap:anywhere; table-layout:fixed; }
.spec-table th,.spec-table td { text-align:start; padding:1rem; border-bottom:1px solid #cdd7c4; vertical-align:top; }
.spec-table th { width:38%; background:#f3f7ee; }
:focus-visible { outline:3px solid #51740f; outline-offset:4px; }
.analytics-settings { background:none; border:0; padding:0; color:inherit; font:inherit; text-align:start; cursor:pointer; text-decoration:underline; }
.analytics-choice { position:fixed; z-index:1100; inset-inline:1rem; bottom:1rem; margin-inline:auto; width:min(100% - 2rem,820px); padding:1.25rem; border:1px solid #c9d5bd; border-radius:12px; background:#fff; color:#172b1b; box-shadow:0 8px 40px #172b1b30; max-height:75vh; overflow:auto; }
.analytics-choice h2 { margin:0 0 .5rem; font-size:1.1rem; }
.analytics-choice p { margin:.5rem 0; line-height:1.55; font-size:.9rem; }
.analytics-actions { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; margin-top:.9rem; }
.analytics-actions button { flex:1 1 180px; background:#eef4e7; color:#203b20; border:1px solid #789354; border-radius:6px; padding:.75rem 1rem; font:inherit; font-weight:600; cursor:pointer; }
.analytics-actions button:hover { background:#ddebd0; }
.analytics-actions a { font-size:.85rem; text-decoration:underline; margin-inline:.35rem; }
.footer-bottom { flex-wrap:wrap; gap:1rem; }
/* Small green labels need normal-text contrast on white and the pale wash. */
.flow-step>span,
.material-tabs button[aria-selected=true]>span,
.platform>.type,
.line-caption>.line-number,
details.line-alternates>summary>span { color:#4e711a; }
/* Keep small service and inquiry labels readable on their pale backgrounds. */
.service>span.number,
#inquiry .inquiry-copy .eyebrow { color:#4e711a; }
#inquiry .contact-list>small,
#inquiry form .form-note { color:#526147; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
/* Direct WhatsApp contact; real links remain usable without JavaScript. */
.whatsapp-icon { width:24px; height:24px; flex:0 0 24px; }
.button.whatsapp-button,.whatsapp-float { background:#116c44; border:1px solid #116c44; color:#fff; }
.button.whatsapp-button { gap:10px; text-align:center; }
.button.whatsapp-button:hover,.whatsapp-float:hover { background:#0b5434; border-color:#0b5434; color:#fff; }
.whatsapp-float { position:fixed; z-index:35; right:24px; bottom:24px; display:flex; align-items:center; gap:12px; max-width:calc(100vw - 48px); min-height:58px; padding:15px 22px; border-radius:32px; box-shadow:0 6px 24px #102b2130; font-size:15px; font-weight:700; }
.whatsapp-float:focus-visible,.whatsapp-button:focus-visible { outline-color:#172b1b; box-shadow:0 0 0 3px #fff; }
.contact-list .whatsapp-button { display:inline-flex; align-self:flex-start; margin-top:8px; }
#inquiry .whatsapp-hint { max-width:370px; font-size:14px; line-height:1.5; color:#526147; margin-top:0; }
body:has(.analytics-choice:not([hidden])) .whatsapp-float,
body:has(.main-nav.open) .whatsapp-float,
body:has(.analytics-choice:not([hidden])) .mobile-quote,
body.viewer-open .whatsapp-float,body.viewer-open .mobile-quote { visibility:hidden; }
@media(min-width:701px) { .site-footer { padding-bottom:100px; } }
@media(max-width:700px) {
  body { padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
  .whatsapp-float { display:none; }
  .mobile-quote { position:fixed; bottom:0; inset-inline:0; z-index:40; background:#fff; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 1.3fr; gap:10px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); }
  .mobile-quote .button { gap:7px; min-width:0; min-height:52px; padding:10px 8px; font-size:13px; text-align:center; }
  .mobile-quote .whatsapp-icon { width:21px; height:21px; flex-basis:21px; }
  body:has(.inquiry-form :focus) .mobile-quote,
  body:has(.main-nav.open) .mobile-quote { visibility:hidden; }
  .hero-copy .whatsapp-button,.product-intro .whatsapp-button { max-width:100%; }
}
