/* Motion paints content-specific actions without changing layout or scroll length. */
#page-product .pf-row,
#page-product .pf-row .pf-vis,
.feature-row,
.feature-steps,
.schedule-preview,
.report-preview { overflow: visible; }

#page-product .pf-row { position: relative; }
#page-product .pf-row::before {
  content: ''; position: absolute; left: 0; top: -18px; width: 24px; height: 1px;
  background: var(--gold); opacity: .65;
}
#page-product .pf-vis, .schedule-preview, .checkin-preview, .report-preview { position: relative; }
#page-product .pf-vis::after, .schedule-preview::after, .checkin-preview::after, .report-preview::after {
  content: ''; position: absolute; pointer-events: none; inset: 0;
  border: 1px solid rgba(200,169,110,.13); border-radius: inherit;
}
.rp-product-scene-2 .pf-vis [style*="height:8px"] {
  transform-origin: left center; transform: scaleX(var(--rp-row, 1));
}
.rp-product-scene-5 .pf-vis > div:first-child { position: relative; overflow: hidden; }
.rp-product-scene-5 .pf-vis > div:first-child::after {
  content: ''; position: absolute; left: 10%; right: 10%; height: 2px; top: 10%;
  background: rgba(76, 191, 154, .75); box-shadow: 0 0 11px rgba(76, 191, 154, .7);
  transform: translateY(calc(var(--rp-row, 1) * 92px)); opacity: .8; pointer-events: none;
}
.feature-steps .feature-step { position: relative; }
.feature-steps .feature-step::after {
  content: ''; position: absolute; top: -1px; left: 0; height: 2px; width: 100%;
  background: var(--gold); transform-origin: left; transform: scaleX(var(--rp-line, 1));
}
.report-col i { transform-origin: bottom; transform: scaleY(var(--rp-chart, 1)); }
.feature-comparison tbody tr { position: relative; }
.feature-comparison tbody tr th { border-left: 2px solid rgba(200,169,110,var(--rp-line, 1)); }
.feature-row .feature-picture.product-screen {
  display: block; width: 100%; height: auto; aspect-ratio: 1.78; object-fit: contain;
  border: 1px solid rgba(200,169,110,.28); background: #090d13;
  box-shadow: 0 24px 55px rgba(0,0,0,.24);
}
@media (prefers-reduced-motion: reduce) {
  #page-product *, .feature-hero *, .section *, .cta * { animation: none !important; transition-duration: 0s !important; }
  .report-col i, .feature-step::after { transform: none !important; }
  .rp-product-scene-2 .pf-vis [style*="height:8px"] { transform: none !important; }
  .rp-product-scene-5 .pf-vis > div:first-child::after { display: none; }
}

