.careers-page { --careers-line:#dce3e5; }
.careers-page [hidden] { display:none !important; }
.careers-page h2 { font-size:clamp(1.65rem,3vw,2.5rem); line-height:1.18; letter-spacing:-.025em; margin:12px 0 20px; }
.careers-page h3 { line-height:1.3; }
.careers-page .careers-intro { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,5vw,70px); align-items:center; }
.careers-intro p,.careers-aside p { color:var(--ink-soft); line-height:1.8; }
.careers-section-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; }
.careers-badge { border-radius:40px; padding:8px 14px; background:#f0e7e9; color:var(--wine); font-size:.8rem; font-weight:750; white-space:nowrap; }
.jobs-list { display:grid; gap:20px; }
.job-card,.careers-empty,.careers-admin-panel { padding:clamp(22px,4vw,38px); border:1px solid var(--careers-line); border-radius:16px; background:#fff; box-shadow:0 8px 28px rgb(23 36 42 / 4%); min-width:0; }
.job-card h3 { margin:8px 0 12px; font-size:clamp(1.35rem,2.5vw,1.8rem); overflow-wrap:anywhere; }
.job-meta { display:flex; gap:10px; flex-wrap:wrap; font-size:.8rem; color:var(--ink-soft); }
.job-meta span { padding:5px 10px; background:#f3f6f6; border-radius:6px; }
.job-card details { margin:22px 0; border-top:1px solid var(--careers-line); border-bottom:1px solid var(--careers-line); }
.job-card summary { padding:16px 0; cursor:pointer; font-weight:750; color:var(--wine); }
.job-card h4 { margin:24px 0 10px; font-size:1rem; }
.job-card ul { padding-left:22px; }
.job-card li { margin:8px 0; line-height:1.7; color:var(--ink-soft); }
.job-card p { line-height:1.8; overflow-wrap:anywhere; white-space:pre-line; }
.job-card .button { margin-top:4px; }
.careers-legal { border-left:3px solid var(--wine); padding:2px 0 2px 18px; font-size:.88rem; line-height:1.75; margin-bottom:25px; }
.careers-legal p { margin:8px 0; }
.careers-application { scroll-margin-top:150px; }
.careers-page :is(select) { width:100%; padding:12px 13px; margin-top:7px; color:var(--ink); background:#f9fbfb; border:1px solid #c7d3d6; border-radius:9px; font:inherit; }
.careers-page :is(select):focus { outline:2px solid var(--cyan,#63c3d1); outline-offset:1px; }
.careers-page input[type=file] { padding:14px; background:#f4f6f6; border:1px dashed #9eafb4; font-size:.85rem; max-width:100%; }
.careers-page input[type=file]::file-selector-button { border:0; border-radius:6px; color:white; background:var(--wine,#571f26); padding:10px 14px; margin-right:12px; cursor:pointer; font:inherit; }
.careers-upload small,.careers-upload > span { display:block; margin-top:8px; font-size:.78rem; font-weight:500; color:var(--ink-soft); overflow-wrap:anywhere; }
.careers-aside { align-self:start; padding:30px; background:#f4f6f6; border-radius:14px; }
.careers-aside h2 { font-size:1.7rem; }
.careers-aside ol { padding-left:20px; line-height:1.9; font-size:.9rem; }
.careers-aside hr { margin:28px 0; border:0; border-top:1px solid var(--careers-line); }
.careers-page .careers-muted { color:var(--ink-soft); font-size:.85rem; }
.careers-management-link { display:inline-block; margin-top:25px; font-size:.75rem; text-underline-offset:3px; }
.careers-page button { font-family:inherit; cursor:pointer; }
.careers-page button:disabled { opacity:.6; cursor:wait; }
.careers-page .careers-status[data-error="true"] { color:#9d2637; }
.careers-page .careers-status { line-height:1.6; }
.careers-trap { position:absolute !important; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.careers-admin-layout { display:grid; grid-template-columns:minmax(220px,.65fr) minmax(0,1.4fr); gap:28px; align-items:start; }
.careers-admin-layout .contact-form { padding:clamp(22px,4vw,38px); }
.careers-admin-toolbar { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:26px; }
.careers-admin-job { border-bottom:1px solid var(--careers-line); padding:18px 0; }
.careers-admin-job h3 { margin:6px 0 12px; overflow-wrap:anywhere; font-size:1rem; }
.careers-admin-job button { border:0; background:none; color:var(--wine); padding:8px 10px 8px 0; font-size:.8rem; font-weight:750; }
.careers-admin-auth { max-width:620px; margin-inline:auto; }
.careers-admin-auth .form-grid { grid-template-columns:1fr; }
.careers-admin-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:24px; }
.careers-admin-panel .button { margin-bottom:8px; }
.careers-admin-panel details { margin-top:26px; }
.careers-admin-panel summary { cursor:pointer; font-weight:750; }
.careers-admin-panel form label { display:block; font-size:.8rem; margin:14px 0; }
.careers-admin-heading { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:20px; }
.careers-page .careers-help { font-size:.78rem; line-height:1.6; color:var(--ink-soft); font-weight:400; display:block; margin:6px 0 0; }
@media(max-width:900px) { .careers-page .careers-intro,.careers-admin-layout,.careers-page .careers-application { grid-template-columns:1fr; } .careers-aside { padding:25px; } }
@media(max-width:600px) { .careers-section-heading { align-items:flex-start; flex-direction:column; gap:0; } .careers-badge { margin-bottom:12px; } .careers-page .form-grid { grid-template-columns:1fr; } .careers-page .hero-actions { display:flex; flex-wrap:wrap; gap:12px; } .careers-page .hero-actions .button { width:100%; } .careers-admin-actions .button { width:100%; } }
@media(prefers-reduced-motion:reduce) { .careers-page * { scroll-behavior:auto !important; } }

html[data-section] .careers-page .button-primary { color:#fff; background:var(--gielle-wine-glass,#571f26); border-color:var(--wine,#571f26); }
html[data-section] .careers-page .button-primary:hover { background:#6c2c39; }

.careers-template-picker { margin:24px 0; padding:20px; background:#f4f6f6; border-radius:10px; }
.careers-template-picker label { font-weight:750; font-size:.85rem; }
.careers-template-picker .button { margin-top:12px; }

.careers-job-detail { max-width:1000px; margin-inline:auto; }
.careers-job-detail h1 { font-size:clamp(2rem,4vw,3.4rem); line-height:1.16; overflow-wrap:anywhere; margin:12px 0 22px; }
.careers-job-detail h2 { font-size:1.25rem; margin-top:30px; }
.careers-breadcrumb { margin-bottom:24px; font-size:.85rem; }
.careers-breadcrumb a { text-underline-offset:3px; }
.job-card h3 a { color:inherit; text-decoration:none; }
.job-card h3 a:hover { color:var(--wine); text-decoration:underline; text-underline-offset:4px; }
