/* Scoped to the student offer: general product pages retain their own plans and styling. */
.student-rental-page { --student-accent:var(--primary); --student-ink:var(--ink); --student-muted:var(--muted); background:var(--paper); color:var(--student-ink); }
.student-rental-page main { overflow-wrap:break-word; }
.student-rental-page .student-wrap { width:min(1180px, calc(100% - 32px)); margin-inline:auto; }
.student-rental-page h1 { margin:16px 0 22px; }
.student-rental-page main h2 { margin:10px 0 20px; }
.student-rental-page main h3 { margin:14px 0 10px; }
.student-rental-page main p { line-height:1.65; }
.student-rental-page .student-eyebrow { color:var(--student-accent); text-transform:uppercase; font-size:.68rem; font-weight:850; letter-spacing:0; margin:0 0 .7rem; }
.student-rental-page .student-small { font-size:.84rem; color:var(--student-muted); line-height:1.6; }
.student-rental-page .button { text-align:center; white-space:normal; line-height:1.35; }
.student-rental-page :focus-visible { outline:3px solid var(--primary); outline-offset:4px; }
.student-rental-page .skip-link:focus { z-index:100; }
.student-rental-page main [id] { scroll-margin-top:105px; }
#student-models { padding-top:32px; }
.student-lead { color:var(--student-muted); font-size:clamp(1rem,1.35vw,1.18rem); max-width:58ch; }
.student-offer { border-left:3px solid var(--student-accent); padding:16px 20px; background:#fff5f8; margin:24px 0; border-radius:0 12px 12px 0; }
.student-offer strong { display:block; font-size:1.15rem; line-height:1.5; }
.student-offer span { display:block; font-size:.8rem; color:var(--student-muted); margin-top:8px; max-width:48ch; }
.student-actions { display:flex; flex-wrap:wrap; gap:10px; }
.student-section-nav { display:flex; flex-wrap:wrap; gap:8px; padding:20px 0; border-block:1px solid var(--line); font-size:.88rem; font-weight:650; }
.student-section-nav a { padding:10px 16px; border:1px solid var(--line); border-radius:999px; background:var(--paper); }
.student-section-nav a:hover, .student-detail-link:hover { text-decoration:underline; }
.student-section { padding-block:clamp(3.3rem,7vw,7rem); }
.student-section-intro { max-width:65ch; color:var(--student-muted); margin-bottom:28px; }
.student-model-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.student-model-card { background:#fff; border:1px solid var(--line); border-radius:8px; overflow:hidden; display:flex; flex-direction:column; }
.student-model-photo { padding:0; background:#fff; border-bottom:1px solid var(--line); }
.student-model-photo img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.student-model-photo.product-gallery { margin-bottom:0; min-width:0; }
.student-model-photo .product-gallery-main { margin-bottom:0; }
.student-model-photo .product-gallery-controls { margin:10px 12px; }
.student-model-photo .product-gallery-thumbs { justify-content:center; }
.student-model-photo .product-gallery-thumb img { width:100%; height:100%; }
.student-model-body { padding:20px; display:flex; flex:1; flex-direction:column; }
.student-rental-page .student-tag { font-size:.73rem; color:var(--student-accent); font-weight:750; margin:0; min-height:2.8em; }
.student-rental-page .student-model-body h3 { font-size:1.6rem; margin:6px 0 14px; }
.student-card-heading { font-weight:650; margin:0; min-height:3.3em; }
.student-model-body > p:not(.student-small):not(.student-tag):not(.student-card-heading):not(.student-terms) { color:var(--student-muted); }
.student-price { margin-top:12px; background:linear-gradient(180deg,rgba(255,246,249,.96) 0%,rgba(255,255,255,.96) 100%); border:1px solid rgba(240,22,79,.13); padding:20px; border-radius:8px; }
.student-discount { display:inline-block; font-weight:700; font-size:.76rem; color:#a31344; background:#ffe3ec; border:1px solid #f5b8ca; border-radius:8px; padding:7px 10px; }
.student-rental-page .student-price p { margin:6px 0; font-size:.94rem; }
.student-rental-page .student-price .student-price-amount { font-size:2rem; font-weight:750; line-height:1.2; letter-spacing:-.03em; margin-top:14px; }
.student-price-amount span { font-size:1rem; font-weight:500; letter-spacing:0; }
.student-rental-page .student-price .student-regular { border-top:1px solid var(--line); padding-top:12px; margin-top:14px; }
.student-terms { font-size:.84rem; color:var(--student-muted); margin:16px 0; }
.student-model-body ul { padding-left:20px; margin:6px 0 24px; }
.student-model-body li { padding-bottom:9px; }
.student-card-actions { margin-top:auto; display:grid; grid-template-columns:1fr 1fr; gap:8px; text-align:center; }
.student-detail-link { color:var(--student-accent); font-weight:650; font-size:.9rem; text-decoration:none; }
.student-price-footnote { max-width:85ch; margin-top:22px; }
.student-table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:8px; background:#fff; }
.student-table { width:100%; border-collapse:collapse; font-size:.95rem; min-width:540px; }
.student-table caption { text-align:left; padding:16px 20px; font-size:.84rem; color:var(--student-muted); }
.student-table th, .student-table td { text-align:left; padding:16px 20px; border-top:1px solid var(--line); vertical-align:top; width:33.33%; }
.student-table thead { background:#fff8fa; }
.student-table thead th { font-size:.86rem; font-weight:750; }
.student-table tbody th { font-weight:600; }
.student-tint { background:var(--soft); }
.student-check-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:30px; }
.student-check-grid article { border-top:1px solid var(--line); padding-top:22px; }
.student-step { font-size:.8rem; font-weight:750; color:var(--student-accent); }
.student-check-grid p { color:var(--student-muted); font-size:.95rem; }
.student-notice { background:#fff; padding:18px 20px; border-left:3px solid var(--primary); border-radius:0 10px 10px 0; font-size:.9rem; margin-top:24px; }
.student-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.student-info-grid li { margin-bottom:14px; }
.student-checklist { padding-left:22px; }
.student-info-panel { background:#fff; border:1px solid var(--line); border-radius:8px; padding:28px; }
.student-info-panel ul { padding-left:20px; }
.student-area-list { display:flex; flex-wrap:wrap; list-style:none; padding:0; gap:10px; margin:24px 0; }
.student-area-list li { background:#fff; border:1px solid var(--line); border-radius:8px; padding:12px 18px; font-weight:600; font-size:.94rem; }
.student-enquiry-section { background:var(--soft); }
.student-enquiry-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:start; }
.student-form { background:#fff; padding:28px; border:1px solid var(--line); border-radius:8px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.student-field { min-width:0; }
.student-form fieldset { grid-column:1/-1; min-width:0; padding:0; margin:0; border:0; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.student-field-full { grid-column:1/-1; }
.student-form label { display:block; font-size:.86rem; font-weight:650; margin-bottom:8px; }
.student-form input,.student-form select,.student-form textarea { width:100%; min-width:0; border:1px solid #b0b0b0; border-radius:8px; padding:12px; font:inherit; font-size:16px; color:var(--student-ink); background:#fff; min-height:48px; }
.student-form textarea { resize:vertical; }
.student-form p { margin:0; }
.student-form p a { text-decoration:underline; }
.student-form button:disabled { opacity:.6; cursor:not-allowed; }
.student-rental-page .sr-only { 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:1000px) { .student-check-grid { grid-template-columns:1fr 1fr; } .student-info-grid,.student-enquiry-grid { gap:24px; } }
@media(max-width:760px) {
  .student-rental-page .student-wrap { width:calc(100% - 32px); }
  .student-section { padding-block:42px; }
  .student-model-grid,.student-info-grid,.student-enquiry-grid { grid-template-columns:1fr; }
  .student-model-body { padding:22px; }
  .student-rental-page .student-tag,.student-card-heading { min-height:0; }
  .student-form { padding:22px; }
}
@media(max-width:420px) { .student-check-grid,.student-form,.student-form fieldset { grid-template-columns:1fr; } .student-actions { flex-direction:column; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .student-rental-page * { animation:none !important; transition:none !important; } }
.student-rental-page .faq-item h3 { margin:0 0 .35rem; font-size:1rem; }
