/**
 * Submit listing page — 1:1 with html/submit.html + html/style.css (submit + reveal).
 */

body.oc365-html-submit{
--oc365-submit-font-heading:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
--oc365-submit-font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
--oc365-submit-competition:#f43f5e;
--oc365-submit-residency:#059669;
}

/* Cancel legacy forms.css card wrapper on the form element */
body.oc365-html-submit #submit-listing-form.submit-listing-form{
width:100%;
margin:0;
padding:0;
background:transparent;
border:none;
border-radius:0;
box-shadow:none;
}

body.oc365-html-submit .submit-hero{
padding:60px 0 100px;
background:var(--oc365-color-bg, #fafafa);
}

body.oc365-html-submit .submit-hero > .container{
max-width:1280px;
padding:0 24px;
margin-left:auto;
margin-right:auto;
box-sizing:border-box;
}

body.oc365-html-submit .submit-title{
font-family:var(--oc365-submit-font-heading);
font-size:2.5rem;
font-weight:800;
letter-spacing:-0.02em;
line-height:1.25;
color:var(--oc365-color-text, #111827);
margin:0 0 12px;
}

body.oc365-html-submit .submit-subtitle{
font-family:var(--oc365-submit-font-body);
font-size:1.1rem;
font-weight:400;
line-height:1.6;
color:var(--oc365-color-text-muted, #6b7280);
margin:0 0 40px;
max-width:600px;
}

body.oc365-html-submit .submit-form-notice{
margin-bottom:24px;
padding:12px 16px;
border-radius:6px;
font-family:var(--oc365-submit-font-body);
font-size:0.9rem;
line-height:1.5;
}

body.oc365-html-submit .submit-form-notice.form-notice--success{
background:#ecfdf5;
border:1px solid #a7f3d0;
color:#065f46;
}

body.oc365-html-submit .submit-form-notice.form-notice--error{
background:#fef2f2;
border:1px solid #fecaca;
color:#991b1b;
}

body.oc365-html-submit .submit-form-success-panel{
margin-bottom:24px;
}

body.oc365-html-submit .submit-listing-form.is-hidden{
display:none;
}

body.oc365-html-submit .submit-form-notices:empty{
display:none;
margin:0;
}

/* --- submit-form-layout (html/style.css) --- */
body.oc365-html-submit .submit-form-layout{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:32px;
border:1px solid var(--oc365-color-border, #e5e7eb);
border-radius:10px;
background-color:var(--oc365-color-card, #fff);
padding:32px;
margin-bottom:40px;
box-sizing:border-box;
}

body.oc365-html-submit .submit-col{
display:flex;
flex-direction:column;
}

body.oc365-html-submit .submit-col:not(:last-child){
border-right:1px solid var(--oc365-color-border, #e5e7eb);
padding-right:32px;
}

body.oc365-html-submit .submit-col:last-child{
padding-left:0;
}

/* --- form groups (html/style.css) --- */
body.oc365-html-submit #submit-listing-form .form-group{
display:block;
margin-bottom:24px;
position:relative;
min-width:0;
gap:0;
}

body.oc365-html-submit #submit-listing-form .form-group--apply-link{
margin-top:32px;
}

body.oc365-html-submit #submit-listing-form .form-group--instagram{
margin-top:16px;
}

body.oc365-html-submit #submit-listing-form .form-label{
display:block;
font-family:var(--oc365-submit-font-heading);
font-weight:600;
font-size:0.9rem;
line-height:1.4;
color:var(--oc365-color-text, #111827);
margin-bottom:8px;
}

body.oc365-html-submit #submit-listing-form .form-label .required-star,
body.oc365-html-submit #submit-listing-form .form-label .required-star{
color:var(--oc365-submit-competition);
margin-left:2px;
}

body.oc365-html-submit #submit-listing-form .form-label--fee-amount{
font-size:0.8rem;
margin-top:8px;
margin-bottom:8px;
}

body.oc365-html-submit #submit-listing-form .form-field-hint-inline{
font-weight:400;
color:var(--oc365-color-text-muted, #6b7280);
font-size:0.875em;
}

body.oc365-html-submit #submit-listing-form .form-field-hint{
display:block;
font-family:var(--oc365-submit-font-body);
font-size:0.8rem;
color:#9ca3af;
margin-top:-6px;
margin-bottom:8px;
}

