*{
    margin:0;
    padding:0;
    box-sizing: border-box;
}
body{
    font-family: Georgia, serif;
    background: #ece7df;
    padding:30px 15px;
}
.wrap{
    max-width: 600px;
    margin: 0 auto;
    width:100%; 
}
.panel{
    background:#fffdf9;
    border:1px solid #ddd5c8;
    padding:30px;

}
.panel h1{
    font-size:26px;
    color:#2f2a24;
    text-align: center;
    margin-bottom: 6px;
}
.hint{
    font-family: Arial, sans-serif;
    font-size:14px;
    color:#8a7f70;
    text-align:center;
    margin-bottom: 24px;
    
}
.field{
    margin-bottom:16px;
}
.field label{
    display:block;
    font-family: Arial, sans-serif;
    font-size: 13px;
    color:#5a4f42;
    margin-bottom:5px;

}
.field input, .field textarea{
    width:100%;
    padding:10px 12px;
    border:1px solid #cfc5b6;
    background:#fff;
    font-family: Arail, sans-serif;
    font-size:15px;
    color:#2f2a24;

}
.field input:focus, .field textarea:focus{
    outline:none;
    border-color: #8a6d3b;
}
.field textarea{
    min-height: 70px;
    resize:vertical;
}
.two-col{
    display:flex;
    gap:12px;

}
.two-col .field{
    flex:1;
}
.main-btn{
    width:100%;
    padding:12px;
    background:sienna;
    color:#fff;
    border:none;
    font-family:Arial, sans-serif;
    font-size: 15px;
    cursor:pointer;
    margin-top: 6px;
}
.main-btn:hover{
    background:saddlebrown;
}
.plain-btn{
    width:100%;
    padding:11px;
    background:linen;
    color:#4a4034;
    border: 1px solid #d6cdbf;
    font-family: Arial, sans-serif;
    font-size:14px;
    cursor:pointer;
    margin-top:10px;
}
.plain-btn:hover{
    background:gainsboro;
}
.invite-card{
    background:floralwhite;
    border:1px solid tan;
    padding:34px 26px;
    text-align:center;
}
.top-tag{
    font-family:Arial, sans-serif;
    font-size:11px;
    letter-spacing:3px;
    color:peru;
    text-transform: uppercase;
    margin-bottom:14px;
}
.invite-card h2{
    font-size:27px;
    color:#3a3228;
    line-height: 1.3;
    margin-bottom: 6px;
}
.by-line{
    font-style: italic;
    font-size: 14px;
    color:gray;
    margin-bottom:22px;
}
.line-item{
    background:oldlace;
    border: 1px solid #e5dccb;
    padding:12px 14px;
    margin-bottom: 10px;
    text-align: left;
}
.line-item .tag{
    display:block;
    font-family: Arial, sans-serif;
    font-size: 10px;
    letter-spacing: 1;
    color:peru;
    text-transform: uppercase;
    margin-bottom:3px;
}
.line-item .val{
    font-size:15px;
    color:#3a3228;
    word-break: break-word;
}
.note{
    font-style:italic;
    font-size:15px;
    color:dimgray;
    line-height: 1.6;
    margin:20px 0;
}
.share-area{
    display:none;
    background:linen;
    border: 1px solid #ddd5c8;
    padding:15px;
    margin-top: 20px;

}
.share-area.on{
    display:block;
}
.share-area p{
    font-family: Arial, sans-serif;
    font-size: 13px;
    color:darkgray;
    margin-bottom: 8px;
}
.link-holder {
    display:flex;
    gap:8px;
}
.link-holder input{
    flex:1;
    padding:9px 10px;
    border:1px solid silver;
    background:white;
    font-family: Arial, sans-serif;
    font-size: 12px;
    color:#4a4034;
}
.link-holder button{
    padding:0 18px;
    background:sienna;
    color:white;
    border:none;
    font-family: Arial, sans-serif;
    font-size: 13px;
    cursor:pointer;
}
.link-holder button:hover{
    background:saddlebrown;
}
.copied{
    display:none;
    font-family: Arial,  sans-serif;
    font-size: 12px;
    color:forestgreen;
    margin-top:8px;
}
.copied.on{
    display:block;
}
@media (max-width: 480px) {
    .panel { padding: 20px; }
    .two-col { display: block; }
    .invite-card h2 { font-size: 22px; }
    .link-holder { display: block; }
    .link-holder button { width: 100%; padding: 10px; margin-top: 8px; }
}