/* Shared photo tools: the same calm green palette, spacing and controls as FileMelon's image tools. */
body.photo-tool>main,body.photo-directory>main{max-width:1160px;padding-top:28px;padding-bottom:28px}
.photo-tool .intro,.photo-directory .intro{margin:0 0 20px;max-width:900px}.photo-tool .intro h1,.photo-directory .intro h1{font-size:clamp(28px,4vw,38px);line-height:1.2;letter-spacing:-.7px;margin:7px 0 10px;color:#203c2f}.photo-tool .intro p,.photo-directory .intro p{font-size:16px;line-height:1.6;color:#637369;margin:0}.photo-tool .eyebrow{font-size:11px;letter-spacing:1px}.photo-tool .tool-links{margin:0 0 18px;font-size:14px}.photo-tool .photo-specs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.photo-tool .photo-specs span{background:#edf3e7;border:1px solid #dce5d8;border-radius:8px;padding:7px 12px;font-size:13px;color:#3f7056}.photo-tool .photo-notice{font-size:13px;line-height:1.6;color:#637369;margin:0 0 20px;max-width:900px}.photo-tool .workspace{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:24px;align-items:start;background:transparent;border:0;box-shadow:none;padding:0}.photo-tool .controls,.photo-tool .preview-panel{min-width:0;background:#fff;border:1px solid #dce5d8;border-radius:14px;padding:24px;box-sizing:border-box}.photo-tool .controls h2,.photo-tool .preview-panel h2{font-size:19px;line-height:1.35;margin:0 0 15px}.photo-tool .controls h2:not(:first-child){margin-top:24px}.photo-tool label{font-size:14px;color:#405e4b}.photo-tool input:not([type=range]):not([type=checkbox]):not([type=file]),.photo-tool select{min-height:46px;max-width:100%;box-sizing:border-box;border-radius:10px}.photo-tool .button{min-height:46px;border-radius:10px;font-size:15px}.photo-tool #choose-photo,.photo-tool #prepare-photo{width:100%}.photo-tool #prepare-photo{margin-top:18px}.photo-tool .hint,.photo-tool .upload-assurance,.photo-tool .image-rights-note{font-size:13px;line-height:1.6}.photo-tool .crop-controls label{display:block;margin-top:14px}.photo-tool .passport-frame{display:flex;justify-content:center;align-items:center;background:#f7f9f3;border:1px solid #e1e7da;border-radius:10px;padding:16px;min-height:280px;overflow:hidden}.photo-tool #crop-preview{display:block;max-width:100%;max-height:520px;width:auto;height:auto;object-fit:contain;border:0;border-radius:3px}.photo-tool .photo-download-panel{margin-top:18px;padding:18px;background:#edf3e7;border:1px solid #dce5d8;border-radius:10px}.photo-tool .photo-download-panel[hidden]{display:none}.photo-tool .photo-download-panel h2{font-size:18px}.photo-tool .photo-download-panel .button{width:100%;box-sizing:border-box;text-align:center}.photo-tool .photo-progress{display:none}.photo-tool .photo-rules{margin-top:16px;border:1px solid #dce5d8;border-radius:12px;background:#fff;padding:16px 20px;font-size:14px;line-height:1.65;color:#637369}.photo-rules summary{font-weight:600;color:#3f7056;cursor:pointer}.photo-rules h2{font-size:18px;margin-top:20px}.photo-tool .photo-requirements{margin-bottom:16px;font-size:13px}.photo-tool #photo-name{overflow-wrap:anywhere}.photo-tool #photo-reset{margin-top:14px}
.photo-country-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.photo-country-card{display:flex;align-items:center;gap:14px;padding:22px;background:#fff;border:1px solid #dce5d8;border-radius:14px;text-decoration:none;color:#203c2f;box-sizing:border-box;min-height:114px;box-shadow:0 3px 12px #25482c06}.photo-country-card:hover{border-color:#8daa82}.photo-country-code{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:10px;background:#edf3e7;color:#3f7056;font-size:14px;font-weight:600}.photo-country-card strong{display:block;font-size:18px;line-height:1.35}.photo-country-card small{display:block;font-size:13px;line-height:1.5;color:#637369;margin-top:6px}.photo-country-arrow{margin-left:auto;flex:0 0 16px;color:#3f7056}.photo-country-group{display:block;padding:0}.photo-country-group summary{display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;padding:22px;min-height:112px;box-sizing:border-box}.photo-country-group summary::-webkit-details-marker{display:none}.photo-country-group::details-content{display:contents}.photo-country-apps{border-top:1px solid #e1e7da;margin:0 20px 12px}.photo-country-apps a{display:flex;justify-content:space-between;gap:12px;padding:13px 2px;font-size:14px;color:#3f7056;text-decoration:none;border-bottom:1px solid #edf1e8}.photo-country-apps a:last-child{border:0}.photo-country-apps a:hover{text-decoration:underline}.photo-directory-note{font-size:13px;line-height:1.6;color:#637369;margin:20px 0 0}.photo-country-card:focus-visible,.photo-country-group summary:focus-visible,.photo-country-apps a:focus-visible{outline:3px solid #53926a;outline-offset:3px}
@media(max-width:850px){.photo-tool .workspace{grid-template-columns:1fr;gap:16px}.photo-country-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-tool #crop-preview{max-height:460px}}@media(max-width:600px){.photo-country-grid{grid-template-columns:1fr;gap:12px}.photo-country-card{min-height:96px;padding:18px}.photo-country-group{padding:0}.photo-country-group summary{min-height:94px;padding:18px}.photo-tool .controls,.photo-tool .preview-panel{padding:20px}.photo-tool .passport-frame{padding:12px;min-height:220px}.photo-tool .photo-rules{padding:15px 18px}.photo-tool #crop-preview{max-height:430px}}
/* Override older compact-photo rules so previews stay large and aligned. */
body.site-layout.photo-tool .workspace{border:0;background:transparent;box-shadow:none;overflow:visible;border-radius:0;align-items:start}
body.site-layout.photo-tool .workspace>.controls,body.site-layout.photo-tool .workspace>.preview-panel{background:#fff;border:1px solid #dce5d8;border-radius:14px;position:static;align-self:start;min-height:0;padding:24px}
body.site-layout.photo-tool .workspace .passport-frame{width:100%;max-width:none;margin:0;box-shadow:none;outline:0;border:1px solid #e1e7da;box-sizing:border-box}
body.site-layout.photo-tool .workspace .passport-frame canvas{max-height:520px;max-width:100%;width:auto;height:auto}
body.site-layout.photo-tool .intro{max-width:900px}
@media(max-width:850px){body.site-layout.photo-tool .workspace .passport-frame canvas{max-height:430px}}@media(max-width:600px){body.site-layout.photo-tool .workspace>.controls,body.site-layout.photo-tool .workspace>.preview-panel{padding:20px}}
.photo-country-group summary .photo-country-arrow{display:grid;place-items:center;flex-basis:30px;height:30px;border:1px solid #dce5d8;border-radius:8px;background:#f7f9f3;font-size:16px}
.photo-tool .controls input[type=range]{accent-color:#3f7056}
.photo-country-group:not([open])>.photo-country-apps{display:none}
.photo-country-group{position:relative}.photo-country-group[open]{z-index:2}
.photo-country-group .photo-country-apps{position:absolute;top:calc(100% + 8px);left:0;right:0;margin:0;padding:8px 18px;background:#fff;border:1px solid #dce5d8;border-radius:12px;box-shadow:0 8px 24px #25482c12}
.photo-tool .photo-download-panel:has(h2)>h3{display:none}
@media(max-width:600px){.photo-country-group .photo-country-apps{position:static;margin:0 18px 10px;padding:0;background:transparent;border:0;border-top:1px solid #e1e7da;border-radius:0;box-shadow:none}}
body.photo-tool[data-application] .photo-original-meta,body.photo-tool[data-application] .photo-output-estimate{display:none}

/* Application choices expand inside the card on every screen. */
.photo-country-group .photo-country-apps{position:static;top:auto;left:auto;right:auto;margin:0 20px 14px;padding:0;background:transparent;border:0;border-top:1px solid #e1e7da;border-radius:0;box-shadow:none}
.photo-tool .tool-links{display:flex;flex-wrap:wrap;gap:12px 22px}
.photo-country-group[open] summary .photo-country-arrow{transform:rotate(180deg)}

/* Keep country cards equal-sized; choices occupy a complete row. */
.photo-country-grid-enhanced .photo-country-group>.photo-country-apps{display:none}
.photo-application-panel{grid-column:1/-1;position:relative;padding:20px;background:#fff;border:1px solid #b8cdb0;border-radius:14px;box-sizing:border-box;min-width:0}
.photo-application-panel[hidden]{display:none}
.photo-application-panel h2{font-size:18px;color:#203c2f;margin:0 70px 18px 0;line-height:1.4}
.photo-application-close{position:absolute;right:18px;top:14px;padding:10px;border:0;border-radius:8px;background:#f3f7ef;color:#3f7056;font:inherit;font-size:13px;cursor:pointer}
.photo-application-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.photo-application-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 16px;border:1px solid #dce5d8;border-radius:9px;background:#f7f9f3;color:#3f7056;text-decoration:none;font-size:14px;box-sizing:border-box}
.photo-application-links a:hover{background:#edf3e7;border-color:#8daa82}
.photo-application-links a:focus-visible,.photo-application-close:focus-visible{outline:3px solid #53926a;outline-offset:3px}
@media(max-width:600px){.photo-application-links{grid-template-columns:1fr}.photo-application-panel{padding:18px}.photo-application-panel h2{font-size:16px}}
.photo-country-grid-enhanced{align-items:stretch}.photo-country-grid-enhanced .photo-country-group>summary{height:100%}.photo-country-grid-enhanced .photo-country-card{min-height:114px}
