.smotrite-join-panel { margin: 1.5rem 0; padding: clamp(1rem, 3vw, 2rem); border: 1px solid #d4ded9; border-radius: 12px; background: #f2f7f4; }
.smotrite-price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 2rem 0; }
.smotrite-price-grid section { padding: 1.5rem; border: 1px solid #d4ded9; border-radius: 12px; }
.smotrite-price-grid strong { font-size: 1.75rem; }
.smotrite-price-grid section { position: relative; }
/* Extend the native submit button over its card, including touch and keyboard focus. */
.smotrite-price-grid section form,
.smotrite-price-grid section button.button { position: static; transform: none !important; }
.smotrite-price-grid section button.button::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 12px; cursor: pointer; }
.smotrite-price-grid section button.button:hover::after { box-shadow: 0 0 0 2px #167b66; }
.smotrite-price-grid section button.button:focus-visible::after { outline: 3px solid #167b66; outline-offset: 3px; }
.smotrite-price-grid .smotrite-price-best { border: 2px solid #167b66; background: #f2f7f4; }
.smotrite-price-badge { position: absolute; top: -.85rem; right: 1rem; padding: .2rem .8rem; border-radius: 999px; background: #167b66; color: #fff; font-weight: 700; }
.smotrite-price-saving { color: #146653; font-weight: 700; }
.smotrite-price-note { font-size: .9rem; }
.smotrite-join-link a { white-space: nowrap; }
.smotrite-join-panel .button { white-space: normal; text-align: center; max-width: 100%; }
@media (max-width: 600px) { .smotrite-price-grid { grid-template-columns: 1fr; } }
