.shop-intro { display:grid; grid-template-columns: 1.5fr 1fr; gap: 5vw; align-items:end; margin-bottom:48px; }
.shop-intro h1 { margin-bottom:16px; }
.eyebrow { font-size:.8rem!important; letter-spacing:.12em; text-transform:uppercase; }
.shop-note { color:#555; font-size:.9rem!important; }
.shop-filters { display:flex; gap:10px; flex-wrap:wrap; margin:28px 0; }
.shop-button,.shop-filters button { font:inherit; padding:12px 20px; min-height:44px; border:1px solid #aaa; background:white; color:#191919; cursor:pointer; text-decoration:none; display:inline-block; }
.shop-button.primary,.shop-filters button[aria-pressed=true] { background:#191919; color:white; border-color:#191919; }
button:disabled { cursor:not-allowed; opacity:.5; }
.shop-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 24px; }
.shop-card { text-decoration:none; }
.shop-card img { aspect-ratio:4/5; object-fit:contain; background:#f3f1ed; }
.shop-card h2 { margin:16px 0 8px; font-size:1.15rem; }
.shop-card p { margin:4px 0; font-size:1rem; }
.shop-empty { padding:60px 24px; background:#f5f3ef; text-align:center; }
.shop-empty p { margin:12px auto 24px; }
.shop-policies { margin-top:65px; padding-top:24px; border-top:1px solid #ccc; }
.shop-policies details { padding:18px 0; border-bottom:1px solid #ddd; }
.shop-policies summary { cursor:pointer; }
.shop-status:empty { display:none; }
.shop-status { background:#f5f3ef; padding:18px; margin:20px 0; }
.shop-detail { display:grid; grid-template-columns:1.1fr 1fr; gap:6vw; margin-top:35px; }
.shop-detail img { max-height:75vh; object-fit:contain; background:#f5f3ef; }
.shop-detail h1 { font-size:clamp(2.5rem,4vw,4.5rem); margin:15px 0; }
.shop-detail .price { font-size:1.6rem; }
.shop-detail label { display:block; margin:20px 0; }
.shop-detail input { width:80px; padding:10px; margin-left:15px; }
.admin-layout { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.admin-panel { border-top:1px solid #ccc; padding-top:20px; margin-top:28px; }
.admin-panel h2 { margin:0 0 20px; }
.shop-form { display:grid; gap:18px; }
.shop-form label { display:grid; gap:7px; font-size:.95rem; }
.shop-form input,.shop-form textarea,.shop-form select { padding:12px; border:1px solid #999; font:inherit; min-width:0; width:100%; background:white; border-radius:0; }
.shop-form textarea { min-height:100px; resize:vertical; }
.shop-form .check { display:flex; align-items:center; }
.shop-form .check input { width:20px; height:20px; }
.shop-form .row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.shop-form .honeypot { display:none; }
.admin-item { border-bottom:1px solid #ddd; padding:18px 0; overflow-wrap:anywhere; }
.admin-item img { width:70px; height:80px; object-fit:contain; float:left; margin-right:16px; }
.admin-item p { font-size:.95rem; white-space:pre-wrap; }
.admin-item:after { content:''; display:block; clear:both; }
.admin-item button,.admin-item select { margin:8px 8px 0 0; padding:10px; font:inherit; }
.commission-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:45px 0; border-block:1px solid #ddd; padding:25px 0; }
.commission-steps h2 { margin:0; font-size:1.1rem; }
.commission-steps p { font-size:.95rem; }
body:has(.autumn-opening) { background:#faf8f3; }
.simple-page:has(.autumn-opening) { max-width:none; padding:0; }
.simple-page:has(.autumn-opening) > .shop-status:not(:empty) { margin:20px 4vw; }
.autumn-opening { background:#a84a27; color:#fff7e8; min-height:calc(100svh - 113px); position:relative; overflow:hidden; padding:28px 4vw; display:flex; flex-direction:column; }
.autumn-topline { display:flex; justify-content:space-between; position:relative; z-index:2; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.autumn-title { display:flex; justify-content:space-between; align-items:center; position:relative; z-index:2; margin-top:38px; pointer-events:none; }
.autumn-title h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(6rem,16vw,17rem); font-weight:400; letter-spacing:-.075em; line-height:.8; margin:0; }
.autumn-title h1 span { display:block; font-family:Arial,Helvetica,sans-serif; font-size:.32em; letter-spacing:-.055em; margin-top:22px; }
.autumn-title>p { font-size:clamp(1.1rem,2vw,1.8rem); line-height:1.2; padding-right:3vw; }
.autumn-colorfield { position:absolute; inset:0; background:radial-gradient(ellipse at 62% 120%,#e5a058 0,transparent 60%),linear-gradient(115deg,#8b331e,#ae512b 62%,#bd7337); }
.autumn-colorfield span { position:absolute; width:36vw; height:70%; border:1px solid #ffdaab55; border-radius:50%; bottom:-22%; right:16%; transform:rotate(-28deg); box-shadow:0 0 90px #f3bb6a22,inset 0 0 90px #f3bb6a22; }
.autumn-colorfield i { position:absolute; height:85%; width:1px; background:#ffdaab44; right:33%; top:35%; transform:rotate(30deg); }
.autumn-bottom { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-top:auto; padding-top:130px; position:relative; z-index:3; }
.autumn-bottom p { font-size:1rem; line-height:1.5; margin:0; }
.autumn-explore { text-decoration:none; padding-bottom:8px; border-bottom:1px solid #fff7e880; min-width:210px; display:flex; justify-content:space-between; gap:35px; }
.autumn-pause { background:#0005; color:white; border:1px solid #fff8; padding:12px; font:inherit; cursor:pointer; }
.autumn-photographs { position:absolute; inset:0; background:#4a3022; }
.autumn-slide { position:absolute; inset:0; opacity:0; transition:opacity 1.2s; pointer-events:none; }
.autumn-slide.current { opacity:1; pointer-events:auto; }
.autumn-slide img { width:100%; height:100%; object-fit:contain; }
.autumn-slide>span { position:absolute; bottom:105px; right:4vw; background:#0007; color:white; padding:8px 12px; }
.has-artwork .autumn-title h1 { font-size:clamp(5rem,12vw,12rem); text-shadow:0 2px 25px #0008; }
.has-artwork .autumn-title>p { display:none; }
.has-artwork .autumn-bottom { margin-inline:-4vw; padding:70px 4vw 0; background:linear-gradient(transparent,#0009); }
.has-artwork:after { content:''; position:absolute; inset:0 0 auto; height:110px; background:linear-gradient(#0006,transparent); pointer-events:none; }
.autumn-pair { display:grid; grid-template-columns:1.2fr 1fr; gap:7vw; padding:85px 8vw; }
.autumn-category { text-decoration:none; }
.autumn-category:nth-child(2) { margin-top:100px; }
.category-image { height:clamp(260px,34vw,500px); position:relative; overflow:hidden; display:grid; place-items:center; }
.category-image img { height:100%; width:100%; object-fit:contain; }
.pumpkin-field { background:#e9d8bd; color:#9f542f; }
.flower-field { background:#dbddd1; color:#676e4b; }
.category-outline { font-family:Georgia,serif; font-size:clamp(9rem,18vw,19rem); font-weight:400; opacity:.65; }
.category-image small { position:absolute; bottom:22px; font-size:.75rem; letter-spacing:.04em; }
.autumn-category h2 { font-family:Georgia,serif; font-size:clamp(2.2rem,4vw,4rem); margin:20px 0 8px; letter-spacing:-.04em; display:flex; justify-content:space-between; }
.autumn-category h2 span { font-family:Arial,sans-serif; font-size:1.5rem; align-self:center; }
.autumn-category p { font-size:1rem; margin:0; }
.seasonal-collection { padding:45px 4vw 65px; scroll-margin-top:135px; }
.collection-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.collection-heading h2 { font-size:clamp(2.5rem,5vw,5rem); font-weight:400; letter-spacing:-.06em; margin:0 0 25px; }
.season-picker { display:flex; flex-wrap:wrap; gap:12px 35px; padding:25px 0; border-block:1px solid #c7c1b6; }
.season-picker button { background:none; border:0; padding:5px 0; font-family:Georgia,serif; font-size:clamp(1.6rem,3vw,2.7rem); color:#6b665e; cursor:pointer; }
.season-picker button[aria-pressed=true] { color:#9b4225; text-decoration:underline; text-underline-offset:10px; text-decoration-thickness:1px; }
.collection-empty { padding:55px 0 20px; }
.collection-empty h3 { font-family:Georgia,serif; font-weight:400; font-size:2rem; margin:12px 0; }
.collection-empty p { font-size:1rem; }
.collection-empty a { display:inline-block; margin-top:20px; text-underline-offset:5px; }
.shop-commission { background:#e9e4d9; margin:0 4vw; padding:40px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.shop-commission p { font-family:Georgia,serif; font-size:clamp(1.8rem,3vw,3rem); line-height:1.1; margin:0; }
.shop-commission a { text-underline-offset:6px; }
#shop-content>.shop-policies { margin:70px 4vw; }
@media(max-width:700px) { .autumn-opening { min-height:calc(100svh - 147px); padding:22px 5vw; } .autumn-topline { font-size:.6rem; gap:15px; } .autumn-title { margin-top:65px; display:block; } .autumn-title h1 { font-size:25vw; } .autumn-title>p { margin:35px 0; } .autumn-bottom { align-items:start; flex-direction:column; padding-top:55px; } .autumn-bottom p { font-size:.9rem; } .autumn-explore { width:100%; } .autumn-pair { padding:45px 5vw; gap:20px; grid-template-columns:1fr 1fr; } .autumn-category:nth-child(2) { margin-top:65px; } .category-image { height:230px; } .category-outline { font-size:8rem; } .category-image small { font-size:.62rem; text-align:center; bottom:16px; padding:0 12px; } .autumn-category h2 { font-size:1.8rem; } .autumn-category p { font-size:.8rem; } .collection-heading { align-items:start; flex-direction:column; gap:0; } .seasonal-collection { padding:25px 5vw 45px; scroll-margin-top:160px; } .season-picker { gap:15px 25px; } .season-picker button { font-size:1.7rem; } .shop-commission { padding:28px; align-items:start; flex-direction:column; } .has-artwork .autumn-title h1 { font-size:24vw; } .has-artwork .autumn-bottom { margin-inline:-5vw; padding:55px 5vw 0; } }
@media(prefers-reduced-motion:reduce) { .autumn-slide { transition:none; } }
@media(max-width:800px) { .shop-intro,.admin-layout,.shop-detail { grid-template-columns:1fr; gap:24px; } .shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; } }
@media(max-width:450px) { .shop-grid { grid-template-columns:1fr; } .commission-steps { grid-template-columns:1fr; gap:10px; } .shop-form .row { grid-template-columns:1fr; } .portfolio-header nav { font-size:.9rem; gap:8px; } }

/* ---- Static shop (2026-09-30): how to buy, card details, good to know, piece pages ---- */
.shop-card h3 { margin:16px 0 6px; font-size:1.15rem; font-weight:400; }
.shop-card .card-price { font-size:1.2rem; margin:2px 0; }
.shop-card .card-price small, .price small { font-size:.8rem; color:#6e655d; }
.shop-card .card-meta { font-size:.875rem; color:#6e655d; }
.shop-card .card-where { font-size:.875rem; text-decoration:underline; text-underline-offset:4px; }
.how-to-buy { padding:70px 8vw 40px; }
.how-to-buy h2 { font-size:clamp(1.8rem,3vw,2.6rem); font-weight:400; margin:0 0 28px; }
.how-to-buy ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; counter-reset:buy; }
.how-to-buy li { counter-increment:buy; border-top:1px solid #d8cec1; padding-top:18px; }
.how-to-buy li::before { content:counter(buy); font-family:Georgia,serif; font-size:1.6rem; color:#a84a27; display:block; margin-bottom:6px; }
.how-to-buy h3 { font-size:1.2rem; font-weight:400; margin:0 0 8px; }
.how-to-buy p { font-size:1rem; line-height:1.55; margin:0 0 10px; }
.shop-in-person { display:grid; grid-template-columns:1fr 1.2fr; gap:6vw; align-items:center; padding:60px 8vw; }
.shop-in-person img { width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; }
.shop-in-person h2 { font-size:clamp(1.8rem,3.4vw,3rem); font-weight:400; letter-spacing:-.03em; margin:8px 0 18px; }
.shop-good-to-know { padding:40px 8vw 20px; }
.shop-good-to-know h2 { font-size:clamp(1.6rem,3vw,2.4rem); font-weight:400; }
.shop-good-to-know dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 36px; }
.shop-good-to-know dl > div { border-top:1px solid #d8cec1; padding-top:14px; }
.shop-good-to-know dt { font-weight:600; font-size:.95rem; border-top:0; padding-top:0; }
.shop-good-to-know dd { margin:6px 0 22px; font-size:.98rem; line-height:1.55; }
.breadcrumb { font-size:.875rem; color:#6e655d; margin-bottom:10px; }
.shop-detail.piece h2 { font-size:1.15rem; font-weight:600; margin:26px 0 6px; }
.piece-gallery img#piece-main { width:100%; height:auto; max-height:78vh; object-fit:contain; background:#f5f3ef; }
.piece-thumbs { display:flex; gap:10px; margin-top:12px; }
.piece-thumbs button { border:1px solid transparent; padding:0; background:none; cursor:pointer; width:84px; }
.piece-thumbs button[aria-pressed="true"] { border-color:#1d1916; }
.piece-thumbs img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; }
.piece-facts { padding-left:1.1em; line-height:1.7; }
.other-pieces { margin-top:50px; }
.other-pieces h2 { font-weight:400; font-size:1.6rem; }
@media (max-width:760px) {
  .how-to-buy ol, .shop-good-to-know dl, .shop-in-person { grid-template-columns:1fr; }
  .how-to-buy, .shop-in-person, .shop-good-to-know { padding-left:5vw; padding-right:5vw; }
}