body.oc365-html-submit #submit-listing-form .form-control{
display:block;
width:100%;
padding:12px 16px;
border:1px solid var(--oc365-color-border, #e5e7eb);
border-radius:6px;
font-family:var(--oc365-submit-font-body);
font-size:0.95rem;
line-height:1.4;
color:var(--oc365-color-text, #111827);
background-color:var(--oc365-color-bg, #fafafa);
box-sizing:border-box;
min-height:auto;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
-webkit-appearance:none;
appearance:none;
background-image:none;
}

body.oc365-html-submit #submit-listing-form .form-control:focus{
outline:none;
border-color:var(--oc365-color-text, #111827);
background-color:var(--oc365-color-card, #fff);
box-shadow:0 0 0 3px rgba(17, 24, 39, 0.05);
}

body.oc365-html-submit #submit-listing-form textarea.form-control{
resize:vertical;
min-height:120px;
height:auto;
}

body.oc365-html-submit #submit-listing-form .form-control--instagram{
min-height:140px;
}

body.oc365-html-submit #submit-listing-form input[type="date"].form-control{
cursor:pointer;
}

body.oc365-html-submit #submit-listing-form .filter-select-wrapper{
position:relative;
display:block;
}

body.oc365-html-submit #submit-listing-form .filter-select-wrapper select,
body.oc365-html-submit #submit-listing-form .filter-select-wrapper .filter-select{
width:100%;
padding-right:40px;
cursor:pointer;
background-image:none !important;
}

body.oc365-html-submit #submit-listing-form .filter-select-wrapper .select-arrow{
position:absolute;
right:14px;
top:50%;
transform:translateY(-50%);
pointer-events:none;
color:var(--oc365-color-text-muted, #6b7280);
}

body.oc365-html-submit #submit-listing-form .checkbox-group{
display:flex;
flex-direction:column;
gap:12px;
margin-top:8px;
}

body.oc365-html-submit #submit-listing-form .checkbox-label{
display:flex;
align-items:center;
gap:10px;
margin:0;
padding:0;
background:transparent;
border:none;
border-radius:0;
box-shadow:none;
font-family:var(--oc365-submit-font-body);
font-size:0.95rem;
cursor:pointer;
font-weight:400;
color:var(--oc365-color-text, #111827);
transition:none;
}

body.oc365-html-submit #submit-listing-form .checkbox-label:hover,
body.oc365-html-submit #submit-listing-form .checkbox-label:has(input:checked){
border:none;
box-shadow:none;
background:transparent;
}

body.oc365-html-submit #submit-listing-form .checkbox-label input[type="checkbox"],
body.oc365-html-submit #submit-listing-form .checkbox-label input[type="radio"]{
width:18px;
height:18px;
accent-color:var(--oc365-color-text, #111827);
cursor:pointer;
flex-shrink:0;
margin:0;
}

body.oc365-html-submit #submit-listing-form .fee-radio-container{
display:flex;
flex-direction:column;
gap:16px;
}

body.oc365-html-submit #submit-listing-form .fee-amount-wrapper{
margin-top:8px;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

body.oc365-html-submit #submit-listing-form .fee-amount-wrapper.hidden{
opacity:0.5;
pointer-events:none;
}

