@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#202a27;--muted:#68736d;--paper:#f7f6f1;--white:#fff;--green:#2e5144;--line:#e2e5de;--accent:#c5a778}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px max(5vw,20px);background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:1.08rem;letter-spacing:.04em;color:var(--ink)}nav{display:flex;gap:28px;flex-wrap:wrap}nav a{font-size:.92rem;color:var(--ink)}.container{max-width:1180px;margin:0 auto;padding:38px 24px 72px}.narrow{max-width:540px;padding-top:10vh}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:430px;background:#e9e9df;border-radius:8px;overflow:hidden}.hero-copy{padding:clamp(28px,5vw,68px);align-self:center}.eyebrow{font-size:.72rem;letter-spacing:.19em;font-weight:700;color:#7b6b4e}.hero h1,.page-intro h1,h1{font:600 clamp(2rem,4vw,3.5rem)/1.15 'Playfair Display',serif;margin:.35em 0}.hero-copy>p:not(.eyebrow){max-width:520px;color:#59645d}.hero-art{background:linear-gradient(135deg,#c7c7b9,#a4b0a4);display:flex;align-items:center;justify-content:center;padding:30px}.art-card{width:75%;height:70%;min-height:220px;background:linear-gradient(145deg,#e5ded0,#b8b4a6);box-shadow:18px 20px 0 #718579;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#31463b;letter-spacing:.15em}.art-card strong{font:700 clamp(1.5rem,3vw,2.5rem) 'Playfair Display',serif}.art-card small{letter-spacing:.02em}.button,button{display:inline-block;border:0;border-radius:3px;background:var(--green);color:white;padding:11px 18px;font:600 .9rem 'DM Sans',sans-serif;cursor:pointer}.button{margin-top:12px}.button:hover,button:hover{background:#203c31;text-decoration:none}.secondary{background:#e8ebe5;color:var(--ink)}.section-head,.admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:42px 0 20px}.section-head h2,.panel h2,.contact-note h2{font:600 1.8rem 'Playfair Display',serif;margin:.2em 0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-card{background:white;border:1px solid var(--line);border-radius:5px;overflow:hidden}.product-card img{display:block;width:100%;height:240px;object-fit:cover;background:#e7e7e0}.product-info{padding:18px 20px 22px}.product-info small{color:#897652;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.product-info h3{font:600 1.3rem 'Playfair Display',serif;margin:5px 0}.product-info p{color:var(--muted);font-size:.92rem;margin:8px 0 0}.page-intro{padding:16px 0 28px}.page-intro p:last-child{color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 28px}.filters a{padding:7px 14px;border:1px solid var(--line);border-radius:30px;background:white;font-size:.88rem}.filters a.active{background:var(--green);color:white;border-color:var(--green)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:white;border:1px solid var(--line);border-radius:5px;padding:24px;margin:20px 0}.contact-note{padding:35px;background:#e9e9df;border-radius:5px}.muted{color:var(--muted)}.footer{text-align:center;padding:25px;background:#253b32;color:#e8ece7;font-size:.85rem}.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.admin-tile{display:block;padding:25px;background:white;border:1px solid var(--line);border-radius:5px;color:var(--ink)}.admin-tile span{color:#a18b63;font-size:.75rem;letter-spacing:.1em}.admin-tile h2{font:600 1.45rem 'Playfair Display',serif;margin:10px 0}.admin-tile p{color:var(--muted);margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid h2,.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600}input,textarea,select{width:100%;padding:11px 12px;border:1px solid #cfd5cd;border-radius:3px;font:inherit;background:#fff;color:var(--ink)}textarea{resize:vertical}.check-label{flex-direction:row;align-items:center}.check-label input{width:auto}.notice{padding:12px 15px;background:#e7eee8;border-left:3px solid var(--green);border-radius:3px}.error{background:#fae9e5;border-color:#a33b2b}.table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:5px}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f1f2ed}td small{color:var(--muted)}.thumb{width:76px;height:60px;object-fit:cover;border-radius:3px}.inline-form{display:inline}.link-button{background:none;color:var(--green);padding:0;margin-left:12px}.link-button:hover{background:none;text-decoration:underline}.danger{color:#a33b2b}.list-title{margin-top:35px}.image-link{display:block}.image-link img{transition:transform .2s}.image-link:hover img{transform:scale(1.015)}
@media(max-width:760px){.site-header{align-items:flex-start;flex-direction:column;padding:18px 20px}nav{gap:14px}.container{padding:25px 16px 48px}.hero{grid-template-columns:1fr}.hero-art{min-height:250px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card img{height:180px}.product-info{padding:13px}.contact-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid h2,.full{grid-column:auto}.admin-grid{grid-template-columns:1fr}.admin-top{align-items:flex-start}.section-head{align-items:flex-start}}@media(max-width:460px){.product-grid{grid-template-columns:1fr}.product-card img{height:230px}.admin-top{flex-direction:column}}

/* Public photo album slideshow */
.album-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.album-toolbar .filters{margin-bottom:0}.slideshow-launch{white-space:nowrap;margin-bottom:18px}.slideshow[hidden]{display:none!important}.slideshow{position:fixed;inset:0;z-index:9999;background:rgba(12,17,15,.97);color:#fff;display:flex;align-items:center;justify-content:center;padding:64px 76px 92px}.slideshow:fullscreen{background:#0c110f}.slide-stage{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0}.slide-stage img{display:block;max-width:100%;max-height:calc(100% - 72px);width:auto;height:auto;object-fit:contain;box-shadow:0 10px 40px rgba(0,0,0,.35)}.slide-caption{text-align:center;padding:12px 8px 0;max-width:100%}.slide-caption div{font-size:1.05rem;font-weight:600;overflow-wrap:anywhere}.slide-caption small{color:#c8d0ca}.slide-close,.slide-nav{position:absolute;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:50%;padding:0}.slide-close{top:18px;right:22px;width:46px;height:46px;font-size:2rem;line-height:1}.slide-nav{top:50%;transform:translateY(-50%);width:50px;height:58px;font-size:2.5rem;line-height:1}.slide-prev{left:16px}.slide-next{right:16px}.slide-controls{position:absolute;bottom:16px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:0 12px}.slide-controls label{display:inline;font-size:.85rem;color:#e2e5de}.slide-controls select{width:auto;min-width:120px;padding:8px 10px}.slide-controls button{padding:9px 13px}.slide-controls #slideCounter{min-width:55px;text-align:center;font-variant-numeric:tabular-nums}.slideshow-open{overflow:hidden}
@media(max-width:650px){.album-toolbar{flex-direction:column;align-items:stretch}.slideshow-launch{align-self:flex-start}.slideshow{padding:64px 12px 125px}.slide-stage img{max-width:100%;max-height:calc(100% - 62px)}.slide-prev{left:5px}.slide-next{right:5px}.slide-nav{width:36px;height:44px;font-size:2rem;background:rgba(0,0,0,.45)}.slide-close{top:10px;right:10px}.slide-controls{gap:8px;bottom:10px}.slide-controls label{width:100%;text-align:center}.slide-controls select{min-width:105px}}

/* Collection display manager additions */
.collection-card{display:block;color:var(--ink);transition:transform .15s,box-shadow .15s}.collection-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08);text-decoration:none}.collection-placeholder{height:240px;background:linear-gradient(135deg,#e7e7e0,#c8cec4)}.collection-grid .product-info{min-height:105px}.collection-grid .product-card img{height:240px}
@media(max-width:760px){.collection-grid .product-card img,.collection-placeholder{height:180px}}@media(max-width:460px){.collection-grid .product-card img,.collection-placeholder{height:230px}}

/* Theme chooser */
.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.theme-option{display:flex;flex-direction:column;gap:8px;padding:14px;background:var(--white);border:1px solid var(--line);border-radius:8px;cursor:pointer;min-width:0}.theme-option:has(input:checked){border:2px solid var(--green);padding:13px;box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 12%,transparent)}.theme-option input{width:auto;align-self:flex-start;accent-color:var(--green)}.theme-option strong{font-size:1rem}.theme-option small{font-weight:400;color:var(--muted);line-height:1.4}.theme-swatch{height:105px;display:block;background:var(--sw-paper);border:1px solid rgba(0,0,0,.12);padding:9px;position:relative;overflow:hidden}.swatch-header{height:15px;display:block;background:var(--sw-main);margin:-9px -9px 9px}.swatch-body{display:flex;gap:6px}.swatch-body i{display:block;height:42px;flex:1;background:var(--sw-accent);opacity:.7;border:1px solid rgba(0,0,0,.06)}.swatch-body i:first-child{background:var(--sw-main);opacity:.35}.swatch-button{position:absolute;bottom:9px;left:9px;width:40px;height:7px;background:var(--sw-main)}.current-theme{font-size:.75rem;font-style:normal;color:var(--green);font-weight:700}.theme-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0}.theme-actions .button{margin-top:0}@media(min-width:850px){.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:460px){.theme-grid{grid-template-columns:1fr}}