/* Product overview previews use the same surfaces and five-step structure as booking admin. */
#page-product .pf-product-screen { position: relative; padding: 0; overflow: hidden; border-color: #34404d; background: #090d13; }
.pf-product-screen img { display: block; width: 100%; aspect-ratio: 9 / 5; height: auto; object-fit: cover; }
.pf-product-screen > span { display: block; padding: 9px 14px; border-top: 1px solid #34404d; color: #d9b675; background: #111923; font: 600 10px 'Outfit',sans-serif; letter-spacing: .08em; }
#page-product .pf-booking-preview { display: grid; grid-template-columns: 37% 63%; min-height: 285px; padding: 0; overflow: hidden; border-color: #34404d; background: #151b20; color: #f1eee6; }
.pf-booking-brand { display: flex; flex-direction: column; justify-content: space-between; padding: 18px; background: radial-gradient(circle at 80% 30%,#d9b67524,transparent 45%),linear-gradient(145deg,#1e3338,#0d1921); border-right: 1px solid #d9b67538; }
.pf-booking-brand strong { font: 400 clamp(17px,2vw,27px) 'Cormorant Garamond',serif; }
.pf-booking-brand > span { margin-top: auto; color: #d9b675; font: 700 8px 'Outfit',sans-serif; letter-spacing: .15em; }
.pf-booking-brand p { margin: 8px 0 0; font: 400 clamp(19px,2.3vw,32px)/.95 'Cormorant Garamond',serif; }
.pf-booking-panel { display: flex; flex-direction: column; min-width: 0; }
.pf-booking-heading { display: flex; flex-direction: column; gap: 3px; padding: 14px 17px 11px; border-bottom: 1px solid #35404a; }
.pf-booking-heading small { color: #d9b675; font: 700 7px 'Outfit',sans-serif; letter-spacing: .12em; }
.pf-booking-heading strong { font: 400 24px 'Cormorant Garamond',serif; }
.pf-booking-steps { display: grid; grid-template-columns: repeat(5,1fr); gap: 3px; padding: 12px 10px; border-bottom: 1px solid #35404a; }
.pf-booking-steps > span { display: grid; place-items: center; margin: auto; width: 23px; height: 23px; border: 1px solid #66717b; border-radius: 50%; color: #9aa5ad; font: 700 7px 'Outfit',sans-serif; position: relative; }
.pf-booking-steps > span.current { border-color: #d9b675; color: #d9b675; }
.pf-booking-steps small { position: absolute; top: 27px; left: 50%; transform: translateX(-50%); white-space: nowrap; color: #9aa5ad; font: 7px 'Outfit',sans-serif; }
.pf-booking-choice { display: flex; gap: 11px; align-items: center; margin: 25px 16px 12px; padding: 7px; border: 1px solid #d9b675; border-radius: 7px; background: #d9b67512; }
.pf-booking-choice img { width: 76px; height: 62px; flex: none; border-radius: 4px; object-fit: cover; }
.pf-booking-choice strong { display: block; font: 600 11px 'Outfit',sans-serif; }
.pf-booking-choice small { display: block; margin-top: 4px; color: #acb8c1; font: 8px/1.35 'Outfit',sans-serif; }
.pf-booking-actions { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: auto; padding: 10px 16px; border-top: 1px solid #35404a; }
.pf-booking-actions span { color: #9aa5ad; font: 7px 'Outfit',sans-serif; }
.pf-booking-actions b { padding: 8px 12px; border-radius: 4px; color: #1a1d1e; background: #d9b675; font: 700 9px 'Outfit',sans-serif; }
@media(max-width:600px){#page-product .pf-booking-preview{grid-template-columns:1fr}.pf-booking-brand{min-height:95px}.pf-booking-brand p{max-width:none}.pf-booking-choice{margin-top:27px}}
.pf-admin-title { display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px; }
.pf-admin-title strong { color:var(--text);font:400 25px 'Cormorant Garamond',serif; }
.pf-admin-title > span { padding:8px 10px;border-radius:5px;background:var(--gold);color:#15191d;font:700 9px 'Outfit',sans-serif; }
.pf-admin-filters { display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:6px;margin-bottom:13px; }
.pf-admin-filters span { padding:9px 7px;border:1px solid var(--border);border-radius:5px;background:var(--bg);color:var(--text3);font:9px 'Outfit',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.pf-admin-table { border:1px solid var(--border);border-radius:7px;overflow:hidden;color:var(--text2);font:9px 'Outfit',sans-serif; }
.pf-admin-table > div { display:grid;grid-template-columns:1.3fr 1fr .9fr .7fr;gap:7px;padding:10px;border-bottom:1px solid var(--border); }
.pf-admin-table > div:last-child { border-bottom:0; }
.pf-admin-table .pf-admin-head { background:var(--bg);color:var(--text3);font-size:8px;letter-spacing:.05em; }
@media(max-width:600px){.pf-admin-title strong{font-size:22px}.pf-admin-table{font-size:8px}.pf-admin-table>div{gap:3px;padding:8px 5px}.pf-admin-table .pf-admin-head{font-size:7px}}
