/* Checkout steps inside the existing cart dialog; follows beta.css type and buttons. */
.tc-form{display:grid;gap:12px}
.tc-form label{display:grid;gap:4px;font-size:1.3rem;letter-spacing:.02em}
.tc-form input,.tc-form select{padding:12px;border:1px solid #666;background:none;font:inherit;font-size:1.5rem;min-width:0;border-radius:0;color:inherit}
.tc-row{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:10px}
.tc-error{background:#f6e2dc;color:#8a2c19;padding:10px 12px;font-size:1.4rem;margin:0 0 4px}
.tc-summary{border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:12px 0;margin-bottom:16px;font-size:1.45rem}
.tc-summary p{margin:4px 0}
.tc-summary dl{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:12px 0 4px}
.tc-summary dd{margin:0;text-align:right}
.tc-total{font-weight:700;font-size:1.6rem}
.tc-ship{color:#555;font-size:1.3rem}
.tc-ship .beta-remove{display:inline;padding:0;margin:0}
.tc-card{min-height:90px}
.tc-apple-pay{-webkit-appearance:-apple-pay-button;-apple-pay-button-type:buy;-apple-pay-button-style:black;display:block;width:100%;height:48px;margin:0 0 10px;border:0;border-radius:4px;cursor:pointer}
.tc-apple-pay[hidden],.tc-gpay[hidden],.tc-or[hidden]{display:none}
.tc-gpay{margin:0 0 10px;min-height:48px}
.tc-or{display:flex;align-items:center;gap:10px;margin:6px 0 12px;color:#666;font-size:1.3rem}
.tc-or::before,.tc-or::after{content:"";flex:1;border-top:1px solid #ccc}
.tc-done{text-align:center;padding:12px 0}
.tc-done p{font-size:1.5rem}
@media (max-width:480px){.tc-row{grid-template-columns:1fr 1fr}.tc-row label:first-child{grid-column:1/-1}}
/* Reviews on the product page (only rendered when at least one review is published). */
.tl-rating{display:inline-flex;gap:6px;align-items:center;margin:4px 0 10px;font-size:1.4rem;color:inherit;text-decoration:none}
.tl-rating span{color:#c98a12;letter-spacing:1px}
.tl-reviews-section{padding:5rem 0;border-top:1px solid rgba(0,0,0,.08)}
.tl-reviews-section .page-width{max-width:120rem;margin:0 auto;padding:0 2rem}
.tl-reviews-section h2{font-size:3.2rem;letter-spacing:-.02em;margin:0 0 .6rem}
.tl-reviews-sum{font-size:1.5rem;margin:0 0 2.4rem}.tl-reviews-sum span{color:#c98a12;letter-spacing:2px}
.tl-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(28rem,1fr));gap:1.6rem}
.tl-review-card{background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.08);padding:2rem;display:grid;gap:.8rem}
.tl-review-card h3{font-size:1.7rem;margin:0}.tl-review-card p{font-size:1.5rem;line-height:1.55;margin:0;white-space:pre-wrap}
.tl-review-card footer{font-size:1.3rem;color:#555}
.tl-review-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.tl-review-stars{color:#c98a12;font-size:1.7rem;letter-spacing:2px}
.tl-verified{font-size:1.2rem;color:#2f5d34;background:#e4f1e2;padding:2px 8px}
.tl-src{font-size:1.2rem;color:#555;background:rgba(0,0,0,.05);padding:2px 8px}
/* Review form page */
.tl-starpick{border:0;padding:0;margin:0;display:flex;gap:6px}
.tl-starpick legend{font-size:1.3rem;margin-bottom:6px}
.tl-starpick button{font-size:3.2rem;line-height:1;background:none;border:0;color:#ccc;cursor:pointer;padding:0 2px}
.tl-starpick button.on{color:#c98a12}
.tl-page textarea{padding:12px;border:1px solid #666;background:none;font:inherit;font-size:1.5rem;width:100%}

/* "Email me when orders reopen" */
.tl-notify{margin-top:16px;padding:18px;border:1px solid rgba(0,0,0,.14);background:rgba(255,255,255,.5);display:grid;gap:10px;text-align:left}
.tl-notify-compact{margin-top:8px}
.tl-notify-title{font-size:1.8rem;font-weight:700;margin:0;letter-spacing:-.01em}
.tl-notify-text{font-size:1.4rem;line-height:1.5;margin:0;color:#333}
.tl-notify-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.tl-notify-row .beta-email{min-width:0;font-size:1.5rem;padding:12px;border:1px solid #666;background:#fff}
.tl-notify-row .button{margin:0;width:auto;padding:0 20px;min-height:46px}
.tl-notify-news{display:flex;gap:8px;align-items:flex-start;font-size:1.3rem;line-height:1.4;color:#333}
.tl-notify-news input{margin-top:2px;accent-color:#242b25}
.tl-notify-fine{font-size:1.2rem;color:#666;margin:0}.tl-notify-fine a{color:inherit}
.tl-notify-err{font-size:1.3rem;color:#8a2c19;margin:0}
.tl-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
@media (max-width:420px){.tl-notify-row{grid-template-columns:1fr}.tl-notify-row .button{width:100%}}
