/* Contact only; retain the page's OSDS3D tokens and the native CF7 validation. */
.osds-contact-enabled .entry-content>.wp-block-group.osds-next{padding:0}
.osds-contact-enabled .osn-contact-grid.osn-wrap{width:min(1120px,100%)}
.osds-contact-photos{--osdc-navy:var(--osn-blue,#1a2e44);--osdc-gold:#a9803f;--osdc-paper:var(--osn-paper,#fcfaf6);--osdc-line:var(--osn-line,#e6dccf);margin-top:26px;color:var(--osn-ink,#1a1a1a)}
.osds-contact-photos *{box-sizing:border-box}
.osds-contact-photos .wpcf7{margin:0}
.osds-contact-photos .wpcf7-form p{margin:0}
.osds-contact-photos .osds-contact-fields{display:grid;gap:22px}
.osds-contact-photos .osds-contact-fields>label,.osds-contact-photos .osds-contact-row>label{display:block;margin:0;font-size:14px;font-weight:600;line-height:1.55;color:var(--osdc-navy)}
.osds-contact-photos .osds-contact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.osds-contact-photos .wpcf7-form-control-wrap{display:block;margin-top:8px;min-width:0}
.osds-contact-photos :is(input[type=text],input[type=email],select,textarea){width:100%;max-width:100%;min-height:48px;border:1px solid #84909b;border-radius:10px;padding:12px 14px;background:#fff;color:var(--osdc-navy);font:400 16px/1.5 Montserrat,Arial,sans-serif;box-shadow:none}
.osds-contact-photos textarea{height:160px;min-height:156px;resize:vertical}
.osds-contact-photos :is(input,select,textarea,button):focus-visible{outline:3px solid #547ba0;outline-offset:3px}
.osds-contact-photos :is(input,select,textarea):focus{border-color:var(--osdc-navy)}
.osds-contact-photos .osds-contact-optional{font-size:12px;font-weight:400;color:#59636a}
.osds-contact-photos .osds-contact-required{color:#81602c}
.osds-contact-photos .osds-contact-upload{padding:22px;border:1px solid var(--osdc-line);border-radius:16px;background:var(--osdc-paper);min-width:0}
.osds-contact-photos .osds-contact-upload-heading{display:flex;gap:12px;align-items:center;margin-bottom:18px}
.osds-contact-photos .osds-contact-upload-heading h3{margin:0 0 4px;font-size:20px;line-height:1.3;font-family:Georgia,serif;color:var(--osdc-navy)}
.osds-contact-photos .osds-contact-upload-heading p{font-size:13px;line-height:1.5;color:#59636a}
.osds-contact-photos .osds-contact-paperclip{display:grid;place-items:center;flex:none;width:38px;height:38px;color:#84602b;background:#eee4d3;border-radius:10px;font-size:23px}
.osds-contact-photos .osds-contact-drop{padding:24px 16px;text-align:center;border:1.5px dashed #bca276;border-radius:12px;background:white;transition:background .12s,border-color .12s;min-width:0}
.osds-contact-photos .osds-contact-drop.is-over{background:#f0e6d7;border-color:var(--osdc-navy)}
.osds-contact-photos .osds-contact-drop-mark{display:block;font-size:30px;line-height:1;color:#8b6932;margin-bottom:10px}
.osds-contact-photos .osds-contact-drop p{font-size:12px;line-height:1.55;color:#59636a;margin:0 0 14px}
.osds-contact-photos .osds-contact-drop p.osds-contact-drop-title{font-size:14px;font-weight:600;color:var(--osdc-navy);margin-bottom:5px}
.osds-contact-photos button.osds-contact-choose{min-height:44px;max-width:100%;padding:11px 17px;margin:0;border:1px solid var(--osdc-navy);border-radius:8px;background:var(--osdc-navy);color:#fff;font:600 13px/1.5 Montserrat,Arial,sans-serif;text-transform:none;white-space:normal;cursor:pointer;box-shadow:none}
.osds-contact-photos button.osds-contact-choose:hover{background:#2f4a6d;color:#fff}
.osds-contact-photos button:disabled{cursor:wait;opacity:.65}
.osds-contact-photos .osds-contact-files{padding:0;margin:14px 0 0;list-style:none;display:grid;gap:8px}
.osds-contact-photos .osds-contact-files:empty{display:none}
.osds-contact-photos .osds-contact-files li{display:flex;align-items:center;gap:10px;border:1px solid var(--osdc-line);border-radius:10px;background:white;padding:8px;min-width:0;margin:0}
.osds-contact-photos .osds-contact-thumb{display:grid;place-items:center;flex:0 0 44px;height:44px;overflow:hidden;border-radius:6px;color:#735326;background:#f4eddf;font-size:10px;font-weight:700}
.osds-contact-photos .osds-contact-thumb img{width:100%;height:100%;object-fit:cover}
.osds-contact-photos .osds-contact-file-description{flex:1;min-width:0;display:grid;gap:2px}
.osds-contact-photos .osds-contact-file-description strong{font-size:12px;line-height:1.4;color:var(--osdc-navy);overflow-wrap:anywhere;font-weight:600}
.osds-contact-photos .osds-contact-file-description small{font-size:11px;line-height:1.4;color:#59636a}
.osds-contact-photos button.osds-contact-remove{display:grid;place-items:center;flex:0 0 44px;min-height:44px;padding:0;border:0;border-radius:6px;color:var(--osdc-navy);background:#f5f2ed;cursor:pointer;font:400 24px/1 Arial,sans-serif;box-shadow:none}
.osds-contact-photos button.osds-contact-remove:hover{background:#eee2d1}
.osds-contact-photos p.osds-contact-upload-state{margin-top:12px;color:#51616b;font-size:12px;line-height:1.5}
.osds-contact-photos p.osds-contact-upload-error{margin-top:10px;color:#963719;font-size:13px;font-weight:600;line-height:1.5}
.osds-contact-photos p.osds-contact-upload-error:empty{display:none}
.osds-contact-photos p.osds-contact-limit{margin-top:14px;font-size:12px;line-height:1.6;color:#4e575e}
.osds-contact-photos p.osds-contact-hint{margin-top:12px;padding-top:12px;border-top:1px solid var(--osdc-line);font-size:12px;line-height:1.6;color:#59636a}
.osds-contact-photos p.osds-contact-privacy{font-size:12px;line-height:1.7;color:#59636a}
.osds-contact-photos .osds-contact-native{display:grid;gap:14px}
.osds-contact-photos .osds-contact-native input{max-width:100%;font-size:14px}
/* Collapse only the controls, never validation messages returned by CF7. */
.osds-contact-photos [data-enhanced=true] .osds-contact-file-slot label{font-size:0;line-height:0}
.osds-contact-photos [data-enhanced=true] .osds-contact-native{gap:0}
.osds-contact-photos [data-enhanced=true] .osds-contact-file-slot{font-size:0;line-height:0}
.osds-contact-photos [data-enhanced=true] .osds-contact-native input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.osds-contact-photos [data-enhanced=true] .osds-contact-native .wpcf7-form-control-wrap{margin:0}
.osds-contact-photos .osds-contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.osds-contact-photos input.wpcf7-submit{width:100%;min-height:50px;border:1px solid var(--osdc-navy);border-radius:10px;padding:14px 22px;background:var(--osdc-navy)!important;color:white!important;font:600 15px/1.45 Montserrat,Arial,sans-serif;text-transform:none;cursor:pointer;box-shadow:none}
.osds-contact-photos input.wpcf7-submit:hover{background:#2f4a6d!important}
.osds-contact-photos .wpcf7-not-valid-tip{display:block;margin-top:6px;font:400 13px/1.5 Montserrat,Arial,sans-serif;color:#963719}
.osds-contact-photos .wpcf7-not-valid{border-color:#a64623}
.osds-contact-photos .wpcf7-response-output{margin:20px 0 0!important;padding:16px!important;border-radius:10px;font-size:14px;line-height:1.6}
.osds-contact-photos .wpcf7-spinner{margin:8px auto 0}
.osds-contact-photos .osds-contact-submit{position:relative}
.osds-contact-photos .osds-contact-submit .wpcf7-spinner{position:absolute;right:12px;top:calc(50% - 12px);margin:0}
@media(max-width:1050px){.osds-contact-photos .osds-contact-row{grid-template-columns:1fr;gap:22px}}
@media(max-width:560px){.osds-contact-photos .osds-contact-upload{padding:17px 14px}.osds-contact-photos .osds-contact-drop{padding:20px 12px}.osds-contact-photos .osds-contact-upload-heading h3{font-size:19px}.osds-contact-photos button.osds-contact-choose{width:100%}}
@media(prefers-reduced-motion:reduce){.osds-contact-photos .osds-contact-drop{transition:none}}
