
:root{
  --diaz-bg:#f7f2e9;
  --diaz-card:#fffdf9;
  --diaz-text:#2b2722;
  --diaz-muted:#746c62;
  --diaz-accent:#b98a43;
  --diaz-accent-dark:#8e672f;
  --diaz-line:#ded4c5;
  --diaz-link:#0b57d0;
}
.diaz-photo-page{background:var(--diaz-bg);color:var(--diaz-text);padding:48px 20px 80px;font-family:inherit}
.diaz-photo-page a:not(.diaz-photo-download-button){color:var(--diaz-link);text-decoration:underline}
.diaz-photo-ad,.diaz-photo-box{max-width:980px;margin:0 auto}
.diaz-photo-ad{margin-bottom:34px}
.diaz-photo-ad img{display:block;max-width:100%;height:auto;margin:auto;border-radius:18px}
.diaz-photo-ad-placeholder{min-height:180px;border:1px dashed #c8bba8;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#efe6d8;color:#7d7162}
.diaz-photo-box{background:var(--diaz-card);border:1px solid var(--diaz-line);border-radius:26px;padding:clamp(28px,5vw,64px);box-shadow:0 18px 55px rgba(75,55,30,.07)}
.diaz-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--diaz-accent-dark);font-weight:700}
.diaz-photo-box h1{font-family:inherit;font-size:clamp(36px,6vw,68px);line-height:1.02;margin:12px 0 18px;font-weight:600}
.diaz-photo-intro{font-size:18px;color:var(--diaz-muted);max-width:650px}
.diaz-photo-form{margin-top:34px}
.diaz-photo-form label{display:block;font-weight:700;margin-bottom:9px}
.diaz-photo-form-row{display:flex;gap:12px}
.diaz-photo-form input{flex:1;min-width:0;padding:15px 17px;border:1px solid #bfb3a2;border-radius:12px;background:white;font:inherit;font-size:18px}
.diaz-photo-form button,.diaz-photo-download-button,.diaz-postcard-tool button{border:0;border-radius:12px;padding:15px 24px;background:var(--diaz-accent);color:#fff!important;text-decoration:none!important;font:inherit;font-weight:700;cursor:pointer}
.diaz-photo-form button:hover,.diaz-photo-download-button:hover{background:var(--diaz-accent-dark)}
.diaz-photo-message{margin-top:20px;padding:14px 16px;background:#fff5e5;border:1px solid #e8cfaa;border-radius:12px}
.diaz-photo-result{margin-top:42px;text-align:center}
.diaz-photo-frame{display:inline-block;background:#fff;padding:clamp(12px,2.2vw,28px);padding-bottom:clamp(45px,6vw,76px);box-shadow:0 12px 34px rgba(0,0,0,.12);max-width:100%}
.diaz-photo-frame img{display:block;max-width:100%;height:auto}
.diaz-photo-brand{margin-top:18px;font-size:15px;letter-spacing:.04em;color:#333}
.diaz-photo-download-button{display:inline-block;margin-top:26px}
.diaz-postcard-tool{max-width:760px;margin:30px auto;text-align:center}
.diaz-postcard-tool canvas{display:block;max-width:100%;border:1px solid #ddd;margin:20px auto}
.diaz-admin-wrap{max-width:1200px}
.diaz-admin-card{background:#fff;border:1px solid #ddd;padding:22px;margin:22px 0;border-radius:10px}
.diaz-photo-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.diaz-admin-photo{background:#fff;border:1px solid #ddd;border-radius:10px;overflow:hidden}
.diaz-admin-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.diaz-admin-photo-body{padding:14px}
.diaz-code-label{font-size:12px;color:#666}
.diaz-code{font-size:26px;font-weight:700;letter-spacing:.08em;margin:3px 0}
.diaz-status{font-size:13px}
@media(max-width:640px){
  .diaz-photo-page{padding:24px 14px 50px}
  .diaz-photo-box{border-radius:18px}
  .diaz-photo-form-row{display:block}
  .diaz-photo-form button{width:100%;margin-top:10px}
}
