/* Read Revive Shop – deliberately light styling so Elementor and the theme can take over. */
.rrs-shop, .rrs-basket, .rrs-manage { --rrs-gap: 1.5rem; --rrs-radius: 10px; --rrs-border: rgba(0,0,0,.12); --rrs-accent: currentColor; }
.rrs-heading { margin: 2rem 0 1rem; }
.rrs-plans, .rrs-products { display: grid; gap: var(--rrs-gap, 1.5rem); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin-bottom: 2rem; }
.rrs-card { border: 1px solid var(--rrs-border, rgba(0,0,0,.12)); border-radius: var(--rrs-radius, 10px); padding: 1.25rem; display: flex; flex-direction: column; gap: .5rem; background: #fff; }
.rrs-card__title { margin: 0; font-size: 1.25rem; }
.rrs-card__price { margin: 0; font-weight: 700; font-size: 1.1rem; }
.rrs-card__desc p { margin: 0 0 .5rem; }
.rrs-card__action { margin-top: auto; }
.rrs-product__image img { width: 100%; height: auto; border-radius: calc(var(--rrs-radius, 10px) - 4px); display: block; }
.rrs-vat-note { font-weight: 400; font-size: .85em; opacity: .75; }
.rrs-add { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; margin-top: auto; }
.rrs-field { display: flex; flex-direction: column; font-size: .9rem; gap: .25rem; }
.rrs-field select, .rrs-field input { min-height: 2.5rem; }
.rrs-field input[type=number] { width: 4.5rem; }
.rrs-button { display: inline-block; padding: .65rem 1.1rem; border-radius: 6px; border: 1px solid transparent; background: #1d2b4f; color: #fff; text-decoration: none; cursor: pointer; font: inherit; line-height: 1.2; }
.rrs-button:hover, .rrs-button:focus { opacity: .9; color: #fff; }
.rrs-button:focus-visible { outline: 3px solid #f0b429; outline-offset: 2px; }
.rrs-button--secondary { background: transparent; color: inherit; border-color: currentColor; }
.rrs-button--secondary:hover, .rrs-button--secondary:focus { color: inherit; }
.rrs-button--primary { font-weight: 700; }
.rrs-warning { background: #fff7e6; border-left: 4px solid #f0b429; padding: .75rem 1rem; margin: 0; }
.rrs-note { margin: 0; }
.rrs-admin-note { font-size: .85rem; color: #b32d2e; margin: .5rem 0 0; }
.rrs-soldout { font-weight: 700; margin-top: auto; }
.rrs-product--sold-out { opacity: .75; }
.rrs-notice { padding: .75rem 1rem; border-radius: 6px; margin: 0 0 1rem; }
.rrs-notice--ok { background: #edfaef; border-left: 4px solid #1a7f37; }
.rrs-notice--warn { background: #fff7e6; border-left: 4px solid #f0b429; }
.rrs-table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; }
.rrs-table th, .rrs-table td { text-align: left; padding: .6rem; border-bottom: 1px solid var(--rrs-border, rgba(0,0,0,.12)); }
.rrs-table tfoot th { text-align: right; font-weight: 400; }
.rrs-table .rrs-total th, .rrs-table .rrs-total td { font-weight: 700; }
.rrs-table input[type=number] { width: 4.5rem; }
.rrs-hint { font-size: .85rem; opacity: .8; }
.rrs-checkout { margin-top: 1rem; }
.rrs-summary { padding-left: 1.2rem; }
.rrs-basket-link { white-space: nowrap; }
@media (max-width: 600px) { .rrs-table thead { display: none; } .rrs-table td, .rrs-table th { display: block; border: 0; padding: .25rem 0; } .rrs-table tbody tr { border-bottom: 1px solid var(--rrs-border, rgba(0,0,0,.12)); padding: .5rem 0; display: block; } .rrs-table tfoot th { text-align: left; } }
