/* EVARTE — helpful, accessible customer self-service controls. */
.evarte-gift-box,
.evarte-service-panel,
.evarte-recent-products {
  max-width: 1170px; margin: 28px auto; padding: clamp(18px,3vw,30px);
  border: 1px solid var(--evarte-silver, #b9b3b6);
  border-radius: var(--evarte-radius, 8px);
  background: var(--evarte-surface, #eee5db);
  color: var(--evarte-charcoal, #333);
}
.evarte-gift-box h2, .evarte-service-panel h2, .evarte-recent-products h2,
.evarte-service-panel h3 {
  font-family: var(--evarte-font-heading, Georgia, serif);
  color: var(--evarte-burgundy, #68273b);
  line-height: 1.35; margin: 0 0 12px;
}
.evarte-gift-box p, .evarte-service-panel p, .evarte-recent-products p { line-height: 1.7; }
.evarte-gift-form fieldset,
.evarte-service-form fieldset,
.evarte-service-panel fieldset {
  border: 1px solid var(--evarte-silver, #aaa);
  border-radius: var(--evarte-radius, 8px);
  margin: 16px 0; padding: 15px;
}
.evarte-gift-form legend, .evarte-service-panel legend { font-weight: 700; padding: 0 8px; }
.evarte-gift-option { display: flex !important; align-items: center; gap: 10px; margin: 12px 0 !important; font-weight: 500; }
.evarte-gift-option input { flex: none; }
.evarte-gift-product { border-top: 1px solid var(--evarte-silver, #aaa); padding: 15px 0; }
.evarte-gift-product > label:first-child { display: flex; gap: 8px; align-items: baseline; }
.evarte-gift-product > label:first-child input { flex: none; }
.evarte-gift-form textarea, .evarte-service-form textarea,
.evarte-service-form input:not([type="checkbox"]):not([type="radio"]),
.evarte-service-form select, .evarte-reorder-line input[type="number"] {
  width: 100%; min-width: 0; max-width: 670px; box-sizing: border-box;
  min-height: 46px; padding: 10px; font-size: 16px;
  border: 1px solid var(--evarte-silver, #aaa); border-radius: var(--evarte-radius, 8px);
  color: var(--evarte-charcoal, #333); background: var(--evarte-ivory, #f4eee7);
}
.evarte-service-form label, .evarte-gift-common label,
.evarte-gift-product > label:nth-child(2) {
  display: block; margin: 8px 0; font-weight: 600;
}
.evarte-service-form input[type="file"] { padding: 10px; }
.evarte-service-primary,
.evarte-recent-clear {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 46px; max-width: 100%; padding: 10px 19px; border: 1px solid var(--evarte-burgundy, #69243d);
  border-radius: var(--evarte-radius, 8px); background: var(--evarte-burgundy, #69243d);
  color: var(--evarte-ivory, #f4eee7); font-size: 15px; font-weight: 700; cursor: pointer;
}
.evarte-recent-clear { background: transparent; color: var(--evarte-burgundy, #69243d); }
.evarte-service-link { display: inline-block; margin: 14px 0; padding: 8px 0; font-weight: 700; color: var(--evarte-burgundy, #69243d); text-decoration: underline; }
.evarte-service-notice, .evarte-gift-status:not(:empty) {
  border-inline-start: 3px solid var(--evarte-burgundy, #69243d);
  padding: 9px 14px; background: var(--evarte-ivory, #f4eee7);
}
.evarte-reorder-line {
  display: grid; grid-template-columns: minmax(0, 1fr) auto 95px;
  align-items: center; gap: 14px; padding: 12px 0;
  border-bottom: 1px solid var(--evarte-silver, #aaa);
}
.evarte-reorder-line label:first-child { display: flex; gap: 9px; align-items: start; margin: 0; }
.evarte-reorder-line label:first-child input { flex: none; margin: 5px 0 0; }
.evarte-ticket { margin: 12px 0; padding: 16px; border: 1px solid var(--evarte-silver, #aaa); border-radius: var(--evarte-radius, 8px); }
.evarte-ticket h4 { color: var(--evarte-burgundy, #69243d); font-size: 18px; margin: 0 0 8px; }
.evarte-ticket p { margin: 5px 0; }
.evarte-recent-products[hidden] { display: none !important; }
.evarte-service-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.evarte-recent-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; list-style: none; padding: 0; margin: 20px 0; }
.evarte-recent-item { min-width: 0; }
.evarte-recent-link { color: var(--evarte-charcoal, #333); display: flex; flex-direction: column; gap: 12px; text-decoration: none; font-weight: 600; line-height: 1.5; }
.evarte-recent-link:hover, .evarte-recent-link:focus { text-decoration: underline; }
.evarte-recent-link img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
:is(.evarte-gift-box,.evarte-service-panel,.evarte-recent-products)
  :is(input,button,select,textarea,a):focus-visible {
  outline: 3px solid var(--evarte-turquoise, #56878b) !important;
  outline-offset: 3px;
}
@media (max-width: 760px) {
  .evarte-recent-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .evarte-reorder-line { grid-template-columns: minmax(0,1fr) 80px; gap: 8px; }
  .evarte-reorder-line > label:first-child { grid-column: 1/-1; }
  .evarte-gift-box, .evarte-service-panel, .evarte-recent-products { padding: 15px; }
  .evarte-service-primary { width: 100%; }
}
