/* ── Notices ── */
.atsiminimas-notice {
  padding: 12px 20px;
  margin-bottom: 30px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 200;
  border-left: 3px solid transparent;
}
.atsiminimas-notice.success {
  border-left-color: var(--color-teal-light);
  color: var(--color-text);
}
.atsiminimas-notice.error {
  border-left-color: var(--color-error);
  color: var(--color-error);
}
/* ── Sections ── */
.atsiminimas-form {
  counter-reset: section-counter;
}
.atsiminimas-section {
  margin-top: 7.15%;
}
.information {
  margin-top: 35px;
}
.atsiminimas-section:first-child,
.atsiminimas-section:nth-child(2) {
  margin-top: 0;
}
/* The short line under each numbered section heading ("Jūsų įvykis / objektas
   bus pažymėtas žemėlapyje.", "Jei turite papildomos medžiagos…").
   The design file sets these three lines in Oswald, which is a slip — every
   neighbouring field label around them is body copy. They are Elms Sans here,
   matching those labels exactly. */
.new-memo .atsiminimas-section .fieldholder-small-label {
  display: block;
  font-family: var(--font-body);
  font-weight: 800;
}
.new-memo .atsiminimas-section .fieldholder-small-label.first-child {
  margin-top: 30px;
}
.add-file-btn {
  margin-top: 20px;
  transition: box-shadow 0.25s ease-in-out, transform 0.2s ease;
}
.new-memo .atsiminimas-section label.left {
  font-family: var(--font-heading);
  font-size: clamp(20px, 1.75vw, 32px);
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  color: var(--color-primary);
}
.atsiminimas-section > label.left::before {
  counter-increment: section-counter;
  content: counter(section-counter);
  position: absolute;
  left: -70px;
  top: 0;
  width: 38px;
  min-width: 38px;
  height: 38px;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1585px) {
  .atsiminimas-section > label.left::before {
    position: relative;
    left: 0;
    top: -5px;
    margin-right: 15px;
  }
}
.atsiminimas-section .readonly {
  font-size: 16px;
  font-weight: 800;
  display: block;
}
/* ── File-list row ── */
.file-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 30px;
}
/* Shared box dimensions */
.ss-uploadfield-files {
  border: 1px solid var(--color-border);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 133px;
  height: 98px;
  margin: 0 10px 10px 0;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  vertical-align: top;
}
.ss-uploadfield-files::before {
  content: none;
}
.add-file-trigger {
  cursor: pointer;
  transition: border-color 0.2s ease-in-out;
}
.add-file-trigger:hover {
  border-color: var(--color-dark);
}
.add-file-trigger::before {
  content: "";
  display: block;
  background-image: url(../../assets/images/add-files.svg);
  background-size: 40px 40px;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  inset: 0;
}
/* ── File preview boxes ── */
.file-preview-box {
  cursor: default;
  flex-shrink: 0;
}
/* Image previews fill the box */
.file-preview-box img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: none;
  -webkit-filter: none;
}
/* SVG icons centred */
.file-icon-svg {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}
/* × remove button */
.file-remove-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: none;
  background: rgba(0, 0, 0, 0.55);
  color: var(--color-white);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  z-index: 2;
  opacity: 0;
  transition:
    opacity 0.2s ease-in-out,
    background 0.15s;
}
.file-remove-btn:hover {
  background: rgba(192, 57, 43, 0.85);
}
.file-preview-box:hover .file-remove-btn {
  opacity: 1;
}
/* Filename tooltip on hover */
.file-preview-name {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.55);
  color: var(--color-white);
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: 300;
  padding: 3px 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  z-index: 1;
}
.file-preview-box:hover .file-preview-name {
  opacity: 1;
}
/* Sub-title inside .upload-files — smaller, no counter */
.upload-files > h3.section-title {
  font-family: var(--font-heading);
  font-weight: 400;
  color: var(--color-dark);
  font-size: 21px;
  line-height: 1em;
  text-transform: uppercase;
  margin: 0 0 0.8em;
}
.new-memo .atsiminimas-section ul {
  padding-left: 18px;
}
/* ── Layout ── */
/* Section 1: textarea left, file upload right */
.memo-text-field {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8.34%;
  margin-top: 35px;
}
.memo-text-field.last-child {
  margin-top: 80px;
}
/* Personal info: 2 cols */
.fields-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 8.34%;
  margin-top: 35px;
}
/* ── Field groups ── */
.information label,
.fields-row .field-group label {
  display: block;
  margin-top: 30px;
  margin-bottom: 10px;
  font-weight: 500;
}
.atsiminimas-section .field-group label .obj {
 font-weight: 800;
}
.field-group .req {
  color: var(--color-error);
  margin-left: 2px;
}
.optional {
  font-size: 11px;
  text-transform: none;
  font-weight: 300;
  letter-spacing: 0;
  color: var(--color-muted);
}
/* ── Inputs — match .new-memo from old-site.css ── */
.atsiminimas-form input[type="text"],
.atsiminimas-form input[type="email"] {
  font-family: var(--font-body);
  font-weight: 200;
  color: var(--color-text);
  font-size: 16px;
  line-height: 28px;
  border: 1px solid var(--color-primary);
  border-radius: 0;
  background-color: transparent;
  width: 100%;
  height: 44px;
  padding: 0 4%;
  box-sizing: border-box;
  text-transform: none;
  outline: none;
  transition: border-color 0.2s ease-in-out;
}
.atsiminimas-form input[type="text"]:hover,
.atsiminimas-form input[type="email"]:hover,
.atsiminimas-form input[type="text"]:focus,
.atsiminimas-form input[type="email"]:focus {
  border-color: var(--color-dark);
}
/* Textarea */
.atsiminimas-form textarea {
  font-family: var(--font-body);
  font-weight: 200;
  color: var(--color-text);
  font-size: 16px;
  line-height: 28px;
  border: 1px solid var(--color-primary);
  border-radius: 0;
  background-color: transparent;
  width: 100%;
  height: 346px;
  padding: 2% 4%;
  box-sizing: border-box;
  resize: none;
  outline: none;
  transition: border-color 0.2s ease-in-out;
  margin-top: 35px;
}
.atsiminimas-form textarea:hover,
.atsiminimas-form textarea:focus {
  border-color: var(--color-primary);
}
.atsiminimas-form input::placeholder,
.atsiminimas-form textarea::placeholder {
  color: var(--color-muted);
  font-weight: 300;
}
/* ── File upload ── */
.field-group input[type="file"] {
  display: none;
}
label.file-btn {
  display: inline-block;
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: 13px;
  color: var(--color-dark);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 1px solid var(--color-border);
  padding: 7px 22px;
  cursor: pointer;
  margin-bottom: 10px;
  transition: border-color 0.2s ease-in-out;
}
label.file-btn:hover {
  border-color: var(--color-dark);
}
/* ── Submit button — mirrors .new-memo .Actions button + .btn animation ── */
.atsiminimas-submit {
  margin-top: 5%;
}
/* Reuse .btn animation class; override colours for light background */
.atsiminimas-submit .submit-btn {
  padding: 0 80px;
  cursor: pointer;
  border: none;
  outline: none;
  width: auto;
}
.atsiminimas-submit .submit-btn u {
  background-color: #333333;
}
/* ── Responsive ── */
@media (max-width: 1023px) {
  .memo-text-field {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .atsiminimas-form textarea {
    height: 200px;
  }
  .fields-row {
    grid-template-columns: 1fr;
  }
  .atsiminimas-section > h3.section-title {
    font-size: 26px;
    gap: 14px;
  }
  .atsiminimas-section > h3.section-title::before {
    font-size: 40px;
  }
  .new-memo .atsiminimas-section .fieldholder-small-label {
    margin-top: 1.5%;
    margin-bottom: 0;
  }
  .memo-text-field {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .file-list {
    margin-top: 15px;
  }
  .atsiminimas-section .readonly {
    margin-top: 0;
  }
  .atsiminimas-section .readonly.last-child {
    margin-top: 2%;
  }
  .fields-row {
    gap: 0;
    margin-top: 15px;
  }
  .atsiminimas-section {
    margin-top: 5%;
  }
}
@media (max-width: 840px) {
  .new-memo .atsiminimas-section label.left {
    display: flex;
    align-items: center;
  }
  .atsiminimas-section > label.left::before {
    top: 0px;
  }
}
@media (max-width: 768px) {
  .new-memo h1 {
    font-size: 42px;
    line-height: 60px;
  }
}
@media (max-width: 640px) {
  .atsiminimas-section > h3.section-title {
    font-size: 20px;
    gap: 10px;
  }
  .atsiminimas-section > h3.section-title::before {
    font-size: 12px;
  }
  .new-memo .atsiminimas-section label.left {
    font-size: 20px;
  }
  .atsiminimas-submit .submit-btn {
    padding: 0;
    width: 100%;
  }
}
@media (max-width: 480px) {
  .new-memo {
    padding: 5% 0 290px;
  }
}
/* =============================================
   MOBILE TYPE SIZES — from "atminties vietos mobile darbinis.ai" (390px)
   Sizes only.
   ============================================= */
@media (max-width: 640px) {
  /* "PALIKITE SAVO ĮRAŠĄ" */
  .new-memo h1 {
    font-size: 36px;
  }
  /* The step number beside a section label is 12 on the phone, not the 17 it
     inherits from the desktop badge. */
  .atsiminimas-section > label.left::before {
    font-size: 12px;
  }
  /* Field labels ("Vardas / Slapyvardis", "Įrašykite įvykio / objekto datą")
     drop to 14; the explanatory lines above them stay at body 16. */
  .information label,
  .fields-row .field-group label,
  .field-group label {
    font-size: 14px;
  }
  .new-memo .atsiminimas-section .fieldholder-small-label,
  .atsiminimas-section .readonly {
    font-size: 16px;
  }
  /* "PASIRINKITE" file picker */
  label.file-btn {
    font-size: 14px;
  }
  .upload-files > h3.section-title {
    font-size: 20px;
  }
}
