/* 結婚式サービス共通デザイントークン & コンポーネント
   profile-movie / guest-message-video / wedding-website で共通利用 */

:root{
  --wd-bg:#f7f0ea;
  --wd-panel:#fffefc;
  --wd-ink:#332c27;
  --wd-sub:#93877c;
  --wd-line:#ece1d4;
  --wd-accent:#c17b8a;
  --wd-accent-2:#d8b975;
  --wd-font-serif:"Hiragino Mincho ProN","Yu Mincho",serif;
  --wd-font-sans:system-ui,-apple-system,"Hiragino Kaku Gothic ProN",sans-serif;
}

*{box-sizing:border-box;}

body{
  margin:0;
  font-family:var(--wd-font-sans);
  background:
    radial-gradient(circle at 10% 0%, rgba(216,185,117,.08), transparent 40%),
    radial-gradient(circle at 90% 100%, rgba(193,123,138,.08), transparent 40%),
    var(--wd-bg);
  color:var(--wd-ink);
}

.wd-header{
  padding:22px 30px;border-bottom:1px solid var(--wd-line);background:var(--wd-panel);
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
}
.wd-header h1{
  font-size:19px;margin:0;font-family:var(--wd-font-serif);letter-spacing:.08em;
  background:linear-gradient(90deg,var(--wd-accent),var(--wd-accent-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.wd-header span{font-size:12px;color:var(--wd-sub);}

.wd-section-label{
  font-size:11px;color:var(--wd-accent);text-transform:uppercase;letter-spacing:.14em;margin:26px 0 12px;
  display:flex;align-items:center;gap:8px;
}
.wd-section-label::after{content:"";flex:1;height:1px;background:var(--wd-line);}
.wd-section-label:first-child{margin-top:0;}

label.wd-label{display:block;font-size:12px;color:var(--wd-sub);margin:10px 0 4px;}

.wd-input, textarea.wd-input, select.wd-input,
input[type=text].wd-input, input[type=date].wd-input{
  width:100%;padding:9px 11px;border:1px solid var(--wd-line);border-radius:8px;font-size:13px;
  font-family:inherit;background:#fffefc;color:var(--wd-ink);
}
.wd-input:focus{outline:none;border-color:var(--wd-accent);}
textarea.wd-input{resize:vertical;min-height:52px;}

.wd-btn-primary{
  padding:12px 18px;border:none;border-radius:10px;
  background:linear-gradient(90deg,var(--wd-accent),var(--wd-accent-2));color:#fff;font-size:14px;font-weight:700;
  cursor:pointer;letter-spacing:.05em;box-shadow:0 8px 20px rgba(193,123,138,.3);
}
.wd-btn-primary:hover{filter:brightness(1.05);}

.wd-btn-text{
  display:block;background:none;border:none;font-size:11px;color:var(--wd-sub);
  text-decoration:underline;cursor:pointer;margin:10px auto 0;
}

.wd-btn-ghost{
  border:1.5px solid var(--wd-line);background:#fff;color:var(--wd-sub);border-radius:8px;
  padding:8px 14px;font-size:12px;cursor:pointer;
}
.wd-btn-ghost:hover{border-color:var(--wd-accent);color:var(--wd-accent);}

.wd-card{background:var(--wd-panel);border:1px solid var(--wd-line);border-radius:10px;padding:16px 18px;}

.wd-file-drop{
  border:1.5px dashed #d8c4b0;border-radius:10px;padding:16px;text-align:center;font-size:12px;color:var(--wd-sub);
  cursor:pointer;background:#fdf9f4;
}
.wd-file-drop:hover{border-color:var(--wd-accent);}

.wd-chip{
  font-size:10px;padding:3px 9px;border-radius:20px;background:#f1e3c8;color:#8a6d1d;font-weight:600;
}

@media (max-width:900px){
  .wd-layout-2col{grid-template-columns:1fr !important;}
  .wd-row2{grid-template-columns:1fr !important;}
}