body.oc365-html-submit #submit-listing-form .upload-dropzone{
border:2px dashed var(--oc365-color-border, #e5e7eb);
border-radius:10px;
padding:40px 20px;
text-align:center;
cursor:pointer;
background-color:var(--oc365-color-bg, #fafafa);
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
min-height:220px;
}

body.oc365-html-submit #submit-listing-form .upload-dropzone.dragover{
border-color:var(--oc365-color-text, #111827);
background-color:#f1f5f9;
}

body.oc365-html-submit #submit-listing-form .upload-dropzone:focus-visible{
outline:2px solid var(--oc365-color-text, #111827);
outline-offset:2px;
}

body.oc365-html-submit #submit-listing-form .upload-icon-wrapper{
width:48px;
height:48px;
border-radius:50%;
background-color:var(--oc365-color-card, #fff);
display:flex;
align-items:center;
justify-content:center;
color:var(--oc365-color-text-muted, #6b7280);
margin-bottom:16px;
box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

body.oc365-html-submit #submit-listing-form .upload-dropzone:hover .upload-icon-wrapper{
color:var(--oc365-color-text, #111827);
transform:translateY(-2px);
}

body.oc365-html-submit #submit-listing-form .upload-text-bold{
font-family:var(--oc365-submit-font-heading);
font-weight:600;
font-size:0.95rem;
margin-bottom:4px;
color:var(--oc365-color-text, #111827);
}

body.oc365-html-submit #submit-listing-form .upload-text-muted{
font-family:var(--oc365-submit-font-body);
font-size:0.8rem;
color:#9ca3af;
}

body.oc365-html-submit #submit-listing-form .file-preview{
margin-top:12px;
font-family:var(--oc365-submit-font-body);
font-size:0.85rem;
color:var(--oc365-submit-residency);
font-weight:600;
}

body.oc365-html-submit #submit-listing-form .char-counter{
position:absolute;
right:12px;
bottom:-20px;
font-family:var(--oc365-submit-font-body);
font-size:0.75rem;
color:#9ca3af;
}

body.oc365-html-submit #submit-listing-form .char-counter.is-over{
color:var(--oc365-submit-competition);
}

body.oc365-html-submit #submit-listing-form .field-hint{
font-size:0.85rem;
color:var(--oc365-color-text-muted, #6b7280);
}

