/* Scoped to the blad composer. Original shop/cart/gallery rules remain intact. */
.ruig-tabletop{--rt-green:#365b48;--rt-ink:#24221c;--rt-border:#d7d3c9;max-width:1160px;margin:0 auto;padding:32px 24px 56px;color:var(--rt-ink);font-size:16px;line-height:1.6;box-sizing:border-box}
.ruig-tabletop *{box-sizing:border-box;min-width:0}
.ruig-tabletop [hidden]{display:none!important}
.ruig-tabletop h1,.ruig-tabletop h2,.ruig-tabletop h3{line-height:1.2;text-transform:none;letter-spacing:-.02em;margin:0 0 16px;overflow-wrap:anywhere}
.ruig-tabletop h1{font-size:clamp(30px,5vw,52px)}
.ruig-tabletop h2{font-size:clamp(23px,3vw,31px)}
.ruig-tabletop h3{font-size:20px}
.ruig-tabletop p{font-size:inherit;line-height:1.6;text-transform:none;font-weight:400;letter-spacing:normal;margin:0 0 16px;color:inherit}
.ruig-tabletop a{color:var(--rt-green);text-decoration:underline;text-underline-offset:3px}
.ruig-tabletop .rt-eyebrow{font-size:13px;letter-spacing:.08em;font-weight:700;color:var(--rt-green)}
.rt-intro{max-width:850px;margin-bottom:28px}
#rt-status{padding:14px 18px;border-radius:12px;background:#edf1ea;margin:18px 0 28px}
.rt-step,.rt-total{background:#fffefa;border:1px solid var(--rt-border);border-radius:16px;padding:28px;margin:24px 0}
.ruig-tabletop button{font:inherit;font-weight:700;line-height:1.3;border-radius:10px;padding:13px 18px;min-height:48px;border:2px solid var(--rt-green);cursor:pointer;white-space:normal;text-align:center;transition:background-color .15s,color .15s;box-shadow:none;text-transform:none;letter-spacing:normal}
.ruig-tabletop button.rt-primary,.ruig-tabletop .rt-finishes button[aria-pressed=true]{background:var(--rt-green);color:white}
.ruig-tabletop button.rt-secondary,.ruig-tabletop .rt-finishes button{background:white;color:var(--rt-green)}
.ruig-tabletop button:not(:disabled):hover{background:#244432;color:white}
.ruig-tabletop button:disabled{opacity:.5;cursor:not-allowed}
.ruig-tabletop :focus-visible{outline:3px solid #bb741d;outline-offset:4px}
.rt-finishes{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.rt-finishes button{flex:1;max-width:240px}
.ruig-tabletop label,.ruig-tabletop legend{font-size:16px;font-weight:600;text-transform:none;letter-spacing:normal}
.ruig-tabletop input[type=number]{display:block;width:100%;min-height:48px;border:1px solid #a29f94;border-radius:8px;background:#fff;color:var(--rt-ink);font:inherit;padding:10px 12px;margin:8px 0 0;box-shadow:none}
.rt-filter{display:block;max-width:320px;margin:16px 0}
.rt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rt-card{border:1px solid var(--rt-border);border-radius:12px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:10px}
.rt-card.is-selected{border:2px solid var(--rt-green);padding:15px;background:#f4f7f2}
.rt-card-photo{aspect-ratio:1/1;background:#f4f2eb;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:7px}
.rt-card-photo img{width:100%;height:100%;object-fit:contain;display:block}
.rt-card h3,.rt-card p{margin:0}
.ruig-tabletop .rt-card-price{font-weight:700;font-size:23px;color:var(--rt-green)}
.rt-card button{margin-top:auto;width:100%}
.rt-detail{font-size:14px;min-height:40px;display:flex;align-items:center}
.rt-image-missing{padding:12px;font-size:14px;color:#75331b}
.ruig-tabletop .rt-help{font-size:14px;line-height:1.5;color:#5d5b52}
.ruig-tabletop .rt-incompatible,.ruig-tabletop #rt-error{color:#8a371f;font-weight:600}
.ruig-tabletop #rt-error:empty{display:none}
.ruig-tabletop .rt-warning{border:1px solid #a15924;background:#fff7e9}
#rt-more{display:block;margin:24px auto 0;max-width:100%}
.rt-preview{display:flex;gap:1px;justify-content:center;align-items:stretch;height:320px;margin:22px auto 12px;padding:12px;background:#eae7dd;border-radius:12px;overflow:hidden}
.rt-preview-board{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#faf9f5}
.rt-preview-board img{width:100%;height:100%;object-fit:contain;display:block}
.rt-preview-board>span{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);background:#fff;border-radius:50%;font-size:12px;color:#24221c;width:22px;height:22px;text-align:center;line-height:22px}
.ruig-tabletop .rt-selected{list-style:none;padding:0;margin:20px 0}
.rt-selected li{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--rt-border);padding:12px 0}
.rt-selected-name{font-size:15px;font-weight:600}
.rt-order-controls{display:flex;gap:6px;flex-shrink:0}
.rt-order-controls button{padding:8px 12px;min-height:44px;font-size:14px}
.ruig-tabletop fieldset{border:0;padding:0;margin:0;min-width:0}
.rt-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:14px}
.ruig-tabletop .rt-delivery{margin:24px 0}
.rt-delivery legend{margin-bottom:10px}
.rt-delivery label,.rt-lacquer{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--rt-border);border-radius:10px;padding:16px;margin:10px 0;background:#fff}
.ruig-tabletop input[type=radio],.ruig-tabletop input[type=checkbox]{appearance:auto;width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:var(--rt-green);position:static}
.rt-delivery small,.rt-lacquer small{display:block;font-size:14px;font-weight:400;line-height:1.5;margin-top:4px}
.rt-total{background:#edf1ea;border-color:#aab9ab}
#rt-price-lines{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;margin:20px 0}
#rt-price-lines dt,#rt-price-lines dd{margin:0;padding:0;float:none;width:auto;font-size:16px}
#rt-price-lines dd{text-align:right;font-weight:700;white-space:nowrap}
#rt-price-lines .rt-sum{border-top:1px solid #b4c0b3;padding-top:14px;font-weight:700}
#rt-add{width:100%;margin:6px 0 16px;font-size:18px}
.rt-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.rt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ruig-tabletop{padding:22px 16px 36px}.rt-step,.rt-total{padding:20px 16px;border-radius:12px}.rt-grid{grid-template-columns:1fr;gap:16px}.rt-card-photo{aspect-ratio:1.15}.rt-card-photo img{max-height:330px}.rt-fields{grid-template-columns:1fr;gap:14px}.rt-finishes{gap:8px}.rt-finishes button{padding:12px 10px}.rt-selected li{align-items:flex-start;flex-direction:column}.rt-order-controls{width:100%}.rt-order-controls button:last-child{margin-left:auto}.rt-preview{height:270px;padding:6px}.rt-total h2{font-size:25px}#rt-add{font-size:16px}#rt-price-lines dt,#rt-price-lines dd{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ruig-tabletop button{transition:none}}
