/* Keep price baselines equal when one service description wraps. */
.service{display:flex;flex-direction:column;min-width:0}
.service>.image-wrap{flex-shrink:0}
.service>.price{margin-top:auto}

.private-address{margin:0 0 26px;max-width:420px}

/* One gift card can contain several services and a personal message. */
.gift-preview-column{padding-top:25px}
.gift-preview-column.is-long{position:static}
.gift-preview-column .gift-stage{width:100%;padding:35px 10px 35px}
.gift-card.personal{aspect-ratio:auto;min-height:370px;overflow:visible}
.card-orbit{pointer-events:none}
.gift-card{overflow:hidden!important}
.gift-card .card-bottom{align-items:flex-start}
.card-gift-details{flex:1;min-width:0}
.card-gift-details>small{display:block;margin-top:12px;font:12px/1.5 var(--sans);letter-spacing:0;overflow-wrap:anywhere}
.card-service-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:7px}
.card-service-list li{font:400 21px/1.13 var(--serif);letter-spacing:0;color:var(--rust);overflow-wrap:anywhere}
.card-service-list li+li:before{content:'+ ';font-size:16px;color:var(--gold)}
.card-message{font:italic 22px/1.25 var(--serif);border-top:1px solid #C8A052;padding-top:18px;margin-top:22px!important;white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:0;color:var(--ink)}
.card-message[hidden],.card-sender[hidden]{display:none}
.card-sender{font-size:11px;margin-top:14px!important;white-space:pre-wrap;overflow-wrap:anywhere}
.card-validity{padding-top:2px;min-width:54px}
.preview-gift-button{margin:16px auto 0;position:relative}
.add-gift-service{font-size:12px;padding:11px 17px;min-height:44px;gap:18px}
.add-gift-service:disabled{background:#E5D6C4;border-color:#D2BDA4;color:#6F5143;transform:none}
.selection-help{margin-top:13px!important}
.selection-status{font-size:11px;line-height:1.5;margin:20px 0 10px!important;color:var(--rust)}
.selected-services{list-style:none;padding:0;margin:0;border-top:1px solid #CBB28D}
.selected-services>li{display:grid;grid-template-columns:minmax(0,1fr) auto 32px;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid #DAC7AB;font-size:12px}
.selected-service-price{white-space:nowrap}
.remove-service{border:1px solid #C6AA88;background:transparent;border-radius:50%;width:30px;height:30px;font-size:21px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;color:var(--rust)}
.remove-service:hover{background:var(--sand)}
.preview-form-button{width:100%;margin-bottom:12px}
.preview-form-button:disabled,.preview-gift-button:disabled{opacity:.55;transform:none;cursor:not-allowed}
.gift-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 25px;border-bottom:1px solid var(--gold)}
.gift-dialog-header h2{font-size:34px;line-height:1.1;letter-spacing:-.03em}
.close-gift-dialog{background:transparent;border:0;padding:10px 0;font-size:12px;white-space:nowrap}
.gift-preview-dialog{border:1px solid var(--gold);background:var(--cream);color:var(--ink);padding:0;width:min(760px,94vw);max-width:94vw;max-height:92vh;overflow:auto}
.gift-preview-dialog::backdrop{background:#322018CC;backdrop-filter:blur(6px)}
.gift-dialog-card{padding:32px}
.gift-dialog-card .gift-card.personal{width:100%;transform:none;box-shadow:0 12px 25px -20px #69413388;padding:38px;min-height:400px}
.gift-dialog-card .card-title{font-size:42px}
.gift-dialog-card .card-service-list li{font-size:24px}
.gift-dialog-card .card-message{font-size:25px}
.gift-dialog-note{text-align:center;margin:0 20px 23px}
body.dialog-open{overflow:hidden}
@media(max-width:850px){
  .gift-preview-column .gift-card.personal{padding:24px;min-height:340px}
  .card-service-list li{font-size:19px}
  .card-message{font-size:20px}
}
@media(max-width:600px){
  .gift-preview-column .gift-stage{width:94%;padding:22px 0 28px}
  .gift-preview-column .gift-card.personal{padding:24px;min-height:340px;transform:rotate(-3deg)}
  .gift-preview-column .gift-card.personal:hover{transform:rotate(-3deg)}
  .gift-card .card-bottom{gap:15px}
  .card-service-list li{font-size:20px}
  .card-message{font-size:21px}
  .gift-dialog-header{padding:18px}
  .gift-dialog-header h2{font-size:29px}
  .gift-dialog-card{padding:16px}
  .gift-dialog-card .gift-card.personal{padding:22px;min-height:350px}
  .gift-dialog-card .card-title{font-size:32px}
  .gift-dialog-card .card-service-list li{font-size:21px}
  .gift-dialog-card .card-message{font-size:22px}
  .gift-dialog-card .card-top .wordmark{font-size:37px}
  .selected-services>li{gap:10px}
  .add-gift-service{width:100%}
}
