/* Image upload controls and photo-led customer listings */
.photo-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.55fr);gap:12px;align-items:stretch;margin-top:13px;padding-top:13px;border-top:1px solid #edf0ec}.photo-picker{display:flex;align-items:center;gap:11px;min-height:74px;padding:12px;border:1px dashed #cbd8c4;border-radius:11px;background:#f9fbf7;cursor:pointer}.photo-picker:hover{border-color:#73965a;background:#f3f8ec}.photo-picker input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.photo-picker:focus-within{outline:3px solid #c5ef7350}.photo-picker-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf4df;color:#4f763c;font-size:21px;flex:none}.photo-picker b,.photo-picker small{display:block}.photo-picker b{font-size:11px;color:#344238}.photo-picker small{font-size:9px;color:#859087;margin-top:4px}.photo-field-preview{display:grid;place-items:center;gap:5px;min-height:74px;padding:7px;border:1px solid #edf0ec;border-radius:10px;background:#fff;text-align:center;color:#879188;font-size:9px}.photo-field-preview img{width:100%;height:82px;object-fit:cover;border-radius:6px}.photo-field-preview label,.profile-photo-preview label{display:flex;gap:5px;align-items:center;font-size:9px;color:#768177}.photo-field-preview input,.profile-photo-preview input,.gallery-edit-photo input{accent-color:#547b40}.profile-image-settings{display:grid;gap:11px;padding:14px;border:1px solid #e8ede5;border-radius:12px;background:#fbfcfa}.profile-image-settings>div:first-child p{margin:4px 0 0;font-size:10px;line-height:1.5;color:#758078}.profile-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-photo-control{display:grid;gap:7px;min-width:0}.profile-photo-preview{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px;border:1px solid #edf0ec;border-radius:9px;background:#fff;color:#879188;font-size:9px}.profile-photo-preview img{width:48px;height:42px;object-fit:cover;border-radius:6px}.profile-photo-preview small{color:#60834b}.gallery-upload-control{padding-top:8px;border-top:1px solid #e9eee6}.gallery-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.gallery-edit-photo{position:relative;overflow:hidden;min-width:0;border:1px solid #e7ece4;border-radius:8px;background:#fff}.gallery-edit-photo img{display:block;width:100%;height:74px;object-fit:cover}.gallery-edit-photo>span{display:flex;gap:4px;align-items:center;padding:5px;font-size:8px;color:#718076}.gallery-edit-photo.new-photo>span{display:block}.gallery-empty{grid-column:1/-1;padding:8px;color:#88938b;font-size:9px}.preview-logo-image{width:31px;height:31px;border-radius:10px;object-fit:cover}.preview-hero[style]{background-size:cover!important;background-position:center!important}.preview-hero[style] h2,.preview-hero[style] p{ text-shadow:0 1px 6px #0007 }
.public-hero.has-cover-photo{background-size:cover;background-position:center;isolation:isolate}.public-hero.has-cover-photo:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 90% 0%,#ffffff12,transparent 45%)}.public-profile-photo{width:66px;height:66px;object-fit:cover;border:3px solid #ffffffd9;border-radius:20px;box-shadow:0 5px 20px #0003;margin-bottom:14px}.location-card{flex-wrap:wrap}.location-photo{width:100%;height:155px;object-fit:cover;border-radius:8px;background:#eef3e8}.location-photo-placeholder{display:grid;place-items:center;color:#7c9a5f;font-size:36px;background:linear-gradient(135deg,#eaf2df,#f7f8f1)}.location-date{margin-left:2px}.location-info{flex-basis:calc(100% - 80px)}.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.menu-card{display:grid;grid-template-columns:102px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;min-height:116px;box-shadow:0 3px 12px #1b2a1b07}.menu-item-photo{display:block;width:102px;height:96px;object-fit:cover;border-radius:8px;background:#eff4e9}.menu-item-photo-placeholder{display:grid;place-items:center;color:#84a267;font-size:25px;background:radial-gradient(circle at 35% 25%,#fff,#e5efda)}.menu-card-copy{min-width:0}.menu-card h3{font-size:13px;line-height:1.35}.public-menu-description{margin:5px 0 0;color:#748078;font-size:10px;line-height:1.5}.public-allergens{margin:5px 0 0;color:#8a7161;font-size:8px;line-height:1.45}.menu-card-buy{align-self:center}.public-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-auto-rows:155px;gap:10px}.public-gallery-photo{display:block;overflow:hidden;border-radius:13px;background:#e9efe4;box-shadow:0 4px 14px #14251d0a}.public-gallery-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s}.public-gallery-photo:hover img{transform:scale(1.045)}.public-gallery-photo.photo-0{grid-row:span 2}.public-gallery-photo.photo-4{grid-column:span 2}.gallery-section{padding-top:28px;padding-bottom:22px}
@media(max-width:760px){.photo-field{grid-template-columns:1fr}.profile-photo-grid{grid-template-columns:1fr}.location-photo{height:180px}.menu-list{grid-template-columns:1fr}.menu-card{grid-template-columns:88px minmax(0,1fr) auto}.menu-item-photo{width:88px;height:90px}.public-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:130px}.public-gallery-photo.photo-0{grid-row:span 2}.public-gallery-photo.photo-4{grid-column:span 1}.public-profile-photo{width:56px;height:56px;border-radius:17px}}
@media(max-width:420px){.menu-card{grid-template-columns:74px minmax(0,1fr) auto;gap:8px;padding:8px}.menu-item-photo{width:74px;height:82px}.menu-card-buy>b{font-size:11px}.location-photo{height:145px}.gallery-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-gallery{grid-auto-rows:110px;gap:7px}}

