/* ALOPARDEH 83 — photo + physical fabric sample palette */
.alo81-preview:has(.alo83-batch-card){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-height:none;overflow:visible}
.alo83-batch-card{min-width:0;border:1px solid #dfd3c8;border-radius:17px;padding:10px;background:#fffaf4;display:flex;flex-direction:column;gap:7px}
.alo83-batch-cover{width:100%;height:132px;object-fit:cover;border-radius:10px}
.alo83-batch-card strong{font-size:14px;color:#32261f}
.alo83-ask{display:flex;gap:6px;align-items:flex-start;font-weight:700;font-size:12px;cursor:pointer;line-height:1.7}
.alo83-ask input{flex:0 0 auto;width:18px;height:18px;accent-color:#8a5a3d;margin-top:2px}
.alo83-swatches-form[hidden]{display:none!important}
.alo83-swatches-form{padding:9px;border:1px dashed #b58b70;border-radius:12px;background:#fff}
.alo83-sample-file-label{display:block;line-height:1.7;font-weight:700;font-size:12px}
.alo83-sample-file-label input{display:block;max-width:100%;margin-top:6px;font-size:12px}
.alo83-added-fields{display:grid;gap:7px;margin-top:8px}
.alo83-sample-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;border-top:1px solid #eee3d9;padding:8px 0}
.alo83-sample-field>span{grid-column:1/-1;overflow-wrap:anywhere;font-size:12px;color:#5c4a3d}
.alo83-sample-field>input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d7c9bd;border-radius:9px;min-height:38px;padding:6px;background:#fff;color:#2d2722}
.alo83-mini-palette{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;margin:3px auto;padding:5px}
.alo83-mini-palette>span{width:44px;text-align:center}
.alo83-mini-palette img{display:block;width:42px;height:42px;object-fit:cover;border:1px solid #dfd1c1;border-radius:9px}
.alo83-mini-palette small{font-size:10px;display:block;overflow-wrap:anywhere;line-height:1.4}
.alo83-edit-samples{grid-column:1/-1;border:1px solid #dbcfc4;border-radius:13px;padding:12px;display:grid;gap:10px}
.alo83-edit-samples>strong{font-size:14px}
.alo83-sample-edit-row{display:grid;grid-template-columns:62px minmax(0,1fr) minmax(0,1fr) auto;gap:5px;align-items:center}
.alo83-sample-edit-row img{width:60px;height:60px;border-radius:9px;object-fit:cover}
.alo83-sample-edit-row label{font-size:11px}
.alo83-sample-edit-row input[type=text]{width:100%;box-sizing:border-box}
.alo83-remove-sample{white-space:nowrap;display:flex;align-items:center;gap:3px}
.alo83-palette{margin-top:14px;border-top:1px solid #ece5dd;padding-top:12px;}
.alo83-palette>strong{display:block;font-size:14px;margin-bottom:10px;color:#45352b}
.alo83-palette-row{display:flex;gap:9px;overflow-x:auto;flex-wrap:nowrap;padding:3px 0 9px}
.alo83-swatch{border:1px solid #dbc9b7;border-radius:13px;padding:5px;flex:0 0 94px;background:#fffdf9;text-align:center;cursor:zoom-in;display:grid;gap:3px;min-width:0;color:#382d25}
.alo83-swatch img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:8px}
.alo83-swatch span{font-weight:700;font-size:12px;overflow-wrap:anywhere}
.alo83-swatch small{font-size:11px;overflow-wrap:anywhere}
.alo83-main-photo{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.alo83-main-photo img{display:block;width:100%;height:auto;object-fit:cover}
.alo83-modal{max-width:min(96vw,900px);max-height:94vh;padding:9px;border:0;border-radius:16px;background:#fff;box-shadow:0 16px 70px #0007}
.alo83-modal::backdrop{background:rgba(0,0,0,.8)}
.alo83-modal img{display:block;max-width:100%;max-height:85vh;object-fit:contain;border-radius:9px}
.alo83-modal-close{position:absolute;top:9px;left:9px;border:0;border-radius:99px;background:#33251ce8;color:white;font-size:29px;line-height:36px;width:38px;height:38px;cursor:pointer}
@media(max-width:640px){.alo81-preview:has(.alo83-batch-card){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.alo83-batch-card{padding:7px}.alo83-batch-cover{height:104px}.alo83-sample-edit-row{grid-template-columns:55px minmax(0,1fr) minmax(0,1fr)}.alo83-sample-edit-row img{width:53px;height:53px}.alo83-remove-sample{grid-column:1/-1}.alo83-swatch{flex-basis:80px}}
/* Override the shared page-wide input/button rules without affecting other pages. */
.alo63-pages label.alo83-ask{display:flex;margin:5px 0;align-items:flex-start}
.alo63-pages .alo81-preview .alo83-batch-cover{height:132px;width:100%;object-fit:cover}
.alo63-pages button.alo83-main-photo{border:0;background:transparent;color:inherit;border-radius:0;padding:0;min-height:0;line-height:0}
.alo63-pages button.alo83-main-photo img{height:240px;width:100%;object-fit:cover}
.alo63-pages button.alo83-swatch{display:grid;gap:3px;text-align:center;background:#fffdf9;color:#382d25;padding:5px;min-height:0;border:1px solid #dbc9b7}
.alo63-pages button.alo83-modal-close{padding:0;min-height:0;background:#33251ce8;border-radius:99px;color:#fff}
.alo63-pages .alo83-palette-row .alo83-swatch img{height:auto;aspect-ratio:1/1;object-fit:cover}
@media(max-width:640px){.alo63-pages .alo81-preview .alo83-batch-cover{height:104px}.alo63-pages button.alo83-main-photo img{height:265px}}

/* ALO163: smoother public project cards and gallery navigation */
.alo83-public-work{overflow:hidden;border-radius:28px;background:#fffdfa;box-shadow:0 10px 26px rgba(57,39,25,.06)}
.alo83-public-work .alo83-main-photo{overflow:hidden;border-radius:26px;position:relative;background:#efe7de}
.alo83-public-work .alo83-main-photo img{transition:transform .55s ease,filter .35s ease;height:100%;min-height:300px}
.alo83-public-work .alo83-main-photo:hover img,.alo83-public-work .alo83-main-photo:focus-visible img{transform:scale(1.06)}
.alo83-modal{background:#0f0d0be8;color:#fff;box-shadow:0 22px 60px rgba(0,0,0,.42);overflow:hidden}
.alo83-modal img{display:block;max-width:min(92vw,1180px);max-height:82vh;margin:0 auto;transform:translate(0,0) scale(1);transition:transform .16s ease;touch-action:none;user-select:none;cursor:grab}
.alo83-modal.is-zoomed img{cursor:grabbing}
.alo83-modal-close{background:#1a1613d9}
.alo83-modal-toolbar{position:absolute;left:14px;right:14px;bottom:12px;display:flex;justify-content:center;gap:10px;pointer-events:none}
.alo83-modal-toolbar button{pointer-events:auto;border:1px solid rgba(255,255,255,.2);background:rgba(17,14,11,.78);color:#fff;border-radius:999px;min-width:44px;min-height:44px;padding:0 14px;font-size:21px;cursor:pointer}
.alo83-modal-toolbar button:hover,.alo83-modal-toolbar button:focus-visible{background:rgba(255,255,255,.14);outline:none}
@media(max-width:640px){.alo83-public-work .alo83-main-photo img{min-height:260px}.alo83-modal img{max-height:74vh}.alo83-modal-toolbar{bottom:8px;gap:7px}.alo83-modal-toolbar button{min-width:40px;min-height:40px;font-size:19px;padding:0 11px}}

/* ALO165 — fixed-height photo-only portfolio grid; no letterboxing or stretch. */
.alo63-pages .alo63-public-grid .alo83-public-work{min-width:0;overflow:hidden}
.alo63-pages .alo63-public-grid .alo83-public-work .alo83-main-photo{
 display:block!important;width:100%!important;aspect-ratio:4/3!important;
 height:auto!important;min-height:0!important;overflow:hidden!important;
 padding:0!important;margin:0!important;border:0!important;border-radius:18px!important;
 background:#ebe3d8;line-height:0;
}
.alo63-pages .alo63-public-grid .alo83-public-work .alo83-main-photo>img{
 display:block!important;width:100%!important;height:100%!important;min-height:0!important;
 position:absolute;inset:0;object-fit:cover!important;object-position:center!important;
}
@media(max-width:650px){.alo63-pages .alo63-public-grid .alo83-public-work .alo83-main-photo{aspect-ratio:1.22!important}}
.alo83-modal.is-dragging img{transition:none!important}
/* ALO165 — lightbox tools, space-efficient on small screens. */
.alo83-modal .alo83-modal-toolbar{left:8px;right:8px;flex-wrap:wrap}
.alo83-modal .alo83-modal-toolbar button[hidden]{display:none!important}
.alo83-modal.alo165-fullscreen,.alo83-modal:fullscreen{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;padding:20px!important}
.alo83-modal.alo165-fullscreen img,.alo83-modal:fullscreen img{max-width:96vw!important;max-height:88vh!important}
@media(max-width:640px){.alo83-modal .alo83-modal-toolbar{gap:5px;bottom:max(8px,env(safe-area-inset-bottom))}.alo83-modal .alo83-modal-toolbar button{min-width:38px;min-height:38px;padding:0 9px}}

/* ALO166 — the project pages already use the shared header language picker.
   Keep the legacy translator running, but hide its extra floating control here only. */
body.alo63-pages > .alo150-switcher { display:none!important; }

/* ALO166 — one centered, true fullscreen photo viewer on iOS/Android/desktop.
   Position the photo within the space between the close and action controls. */
body.alo63-pages dialog.alo83-modal[open],
body.alo63-pages dialog.alo83-modal[open].alo165-fullscreen,
body.alo63-pages dialog.alo83-modal[open]:fullscreen {
 position:fixed!important;
 inset:0!important;
 box-sizing:border-box!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 flex-direction:column!important;
 margin:0!important;
 padding:calc(64px + env(safe-area-inset-top,0px)) 12px calc(77px + env(safe-area-inset-bottom,0px))!important;
 width:100vw!important;
 max-width:100vw!important;
 height:100dvh!important;
 max-height:100dvh!important;
 border:0!important;
 border-radius:0!important;
 background:#080808!important;
 overflow:hidden!important;
 overscroll-behavior:contain;
 z-index:100000!important;
}
body.alo63-pages dialog.alo83-modal[open] > img {
 position:relative!important;
 display:block!important;
 box-sizing:border-box!important;
 width:auto!important;
 height:auto!important;
 max-width:calc(100vw - 24px)!important;
 max-height:calc(100dvh - 145px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))!important;
 object-fit:contain!important;
 object-position:center center!important;
 margin:auto!important;
 flex:0 1 auto!important;
 border-radius:10px;
}
body.alo63-pages dialog.alo83-modal[open] > .alo83-modal-close {
 position:absolute!important;
 left:max(14px,env(safe-area-inset-left,0px))!important;
 right:auto!important;
 top:calc(12px + env(safe-area-inset-top,0px))!important;
 width:44px!important;
 height:44px!important;
 min-width:44px!important;
 min-height:44px!important;
 padding:0!important;
 display:grid!important;
 place-items:center!important;
 border:1px solid rgba(255,255,255,.22)!important;
 border-radius:50%!important;
 background:rgba(30,27,25,.94)!important;
 color:#fff!important;
 font-size:30px!important;
 line-height:1!important;
 z-index:25!important;
}
body.alo63-pages dialog.alo83-modal[open] > .alo83-modal-toolbar {
 position:absolute!important;
 left:max(8px,env(safe-area-inset-left,0px))!important;
 right:max(8px,env(safe-area-inset-right,0px))!important;
 bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 flex-direction:row!important;
 flex-wrap:nowrap!important;
 gap:clamp(3px,1vw,8px)!important;
 margin:0!important;
 z-index:20!important;
}
body.alo63-pages dialog.alo83-modal[open] > .alo83-modal-toolbar button {
 display:inline-flex;
 justify-content:center;
 align-items:center;
 flex:0 1 auto;
 width:clamp(36px,10vw,46px);
 min-width:0;
 height:clamp(38px,10vw,46px);
 min-height:0;
 padding:0;
 touch-action:manipulation;
}
body.alo63-pages dialog.alo83-modal[open] > .alo83-modal-toolbar button[hidden] { display:none!important; }
/* Fallback for browsers predating dynamic viewport units. */
@supports not (height:100dvh) {
 body.alo63-pages dialog.alo83-modal[open]{height:100vh!important;max-height:100vh!important}
 body.alo63-pages dialog.alo83-modal[open] > img{max-height:calc(100vh - 150px)!important}
}
/* ALO167: simple, accessible public pagination below 12-photo grid. */
.alo63-pages .alo167-pagination{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin:26px auto 38px;padding:5px;}
.alo63-pages .alo167-pagination a{display:inline-flex;min-width:43px;min-height:42px;align-items:center;justify-content:center;text-align:center;padding:9px 12px;border-radius:11px;border:1px solid #cdb9a7;background:#fffdf8;color:#5f4738;font-size:14px;font-weight:750;text-decoration:none;}
.alo63-pages .alo167-pagination a[aria-current="page"]{color:#fff;background:#8b6048;border-color:#8b6048;}
.alo63-pages .alo167-pagination a:focus-visible{outline:3px solid #9f745a;outline-offset:2px;}
.alo63-pages .alo167-page-count{font-size:12px;color:#776d65;margin-inline:8px;}
