.gw-wishlist {
margin: 1.5em 0;
}
.gw-wishlist__title {
margin-bottom: 0.25em;
}
.gw-wishlist__description {
margin-bottom: 1.5em;
color: #555;
} .gw-gifts {
display: grid;
grid-template-columns: repeat( auto-fill, minmax( 240px, 1fr ) );
gap: 20px;
margin-bottom: 1.5em;
}
.gw-gift {
position: relative;
border: 1px solid #e2e2e2;
border-radius: 8px;
padding: 16px;
background: #fff;
box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.06 );
transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.gw-gift--available:hover {
box-shadow: 0 4px 12px rgba( 0, 0, 0, 0.1 );
}
.gw-gift--reserved {
opacity: 0.85;
background: #fafafa;
border-color: #d8d8d8;
}
.gw-gift__select {
display: inline-flex;
align-items: center;
gap: 6px;
margin-bottom: 10px;
font-weight: 600;
cursor: pointer;
}
.gw-gift__image-wrap {
margin-bottom: 12px;
text-align: center;
}
.gw-gift__image {
max-width: 100%;
height: auto;
border-radius: 6px;
}
.gw-gift__title {
margin: 0 0 10px;
font-size: 1.05em;
}
.gw-gift__meta {
list-style: none;
margin: 0 0 12px;
padding: 0;
font-size: 0.9em;
color: #555;
}
.gw-gift__meta li {
margin-bottom: 4px;
}
.gw-gift__meta-label {
font-weight: 600;
color: #333;
}
.gw-gift__order a {
display: inline-block;
font-size: 0.9em;
}
.gw-gift__reserved-badge {
display: inline-block;
margin: 8px 0 4px;
padding: 3px 10px;
background: #eef6ee;
color: #2e7d32;
border-radius: 4px;
font-size: 0.85em;
font-weight: 600;
}
.gw-gift__donor {
margin: 4px 0 0;
font-size: 0.9em;
color: #444;
}
.gw-gift__donor-label {
font-weight: 600;
} .gw-reserve-panel {
max-width: 480px;
padding: 20px;
border: 1px solid #e2e2e2;
border-radius: 8px;
background: #f9f9f9;
}
.gw-reserve-panel__title {
margin-top: 0;
}
.gw-field {
margin-bottom: 12px;
}
.gw-field label {
display: block;
margin-bottom: 4px;
font-weight: 600;
}
.gw-field input {
width: 100%;
padding: 8px 10px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
.gw-required {
color: #d63638;
}
.gw-button {
display: inline-block;
padding: 10px 18px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 1em;
}
.gw-button--primary {
background: var( --gw-button-color, #2271b1 );
color: #fff;
}
.gw-button--primary:hover {
background: var( --gw-button-color, #2271b1 );
filter: brightness( 0.9 );
}
.gw-button[disabled] {
opacity: 0.6;
cursor: not-allowed;
}
.gw-message {
margin-top: 12px;
padding: 0;
}
.gw-message--error {
color: #b32d2e;
}
.gw-message--success {
color: #2e7d32;
}
.gw-error {
color: #b32d2e;
}
.gw-empty {
color: #777;
font-style: italic;
}