/* Thoughtful photo placeholders keep every empty image area on brand. */
.location-photo-placeholder{position:relative;isolation:isolate;display:grid;align-content:center;justify-items:center;gap:5px;overflow:hidden;border:1px solid #e8eadf;background:radial-gradient(ellipse at 50% 110%,#f4d9bc 0,transparent 46%),linear-gradient(145deg,#f1f5e8,#e5efe4 56%,#f8efe2);color:#596c53}.location-photo-placeholder:before,.location-photo-placeholder:after{content:"";position:absolute;z-index:-1;border-radius:50%;background:#fff9}.location-photo-placeholder:before{width:160px;height:160px;right:-24px;top:-73px}.location-photo-placeholder:after{width:110px;height:110px;left:-28px;bottom:-60px;background:#d9e8d2aa}.location-photo-placeholder .photo-placeholder-emoji{display:grid;place-items:center;width:52px;height:52px;border:1px solid #ffffffc9;border-radius:18px;background:#ffffff9c;box-shadow:0 8px 22px #485a3814;font-size:27px}.photo-placeholder-caption{font-size:10px;font-weight:750;letter-spacing:.3px;color:#61715f}.photo-placeholder-spark{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px #ffffff45}.photo-placeholder-spark-one{right:24%;top:29%}.photo-placeholder-spark-two{left:24%;bottom:24%;width:4px;height:4px}
.menu-item-photo-placeholder{align-content:center;justify-items:center;gap:4px;overflow:hidden;border:1px solid #f1e6d8;background:radial-gradient(ellipse at 50% 100%,#f6debd 0,transparent 60%),linear-gradient(145deg,#fff8ee,#f7eadb);color:#967452}.menu-placeholder-plate{display:grid;place-items:center;width:48px;height:48px;border:1px solid #fff;border-radius:50%;background:#ffffffa6;box-shadow:0 5px 16px #90714a15;font-size:25px}.menu-item-photo-placeholder small{font-size:8px;font-weight:700;letter-spacing:.25px;color:#9a8061}
.public-profile-placeholder{display:grid;place-items:center;width:66px;height:66px;margin-bottom:14px;border:3px solid #ffffffd9;border-radius:20px;background:radial-gradient(circle at 30% 20%,#fff8d8,#f0dcac 54%,#d2aa71);box-shadow:0 5px 20px #0003;color:#58452e;font:800 25px Manrope,sans-serif;text-transform:uppercase}.public-profile-photo{margin-bottom:14px}
.photo-field-preview{overflow:hidden}.upload-photo-placeholder{position:relative;isolation:isolate;display:grid;place-content:center;justify-items:center;gap:5px;width:100%;min-height:90px;overflow:hidden;border-radius:7px;background:linear-gradient(145deg,#eff4e8,#e2eddd);color:#617455}.upload-photo-placeholder:before{content:"";position:absolute;z-index:-1;width:90px;height:90px;right:-25px;top:-40px;border-radius:50%;background:#ffffffa0}.upload-photo-placeholder.food{background:radial-gradient(ellipse at center bottom,#f5dfc2,transparent 65%),linear-gradient(145deg,#fff8ef,#f6eadb);color:#927654}.upload-photo-placeholder>span{font-size:25px}.upload-photo-placeholder small{font-size:8px;font-weight:700;letter-spacing:.2px}.profile-photo-preview.is-empty{min-height:62px;background:linear-gradient(120deg,#f2f6ec,#e8f0e4)}.profile-photo-preview.is-empty .profile-preview-art{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:14px;background:#ffffffb5;box-shadow:0 3px 10px #354a2810;font-size:23px}.profile-photo-preview.is-empty>span:last-child{display:grid;gap:3px}.profile-photo-preview.is-empty b{font-size:9px;color:#566552}.profile-photo-preview.is-empty small{font-size:8px;color:#8a9588}.gallery-empty{display:grid;justify-items:center;gap:4px;padding:14px 8px;border:1px dashed #dce5d7;border-radius:9px;background:linear-gradient(140deg,#fbfcf8,#f0f5eb);text-align:center}.gallery-empty:before{content:"📸";font-size:20px}.preview-logo{box-shadow:inset 0 1px #ffffff9c,0 3px 8px #3041251a}.preview-hero:not([style]){background:radial-gradient(ellipse at 88% 0%,#758d5938,transparent 40%),linear-gradient(135deg,#172b20,#314a30)}
.vehicle-photo-fallback{position:relative;background:radial-gradient(ellipse at 50% 110%,#f4d9bc 0,transparent 45%),linear-gradient(145deg,#f1f5e8,#e5efe4 56%,#faf1e5);color:#526a4c}.vehicle-photo-fallback>span{display:grid;place-items:center;width:82px;height:82px;border:1px solid #ffffffc9;border-radius:28px;background:#ffffff9c;box-shadow:0 10px 24px #43583214;font-size:46px;transform:none}.vehicle-photo-fallback>b{margin-top:12px;font:750 13px Manrope,sans-serif;color:#495e44}.vehicle-photo-fallback>small{margin-top:3px;font-size:9px;font-weight:600;letter-spacing:.1px;color:#7b8975}