/* --- submit-form-bar --- */
body.oc365-html-submit .submit-form-bar{
display:flex;
justify-content:space-between;
align-items:center;
background-color:var(--oc365-color-card, #fff);
border:1px solid var(--oc365-color-border, #e5e7eb);
border-radius:10px;
padding:24px 32px;
}

body.oc365-html-submit .confirmation-wrapper{
display:flex;
align-items:center;
gap:12px;
}

body.oc365-html-submit .confirmation-wrapper input[type="checkbox"]{
width:18px;
height:18px;
accent-color:var(--oc365-color-text, #111827);
cursor:pointer;
flex-shrink:0;
margin:0;
}

body.oc365-html-submit .confirmation-text{
font-family:var(--oc365-submit-font-body);
font-size:0.95rem;
font-weight:500;
display:flex;
align-items:center;
gap:8px;
cursor:pointer;
color:var(--oc365-color-text, #111827);
line-height:1.4;
margin:0;
}

body.oc365-html-submit .confirmation-text svg{
color:#9ca3af;
flex-shrink:0;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

body.oc365-html-submit .confirmation-wrapper input:checked + .confirmation-text svg{
color:var(--oc365-color-text, #111827);
}

/* --- Buttons (html/style.css .btn) --- */
body.oc365-html-submit .submit-hero .btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:10px 20px;
font-family:var(--oc365-submit-font-heading);
font-weight:600;
font-size:0.95rem;
line-height:1.2;
border-radius:6px;
transition:0.25s cubic-bezier(0.4, 0, 0.2, 1);
cursor:pointer;
border:1px solid transparent;
text-decoration:none;
white-space:nowrap;
}

body.oc365-html-submit .submit-hero .btn-primary{
background-color:#0f172a;
color:#fff;
border-color:#0f172a;
}

body.oc365-html-submit .submit-hero .btn-primary:hover{
background-color:#1e293b;
transform:translateY(-1px);
box-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
color:#fff;
}

body.oc365-html-submit .submit-hero .btn-primary:active{
transform:scale(0.98);
}

body.oc365-html-submit .submit-hero .btn-primary:disabled{
opacity:0.6;
cursor:not-allowed;
transform:none;
box-shadow:none;
}

/* --- Scroll reveal (html/style.css) --- */
body.oc365-html-submit .reveal{
opacity:0;
transform:translateY(30px);
transition:opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
will-change:transform, opacity;
}

body.oc365-html-submit .reveal.active{
opacity:1;
transform:translateY(0);
}

body.oc365-html-submit .submit-form-bar.reveal{
transition-delay:0.1s;
}

body.oc365-html-submit .reveal-stagger > *{
opacity:0;
transform:translateY(20px);
transition:opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
will-change:transform, opacity;
}

body.oc365-html-submit .reveal-stagger.active > *{
opacity:1;
transform:translateY(0);
}

body.oc365-html-submit .reveal-stagger.active > *:nth-child(1){transition-delay:0.05s}
body.oc365-html-submit .reveal-stagger.active > *:nth-child(2){transition-delay:0.12s}
body.oc365-html-submit .reveal-stagger.active > *:nth-child(3){transition-delay:0.19s}

/* --- Responsive (html/style.css) --- */
@media (max-width:1024px){
body.oc365-html-submit .submit-form-layout{
grid-template-columns:1fr;
gap:0;
}

body.oc365-html-submit .submit-col{
padding-bottom:32px;
margin-bottom:32px;
}

body.oc365-html-submit .submit-col:not(:last-child){
border-right:none;
border-bottom:1px solid var(--oc365-color-border, #e5e7eb);
padding-right:0;
}

body.oc365-html-submit .submit-col:last-child{
padding-bottom:0;
margin-bottom:0;
}
}

@media (max-width:768px){
body.oc365-html-submit .submit-title{
font-size:2rem;
}

body.oc365-html-submit .submit-form-layout{
padding:24px;
}

body.oc365-html-submit .submit-form-bar{
flex-direction:column;
align-items:stretch;
gap:20px;
padding:20px;
}

body.oc365-html-submit .submit-form-bar .btn-primary{
width:100%;
}

body.oc365-html-submit #submit-listing-form .form-control{
font-size:16px;
}
}

@media (max-width:640px){
body.oc365-html-submit #submit-listing-form.submit-listing-form{
padding:0;
}
}


/**
 * Submit page typography — wins over typography-html + forms.css (literal html stacks).
 */

body.oc365-html-submit.oc365-html-typography .submit-title{
font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
font-size:2.5rem !important;
font-weight:800 !important;
letter-spacing:-0.02em !important;
line-height:1.25 !important;
}

body.oc365-html-submit.oc365-html-typography .submit-subtitle{
font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
font-size:1.1rem !important;
font-weight:400 !important;
letter-spacing:normal !important;
line-height:1.6 !important;
}

body.oc365-html-submit.oc365-html-typography #submit-listing-form .form-label,
body.oc365-html-submit.oc365-html-typography #submit-listing-form label.form-label{
font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
font-size:0.9rem !important;
font-weight:600 !important;
letter-spacing:normal !important;
}

body.oc365-html-submit.oc365-html-typography #submit-listing-form .form-control,
body.oc365-html-submit.oc365-html-typography #submit-listing-form select.form-control,
body.oc365-html-submit.oc365-html-typography #submit-listing-form select.postform{
font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
font-size:0.95rem !important;
font-weight:400 !important;
letter-spacing:normal !important;
}

body.oc365-html-submit.oc365-html-typography #submit-listing-form .checkbox-label,
body.oc365-html-submit.oc365-html-typography #submit-listing-form .confirmation-text{
font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
font-size:0.95rem !important;
font-weight:500 !important;
letter-spacing:normal !important;
}

body.oc365-html-submit.oc365-html-typography #submit-listing-form .checkbox-label{
font-weight:400 !important;
}

body.oc365-html-submit.oc365-html-typography .submit-hero .btn{
font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
font-size:0.95rem !important;
font-weight:600 !important;
}
