/* =============================== Piattaforma (Absuite) ====================== */
.platform-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.platform-intro{ max-width:900px; line-height:1.7; }
.platform-toolbar{ display:flex; flex-direction:column; gap:14px; margin-top:8px; }
.platform-switch, .platform-section-tabs{ display:flex; flex-wrap:wrap; gap:10px; }
.platform-switch-btn, .platform-pill{
  appearance:none;
  border:1.5px solid var(--gray-300);
  background:var(--white);
  color:var(--gray-700);
  border-radius:999px;
  padding:10px 16px;
  font:600 14px/1 var(--font);
  cursor:pointer;
  transition:border-color .15s, color .15s, background .15s, box-shadow .15s;
}
.platform-switch-btn:hover, .platform-pill:hover{ border-color:var(--red); color:var(--red); }
.platform-switch-btn.active, .platform-pill.active{ background:var(--red); border-color:var(--red); color:var(--white); box-shadow:none; }
.platform-images-wrap, .platform-plans-wrap, .platform-plan-crop-wrap{ margin-top:18px; }
.platform-row-gap{ margin-bottom:0; }
.platform-upload-big, .platform-plan-card{
  border:1px solid var(--gray-200);
  border-radius:18px;
  background:var(--white);
  box-shadow:var(--shadow-sm);
  padding:18px;
}
.platform-upload-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.platform-upload-header h4, .platform-plan-card h4{
  font-size:22px;
  line-height:1.15;
  margin:0 0 6px;
}
.platform-upload{
  border:1.5px dashed var(--gray-300);
  border-radius:16px;
  background:var(--gray-50);
  transition:border-color .15s, background .15s, transform .15s, box-shadow .15s;
}
.platform-upload:hover, .platform-upload:focus-visible, .platform-upload.drag-over{
  border-color:var(--red);
  background:var(--pink-bg);
  outline:none;
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(196,22,43,.08);
}
.platform-upload-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:144px;
  padding:18px;
}
.platform-upload-inner--stack{ min-height:176px; }
.platform-upload-copy{ display:flex; flex-direction:column; gap:6px; }
.platform-upload-copy strong{ font-size:16px; line-height:1.35; }
.platform-upload-actions{ display:flex; align-items:center; gap:10px; flex:0 0 auto; flex-wrap:wrap; }
.platform-mini-btn{ min-width:auto; white-space:nowrap; }
.platform-formats-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; margin-top:16px; }
.platform-format-card{
  border:1px solid var(--gray-200);
  border-radius:16px;
  padding:18px;
  background:var(--white);
  box-shadow:var(--shadow-sm);
  transition:opacity .18s ease, filter .18s ease, background .18s ease, border-color .18s ease;
}
.platform-format-card.is-disabled{ opacity:.5; filter:none; background:rgba(196,22,43,.02); border-color:rgba(196,22,43,.08); }
.platform-format-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.platform-format-top h4{ font-size:20px; line-height:1.1; margin:0 0 6px; }
.platform-eye-btn{
  width:42px;
  height:42px;
  border-radius:12px;
  border:1.5px solid var(--gray-300);
  background:var(--white);
  color:var(--red);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:border-color .15s, background .15s, transform .15s;
  flex:0 0 auto;
}
.platform-eye-btn:hover{ border-color:var(--red); background:var(--pink-bg); transform:translateY(-1px); }
.platform-eye-btn svg{ width:20px; height:20px; }
.platform-generated-name{
  margin-top:12px;
  display:inline-flex;
  flex-wrap:wrap;
  gap:4px;
  font-size:12px;
  line-height:1.3;
  color:#16a34a;
  background:rgba(34,197,94,.08);
  border:1px solid rgba(34,197,94,.18);
  border-radius:999px;
  padding:8px 12px;
  word-break:break-word;
}
.platform-format-card.is-disabled .platform-generated-name{
  color:rgba(196,22,43,.42);
  background:rgba(196,22,43,.035);
  border-color:rgba(196,22,43,.10);
}
.platform-footnote{ margin-top:16px; }
.platform-namehint{ margin-top:-8px; }
.platform-crop-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}
.platform-crop-counter{
  color:var(--red);
  font-weight:800;
  font-size:15px;
  line-height:1;
  flex:0 0 auto;
}
.platform-plan-crop-frame{
  width:520px;
  max-width:100%;
  aspect-ratio:850 / 1000;
  margin:12px auto;
  position:relative;
}
.platform-plan-crop-frame::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:2;
  background:
    linear-gradient(to right,
      transparent 0,
      transparent calc(33.333% - 0.5px), rgba(196,22,43,.22) calc(33.333% - 0.5px), rgba(196,22,43,.22) calc(33.333% + 0.5px), transparent calc(33.333% + 0.5px),
      transparent calc(66.666% - 0.5px), rgba(196,22,43,.22) calc(66.666% - 0.5px), rgba(196,22,43,.22) calc(66.666% + 0.5px), transparent calc(66.666% + 0.5px), transparent 100%),
    linear-gradient(to bottom,
      transparent 0,
      transparent calc(33.333% - 0.5px), rgba(196,22,43,.22) calc(33.333% - 0.5px), rgba(196,22,43,.22) calc(33.333% + 0.5px), transparent calc(33.333% + 0.5px),
      transparent calc(66.666% - 0.5px), rgba(196,22,43,.22) calc(66.666% - 0.5px), rgba(196,22,43,.22) calc(66.666% + 0.5px), transparent calc(66.666% + 0.5px), transparent 100%),
    linear-gradient(to right,
      transparent 0,
      transparent calc(50% - 0.75px), rgba(196,22,43,.38) calc(50% - 0.75px), rgba(196,22,43,.38) calc(50% + 0.75px), transparent calc(50% + 0.75px), transparent 100%),
    linear-gradient(to bottom,
      transparent 0,
      transparent calc(50% - 0.75px), rgba(196,22,43,.38) calc(50% - 0.75px), rgba(196,22,43,.38) calc(50% + 0.75px), transparent calc(50% + 0.75px), transparent 100%);
}
.platform-plan-crop-frame img{ z-index:1; }
.platform-crop-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
}
#PlatformPlanCropZoom{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:6px;
  border-radius:999px;
  outline:none;
  background:linear-gradient(to right, var(--red) 0 var(--fill, 0%), var(--gray-200) var(--fill, 0%) 100%);
}
#PlatformPlanCropZoom::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:16px;
  height:16px;
  border-radius:999px;
  background:var(--red);
  border:2px solid var(--white);
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  cursor:pointer;
}
#PlatformPlanCropZoom::-moz-range-thumb{
  width:16px;
  height:16px;
  border-radius:999px;
  background:var(--red);
  border:2px solid var(--white);
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  cursor:pointer;
}
@media (max-width: 1120px){
  .platform-formats-grid{ grid-template-columns:1fr; }
}
@media (max-width: 900px){
  .platform-head, .platform-upload-header, .platform-upload-inner, .platform-format-top, .platform-crop-head{
    flex-direction:column;
    align-items:flex-start;
  }
  .platform-upload-inner{ min-height:unset; }
  .platform-upload-actions{ width:100%; }
  .platform-upload-actions .platform-mini-btn{ flex:1 1 auto; }
  .platform-crop-actions{ justify-content:flex-end; }
}
@media (max-width: 680px){
  .platform-switch, .platform-section-tabs{ gap:8px; }
  .platform-switch-btn, .platform-pill{ width:100%; text-align:center; justify-content:center; }
  .platform-upload-actions{ flex-direction:column; align-items:stretch; }
  .platform-upload-actions .platform-mini-btn,
  .platform-crop-actions .btn-primary,
  .platform-crop-actions .btn-outline{ width:100%; }
  .platform-eye-btn{ width:42px; height:42px; justify-content:center; padding-left:0; }
}
.platform-plan-settings-row{ margin:4px 0 12px; }
.platform-crop-toolbar{ display:flex; justify-content:flex-end; margin-top:10px; }
.platform-rotate-btn{ display:inline-flex; align-items:center; gap:8px; }
.platform-rotate-btn svg{ width:18px; height:18px; }
.platform-plan-crop-frame{ width:520px; max-width:100%; margin:12px auto; }
.platform-crop-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:14px; flex-wrap:wrap; }
@media (max-width: 900px){ .platform-crop-toolbar{ justify-content:flex-end; } }
@media (max-width: 680px){ .platform-crop-toolbar{ justify-content:stretch; } .platform-rotate-btn{ width:100%; justify-content:center; } }
.platform-rename-wrap{ margin-top:18px; }
.platform-rename-head{ margin-bottom:12px; }
.platform-rename-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  margin-top:12px;
}
.platform-upload-big--compact .platform-upload-header h4{ font-size:20px; }
.platform-rename-summary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin:14px 0 6px;
}
.platform-rename-stat{
  border:1px solid var(--gray-200);
  border-radius:14px;
  background:var(--white);
  box-shadow:var(--shadow-sm);
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.platform-rename-stat strong{ font-size:14px; }
.platform-rename-stat span{ color:var(--red); font-weight:800; font-size:20px; line-height:1; }
@media (max-width: 1180px){
  .platform-rename-grid{ grid-template-columns:1fr; }
}
@media (max-width: 740px){
  .platform-rename-summary{ grid-template-columns:1fr; }
}