/* Geovital360: Bucher-Software und persönliche Online-Vorführung. */
.gv-product-entry,.gv-products { font:16px/1.65 Arial,sans-serif; color:#293c47; text-align:left; }
.gv-product-entry *,.gv-products * { box-sizing:border-box; }
.gv-product-entry { max-width:1100px; margin:12px auto; padding:22px 28px; background:#eaf3f0; border-left:4px solid #477c69; display:flex; gap:24px; align-items:center; justify-content:space-between; }
.gv-product-entry strong,.gv-product-entry span { display:block; }
.gv-product-entry strong { font-size:20px; }
.gv-product-entry a { flex-shrink:0; color:#244b40; font-weight:bold; text-decoration:underline; text-underline-offset:4px; }
.gv-product-entry a span { display:inline; }
/* Align the upper invitation with the website's existing content grid. */
@media(min-width:1200px) { #imCell_2 { grid-column:3 / 63; } }
@media(min-width:480px) and (max-width:1199.9px) { #imCell_2 { grid-column:2 / 62; } }
@media(min-width:480px) {
 #pluginAppObj_02 { padding-inline:0; }
 #pluginAppObj_02 > .gv-product-entry { max-width:none; margin:12px 0; box-sizing:border-box; }
}
.gv-products { margin:52px auto 20px; padding:36px 28px; background:#f3f6f5; border-radius:12px; scroll-margin-top:100px; }
.gv-products h2 { font-size:clamp(25px,3vw,34px); line-height:1.22; font-weight:700; color:#243e3b; margin:8px 0 18px; }
.gv-products h3 { font-size:21px; line-height:1.3; font-weight:700; color:#243e3b; margin:0 0 12px; }
.gv-products p { margin:0 0 16px; }
.gv-products .gv-eyebrow { color:#426d5d; font-size:13px; font-weight:bold; letter-spacing:.07em; text-transform:uppercase; margin-bottom:10px; }
.gv-product-intro { max-width:830px; margin-bottom:26px; }
.gv-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.gv-product-card { display:flex; flex-direction:column; min-width:0; background:white; border:1px solid #dce5df; border-radius:10px; overflow:hidden; }
.gv-product-card img { display:block; width:100%; height:auto; aspect-ratio:1.6; object-fit:contain; background:#fff; }
.gv-product-body { display:flex; flex-direction:column; padding:22px; flex:1; }
.gv-product-body p { font-size:15px; }
.gv-product-body a { color:#275f4e; font-size:15px; line-height:1.5; font-weight:bold; text-decoration:underline; text-underline-offset:4px; margin-top:auto; }
.gv-products .gv-product-note { font-size:13px; line-height:1.6; color:#56636a; margin:22px 0 0; }
.gv-demo { background:#163f53; color:#fff; padding:32px; margin-top:30px; border-radius:10px; scroll-margin-top:100px; }
.gv-demo h2 { color:#fff; }
.gv-demo .gv-eyebrow { color:#c5e3d6; }
.gv-demo ol { list-style:decimal outside; padding-left:24px; margin:20px 0; }
.gv-demo li { margin:0 0 12px; padding-left:4px; }
.gv-demo-contact { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 16px; }
.gv-product-button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 18px; background:#fff; color:#163f53!important; border:1px solid #fff; border-radius:5px; text-decoration:none; font-weight:bold; text-align:center; }
.gv-product-button-light { background:transparent; color:#fff!important; }
.gv-demo .gv-contact-small { font-size:14px; margin:0; overflow-wrap:anywhere; }
.gv-contact-small a { color:#fff; text-decoration:underline; }
.gv-products a:focus-visible,.gv-product-entry a:focus-visible { outline:3px solid #ba8630; outline-offset:4px; }
.gv-product-button:hover { background:#dceee6; color:#163f53!important; }
@media(max-width:1100px) { .gv-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:719px) { .gv-product-entry { margin:10px; padding:20px; flex-direction:column; align-items:flex-start; gap:12px; } .gv-products { padding:24px 16px; } .gv-product-grid { grid-template-columns:1fr; } .gv-product-body { padding:20px; } .gv-demo { padding:24px 18px; } .gv-demo-contact { flex-direction:column; } .gv-product-button { width:100%; } }

.gv-product-entry-mobile { display:none; }
@media(max-width:479.9px) { #imCell_1 > .gv-product-entry-mobile { display:flex; grid-column:1 / -1; grid-row:2; margin-top:22px; } }

/* Short invitation; visitors open the full product overview only when interested. */
.gv-products-compact { padding:0; overflow:hidden; }
.gv-software-summary { display:flex; align-items:center; gap:30px; padding:28px; cursor:pointer; list-style:none; }
.gv-software-summary::-webkit-details-marker { display:none; }
.gv-software-summary::marker { content:""; }
.gv-software-summary > img { display:block; flex:0 0 160px; width:160px; height:160px; object-fit:contain; border-radius:10px; background:#fff; }
.gv-software-invitation { min-width:0; }
.gv-products #gv-software-audience { margin:0; padding:22px 28px; background:#163f53; color:#fff; font-size:clamp(25px,2.8vw,32px); line-height:1.25; }
.gv-software-invitation .gv-software-question { font-size:clamp(21px,2.2vw,25px); font-weight:700; line-height:1.3; color:#243e3b; margin:0 0 12px; }
.gv-software-invitation p { max-width:720px; }
.gv-software-toggle { display:inline-flex; align-items:center; gap:16px; padding:11px 18px; border-radius:5px; background:#163f53; color:#fff; font-weight:700; font-size:15px; min-height:44px; }
.gv-software-chevron { font-size:22px; line-height:1; }
.gv-software-label-open { display:none; }
#gv-software-overview[open] .gv-software-label-closed { display:none; }
#gv-software-overview[open] .gv-software-label-open { display:inline; }
#gv-software-overview[open] .gv-software-chevron { transform:rotate(180deg); }
#gv-software-overview[open] .gv-software-summary { border-bottom:1px solid #d4e2db; }
.gv-software-content { padding:30px 28px; }
.gv-software-summary:focus-visible { outline:3px solid #ba8630; outline-offset:-5px; }
.gv-software-summary:hover .gv-software-toggle { background:#285b65; }
#gv-software-close { margin:24px 0 0; min-height:44px; padding:10px 16px; border:1px solid #537365; border-radius:5px; color:#24473a; background:white; font:700 15px/1.4 Arial,sans-serif; cursor:pointer; }
#gv-software-close:focus-visible { outline:3px solid #ba8630; outline-offset:3px; }
@media(max-width:719px) {
 .gv-products #gv-software-audience { padding:20px 18px; }
 .gv-products-compact { padding:0; }
 .gv-software-summary { flex-direction:column; align-items:flex-start; gap:20px; padding:24px 18px; }
 .gv-software-summary > img { flex-basis:auto; width:116px; height:116px; }
 .gv-software-content { padding:24px 16px; }
 .gv-software-toggle { font-size:14px; padding:11px 14px; }
}

/* Contact form takes over the former map column. */
@media(min-width:1200px) { #imCell_52 { grid-column:15 / 63; } }
@media(min-width:480px) and (max-width:1199.9px) { #imCell_52 { grid-column:14 / 62; } }
