:root{--color-ink:#1a1a1a;--color-ink-soft:#726c77;--color-paper:#faf8f6;--color-white:#fff;--color-lavender:#b4a0d1;--color-lavender-dark:#8c74ac;--color-lavender-pale:#f1ecf8;--color-border:#e5e0e6;--color-wedding:#c8a961;--color-wedding-dark:#a3823f;--color-wedding-pale:#f6eed8;--color-portrait:#c17b5a;--color-portrait-dark:#9c5c40;--color-portrait-pale:#f3e2d6;--color-product:var(--color-lavender);--color-product-dark:var(--color-lavender-dark);--color-product-pale:var(--color-lavender-pale);--color-family:#cf8fa0;--color-family-dark:#a96c7d;--color-family-pale:#f6e3e8;--color-engagement:#92a382;--color-engagement-dark:#70805f;--color-engagement-pale:#e8ecdf;--font-script:"Allura", cursive;--font-heading:"Cormorant Garamond", Georgia, serif;--font-body:"Jost", "Helvetica Neue", Arial, sans-serif;--header-height:80px;--header-height-mobile:64px;--container-width:1180px}[data-theme=wedding]{--theme-accent:var(--color-wedding);--theme-accent-dark:var(--color-wedding-dark);--theme-accent-pale:var(--color-wedding-pale)}[data-theme=portrait]{--theme-accent:var(--color-portrait);--theme-accent-dark:var(--color-portrait-dark);--theme-accent-pale:var(--color-portrait-pale)}[data-theme=product]{--theme-accent:var(--color-product);--theme-accent-dark:var(--color-product-dark);--theme-accent-pale:var(--color-product-pale)}[data-theme=family]{--theme-accent:var(--color-family);--theme-accent-dark:var(--color-family-dark);--theme-accent-pale:var(--color-family-pale)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;font-weight:300;line-height:1.7}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-ink);margin:0 0 .6em;font-weight:500;line-height:1.2}h1{font-size:clamp(2.6rem,5vw,4.2rem);font-weight:500}h2{font-size:clamp(2rem,3.4vw,2.8rem);font-weight:400}h3{font-size:clamp(1.3rem,2vw,1.6rem);font-weight:500}p{margin:0 0 1em}a{color:inherit;text-decoration:none}button{font-family:inherit}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--color-lavender-dark);outline-offset:3px}.container{width:100%;max-width:var(--container-width);margin:0 auto;padding:0 24px}.eyebrow{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--color-lavender-dark);font-size:.78rem;font-weight:500;display:block}.section{padding:96px 0}@media (width<=768px){.section{padding:64px 0}}.btn{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:15px 34px;font-size:.82rem;font-weight:500;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn-primary{background:var(--color-ink);color:var(--color-white)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--color-lavender-dark)}.btn-outline{color:var(--color-ink);border-color:var(--color-ink);background:0 0}.btn-outline:hover,.btn-outline:focus-visible{background:var(--color-ink);color:var(--color-white)}.btn:disabled{opacity:.6;cursor:not-allowed}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.divider-row{color:var(--color-lavender);justify-content:center;margin:8px 0;display:flex}.site-header{z-index:100;background:var(--color-white);border-bottom:1px solid var(--color-border);position:fixed;top:0;left:0;right:0}.site-header-bar{height:var(--header-height);justify-content:space-between;align-items:center;display:flex}.brand{align-items:baseline;gap:10px;padding-bottom:10px;display:inline-flex;position:relative}.brand-name{font-family:var(--font-script);color:var(--color-ink);font-size:2.1rem;line-height:1}.brand-suffix{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.65rem;font-weight:500}.brand-flourish{width:58px;height:12px;color:var(--color-lavender);position:absolute;bottom:-4px;left:2px}.header-right{align-items:center;gap:32px;display:flex}.site-nav ul{align-items:center;gap:40px;display:flex}.header-instagram-btn{color:var(--color-lavender-dark);justify-content:center;align-items:center;transition:color .2s;display:inline-flex}.header-instagram-btn:hover,.header-instagram-btn:focus-visible{color:var(--color-ink)}.header-instagram-icon{width:30px;height:30px}.nav-link{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink);padding-bottom:6px;font-size:.8rem;font-weight:500;display:inline-block;position:relative}.nav-link:after{content:"";background:var(--color-lavender-dark);transform-origin:0;height:1px;transition:transform .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-link.active{color:var(--color-lavender-dark)}.mobile-icon-nav{display:none}@media (width<=768px){.site-header-bar{height:var(--header-height-mobile)}.brand{flex-direction:column;align-items:flex-start;gap:0;padding-bottom:4px}.brand-name{white-space:nowrap;font-size:1.6rem}.brand-suffix{letter-spacing:.2em;white-space:nowrap;margin-top:-3px;font-size:.55rem}.brand-flourish{display:none}.header-right{gap:4px}.site-nav,.header-instagram-btn{display:none}.mobile-icon-nav{display:block}.mobile-icon-nav ul{align-items:center;gap:6px;display:flex}.mobile-icon-nav .nav-link{justify-content:center;align-items:center;padding:10px 8px;display:inline-flex}.mobile-nav-icon{width:22px;height:22px}}.site-footer{background:var(--color-ink);color:var(--color-paper);text-align:center;padding:56px 0 28px;position:relative}.footer-inner{flex-direction:column;align-items:center;gap:18px;display:flex}.footer-cta-heading{color:var(--color-white);margin:0}.footer-cta-btn{background:var(--color-lavender);color:var(--color-ink);border-color:var(--color-lavender)}.footer-cta-btn:hover,.footer-cta-btn:focus-visible{color:var(--color-lavender);background:0 0}.footer-brand-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.footer-brand{font-family:var(--font-script);color:var(--color-white);font-size:2rem}.footer-instagram{color:var(--color-lavender);align-items:center;gap:8px;font-size:1.1rem;transition:color .2s;display:inline-flex}.footer-instagram:hover{color:var(--color-white)}.footer-contact-icon{width:24px;height:24px}.footer-inner .divider-row{margin:10px 0 0}.footer-copyright{text-align:left;letter-spacing:.05em;color:var(--color-ink-soft);margin:0;font-size:.72rem;position:absolute;bottom:10px;left:24px;right:24px}.placeholder-image{border-radius:2px;width:100%;overflow:hidden}img.placeholder-image{object-fit:cover;height:100%;display:block}div.placeholder-image{color:var(--color-white);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px;display:flex}.placeholder-image-icon{opacity:.8;width:28px;height:28px}.placeholder-image-label{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;opacity:.85;font-size:.72rem}.placeholder-image-variant-0{background:linear-gradient(150deg, var(--color-wedding), #1a1a1a 70%)}.placeholder-image-variant-1{background:linear-gradient(150deg, var(--color-portrait), #1a1a1a 70%)}.placeholder-image-variant-2{background:linear-gradient(150deg, var(--color-product), #1a1a1a 70%)}.placeholder-image-variant-3{background:linear-gradient(150deg, var(--color-family), #1a1a1a 70%)}.placeholder-image-variant-4{background:linear-gradient(150deg, var(--color-engagement), #1a1a1a 70%)}.slideshow{min-height:90vh;color:var(--color-white);align-items:flex-end;display:flex;position:relative;overflow:hidden}.slideshow-layers{position:absolute;inset:0}.slideshow-layers .slideshow-layer{opacity:0;border-radius:0;transition:opacity 1.2s;position:absolute;inset:0}.slideshow-layers .slideshow-layer.active{opacity:1}.slideshow-scrim{background:linear-gradient(#1a1a1a1a 0%,#1a1a1ac7 100%);position:absolute;inset:0}.slideshow-content{z-index:1;max-width:720px;margin-left:15%;margin-right:0;padding-bottom:110px;position:relative}.slideshow-content .eyebrow{color:var(--color-lavender);margin-bottom:20px}.slideshow-heading{color:var(--color-white);margin-bottom:32px}.slideshow-content .slideshow-cta{background:var(--color-lavender);color:var(--color-ink);border-color:var(--color-lavender)}.slideshow-content .slideshow-cta:hover,.slideshow-content .slideshow-cta:focus-visible{background:var(--color-ink);color:var(--color-white);border-color:var(--color-ink)}.slideshow-dots{z-index:1;gap:12px;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.slideshow-dot{border:1px solid var(--color-white);cursor:pointer;background:0 0;border-radius:50%;width:9px;height:9px;padding:0;transition:background-color .2s}.slideshow-dot.active{background:var(--color-white)}@media (width<=768px){.slideshow{min-height:100svh}.slideshow-content{margin-left:0;padding-bottom:76px}}.about-grid{grid-template-columns:minmax(0,380px) 1fr;align-items:center;gap:64px;display:grid}.about-portrait-frame{background:var(--color-white);border:1px solid var(--color-border);border-radius:2px;padding:14px;box-shadow:0 18px 36px #1a1a1a1f}.about-portrait{border-radius:1px}.about-copy h2{margin-top:6px}.about-copy p{color:var(--color-ink-soft)}.about-cta{font-family:var(--font-body);letter-spacing:.08em;color:var(--color-lavender-dark);border-bottom:1px solid;align-items:center;gap:8px;margin-top:12px;padding-bottom:2px;font-size:.85rem;font-weight:500;transition:color .2s;display:inline-flex}.about-cta:hover{color:var(--color-ink)}.about-cta-icon{width:18px;height:18px}.categories-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.category-card{display:block;position:relative}.category-card-frame{background:var(--color-white);border:1px solid var(--color-border);border-radius:2px;padding:8px;transition:box-shadow .35s;box-shadow:0 10px 24px #1a1a1a14}.category-card:hover .category-card-frame,.category-card:focus-visible .category-card-frame{box-shadow:0 22px 40px #1a1a1a3d}.category-card-photo{border-radius:1px;position:relative;overflow:hidden}.category-card-image{transition:transform .5s}.category-card:hover .category-card-image,.category-card:focus-visible .category-card-image{transform:scale(1.08)}.category-card-label{text-align:center;font-family:var(--font-heading);color:var(--color-white);background:linear-gradient(#1a1a1a00 0%,#1a1a1a8c 100%);padding:22px 16px;font-size:1.4rem;transition:background-color .35s;position:absolute;bottom:0;left:0;right:0}.category-card:hover .category-card-label,.category-card:focus-visible .category-card-label{background:linear-gradient(#1a1a1a00 0%,#1a1a1ab8 100%)}@media (width<=1024px){.categories-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.about-grid{grid-template-columns:1fr;gap:32px}.about-portrait-frame{max-width:320px;margin:0 auto}.categories-grid{grid-template-columns:1fr}}.gallery-grid{width:100%;display:grid}.gallery-grid-item{min-width:0;min-height:0}.gallery-tile{cursor:pointer;background:0 0;border:none;border-radius:2px;width:100%;height:100%;margin:0;padding:0;display:block;position:relative;overflow:hidden}.gallery-tile .placeholder-image{height:100%}.gallery-tile .gallery-tile-image{transition:transform .4s}.gallery-tile:hover .gallery-tile-image,.gallery-tile:focus-visible .gallery-tile-image{transform:scale(1.04)}.lightbox{z-index:200;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-backdrop{background:#1a1a1aeb;position:absolute;inset:0}.lightbox-content{z-index:1;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:min(720px,86vw);display:flex;position:relative}.lightbox-content .lightbox-image{object-fit:contain;width:auto;max-width:100%;height:70vh;max-height:70vh}.lightbox-close,.lightbox-nav{z-index:2;color:var(--color-white);cursor:pointer;background:0 0;border:none;padding:12px;display:flex;position:absolute}.lightbox-close{top:20px;right:20px}.lightbox-prev{top:50%;left:20px;transform:translateY(-50%)}.lightbox-next{top:50%;right:20px;transform:translateY(-50%)}.lightbox-close:hover,.lightbox-nav:hover,.lightbox-close:focus-visible,.lightbox-nav:focus-visible{color:var(--color-lavender)}@media (width<=600px){.lightbox-prev{left:6px}.lightbox-next{right:6px}.lightbox-close{top:12px;right:12px}.lightbox-content .lightbox-image{height:56vh;max-height:56vh}}.galleries-header{text-align:center;padding-bottom:32px}.galleries-header h1{margin-top:6px}.galleries-intro{max-width:560px;color:var(--color-ink-soft);margin:0 auto 36px}.filter-tabs{justify-content:center;gap:36px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-tab{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 2px;font-size:.82rem;font-weight:500;position:relative}.filter-tab:after{content:"";background:var(--color-lavender-dark);height:1px;transition:transform .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.filter-tab.active{color:var(--color-ink)}.filter-tab.active:after,.filter-tab:hover:after{transform:scaleX(1)}.filter-toggle{display:none}.galleries-grid-section{padding-top:0}.galleries-grid-section .container{max-width:1400px;padding:0 14px}.galleries-status{text-align:center;color:var(--color-ink-soft)}@media (width<=600px){.filter-tabs{justify-content:flex-start;gap:26px}}@media (width<=768px){.filters-block{justify-content:center;display:flex;position:relative}.filter-toggle{border:1px solid var(--color-ink);font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink);cursor:pointer;background:0 0;border-radius:2px;align-items:center;gap:8px;padding:10px 20px;font-size:.78rem;font-weight:500;display:inline-flex}.filter-toggle-icon{flex-shrink:0;width:16px;height:16px}.filter-tabs{background:var(--color-white);border:1px solid var(--color-border);z-index:20;border-radius:4px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2px;width:200px;max-width:calc(100vw - 48px);padding:8px;display:none;position:absolute;top:calc(100% + 8px);left:50%;overflow-x:visible;transform:translate(-50%);box-shadow:0 12px 28px #0000001a}.filter-tabs.open{display:flex}.filter-tab{text-align:left;padding:10px}.filter-tab:after{content:none}.filter-tab:hover,.filter-tab.active{background:var(--color-lavender-pale);color:var(--color-ink)}}@media (width>=1025px){.filter-tabs{top:calc(var(--header-height) + 48px);z-index:10;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2px;width:110px;padding-bottom:0;position:fixed;left:16px;overflow-x:visible}.filter-tab{text-align:left;border-left:2px solid #0000;padding:10px 0 10px 10px;transition:border-color .2s,color .2s}.filter-tab:after{content:none}.filter-tab:hover,.filter-tab.active{border-left-color:var(--color-lavender-dark)}.galleries-grid-section .container{max-width:1526px;padding-left:140px}}.book-now-container{justify-content:center;display:flex}.book-now-card{background:var(--color-white);border:1px solid var(--color-border);text-align:center;border-radius:2px;width:100%;max-width:640px;padding:56px;position:relative}.card-flourish{color:var(--color-lavender);opacity:.55;position:absolute}.card-flourish-tl{top:14px;left:14px}.card-flourish-br{bottom:14px;right:14px}.book-now-intro{color:var(--color-ink-soft);max-width:440px;margin:0 auto 32px}.form-banner{border-radius:2px;margin-bottom:24px;padding:12px 18px;font-size:.85rem}.book-now-form{text-align:left;flex-direction:column;gap:20px;display:flex}.form-row{flex-direction:column;flex:1;gap:8px;display:flex}.form-row-group{gap:20px;display:flex}.form-row label em{text-transform:none;letter-spacing:normal;opacity:.75;font-style:italic;font-weight:400}.form-row input,.form-row select,.form-row textarea{font-family:var(--font-body);color:var(--color-ink);border:1px solid var(--color-border);background:var(--color-paper);resize:vertical;border-radius:2px;padding:12px 14px;font-size:.95rem}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--color-lavender);box-shadow:0 0 0 3px var(--color-lavender-pale);outline:none}.book-now-form .btn{align-self:center;min-width:220px;margin-top:8px}.book-now-success-heading{font-family:var(--font-script);color:var(--color-ink);margin:6px 0 16px;font-size:clamp(3rem,7vw,4.8rem);font-weight:400;line-height:1.15}.book-now-success-subtitle{font-family:var(--font-body);color:var(--color-ink);margin:0 0 20px;font-size:1.15rem;font-weight:500}.book-now-success-message{color:var(--color-ink-soft);max-width:420px;margin:0 auto 28px}@media (width<=640px){.book-now-card{padding:40px 24px}.form-row-group{flex-direction:column;gap:20px}}@media (width<=480px){.card-flourish{display:none}}.admin-login-container{justify-content:center;display:flex}.admin-card{background:var(--color-white);border:1px solid var(--color-border);text-align:center;border-radius:2px;width:100%;max-width:480px;padding:56px;position:relative}.admin-card .card-flourish{color:var(--color-lavender);opacity:.55;position:absolute}.admin-card .card-flourish-tl{top:14px;left:14px}.admin-card .card-flourish-br{bottom:14px;right:14px}.admin-login-intro{color:var(--color-ink-soft);margin-bottom:28px}.admin-login-form{text-align:left;flex-direction:column;gap:20px;display:flex}.admin-dashboard-section.admin-dashboard-section{height:calc(100vh - var(--header-height));flex-direction:column;padding:40px 0 24px;display:flex;overflow:hidden}.admin-dashboard-container{flex-direction:column;max-width:1800px;height:100%;min-height:0;display:flex}.admin-header-row{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.admin-header-row h1{margin:4px 0 0}.admin-header-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.admin-header-actions .btn-outline{white-space:nowrap}.admin-redeploy-section.admin-redeploy-section{justify-content:center;align-items:center;min-height:60vh;display:flex}.admin-redeploy-container{text-align:center;max-width:480px;margin:0 auto}.admin-redeploy-container h1{margin:6px 0 18px}.admin-redeploy-container p{color:var(--color-ink-soft)}.form-row{flex-direction:column;gap:8px;display:flex}.form-row label{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.76rem;font-weight:500}.form-row input,.form-row select{font-family:var(--font-body);color:var(--color-ink);border:1px solid var(--color-border);background:var(--color-paper);border-radius:2px;padding:12px 14px;font-size:.95rem}.password-field{position:relative}.password-field input{width:100%;padding-right:44px}.password-toggle{width:32px;height:32px;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle svg{width:20px;height:20px}.password-toggle:hover,.password-toggle:focus-visible{color:var(--color-lavender-dark)}.form-row input:focus,.form-row select:focus{border-color:var(--color-lavender);box-shadow:0 0 0 3px var(--color-lavender-pale);outline:none}.form-banner{text-align:left;border-radius:2px;margin-bottom:20px;padding:12px 18px;font-size:.85rem}.form-banner-error{color:#9a3b34;background:#fbeceb;border:1px solid #f0c9c6}.admin-retry{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.admin-grid{flex:1;grid-template-columns:3fr 1fr;gap:40px;min-height:0;display:grid}.admin-panel{background:var(--color-white);border:1px solid var(--color-border);border-radius:2px;padding:32px}.admin-panel h2{margin-bottom:20px}.admin-upload-form{flex-direction:column;gap:18px;display:flex}.admin-file-error{color:#9a3b34;margin:8px 0 0;font-size:.82rem}.admin-upload-form .btn{align-self:flex-start;margin-top:4px}.admin-list-header{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.admin-empty{color:var(--color-ink-soft);font-size:.9rem}.admin-list-panel{flex-direction:column;min-height:0;display:flex;overflow-y:auto}.admin-list-header{flex-shrink:0}.admin-filter-bar{flex-wrap:wrap;gap:8px;display:flex}.admin-filter-chip{border:1px solid var(--color-border);background:var(--color-white);color:var(--color-ink-soft);font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:500;transition:border-color .15s,color .15s,background .15s}.admin-filter-chip:hover,.admin-filter-chip:focus-visible{border-color:var(--theme-accent,var(--color-lavender));color:var(--theme-accent-dark,var(--color-lavender-dark))}.admin-filter-chip[aria-pressed=true]{background:var(--theme-accent-pale,var(--color-lavender-pale));border-color:var(--theme-accent,var(--color-lavender));color:var(--theme-accent-dark,var(--color-lavender-dark))}.admin-photo-list{flex-direction:column;gap:8px;display:flex}.admin-photo-row{border:1px solid var(--color-border);background:var(--color-white);border-radius:2px;overflow:hidden}.admin-photo-row-header{cursor:pointer;align-items:center;gap:12px;padding:8px 10px;display:flex}.admin-photo-row-header:hover{background:var(--color-paper)}.admin-photo-row-chevron{width:8px;height:8px;color:var(--color-ink-soft);border-bottom:1.6px solid;border-right:1.6px solid;flex-shrink:0;transition:transform .2s;display:block;transform:rotate(-45deg)}.admin-photo-row-chevron.expanded{transform:rotate(45deg)}.admin-photo-row-filename{min-width:0;font-family:var(--font-body);color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.admin-photo-row-category-badge{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--theme-accent-dark,var(--color-lavender-dark));white-space:nowrap;flex-shrink:0;font-size:.68rem;font-weight:500}.admin-photo-row-inline-edit{border:1px solid var(--theme-accent,var(--color-lavender));background:var(--color-white);min-width:0;font-family:var(--font-body);color:var(--color-ink);border-radius:2px;flex:1;padding:4px 6px;font-size:.9rem}.admin-photo-row-inline-edit:focus{outline:none}.admin-photo-row-category-select{border:1px solid var(--theme-accent,var(--color-lavender));background:var(--color-white);font-family:var(--font-body);color:var(--color-ink);border-radius:2px;flex-shrink:0;padding:4px 6px;font-size:.78rem}.admin-photo-row-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.admin-photo-row-menu-wrap{position:relative}.admin-photo-row-menu-btn{width:32px;height:32px;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-photo-row-menu-btn svg{width:18px;height:18px}.admin-photo-row-menu-btn:hover,.admin-photo-row-menu-btn:focus-visible{color:var(--color-lavender-dark);background:var(--color-lavender-pale)}.admin-photo-row-menu{z-index:10;background:var(--color-white);border:1px solid var(--color-border);border-radius:2px;min-width:170px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 6px 20px #1a1a1a1f}.admin-photo-row-menu-item{width:100%;font-family:var(--font-body);color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-size:.85rem;display:flex}.admin-photo-row-menu-item svg{width:16px;height:16px;color:var(--color-ink-soft);flex-shrink:0}.admin-photo-row-menu-item:hover,.admin-photo-row-menu-item:focus-visible{background:var(--color-paper)}.admin-photo-row-delete{color:#d9433a;cursor:pointer;background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.admin-photo-row-delete svg{width:17px;height:17px}.admin-photo-row-delete:hover,.admin-photo-row-delete:focus-visible{background:#fbeceb}.admin-photo-row-error{color:#9a3b34;margin:0;padding:0 10px 10px;font-size:.76rem}.admin-photo-row-expanded{border-top:1px solid var(--color-border);background:var(--color-paper);padding:16px}.admin-photo-row-full{object-fit:contain;border-radius:2px;width:auto;max-width:480px;max-height:70vh;margin:0 auto;display:block}.admin-pending-files{flex-direction:column;gap:8px;margin:-6px 0 0;display:flex}.admin-pending-file{border:1px solid var(--color-border);background:var(--color-paper);border-radius:2px;align-items:center;gap:10px;padding:8px 10px;display:flex}.admin-pending-file.has-error{background:#fbeceb;border-color:#f0c9c6}.admin-pending-file-name{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}.admin-pending-file-error{color:#9a3b34;flex-shrink:0;font-size:.72rem}.admin-pending-file-category{border:1px solid var(--color-border);background:var(--color-white);max-width:130px;font-family:var(--font-body);color:var(--color-ink);border-radius:2px;flex-shrink:0;padding:4px 6px;font-size:.76rem}.admin-pending-file-category.is-unset{color:#9a3b34;border-color:#f0c9c6}.admin-pending-file-remove{width:28px;height:28px;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.admin-pending-file-remove svg{width:16px;height:16px}.admin-pending-file-remove:hover,.admin-pending-file-remove:focus-visible{color:#d9433a;background:#fbeceb}.admin-workshop-panel{background:var(--color-lavender-pale);border:1px solid var(--color-lavender);border-radius:2px;min-width:0;min-height:0;padding:32px;overflow-y:auto}.admin-workshop-panel h2{margin-bottom:20px}.admin-drawer-save-row{gap:12px;margin-top:24px;display:flex}.admin-drawer-save-row .btn{flex:1}.admin-add-photo-slot{border:2px dashed var(--color-border);width:100%;color:var(--color-ink-soft);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:18px;font-size:.82rem;font-weight:500;transition:border-color .2s,color .2s;display:flex}.admin-add-photo-slot:hover,.admin-add-photo-slot:focus-within{border-color:var(--theme-accent,var(--color-lavender));color:var(--theme-accent-dark,var(--color-lavender-dark))}.admin-add-photo-slot.is-uploading{cursor:default;opacity:.7}.admin-add-photo-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-add-photo-icon{flex-shrink:0;width:14px;height:14px;position:relative}.admin-add-photo-icon:before,.admin-add-photo-icon:after{content:"";background:currentColor;position:absolute}.admin-add-photo-icon:before{width:2px;height:14px;top:0;left:6px}.admin-add-photo-icon:after{width:14px;height:2px;top:6px;left:0}.confirm-dialog{z-index:300;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-dialog-backdrop{background:#1a1a1a99;position:absolute;inset:0}.confirm-dialog-panel{z-index:1;background:var(--color-white);text-align:center;border-radius:2px;width:100%;max-width:380px;padding:28px;position:relative}.confirm-dialog-panel h3{margin:0 0 10px}.confirm-dialog-panel p{color:var(--color-ink-soft);margin:0 0 24px}.confirm-dialog-actions{justify-content:center;gap:12px;display:flex}.confirm-dialog-actions .btn{flex:1}.confirm-dialog-confirm{background:#d9433a}.confirm-dialog-confirm:hover,.confirm-dialog-confirm:focus-visible{background:#b8362e}@media (width<=900px){.admin-dashboard-section.admin-dashboard-section{height:auto;overflow:visible}.admin-dashboard-container{height:auto}.admin-grid{grid-template-columns:1fr;min-height:0}.admin-list-panel,.admin-workshop-panel{overflow-y:visible}}@media (width<=480px){.admin-card{padding:40px 24px}.admin-panel,.admin-workshop-panel{padding:24px 20px}}.not-found-section{align-items:center;min-height:60vh;display:flex}.not-found-inner{text-align:center;max-width:420px;margin:0 auto}.not-found-inner p{color:var(--color-ink-soft);margin-bottom:28px}main{padding-top:var(--header-height);min-height:60vh}@media (width<=768px){main{padding-top:var(--header-height-mobile)}}
