body.tf-wedding-fix #tf-wedding-reservation { background:#fffbfb; color:#302b2a; padding:64px 28px; border-top:1px solid #eadfe1; border-bottom:1px solid #eadfe1; }
.tf-wr-polished * { box-sizing:border-box; }
.tf-wr-polished .tf-wr-inner { max-width:1140px; margin:auto; }
.tf-wr-polished .tf-wr-heading { margin-bottom:40px; }
.tf-wr-polished .tf-wr-kicker { font-size:12px; text-transform:uppercase; font-weight:600; color:#94614f; margin:0 0 16px; }
body.tf-wedding-fix #tf-wedding-reservation h2 { font-family:Georgia,'Times New Roman',serif!important; font-weight:400!important; font-size:40px!important; line-height:1.25; margin:0!important; color:#302b2a; }
.tf-wr-polished h2 em { font-weight:400; color:#94614f; }
.tf-wr-polished .tf-wr-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:80px; align-items:start; }
.tf-wr-polished h3 { font-size:19px; font-weight:600; margin:0 0 28px; line-height:1.4; }
.tf-wr-polished svg { width:24px; height:24px; display:block; stroke-width:1.5; }
.tf-wr-polished .tf-wr-payments { list-style:none; margin:0; padding:0; }
.tf-wr-polished .tf-wr-payments li { display:grid; grid-template-columns:48px minmax(0,1fr); gap:24px; position:relative; padding:0 0 36px; }
.tf-wr-polished .tf-wr-payments li + li { padding-top:0; padding-bottom:28px; }
.tf-wr-polished .tf-wr-payments li:first-child::before { content:""; position:absolute; left:23px; top:48px; bottom:0; width:1px; background:#d8bfc5; }
.tf-wr-polished .tf-wr-step-icon { width:48px; height:48px; display:grid; place-items:center; background:#fff; border:1px solid #dcc4ca; border-radius:50%; color:#956c68; position:relative; z-index:1; }
.tf-wr-polished .tf-wr-percent { font-family:Georgia,'Times New Roman',serif!important; font-size:64px; line-height:1; font-weight:400; color:#94614f; margin:-4px 0 14px; white-space:nowrap; }
.tf-wr-polished .tf-wr-percent span { font-size:32px; }
.tf-wr-polished .tf-wr-payments h4 { font-size:18px; margin:0 0 8px; line-height:1.4; font-weight:600; }
.tf-wr-polished .tf-wr-method { font-size:15px; color:#6e625e; margin:0; line-height:1.6; }
.tf-wr-polished .tf-wr-payment-methods { display:flex; flex-wrap:wrap; align-items:center; gap:10px; color:#6e625e; font-size:13px; margin:0 0 0 72px; padding-top:18px; border-top:1px solid #e7d9dd; }
.tf-wr-polished .tf-wr-payment-methods svg { width:18px; height:18px; }
.tf-wr-polished .tf-wr-delivery { padding:28px; background:#fff; border:1px solid #dce8e0; border-radius:8px; position:relative; overflow:hidden; box-shadow:0 8px 28px rgba(59,84,67,.045); transition:transform 400ms ease,box-shadow 400ms ease,border-color 400ms ease; }
.tf-wr-polished .tf-wr-brand { display:flex; align-items:center; gap:10px; color:#214d37; font-size:20px; margin-bottom:22px; }
.tf-wr-polished .tf-wr-brand svg { width:36px; height:36px; }
.tf-wr-polished .tf-wr-file-icon { position:absolute; right:28px; top:28px; width:42px; height:42px; display:grid; place-items:center; color:#5d7f67; }
.tf-wr-polished .tf-wr-delivery h3 { font-family:Georgia,'Times New Roman',serif!important; font-size:28px; font-weight:400; line-height:1.2; margin:0 0 14px; color:#324b3b; }
.tf-wr-polished .tf-wr-delivery > p { margin:0; font-size:15px; line-height:1.7; color:#5b6c60; }
.tf-wr-polished .tf-wr-delivery-meta { display:flex; flex-wrap:wrap; gap:12px 24px; border-top:1px solid #e0e9e2; padding-top:18px; margin-top:24px; }
.tf-wr-polished .tf-wr-delivery-meta > span { display:inline-flex; gap:8px; align-items:center; color:#47664f; font-size:13px; }
.tf-wr-polished .tf-wr-delivery-meta svg { width:17px; height:17px; }
.tf-wr-polished .tf-wr-gallery { margin-top:32px; }
.tf-wr-polished .tf-wr-gallery-title { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.tf-wr-polished .tf-wr-gallery-title > span:first-child { color:#94614f; }
.tf-wr-polished .tf-wr-gallery-title h3 { margin:0; font-size:18px; }
.tf-wr-polished .tf-wr-option { font-size:11px; text-transform:uppercase; color:#94614f; margin-left:auto; }
.tf-wr-polished .tf-wr-gallery > p { font-size:14px; line-height:1.6; color:#6e625e; margin:10px 0 18px; }
.tf-wr-polished table { border-collapse:collapse; width:100%; font-size:16px; }
.tf-wr-polished th { font-size:12px; font-weight:500; text-align:left; color:#6e625e; padding:10px 0; border-bottom:1px solid #dfd3d5; }
.tf-wr-polished td { padding:14px 0; border-bottom:1px solid #e7d9dd; }
.tf-wr-polished th:last-child,.tf-wr-polished td:last-child { text-align:right; }
.tf-wr-polished td:last-child { font-size:20px; font-weight:600; color:#684d40; }
.tf-wr-polished td:last-child span { font-size:12px; font-weight:400; }
.tf-wr-polished tbody tr { transition:background-color 250ms ease; }
.tf-wr-polished tbody tr:hover { background:#fff2f3; }
.tf-wr-polished .tf-wr-enter { animation:tf-wr-arrive 650ms cubic-bezier(.16,1,.3,1) backwards; }
@keyframes tf-wr-arrive { from { opacity:.35; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media(hover:hover) and (pointer:fine) { .tf-wr-polished .tf-wr-delivery:hover { transform:translateY(-3px); border-color:#95b8a0; box-shadow:0 14px 35px rgba(59,84,67,.09); } }
@media(max-width:991px) { .tf-wr-polished .tf-wr-grid { gap:36px; } }
@media(max-width:700px) {
  body.tf-wedding-fix #tf-wedding-reservation { padding:44px 20px; }
  body.tf-wedding-fix #tf-wedding-reservation h2 { font-size:34px!important; }
  .tf-wr-polished .tf-wr-heading { margin-bottom:32px; }
  .tf-wr-polished .tf-wr-grid { grid-template-columns:1fr; gap:32px; }
  .tf-wr-polished .tf-wr-payments li { gap:18px; }
  .tf-wr-polished .tf-wr-percent { font-size:56px; }
  .tf-wr-polished .tf-wr-payments h4 { font-size:17px; }
  .tf-wr-polished .tf-wr-payment-methods { margin-left:66px; }
  .tf-wr-polished .tf-wr-delivery { padding:22px; }
  .tf-wr-polished .tf-wr-file-icon { right:18px; top:20px; width:30px; height:30px; }
  .tf-wr-polished .tf-wr-file-icon svg { width:18px; height:18px; }
  .tf-wr-polished .tf-wr-brand { font-size:19px; padding-right:24px; gap:6px; }
  .tf-wr-polished .tf-wr-brand svg { width:30px; height:30px; }
}
@media(max-width:359px) { .tf-wr-polished .tf-wr-file-icon { display:none; } .tf-wr-polished .tf-wr-brand { padding-right:0; } .tf-wr-polished .tf-wr-gallery-title { gap:8px; } .tf-wr-polished .tf-wr-option { margin-left:34px; } }
@media(prefers-reduced-motion:reduce) { .tf-wr-polished .tf-wr-enter { animation:none!important; } .tf-wr-polished .tf-wr-delivery,.tf-wr-polished tbody tr { transition:none!important; transform:none!important; } }
