/* ETHNOS R488 — composant de recadrage réutilisé depuis l'inscription officielle R481. */
body.officialCropOpen{overflow:hidden !important;}
.officialCropOverlay[hidden]{display:none !important;}
.officialCropOverlay{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(7,24,38,.72);backdrop-filter:blur(4px);}
.officialCropDialog{width:min(92vw,560px);max-height:min(92vh,720px);overflow:auto;box-sizing:border-box;padding:20px;border:1px solid rgba(7,24,38,.18);border-radius:18px;background:#fff9f0;box-shadow:0 22px 70px rgba(0,0,0,.3);color:#071826;}
.officialCropHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.officialCropHead span{color:#0e766e;font:800 11px/1.2 var(--r354-ui,Arial,sans-serif);letter-spacing:.08em;}
.officialCropHead h3{margin:3px 0 0;color:#071826;font-size:25px;}
.officialCropClose{width:38px;height:38px;flex:0 0 38px;border:1px solid rgba(7,24,38,.16);border-radius:50%;background:#fff;color:#071826;font-size:24px;line-height:1;cursor:pointer;}
.officialCropDialog>p{margin:10px 0 16px;color:#566575;font:500 13px/1.5 var(--r354-ui,Arial,sans-serif);}
.officialCropStage{position:relative;width:min(72vw,420px);aspect-ratio:1/1;margin:0 auto;overflow:hidden;border:3px solid #fff;border-radius:16px;outline:2px solid #31c9c2;background:#eadfce;cursor:grab;touch-action:none;user-select:none;}
.officialCropStage:active{cursor:grabbing;}
.officialCropStage img{position:absolute;max-width:none !important;max-height:none !important;pointer-events:none;user-select:none;-webkit-user-drag:none;}
.officialCropZoom{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:18px 0 0;color:#071826;font:700 12px/1.2 var(--r354-ui,Arial,sans-serif);}
.officialCropZoom input{width:100%;accent-color:#0e766e;}
.officialCropActions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;}
.r488CropButton{min-height:42px;padding:10px 18px;border:1px solid rgba(7,26,57,.18);border-radius:12px;background:rgba(255,252,247,.92);color:#071a39;font:800 13px/1.1 Arial,sans-serif;cursor:pointer;box-sizing:border-box;}
.r488CropButton.isPrimary{background:#f26722;color:#fff;border-color:#f26722;box-shadow:0 8px 20px rgba(242,103,34,.18);}
.r488CropButton.isPrimary:hover{background:#e95c16;border-color:#e95c16;}
.r488CropButton:disabled{opacity:.48;cursor:wait;box-shadow:none;}
.officialCropStage.isBannerCrop{width:min(82vw,760px);aspect-ratio:16/5;border-radius:14px;}
.officialCropDialog.isBannerCropMode{width:min(94vw,840px);}
@media(max-width:600px){
  .officialCropOverlay{padding:10px;}
  .officialCropDialog{padding:15px;border-radius:14px;max-height:94vh;}
  .officialCropHead h3{font-size:21px;}
  .officialCropStage{width:min(82vw,380px);}
  .officialCropStage.isBannerCrop{width:min(86vw,600px);}
  .officialCropActions{flex-direction:column-reverse;}
  .officialCropActions .r488CropButton{width:100% !important;}
}
@media(max-height:720px) and (min-width:601px){
  .officialCropDialog:not(.isBannerCropMode) .officialCropStage{width:min(48vh,360px);}
}
