.geekist-product-layout { display: flex; align-items: flex-start; gap: clamp(1.5rem, 4vw, 3rem); }
.geekist-product-article { min-width: 0; flex: 1 1 0; }
.geekist-product-sidebar { flex: 0 0 var(--product-sidebar-width, 30%); min-width: 0; padding: 1.25rem; background: var(--wp--preset--color--section-gray); border-radius: 4px; box-sizing: border-box; }
.geekist-product-sidebar > :first-child { margin-top: 0; }
.geekist-product-sidebar > :last-child { margin-bottom: 0; }
.geekist-product-popup { position: relative; margin-block: 1rem; }
.geekist-product-popup summary { cursor: pointer; display: inline-block; padding: .65rem 1rem; border: 1px solid currentColor; border-radius: 4px; list-style: none; }
.geekist-product-popup summary::-webkit-details-marker { display: none; }
.geekist-product-popup summary:focus-visible { outline: 2px solid var(--wp--preset--color--brand-yellow); outline-offset: 3px; }
.geekist-product-popup__panel { margin-top: .75rem; padding: 1rem; border: 1px solid var(--wp--preset--color--border-light); border-radius: 4px; background: var(--wp--preset--color--background); overflow-wrap: anywhere; animation: geekist-popup-in .2s ease-out; }
.geekist-product-popup__panel > :first-child { margin-top: 0; }
.geekist-product-popup__panel > :last-child { margin-bottom: 0; }
.geekist-product-discussion { margin-block: 3rem 1.5rem; }
.geekist-discussion-list { padding-left: 1.5rem; }
.geekist-discussion-list li { margin-block: 1.25rem; overflow-wrap: anywhere; }
.geekist-discussion-list .comment-author img { vertical-align: middle; margin-right: .5rem; border-radius: 50%; }
.geekist-linkbacks summary { cursor: pointer; }
@keyframes geekist-popup-in { from { opacity: 0; transform: translateY(-.4rem); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 781px) { .geekist-product-layout { flex-direction: column; } .geekist-product-article, .geekist-product-sidebar { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .geekist-product-popup__panel { animation: none; } }
.geekist-product-popup.is-enhanced .geekist-product-popup__panel { position: absolute; z-index: 20; right: 0; width: min(24rem, 80vw); max-height: min(70vh, 35rem); overflow: auto; box-shadow: 0 .5rem 2rem #0009; }
.geekist-product-popup__close { display: block; margin: 0 0 1rem auto; cursor: pointer; }
@media (max-width: 781px) { .geekist-product-popup.is-enhanced .geekist-product-popup__panel { position: fixed; left: .75rem; right: .75rem; bottom: .75rem; width: auto; max-height: 70vh; z-index: 100; } }

/* Match the understated corners used elsewhere on Geekist. */
.garmin-product-card, .garmin-product-card .wp-block-column > .wp-block-group { border-radius: 4px !important; }

/* Garmin's product card: compact, legible and comfortable to use on phones. */
.garmin-product-card {
  padding: clamp(1.25rem, 3vw, 2rem) !important;
}
.garmin-product-card > .wp-block-columns { gap: clamp(1.25rem, 3vw, 2rem); }
.garmin-product-card .wp-block-column:first-child > .wp-block-group {
  background-color: #101b23 !important;
  padding: 1rem !important;
}
.garmin-product-card .wp-block-image { margin: 0 auto; max-width: 240px; }
.garmin-product-card .wp-block-image img { display: block; width: 100%; height: auto; }
.garmin-product-card h2 { margin: 0 0 .5rem; font-size: clamp(1.5rem, 2vw, 1.8rem); line-height: 1.2; }
.garmin-product-card p { margin: .65rem 0; line-height: 1.5; }
.garmin-product-card ul { margin: 1rem 0; padding-left: 1.25rem; }
.garmin-product-card li { margin: .4rem 0; padding-left: .15rem; line-height: 1.4; }
.garmin-product-card li::marker { color: #56b9df; }
.garmin-product-card .has-small-font-size { color: #b7c6d0; line-height: 1.45; }
.garmin-product-card .wp-block-buttons { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.25rem; }
.garmin-product-card .wp-block-button { margin: 0; }
.garmin-product-card .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 48px; border-radius: 4px; padding: .65rem 1.1rem; font-size: 1rem; line-height: 1.4; text-align: center; }
.garmin-product-card .wp-block-button__link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 781px) {
  .garmin-product-card .wp-block-columns { gap: 1.25rem; }
  .garmin-product-card .wp-block-column:first-child > .wp-block-group { padding: .75rem !important; }
  .garmin-product-card .wp-block-image { max-width: 190px; }
  .garmin-product-card .wp-block-button { flex: 1 1 0; min-width: 0; }
  .garmin-product-card .wp-block-button__link { display: flex; width: 100%; padding-inline: .4rem; font-size: .875rem; white-space: nowrap; }
}
@media (max-width: 320px) { .garmin-product-card .wp-block-button { flex-basis: 100%; } }
